Taxonomy Categories:
Member Functions:
Interface Category:
API.
Inherits From:
TVideoDeviceHandle
Inherited By:
None.
Purpose:
TProvides access to the device driver for a FrameBuffer-based video device. TFrameBufferVideoDeviceHandle inherits from the abstract base class TVideoDeviceHandle, which is itself a client (because it is a remote caller). TFrameBufferVideoDeviceHandle objects are instantiated as clients of the implicit server object, a TFrameBufferVideoDeviceDriver. TFrameBufferVideoDeviceHandle uses the server's surrogate task, passed in on construction, to establish the many-to-one link between a TFrameBufferVideoDeviceHandle and the TFrameBufferVideoDeviceDriver.
TFrameBufferVideoDeviceHandle derives from the abstract base class TVideoDeviceHandle. TFrameBufferVideoDeviceHandle is instantiated directly by a server type TFrameBufferVideoDeviceDriver. Additionally, TVideoDeviceFrameBuffer is a client of TFrameBufferVideoDeviceDriver. Once it is instantiated, the TFrameBufferVideoDeviceHandle object is flattened and sent to the parts of the system, such as the WorkSpace and Window server, that need this object as a resource for access to the actual TFrameBufferVideoDeviceDriver object. TFrameBufferVideoDeviceHandle is used as a surrogate to access the TFrameBufferVideoDeviceDriver object.
Instantiation:
Allocate on the heap or the stack.
Deriving Classes:
Classes are derived from TFrameBufferVideoDeviceHandle to add more specific functionality needed by a different video device's frame buffer. For example, TLiveVideoFrameBufferVideoDeviceHandle might be a derived class that inherits all of the TFrameBufferVideoDeviceHandle pixel-frame related member function calls, but also adds a set of functions for video overlay support, alpha channel video signal codes, and live video register support. In this example, the derived class overrides the CreateScreen function to create a special screen for this video device. The new screen might be something like a TLiveVideoFrameBufferScreen.
Concurrency:
Not multithread safe.
Resource Use:
No special requirements. The task given a handle is responsible for deleting objects of this class. The Window server and Work space, for example, can delete the current TVideoDeviceHandle type objects when a message update tells them that a device characteristic has changed and all current VideoDevicesHandles and ScreenDevices are invalid. New TFrameBufferVideoDeviceHandle objects are then sent.
- TFrameBufferVideoDeviceHandle (const TText & driverName)
- TFrameBufferVideoDeviceHandle ()
- TFrameBufferVideoDeviceHandle (const TFrameBufferVideoDeviceHandle &)
Interface Category:
API.
Purpose:
- Constructor that is linked to the TFrameBufferVideoDeviceDriver object, the creator object.
- Default constructor.
- Copy constructor.
Calling Context:
- Called by the server object, the creator of this handle, the TFrameBufferVideoDeviceDriver.
- Called by the stream-in operators.
- Called to copy an object.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual ~ TFrameBufferVideoDeviceHandle ()
Interface Category:
API.
Purpose:
Destructor.
Calling Context:
Called to destroy an object.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual MScreen * CreateScreen ()
Interface Category:
API.
Purpose:
Gets a pointer to the screen device that has the characteristics of this VideoDeviceHandle type. The Screen device is created using the configuration of the VideoDeviceHandle as well as the current world bounds setting for the ScreenDevice layout.
Calling Context:
Called by the Window Server or VideoDeviceServer to start the Graphics system.
Parameters:
Return Value:
MScreen -Returns a pointer to the appropriate MScreen subtype.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
TFrameBufferVideoDeviceHandle & operator =(const TFrameBufferVideoDeviceHandle &)
Interface Category:
API.
Purpose:
Assignment operator.
Calling Context:
Called when an object is assigned to another compatible object.
Parameters:
Return Value:
A non-const reference to the left-hand side object.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual TGPoint GetPixelsPerInch () const
Interface Category:
API.
Purpose:
Gets the pixels per inch when setting up the Animation and GrafDevice objects. These Graphics objects need to have knowledge of this aspect of the screen geometry.
Calling Context:
The Video framework itself, while setting up the Graphics system, should call this internally.
Parameters:
Return Value:
TGPoint -The pixels per inch.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual size_t GetRowBytes () const
Interface Category:
API.
Purpose:
Gets the size of the row when setting up the Animation and GrafDevice objects. These Graphics objects need to have knowledge of this aspect of the screen geometry.
Calling Context:
The Video framework itself, while setting up the Graphics system, should call this internally.
Parameters:
Return Value:
size_t -The size of the row, in bytes.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual TTime GetFramePeriod () const
Interface Category:
API.
Purpose:
Gets the frame period when setting up the Animation system objects. The Animation objects need to have knowledge of this aspect of the screen behavior.
Calling Context:
The Video framework itself, while setting up the Animation system, should call this internally.
Parameters:
Return Value:
TTime -The refresh rate of the frame buffer, in microseconds.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual TTime GetVBLTime () const
Interface Category:
API.
Purpose:
Gets the video blank time when setting up the Animation system objects. The Animation objects need to have knowledge of this aspect of the screen behavior.
Calling Context:
The Video framework itself, while setting up the Animation system, should call this internally.
Parameters:
Return Value:
TTime -The video blank time for the frame buffer, in microseconds.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual unsigned short GetDefaultOrder () const
Interface Category:
API.
Purpose:
Returns the default order set to help polymorphic arrangement of display device ordering.
Calling Context:
Called by VideoDeviceServer to order video devices and screen devices.
Parameters:
Return Value:
virtual unsigned short -The default order value.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual TFrameBufferVideoDeviceDriver :: EFrameBufferDepths GetDepth () const
Interface Category:
API.
Purpose:
Returns the pixel bit depth of the framebuffer video device.
Calling Context:
Called by system configuration programs to assess the display depth.
Parameters:
Return Value:
EFrameBufferDepths -The enumerated type framebuffer depth.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.