Language:

The Free and Open Productivity Suite
Apache OpenOffice 4.1.4 released

Developer's Guide

API

SDK

Tips 'n' Tricks

Miscellaneous


:: com :: sun :: star :: rendering ::

interface XGraphicDevice
Description
This interface provides access to a graphic device, such as a printer, or a screen device. Every canvas (
See also
XCanvas)
has exactly one associated graphic device, into which its output is rendered. For a typical windowing system, the graphic device is equivalent to a distinct OS window, with it's own clipped output area, fullscreen and double-buffering attributes. That is, even if one can have multiple canvases per system window, they all share the same graphic device and thus e.g. fullscreen state. If the OS restrictions are in such a way that fullscreen or double-buffering is screen-exclusive, i.e. that per screen, only one object can have this state, it might even be that all windows on the screen share a common graphic device.

Methods' Summary
getBufferController Query the controller for multi buffering functionality on this graphic device. If there is no such functionality available, the NULL reference is returned.  
getDeviceColorSpace Query the color space interface for this graphic device. This is to be used when interpreting or setting device color values.  
getPhysicalResolution Query the physical resolution of the device in pixel per millimeter. A special floating point value of +infinity here indicates 'unknown', i.e. at the time of rendering undetermined or possibly infinite resolution along the corresponding direction.  
getPhysicalSize Query the physical dimensions of the device in millimeter. A special floating point value of +infinity here indicates 'unknown', i.e. at the time of rendering undetermined or possibly infinite resolution along the corresponding direction.  
createCompatibleLinePolyPolygon Create a line poly-polygon which can internally use device-optimized representations already.  
createCompatibleBezierPolyPolygon Create a bezier poly-polygon which can internally use device-optimized representations already.  
createCompatibleBitmap Create a bitmap whose memory layout and sample model is compatible to the graphic device.  
createVolatileBitmap Create a volatile bitmap that is usable with this graphic device. A volatile bitmap's difference in comparison to a plain bitmap (e.g. generated via createCompatibleBitmap()) is the fact that its content might vanish at any point in time (making any operation with them produce a VolatileContentDestroyedException). The benefit, on the other hand, is that they might be easy to hardware-accelerate on certain platforms, without the need to keep a safety copy of the content internally.  
createCompatibleAlphaBitmap Create a bitmap with alpha channel whose memory layout and sample model is compatible to the graphic device.  
createVolatileAlphaBitmap Create a volatile bitmap with alpha channel that is usable with this graphic device. A volatile bitmap's difference in comparison to a plain bitmap (e.g. generated via createCompatibleBitmap()) is the fact that its content might vanish at any point in time (making any operation with them produce a VolatileContentDestroyedException). The benefit, on the other hand, is that they might be easy to hardware-accelerate on certain platforms, without the need to keep a safety copy of the content internally.  
getParametricPolyPolygonFactory Get a reference to this device's parametric polygon factory.  
hasFullScreenMode Tells whether this graphic device has a full screen mode, i.e. whether a window can cover the whole screen exclusively.  
enterFullScreenMode Enter or leave the fullscreen mode, if possible. The return value denotes the success of the operation. @attention depending on the underlying operating system, fullscreen mode can be left without a enterFullScreenMode( false ) call.  
Methods' Details
getBufferController
XBufferController
getBufferController();

Description
Query the controller for multi buffering functionality on this graphic device. If there is no such functionality available, the NULL reference is returned.
getDeviceColorSpace
XColorSpace
getDeviceColorSpace();

Description
Query the color space interface for this graphic device. This is to be used when interpreting or setting device color values.
getPhysicalResolution
::com::sun::star::geometry::RealSize2D
getPhysicalResolution();

Description
Query the physical resolution of the device in pixel per millimeter. A special floating point value of +infinity here indicates 'unknown', i.e. at the time of rendering undetermined or possibly infinite resolution along the corresponding direction.
getPhysicalSize
::com::sun::star::geometry::RealSize2D
getPhysicalSize();

Description
Query the physical dimensions of the device in millimeter. A special floating point value of +infinity here indicates 'unknown', i.e. at the time of rendering undetermined or possibly infinite resolution along the corresponding direction.
See also
XBitmap::getSize()
createCompatibleLinePolyPolygon
XLinePolyPolygon2D
createCompatibleLinePolyPolygon( [in] sequence< sequence< ::com::sun::star::geometry::RealPoint2D > >  points );

Description
Create a line poly-polygon which can internally use device-optimized representations already.
Parameter points
The points of the poly-polygon, in a separate array for every polygon.
createCompatibleBezierPolyPolygon
XBezierPolyPolygon2D
createCompatibleBezierPolyPolygon( [in] sequence< sequence< ::com::sun::star::geometry::RealBezierSegment2D > >  points );

Description
Create a bezier poly-polygon which can internally use device-optimized representations already.
Parameter points
The points of the poly-polygon, in a separate array for every polygon.
createCompatibleBitmap
XBitmap
createCompatibleBitmap( [in] ::com::sun::star::geometry::IntegerSize2D  size )
raises( ::com::sun::star::lang::IllegalArgumentException );

