Inheritance diagram for XFcGLSurface:
Public Member Functions | |
virtual XFCIMPORT | ~XFcGLSurface () |
Virtual destructor. | |
virtual XFCIMPORT INT32 | lock (void **aBuffer, INT32 aMode=XFCGF_DEFAULT, INT32 aFlags=XFCGFX_DISCARDCONTENTS) |
Locks the surface with specific mode. | |
virtual XFCIMPORT void | unlock () |
Unlocks the framebuffer. | |
XFCIMPORT INT32 | getColorKey () |
Returns the current color key. | |
XFCIMPORT void | setColorKey (INT32 aColorKey) |
Sets the color key (in 8:8:8:8 ARGB format). | |
XFCIMPORT void | enableColorKey (INT aFlag) |
Enables or disables color keying. | |
XFCIMPORT void | drawImage (XFcGLSurface *aImage) |
Draws an image onto this surface to top-left corner. | |
XFCIMPORT void | drawImage (XFcGLSurface *aImage, INT32 aX, INT32 aY) |
Draws an image onto this surface to a given position. | |
XFCIMPORT void | drawImage (XFcGLSurface *aImage, INT32 aX, INT32 aY, INT32 aWidth) |
Draws an image, scaling to given width and keeping aspect ratio. | |
XFCIMPORT void | drawImage (XFcGLSurface *aImage, INT32 aX, INT32 aY, INT32 aWidth, INT32 aHeight) |
Draws an image, scaling to given width and height. | |
XFCIMPORT void | drawImage (XFcGLSurface *aImage, const XFcRectangle &aSrcRect) |
Draws an image onto this surface to top-left corner. | |
XFCIMPORT void | drawImage (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect) |
Draws an image onto this surface to a given position. | |
XFCIMPORT void | drawImage (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, INT32 aWidth) |
Draws an image, scaling to given width and keeping aspect ratio. | |
XFCIMPORT void | drawImage (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, INT32 aWidth, INT32 aHeight) |
Draws an image, scaling to given width and height. | |
XFCIMPORT void | drawImageBlend (XFcGLSurface *aImage, INT32 aBlendType, INT32 aBlendValue) |
Draws an image onto this surface to top-left corner, using blending. | |
XFCIMPORT void | drawImageBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, INT32 aBlendType, INT32 aBlendValue) |
Draws an image onto this surface to a given position, using blending. | |
XFCIMPORT void | drawImageBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, INT32 aWidth, INT32 aBlendType, INT32 aBlendValue) |
Draws an image, scaling to given width and keeping aspect ratio, using blending. | |
XFCIMPORT void | drawImageBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, INT32 aWidth, INT32 aHeight, INT32 aBlendType, INT32 aBlendValue) |
Draws an image, scaling to given width and height, using blending. | |
XFCIMPORT void | drawImageBlend (XFcGLSurface *aImage, const XFcRectangle &aSrcRect, INT32 aBlendType, INT32 aBlendValue) |
Draws an image onto this surface to top-left corner, using blending. | |
XFCIMPORT void | drawImageBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, INT32 aBlendType, INT32 aBlendValue) |
Draws an image onto this surface to a given position, using blending. | |
XFCIMPORT void | drawImageBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, INT32 aWidth, INT32 aBlendType, INT32 aBlendValue) |
Draws an image, scaling to given width and keeping aspect ratio, using blending. | |
XFCIMPORT void | drawImageBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, INT32 aWidth, INT32 aHeight, INT32 aBlendType, INT32 aBlendValue) |
Draws an image, scaling to given width and height, using blending. | |
XFCIMPORT void | drawImageTransform (XFcGLSurface *aImage, UINT32 aFlags) |
Draws a 2D transformed image onto this surface to a given position. | |
XFCIMPORT void | drawImageTransform (XFcGLSurface *aImage, INT32 aX, INT32 aY, UINT32 aFlags) |
Draws a 2D transformed image onto this surface to a given position. | |
XFCIMPORT void | drawImageTransform (XFcGLSurface *aImage, INT32 aX, INT32 aY, INT32 aWidth, UINT32 aFlags) |
Draws a 2D transformed image, scaling to given width and keeping aspect ratio. | |
XFCIMPORT void | drawImageTransform (XFcGLSurface *aImage, INT32 aX, INT32 aY, INT32 aWidth, INT32 aHeight, UINT32 aFlags) |
Draws a 2D transformed image, scaling to given width and height. | |
XFCIMPORT void | drawImageTransform (XFcGLSurface *aImage, const XFcRectangle &aSrcRect, UINT32 aFlags) |
Draws a 2D transformed image onto this surface to top-left corner. | |
XFCIMPORT void | drawImageTransform (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, UINT32 aFlags) |
Draws a 2D transformed image onto this surface to a given position. | |
XFCIMPORT void | drawImageTransform (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, INT32 aWidth, UINT32 aFlags) |
Draws a 2D transformed image, scaling to given width and keeping aspect ratio. | |
XFCIMPORT void | drawImageTransform (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, INT32 aWidth, INT32 aHeight, UINT32 aFlags) |
Draws a 2D transformed image, scaling to given width and height. | |
XFCIMPORT void | drawImageTransformBlend (XFcGLSurface *aImage, INT32 aBlendType, INT32 aBlendValue, UINT32 aFlags) |
Draws a 2D transformed image onto this surface to top-left corner, using blending. | |
XFCIMPORT void | drawImageTransformBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, INT32 aBlendType, INT32 aBlendValue, UINT32 aFlags) |
Draws a 2D transformed image onto this surface to a given position, using blending. | |
XFCIMPORT void | drawImageTransformBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, INT32 aWidth, INT32 aBlendType, INT32 aBlendValue, UINT32 aFlags) |
Draws a 2D transformed image, scaling to given width and keeping aspect ratio, using blending. | |
XFCIMPORT void | drawImageTransformBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, INT32 aWidth, INT32 aHeight, INT32 aBlendType, INT32 aBlendValue, UINT32 aFlags) |
Draws a 2D transformed image, scaling to given width and height, using blending. | |
XFCIMPORT void | drawImageTransformBlend (XFcGLSurface *aImage, const XFcRectangle &aSrcRect, INT32 aBlendType, INT32 aBlendValue, UINT32 aFlags) |
Draws a 2D transformed image onto this surface to top-left corner, using blending. | |
XFCIMPORT void | drawImageTransformBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, INT32 aBlendType, INT32 aBlendValue, UINT32 aFlags) |
Draws a 2D transformed image onto this surface to a given position, using blending. | |
XFCIMPORT void | drawImageTransformBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, INT32 aWidth, INT32 aBlendType, INT32 aBlendValue, UINT32 aFlags) |
Draws a 2D transformed image, scaling to given width and keeping aspect ratio, using blending. | |
XFCIMPORT void | drawImageTransformBlend (XFcGLSurface *aImage, INT32 aX, INT32 aY, const XFcRectangle &aSrcRect, INT32 aWidth, INT32 aHeight, INT32 aBlendType, INT32 aBlendValue, UINT32 aFlags) |
Draws an image, scaling to given width and height, using blending. | |
XFCIMPORT void | drawFilledRect (INT32 aX, INT32 aY, INT32 aWidth, INT32 aHeight, UINT32 aColor) |
Draws a filled rectangle with single color (in 8:8:8:8 ARGB format). | |
XFCIMPORT void | clear (UINT32 aColor) |
Clears the surface. | |
XFCIMPORT void | drawAALine (XFcFixed aX1, XFcFixed aY1, XFcFixed aX2, XFcFixed aY2, UINT32 aColor) |
Draws an anti-aliased line (with color in 8:8:8:8 ARGB format). | |
XFCIMPORT void | drawLine (XFcFixed aX1, XFcFixed aY1, XFcFixed aX2, XFcFixed aY2, UINT32 aColor) |
Draws a line (with color in 8:8:8:8 ARGB format). | |
XFCIMPORT INT32 | getFormat () |
Returns the surface format. | |
XFCIMPORT INT32 | getWidth () |
Returns surface width in pixels. | |
XFCIMPORT INT32 | getHeight () |
Returns surface height in pixels. | |
Static Public Member Functions | |
XFCIMPORT XFcGLSurface * | create (INT32 aWidth=256, INT32 aHeight=256, INT32 aFormat=XFCGF_DEFAULT) |
Creates a surface with dimensions and format. | |
Protected Member Functions | |
XFcGLSurface () | |
Protected empty constructor. | |
XFCIMPORT INT | lockForBlit (XFcGLSurface *aImage) |
Locks both surfaces for blitting. | |
XFCIMPORT void | unlockForBlit (XFcGLSurface *aImage) |
Unlocks both surfaces after blitting. | |
XFCIMPORT INT | lockForDraw () |
Locks surface for drawing. | |
XFCIMPORT void | unlockForDraw () |
Unlocks surface after drawing. | |
Protected Attributes | |
void * | mData |
Pointer to the actual surface data. | |
Friends | |
class | XFcGLCoreSurface |
The XFcGLSurface is the main building block of all 2D graphics in X-Forge. Graphics surfaces can be locked for direct memory access, and they can be blitted to other surfaces in different ways. Surfaces can be created for direct 2d graphics use, or you can acquire surfaces from XFcTexture objects, or you can ask the XFcGL object for the back buffer with the getSecondary() call.
|
Virtual destructor.
|
|
Protected empty constructor.
|
|
Clears the surface. Whole bitmap is initialized to aColor.
|
|
Creates a surface with dimensions and format. The default dimensions are 256 by 256. The default format is chosen so as to be compatible with the target device. Currently the default format is always 16-bit 55X5 format.
|
|
Draws an anti-aliased line (with color in 8:8:8:8 ARGB format). The line is drawn to this surface, with the given color, between the points aX1,aY1 and aX2,aY2.
|
|
Draws a filled rectangle with single color (in 8:8:8:8 ARGB format). If the GL device supports it, and the target surface is the back buffer, this call may be hardware accelerated.
|
|
Draws an image, scaling to given width and height. The image is stretched to fit the aWidth and aHeight parameters.
|
|
Draws an image, scaling to given width and keeping aspect ratio. Height is calculated based on the original image size, keeping the aspect ratio.
|
|
Draws an image onto this surface to a given position.
|
|
Draws an image onto this surface to top-left corner.
|
|
Draws an image, scaling to given width and height. The image is stretched to fit the aWidth and aHeight parameters.
|
|
Draws an image, scaling to given width and keeping aspect ratio. Height is calculated based on the original image size, keeping the aspect ratio.
|
|
Draws an image onto this surface to a given position.
|
|
Draws an image onto this surface to top-left corner.
|
|
Draws an image, scaling to given width and height, using blending. The image is stretched to fit the aWidth and aHeight parameters.
|
|
Draws an image, scaling to given width and keeping aspect ratio, using blending. Height is calculated based on the original image size, keeping the aspect ratio.
|
|
Draws an image onto this surface to a given position, using blending.
|
|
Draws an image onto this surface to top-left corner, using blending.
|
|
Draws an image, scaling to given width and height, using blending. The image is stretched to fit the aWidth and aHeight parameters.
|
|
Draws an image, scaling to given width and keeping aspect ratio, using blending. Height is calculated based on the original image size, keeping the aspect ratio.
|
|
Draws an image onto this surface to a given position, using blending.
|
|
Draws an image onto this surface to top-left corner, using blending.
|
|
Draws a 2D transformed image, scaling to given width and height. The image is stretched to fit the aWidth and aHeight parameters.
|
|
Draws a 2D transformed image, scaling to given width and keeping aspect ratio. Height is calculated based on the original image size, keeping the aspect ratio.
|
|
Draws a 2D transformed image onto this surface to a given position.
|
|
Draws a 2D transformed image onto this surface to top-left corner.
|
|
Draws a 2D transformed image, scaling to given width and height. The image is stretched to fit the aWidth and aHeight parameters.
|
|
Draws a 2D transformed image, scaling to given width and keeping aspect ratio. Height is calculated based on the original image size, keeping the aspect ratio.
|
|
Draws a 2D transformed image onto this surface to a given position.
|
|
Draws a 2D transformed image onto this surface to a given position.
|
|
Draws an image, scaling to given width and height, using blending. The image is stretched to fit the aWidth and aHeight parameters.
|
|
Draws a 2D transformed image, scaling to given width and keeping aspect ratio, using blending. Height is calculated based on the original image size, keeping the aspect ratio.
|
|
Draws a 2D transformed image onto this surface to a given position, using blending.
|
|
Draws a 2D transformed image onto this surface to top-left corner, using blending.
|
|
Draws a 2D transformed image, scaling to given width and height, using blending. The image is stretched to fit the aWidth and aHeight parameters.
|
|
Draws a 2D transformed image, scaling to given width and keeping aspect ratio, using blending. Height is calculated based on the original image size, keeping the aspect ratio.
|
|
Draws a 2D transformed image onto this surface to a given position, using blending.
|
|
Draws a 2D transformed image onto this surface to top-left corner, using blending.
|
|
Draws a line (with color in 8:8:8:8 ARGB format). The line is drawn to this surface, with the given color, between the points aX1,aY1 and aX2,aY2.
|
|
Enables or disables color keying.
|
|
Returns the current color key.
|
|
Returns the surface format.
|
|
Returns surface height in pixels.
|
|
Returns surface width in pixels.
|
|
Locks the surface with specific mode. Non-preferred modes will be converted on the fly, which is slow.
Reimplemented in XFcGLResourceSurface. |
|
Locks both surfaces for blitting.
|
|
Locks surface for drawing.
|
|
Sets the color key (in 8:8:8:8 ARGB format). Color keying is a method of masking parts of a 2D surface to be fully transparent.
|
|
Unlocks the framebuffer. If the surface was locked in a non-native format and the locking did not specify the GFX_DISCARDCHANGES flag, the unlock will convert the temporary buffer into the surface's native format.
Reimplemented in XFcGLResourceSurface. |
|
Unlocks both surfaces after blitting.
|
|
Unlocks surface after drawing.
|
|
Reimplemented in XFcGLResourceSurface. |
|
Pointer to the actual surface data.
|
![]() | ||||
![]() |
Confidential Copyright © 2002-2003 Fathammer | with doxygen by Dimitri van Heesch |