further interesting details about a VideoVBT
INTERFACEwe associate a Buffer with an Picture.T to encourage reuse of storage. A factory and its related buffers are associated with a given screen. If you want another screen, use another factoryVideoVBTRep ; <* PRAGMA LL *> IMPORT Picture, JVFromDecomp, JVSink, Jvs, OSError, VBT, VideoVBT;
TYPE
Buffer <: BufferPublic;
BufferPublic =
JVFromDecomp.T OBJECT
METHODS
<* LL < {self} *>
picture (): Picture.T;
(* return an Picture.T associated with the buffer. May return NIL *)
END;
a Factory produces our kind of Buffer
TYPE
Factory <: PublicFactory;
PublicFactory =
JVFromDecomp.Factory OBJECT
METHODS
preInit (st: VBT.ScreenType; width, height: CARDINAL)
RAISES {Picture.ScreenTypeNotSupported, OSError.E};
(* set the screen type associated with the factory. Raises an
exception if the screen type is not supported *)
END;
PROCEDURE SetPictureParams ( v : VideoVBT.T;
sourceHost: TEXT;
quality : JVSink.Quality;
READONLY dparams : Jvs.DcmpParams;
READONLY cmap : Jvs.ColormapInfo);
<* LL < v *>
change the details of the picture stream
PROCEDURE GetPictureParams ( v : VideoVBT.T;
VAR sourceHost: TEXT;
VAR quality : JVSink.Quality;
VAR dparams : Jvs.DcmpParams;
VAR cmap : Jvs.ColormapInfo);
<* LL < v *>
get the details of the picture
END VideoVBTRep.