DIRECTORY Imager USING [Context], SF USING [Box, Vec], Xl USING [Point, Size, TQ], XlBitmap USING [Bitmap], XTk USING [dontUse, Widget, WidgetSpec]; XTkBitmapScroller: CEDAR DEFINITIONS ~ BEGIN CreateBitmapScroller: PROC [widgetSpec: XTk.WidgetSpec ¬ [], scrolledCallBack: ScrolledCallBackProc ¬ NIL, scrollTQ: Xl.TQ ¬ NIL, scrollData: REF ¬ NIL, insideSize: Xl.Size ¬ [XTk.dontUse, XTk.dontUse]] RETURNS [XTk.Widget]; ScrolledCallBackProc: TYPE = PROC [scroller: XTk.Widget, pos: Xl.Point, data: REF]; SetBitmap: PROC [scroller: XTk.Widget, bitmap: XlBitmap.Bitmap, surfaceUnitsPerPixel: NAT ¬ 1, pos: Xl.Point ¬ [0, 0]]; GetBitmap: PROC [scroller: XTk.Widget] RETURNS [bitmap: XlBitmap.Bitmap, surfaceUnitsPerPixel: NAT]; CreateAndSetBitmap: PROC [scroller: XTk.Widget, size: SF.Vec, bpp: NAT ¬ 1, surfaceUnitsPerPixel: NAT ¬ 1, pos: Xl.Point ¬ [0, 0]]; CreateContext: PROC [scroller: XTk.Widget] RETURNS [context: Imager.Context]; ScrollTo: PROC [scroller: XTk.Widget, pos: Xl.Point ¬ [0, 0]]; GetScrollPos: PROC [scroller: XTk.Widget] RETURNS [Xl.Point]; GetVisibleBox: PROC [scroller: XTk.Widget] RETURNS [SF.Box]; Wait: PROC [scroller: XTk.Widget, server: BOOL ¬ FALSE]; GetImplData: PRIVATE PROC [scroller: XTk.Widget] RETURNS [REF]; GetImplWidget: PROC [scroller: XTk.Widget] RETURNS [XTk.Widget]; END. ΈXTkBitmapScroller.mesa Copyright Σ 1990, 1991 by Xerox Corporation. All rights reserved. Christian Jacobi, October 25, 1990 5:48:06 pm PDT Christian Jacobi, March 15, 1991 2:08 pm PST Creates one... insideSize: If specified, widgetSpec.size is overwritten with insideSize+Size[ScrollBar] pos: relative to inside area or impl widget where origin of bitmap is displayed. Forces scroller to display a new bitmap. Returns immediately, maybe before bits are painted. Scrolls so that origin in bitmap is displayed at position pos of widget. Returns currently displayed bitmap. Conveniance procedure. Conveniance procedure: creates context drawing into current bitmap of widget. Scrolls so that origin in bitmap is displayed at position pos of inside or impl widget. Returns position relative to inside area or impl widget where origin of bitmap is displayed. Not monitored; use scrollTQ to guarantee both coordinates from the same time. Returns box of bitmap currently visible in scroller. (Undefined if scroller not visible). box is in bitmap's coordinate system but it is not clipped to size of bitmap. Not monitored; use scrollTQ to guarantee all 4 returned numbers from same time. Waits until all requests are "performed". server: TRUE: waits until server acknowledges having seen requests. server: FALSE: waits until requests are removed from internal buffer. Wizards only. Returns widget implementing inside area, usefull to carry events. Κ`–(cedarcode) style•NewlineDelimiter ˜codešœ™Kšœ Οeœ7™BK™1K™,K™—šΟk œ˜ Kšœžœ ˜Kšžœžœ ˜Kšœžœžœ˜Kšœ žœ ˜Kšœžœ˜(K˜—šΟnœžœž œžœ˜-K™—šŸœžœLžœžœžœžœžœ4žœ˜ΰK™KšœX™Xšœžœžœ-žœ˜SKšœP™P—K™K˜—šŸ œžœGžœ˜wK™_K™HK˜—šŸ œžœžœ1žœ˜dK™%K˜—š Ÿœžœžœ žœžœ˜ƒK™K˜—šŸ œžœžœ˜MK™MK˜—šŸœžœ0˜>K™WK˜—šŸ œžœžœ ˜=K™\KšœM™MK™—šŸ œžœžœžœ˜