Description
Create a bitmap whose memory layout and sample model is compatible to the graphic device.
Parameter size
Size of the requested bitmap in pixel. Both components of the size must be greater than 0
createVolatileBitmap
XVolatileBitmap
createVolatileBitmap( [in] ::com::sun::star::geometry::IntegerSize2D  size )
raises( ::com::sun::star::lang::IllegalArgumentException );

Description
Create a volatile bitmap that is usable with this graphic device. A volatile bitmap's difference in comparison to a plain bitmap (e.g. generated via createCompatibleBitmap()) is the fact that its content might vanish at any point in time (making any operation with them produce a VolatileContentDestroyedException). The benefit, on the other hand, is that they might be easy to hardware-accelerate on certain platforms, without the need to keep a safety copy of the content internally.
Parameter size
Size of the requested bitmap in pixel. Both components of the size must be greater than 0
createCompatibleAlphaBitmap
XBitmap
createCompatibleAlphaBitmap( [in] ::com::sun::star::geometry::IntegerSize2D  size )
raises( ::com::sun::star::lang::IllegalArgumentException );

Description
Create a bitmap with alpha channel whose memory layout and sample model is compatible to the graphic device.
Parameter size
Size of the requested bitmap in pixel. Both components of the size must be greater than 0
createVolatileAlphaBitmap
XVolatileBitmap
createVolatileAlphaBitmap( [in] ::com::sun::star::geometry::IntegerSize2D  size )
raises( ::com::sun::star::lang::IllegalArgumentException );

Description
Create a volatile bitmap with alpha channel that is usable with this graphic device. A volatile bitmap's difference in comparison to a plain bitmap (e.g. generated via createCompatibleBitmap()) is the fact that its content might vanish at any point in time (making any operation with them produce a VolatileContentDestroyedException). The benefit, on the other hand, is that they might be easy to hardware-accelerate on certain platforms, without the need to keep a safety copy of the content internally.
Parameter size
Size of the requested bitmap in pixel. Both components of the size must be greater than 0
getParametricPolyPolygonFactory
::com::sun::star::lang::XMultiServiceFactory
getParametricPolyPolygonFactory();

Description
Get a reference to this device's parametric polygon factory.
Returns
a reference to this device's parametric polygon factory. Although it is possible to use parametric polygons on all canvases, regardless of the associated graphic device, this is not advisable: each canvas implementation is free to internally generate optimized parametric polygons, which can be used more directly for e.g. texturing operations.
 Available services (all canvas implementations should provide
 this minimal set, though are free to add more; just check the
 getAvailableServiceNames() on the returned interface):

 - Gradients - all gradients need to support two construction
 parameters, "Colors" being a ::sequence
 and "Stops" being a ::sequence. Both must
 have the same length, and at least two elements. See
 http://www.w3.org/TR/SVG11/pservers.html#GradientStops for
 the semantics of gradient stops and colors.
 Required gradient services:

 * "LinearGradient" - the gradient varies linearly between
 the given colors. without coordinate system
 transformation, the color interpolation happens in
 increasing x direction, and is constant in y
 direction. Equivalent to svg linear gradient
 http://www.w3.org/TR/SVG11/pservers.html#LinearGradients

 * "EllipticalGradient" - this gradient has zeroth color
 index in the middle, and varies linearly between center
 and final color. The services takes an additional
 parameter named "AspectRatio" of ::double
 (width divided by height), if this aspect ratio is 1, the
 gradient is circular. If it's not 1, the gradient is
 elliptical, with the special twist that the aspect ratio
 is maintained also for the center color: the gradient will
 not collapse into a single point, but become a line of
 center color. If "AspectRatio" is missing, or equal to 1,
 this gradient yields similar results as the svg radial
 gradient
 http://www.w3.org/TR/SVG11/pservers.html#RadialGradients

 * "RectangularGradient" - this gradient has zeroth color
 index in the middle, and varies linearly between center
 and final color via rectangular boxes
 around the center point. The services takes an additional
 parameter named "AspectRatio" of ::double
 (width divided by height), if this aspect ratio is 1, the
 gradient is quadratic. If it's not 1, the gradient is
 rectangular, with the special twist that the aspect ratio
 is maintained also for the center color: the gradient will
 not collapse into a single point, but become a line of
 center color.

 - Hatch patterns - Required hatch services:

 * "VerticalLineHatch" - this hatching consists of vertical lines
 * "OrthogonalLinesHatch" - this hatching consists of
 crossing vertical and horizontal lines
 * "ThreeCrossingLinesHatch" - this hatching consists of
 vertical and horizontal lines plus diagonal lines from
 left, top to bottom, right.
 * "FourCrossingLinesHatch" - this hatching consists of
 vertical and horizontal lines plus diagonal lines in both
 directions.
 
hasFullScreenMode
boolean
hasFullScreenMode();

Description
Tells whether this graphic device has a full screen mode, i.e. whether a window can cover the whole screen exclusively.
enterFullScreenMode
boolean
enterFullScreenMode( [in] boolean  bEnter );

Description
Enter or leave the fullscreen mode, if possible. The return value denotes the success of the operation. @attention depending on the underlying operating system, fullscreen mode can be left without a enterFullScreenMode( false ) call.
Top of Page

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache and the Apache feather logo are trademarks of The Apache Software Foundation. OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.