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.