ui/src/split/JoinPixmap.i3


 Copyright (C) 1992, Digital Equipment Corporation                         
 All rights reserved.                                                      
 See the file COPYRIGHT for a full description.                            
                                                                           
 Last modified on Sun Jun  5 22:02:01 PDT 1994 by msm     
<*PRAGMA LL*>

INTERFACE JoinPixmap;

IMPORT ScrnPixmap, JoinScreen, Palette, Pixmap, Rect, ScreenType;

TYPE
  Oracle <: ScrnPixmap.Oracle;
  T <: ScrnPixmap.T;

PROCEDURE New(st: JoinScreen.T): Oracle;

PROCEDURE Apply (st: JoinScreen.T; cl: Palette.PixmapClosure; pm: Pixmap.T):
  ScrnPixmap.T;

PROCEDURE Create(st: JoinScreen.T; READONLY clip: Rect.T): T;
Create a pixmap which resolves to a to-be-specified list of ScrnPixmap on other screen types; the free method of such a pixmap frees all the attached pixmaps.

PROCEDURE AddPixmap(p: T; st: ScreenType.T; pm: ScrnPixmap.T);
Add (st, pm) to the list of resolvable pixmaps for p

PROCEDURE Resolve (jst: JoinScreen.T; pst: ScreenType.T; n: INTEGER):
  ScrnPixmap.T;
If pm was the result of a call to Create on jst, and n is the id of pm, and (pst, res) was added to pm using AddPixmap, return res. Otherwise, return NIL.

END JoinPixmap.