The bitmap plane base class. More...
#include <GUIBitmapPlane.h>
Public Member Functions | |
GUIBitmapPlaneID_t | GetID () const |
2D positioning | |
void | SetPos2D (eC_Value vXPos, eC_Value vYPos) |
void | SetXPos2D (eC_Value vXPos) |
void | SetYPos2D (eC_Value vYPos) |
eC_Value | GetXPos2D () const |
eC_Value | GetYPos2D () const |
3D positioning | |
void | SetPos3D (eC_Value vXPos, eC_Value vYPos, eC_Value vZPos) |
void | SetXPos3D (const eC_Value vXPos) |
void | SetYPos3D (const eC_Value vYPos) |
void | SetZPos3D (const eC_Value vZPos) |
eC_Value | GetXPos () const |
eC_Value | GetYPos () const |
eC_Value | GetZPos () const |
Rotation | |
void | RotateX (const eC_Value vXAngle) |
void | RotateY (const eC_Value vYAngle) |
void | RotateZ (const eC_Value vZAngle) |
eC_Value | GetXAngle () const |
eC_Value | GetYAngle () const |
eC_Value | GetZAngle () const |
void | ResetRotation () |
Size | |
virtual void | SetWidth (eC_Value vWidth, eC_Bool bExpandCentered=false) |
eC_Value | GetWidth () const |
eC_Value | GetWidthCorrected () const |
virtual void | SetHeight (eC_Value vHeight, eC_Bool bExpandCentered=false) |
eC_Value | GetHeight () const |
eC_Value | GetHeightCorrected () const |
void | SetBytesPerPixel (const eC_UByte &ubBPP) |
eC_UByte | GetBytesPerPixel () const |
void | SetFormat (const CGUICommonEnums::ImageType_t &eFormat) |
CGUICommonEnums::ImageType_t | GetFormat () const |
void | SetAutoScale (const eC_Bool bAutoScale) |
Drawing | |
virtual void | DoDraw () |
virtual void | GetData (eC_TArray< eC_UByte > *pkData) |
virtual void | Clear (const eC_UByte ubRed=0, const eC_UByte ubGreen=0, const eC_UByte ubBlue=0, const eC_UByte ubAlpha=0) |
const CGUIObject & | GetParentGUIObject () const |
virtual void | SetAlphaValues (const eC_UByte ubTopLeft, const eC_UByte ubBottomLeft, const eC_UByte ubBottomRight, const eC_UByte ubTopRight) |
void | SetAlphaValue (const eC_UByte ubAlpha) |
Texturing Top Left | |
virtual void | SetTopLeftU (eC_Value vU) |
virtual eC_Value | GetTopLeftU () |
virtual void | SetTopLeftV (eC_Value vV) |
virtual eC_Value | GetTopLeftV () |
void | SetTopLeftUV (eC_Value vU, eC_Value vV) |
Texturing Bottom Left | |
virtual void | SetBottomLeftU (eC_Value vU) |
virtual eC_Value | GetBottomLeftU () |
virtual void | SetBottomLeftV (eC_Value vV) |
virtual eC_Value | GetBottomLeftV () |
void | SetBottomLeftUV (eC_Value vU, eC_Value vV) |
Texturing Bottom Right | |
virtual void | SetBottomRightU (eC_Value vU) |
virtual eC_Value | GetBottomRightU () |
virtual void | SetBottomRightV (eC_Value vV) |
virtual eC_Value | GetBottomRightV () |
void | SetBottomRightUV (eC_Value vU, eC_Value vV) |
Texturing Top Right | |
virtual void | SetTopRightU (eC_Value vU) |
virtual eC_Value | GetTopRightU () |
virtual void | SetTopRightV (eC_Value vV) |
virtual eC_Value | GetTopRightV () |
void | SetTopRightUV (eC_Value vU, eC_Value vV) |
Projection | |
void | EnableDepthTest () |
void | DisableDepthTest () |
eC_Bool | IsDepthTestEnabled () const |
virtual eC_Value | Get2DPlaneDistance () |
eC_Value | GetFOV () const |
void | SetFOV (const eC_Value vFOV) |
eC_Value | GetNear () const |
eC_Value | GetFar () const |
eC_Bool | IsYFlipped () const |
Protected Member Functions | |
CGUIBitmapPlane (GUIBitmapPlaneID_t uiNewBitmapID, const CGUIObject &rkParentObject, eC_Value vWidth=0, eC_Value vHeight=0) | |
eC_Value | GetCenterOfProjectionAbsX () const |
eC_Value | GetCenterOfProjectionAbsY () const |
void | SetTexUsed (eC_Value vNewTexUsedU, eC_Value vNewTexUsedV) |
Avtivation/Deactivation | |
virtual eC_Bool | FinishDrawToBitmap () |
virtual eC_Bool | DrawToBitmap () |
virtual eC_Bool | DrawToScreen () |
Friends | |
class | CGfxWrap |
The bitmap plane base class.
This class defines the standard interface for every BitmapPlane.
|
protected |
only the derived classes and GfxWrapper are allowed to create or destroy BitmapPlanes.
uiNewBitmapID | id of the newly generated bitmap-plane |
rkParentObject | parent-object |
vWidth | width |
vHeight | height |
|
inlinevirtual |
Clears this bitmap with the given color. Attention: Please note that clearing Alpha values is unfortunately not supported by all Graphics APIs!
ubRed | is the red part of the clear color |
ubGreen | is the green part of the clear color |
ubBlue | is the blue part of the clear color |
ubAlpha | is the alpha part of the clear color |
Reimplemented in CGUIBitmapPlane_BLU, CGUIBitmapPlane_DAVE, CGUIBitmapPlane_DAVEHD, CGUIBitmapPlane_eGML, CGUIBitmapPlane_GL, and CGUIBitmapPlaneDirectFb.
|
inline |
Disables the DepthTest for this Plane. If DepthCorrection is disabled the BitmapPlane will always be visible if the parent object is visible. The Z Position of the Plane is ignored for visibility check. DepthTest is not supported on all Graphics Wrappers.
|
virtual |
Draws this BitmapPlane. The Bitmap will be drawn to the current RenderTarget, with the set rotation and position. The set cliprect also applies to this drawing.
Reimplemented in CGUIBitmapPlane_BLU, CGUIBitmapPlane_DAVE, CGUIBitmapPlane_DAVEHD, CGUIBitmapPlane_eGML, CGUIBitmapPlane_GL, and CGUIBitmapPlaneDirectFb.
|
inlineprotectedvirtual |
Called by the framework when the drawing operation into the bitmapplane is about to begin.
Reimplemented in CGUIBitmapPlane_eGML, CGUIBitmapPlane_FBO, CGUIBitmapPlane_GL, CGUIBitmapPlane_PBuffer, and CGUIBitmapPlaneDirectFb.
|
inlineprotectedvirtual |
Called by the framework when subsequent drawing operations shall happen on the normal UI screen.
Reimplemented in CGUIBitmapPlane_FBO, CGUIBitmapPlane_GL, CGUIBitmapPlane_PBuffer, and CGUIBitmapPlaneDirectFb.
|
inline |
Enables the DepthTest for this Plane. If DepthCorrection is enabled the BitmapPlane may be partly or completely invisible, even if its parent Object is completely visible, because if the DepthTest is enabled the visibility depends on the Z-Position. DepthTest is not supported on all Graphics Wrappers.
|
inlineprotectedvirtual |
Called by the framework when the drawing operation into the bitmapplane has finished.
Reimplemented in CGUIBitmapPlane_eGML, CGUIBitmapPlane_PBuffer, and CGUIBitmapPlaneDirectFb.
|
virtual |
Calculates the distance where 10, 10 rect has the size of 10, 10 pixel
Reimplemented in CGUIBitmapPlane_GL.
|
virtual |
Accessor for the lower left U value.
|
virtual |
Accessor for the lower left V value.
Reimplemented in CGUIBitmapPlane_GL.
|
virtual |
Accesoor for the lower right U value.
|
virtual |
Accessor for the lower right V value.
Reimplemented in CGUIBitmapPlane_GL.
|
inline |
Accessor for the number of bytes per pixel
|
protected |
Accessor for the x coordinate of the center of projection. The center of projection is center of origin, by default it is the center of the parent GUIObject
|
protected |
Accessor for the y coordinate of the center of projection. The center of projection is center of origin, by default it is the center of the parent GUIObject
|
inlinevirtual |
Return the data in an array
pkData |
Reimplemented in CGUIBitmapPlane_BLU, CGUIBitmapPlane_DAVE, CGUIBitmapPlane_DAVEHD, CGUIBitmapPlane_eGML, and CGUIBitmapPlane_GL.
|
inline |
|
inline |
Accessor for the image-format
|
inline |
|
inline |
Accessor for the height.
eC_Value CGUIBitmapPlane::GetHeightCorrected | ( | ) | const |
Accessor for the height, corrected by the deformation of the parent GUIObject.
|
inline |
Accessor for the unique BitmapPlane ID.
|
inline |
|
inline |
Accessor for parent GUIObject
|
virtual |
Accessor for the upper left U value.
|
virtual |
Accessor for the upper left V value.
Reimplemented in CGUIBitmapPlane_GL.
|
virtual |
Accessor for the upper right U value.
|
virtual |
Accessor for the upper right V value.
Reimplemented in CGUIBitmapPlane_GL.
|
inline |
Accessor for the width. The scale parameter which will be used for the autoscale mechanism will be updated.
eC_Value CGUIBitmapPlane::GetWidthCorrected | ( | ) | const |
Accessor for the width, corrected by the deformation of the parent GUIObject.
|
inline |
Accessor for X-Angle.
|
inline |
Accesor for the X-Position in 3D space.
eC_Value CGUIBitmapPlane::GetXPos2D | ( | ) | const |
Accesor for the X-Position in screen coordinates.
|
inline |
Accessor for Y-Angle.
|
inline |
Accesor for the y-Position in 3D space.
eC_Value CGUIBitmapPlane::GetYPos2D | ( | ) | const |
Accesor for the Y-Position in screen coordinates.
|
inline |
Accessor for Z-Angle.
|
inline |
Accesor for the Z-Position in 3D space.
|
inline |
Checks whether the DepthTest is enabled or not.
|
inline |
void CGUIBitmapPlane::ResetRotation | ( | ) |
Resets all three rotation angles.
|
inline |
Sets the X-Rotation of this BitmapPlane. Object will be rotated around its center.
vXAngle | X-Angle in degree |
|
inline |
Sets the Y-Rotation of this BitmapPlane. Object will be rotated around its center.
vYAngle | Y-Angle in degree |
|
inline |
Sets the Z-Rotation of this BitmapPlane. Object will be rotated around its center.
vZAngle | Z-Angle in degree |
|
inline |
Set one alpha value for all corners of the Bitmap plane.
ubAlpha | The Alpha value for the Bitmap plane. |
|
inlinevirtual |
Sets the alpha values for all corners of the Bitmap plane.
ubTopLeft | alpha value for the upper left corner |
ubBottomLeft | alpha value for the lower left corner |
ubBottomRight | alpha value for the lower right corner |
ubTopRight | alpha value for the upper right corner |
Reimplemented in CGUIBitmapPlane_BLU, CGUIBitmapPlane_DAVE, CGUIBitmapPlane_DAVEHD, CGUIBitmapPlane_eGML, CGUIBitmapPlane_GL, and CGUIBitmapPlaneDirectFb.
|
inline |
Enables/Disables the AutoScale mode. If AutoScale mode is active the BitmapPlane is resized if the parent GUIObject is resized By default AutoScale mode is active
bAutoScale | False if the autoscale mode should be disabled otherwise true |
|
virtual |
Sets the U Value of the lower left corner of the BitmapPlane. The U value describes which point of the Bitmap is mapped onto the plane in x direction. The value has to be between 0 and 1, where zero means the lower left corner of the plane maps directly on the left edge of the bitmap and 1 the lower left corner maps on the right edge of the bitmap. All values in between will be interpolated.
vU | new U value for the lower left corner. [0 1] |
Reimplemented in CGUIBitmapPlane_eGML.
|
inline |
Sets the U/V values for the lower left corner of the bitmap plane.
vU | new U value for the lower left corner |
vV | new V value for the lower left corner |
|
virtual |
Sets the V Value of the lower left corner of the BitmapPlane. The V value describes which point of the Bitmap is mapped onto the plane in y direction. The value has to be between 0 and 1, where zero means the lower left corner of the plane maps directly on the upper edge of the bitmap and 1 the lower left corner maps on the lower edge of the bitmap. All values in between will be interpolated.
vV | new V value for the lower left corner. [0 1] |
Reimplemented in CGUIBitmapPlane_eGML, and CGUIBitmapPlane_GL.
|
virtual |
Sets the U Value of the bottom right corner of the BitmapPlane. The U value describes which point of the Bitmap is mapped onto the plane in x direction. The value has to be between 0 and 1, where zero means the lower right corner of the plane maps directly on the left edge of the bitmap and 1 the lower right corner maps on the right edge of the bitmap. All values in between will be interpolated.
vU | new U value for the lower right corner. [0 1] |
Reimplemented in CGUIBitmapPlane_eGML.
|
inline |
Sets the U/V values for the lower right corner of the bitmap plane.
vU | new U value for the lower right corner |
vV | new V value for the lower right corner |
|
virtual |
Sets the V Value of the lower left corner of the BitmapPlane. The V value describes which point of the Bitmap is mapped onto the plane in y direction. The value has to be between 0 and 1, where zero means the lower left corner of the plane maps directly on the upper edge of the bitmap and 1 the lower left corner maps on the lower edge of the bitmap. All values in between will be interpolated.
vV | new V value for the lower left corner. [0 1] |
Reimplemented in CGUIBitmapPlane_eGML, and CGUIBitmapPlane_GL.
|
inline |
Setter for the number of bytes per pixel
ubBPP | bytes per pixel |
|
inline |
Setter for the image-format
eFormat | image-format |
|
inline |
vFOV | static Near/Far Plane and Field of View, these values are the same for all CGUIBitmaps |
|
virtual |
Setter for the height.
vHeight | new height of this BitmapPlane. |
bExpandCentered | if true Plane will be expanded to top and bottom, otherwise only to the bottom. default is false |
Reimplemented in CGUIBitmapPlane_eGML, and CGUIBitmapPlane_GL.
void CGUIBitmapPlane::SetPos2D | ( | eC_Value | vXPos, |
eC_Value | vYPos | ||
) |
Sets the Position of this BitmapPlane in screen coordinates. Position will be set relative to the upper left corner of the parent GUIObject. The Z Coordinate will be set in that way that a 10x10 BitmapPlane has the size of 10x10 pixel on the screen
vXPos | x coordinate relative to the upper left corner of the parent GUIObject |
vYPos | y coordinate relative to the upper left corner of the parent GUIObject |
|
inline |
Sets the Position of this BitmapPlane in 3D space. Point of origin is the center of the parent GUIObject.
vXPos | x coordinate |
vYPos | y coordinate |
vZPos | z coordinate |
|
protected |
Sets a new value for the used texture part
vNewTexUsedU | new u value representing the used part of the texture |
vNewTexUsedV | new v value representing the used part of the texture |
|
virtual |
Sets the U Value of the upper left corner of the BitmapPlane. The U value describes which point of the Bitmap is mapped onto the plane in x direction. The value has to be between 0 and 1, where zero means the upper left corner of the plane maps directly on the left edge of the bitmap and 1 the upper left corner maps on the right edge of the bitmap. All values in between will be interpolated.
vU | new U value for the upper left corner. [0 1] |
Reimplemented in CGUIBitmapPlane_eGML.
|
inline |
Sets the U/V values for the top left corner of the bitmap plane.
vU | new U value for the top left corner |
vV | new V value for the top left corner |
|
virtual |
Sets the V Value of the upper left corner of the BitmapPlane. The V value describes which point of the Bitmap is mapped onto the plane in y direction. The value has to be between 0 and 1, where zero means the upper left corner of the plane maps directly on the upper edge of the bitmap and 1 the upper left corner maps on the lower edge of the bitmap. All values in between will be interpolated.
vV | new V value for the upper left corner. [0 1] |
Reimplemented in CGUIBitmapPlane_eGML, and CGUIBitmapPlane_GL.
|
virtual |
Sets the U Value of the upper right corner of the BitmapPlane. The U value describes which point of the Bitmap is mapped onto the plane in x direction. The value has to be between 0 and 1, where zero means the upper right corner of the plane maps directly on the left edge of the bitmap and 1 the upper right corner maps on the right edge of the bitmap. All values in between will be interpolated.
vU | new U value for the upper left corner. [0 1] |
Reimplemented in CGUIBitmapPlane_eGML.
|
inline |
Sets the U/V values for the upper right corner of the bitmap plane.
vU | new U value for the upper right corner |
vV | new V value for the upper right corner |
|
virtual |
Sets the V Value of the upper right corner of the BitmapPlane. The V value describes which point of the Bitmap is mapped onto the plane in y direction. The value has to be between 0 and 1, where zero means the upper right corner of the plane maps directly on the upper edge of the bitmap and 1 the upper right corner maps on the lower edge of the bitmap. All values in between will be interpolated.
vV | new V value for the upper left corner. [0 1] |
Reimplemented in CGUIBitmapPlane_eGML, and CGUIBitmapPlane_GL.
|
virtual |
Setter for the width. The scale parameter which will be used for the autoscale mechanism will be updated.
vWidth | new width of this BitmapPlane. |
bExpandCentered | if true Plane will be expanded to left and right, otherwise only to the right. default is false |
Reimplemented in CGUIBitmapPlane_eGML, and CGUIBitmapPlane_GL.
void CGUIBitmapPlane::SetXPos2D | ( | eC_Value | vXPos | ) |
Sets the X-Position of this BitmapPlane in screen coordinates. Position will be set relative to the upper left corner of the parent GUIObject. The Z Coordinate will be set in that way that a 10x10 BitmapPlane has the size of 10x10 pixel on the screen
vXPos | x coordinate relative to the upper left corner of the parent GUIObject |
|
inline |
Sets the X-Position of this BitmapPlane in 3D space. Point of origin is the center of the parent GUIObject.
vXPos | x coordinate |
void CGUIBitmapPlane::SetYPos2D | ( | eC_Value | vYPos | ) |
Sets the Y-Position of this BitmapPlane in screen coordinates. Position will be set relative to the upper left corner of the parent GUIObject. The Z Coordinate will be set in that way that a 10x10 BitmaPlane has the size of 10x10 pixel on the screen
vYPos | y coordinate relative to the upper left corner of the parent GUIObject |
|
inline |
Sets the YPosition of this BitmapPlane in 3D space. Point of origin is the center of the parent GUIObject.
vYPos | y coordinate |
|
inline |
Sets the Z-Position of this BitmapPlane in 3D space. Point of origin is the center of the parent GUIObject.
vZPos | z coordinate |
|
friend |