The graphics wrapper base class. More...
#include <GfxWrap.h>
Public Types | |
enum | RefreshCall_t { SINGLE_REFRESH , FIRST_REFRESH_OF_FRAME , INTERMEDIATE_REFRESH , LAST_REFRESH_OF_FRAME , FORCED_REFRESH } |
Public Member Functions | |
void | ForceRefresh () |
eC_Bool | GetDoubleBufferingEnforcesFlipping () |
virtual eC_UInt | GetNOFImages () |
virtual eC_UInt | GetPhysicalScreenHeight ()=0 |
virtual eC_UInt | GetPhysicalScreenWidth ()=0 |
CGUICommonEnums::ImageType_t | GetScreenFormat () const |
virtual eC_UInt | GetScreenHorizontalPPI () const |
virtual eC_UInt | GetScreenVerticalPPI () const |
virtual eC_UInt | GetVirtualScreenHeight ()=0 |
virtual eC_UInt | GetVirtualScreenWidth ()=0 |
virtual eC_UByte * | GetWorkingMemory (const eC_UInt &uiSize) |
eC_String | GetWrapperName () const |
virtual eC_Bool | ImageExists (const ImageResource_t eID) const =0 |
virtual void | ReleaseWorkingMemory (eC_UByte *pkMemory) |
virtual void | ResetWorkingMemory () |
virtual void | RestoreWrapperState () |
void | SetDoubleBufferingEnforcesFlipping (const eC_Bool bDoubleBufferingEnforcesFlipping) |
virtual void | SetFilteredBlit (const eC_Bool &bFilteredBlit) |
void | SetGfxEnv (CGfxEnv *pkGfxEnv) |
virtual void | SetOptimizedBlit (const eC_Bool &bOptimizedBlit) |
void | SetScreenFormat (const CGUICommonEnums::ImageType_t &uiScreenFormat) |
virtual void | SetScreenSize (const eC_UInt &uiWidth, const eC_UInt &uiHeight) |
virtual void | SetWindowCaption (const eC_String &kText) |
virtual void | StoreWrapperState () |
virtual void | SyncWorkingMemory () |
Drawing parameters | |
void | SetForegroundColor (const eC_UByte &ubRed, const eC_UByte &ubGreen, const eC_UByte &ubBlue, const eC_UByte &ubAlpha=255) |
void | SetForegroundColor (const eC_UInt &uiCol) |
void | UpdateGlobalAlpha (const eC_UByte &ubAlpha) |
void | SetGlobalAlpha (const eC_UByte &ubAlpha) |
virtual eC_Value | SetLineWidth (const eC_Value &vWidth) |
eC_UInt | GetForegroundColor () const |
eC_UByte | GetGlobalAlpha () const |
eC_UByte | ApplyGlobalAlpha (const eC_UByte ubAlpha) const |
Drawing primitives | |
void | Line (const CGUIRect &kAbsRect) |
void | Rect (const CGUIRect &kAbsRect) |
void | FilledRect (const CGUIRect &kAbsRect) |
void | Ellipse (const CGUIRect &kAbsRect, const eC_Bool &bFilled) |
void | Arc (const CGUIRect &kAbsRect, const eC_Value &vStartAngle, const eC_Value &vEndAngle, const eC_Value &vRotationAngle, const eC_Bool &bFilled) |
void | Ring (const CGUIRect &kAbsRect, const eC_Value &vRingWidth, const eC_Value &vStartAngle, const eC_Value &vEndAngle, const eC_Value &vRotationAngle, const eC_Bool &bFilled) |
void | Text (const eC_Value &vAbsX1, const eC_Value &vAbsY1, const eC_String *const lpString) |
Clipping and invalidated rectangles | |
virtual void | RedrawGUI () |
virtual void | SetCliprect (const CGUIRect &NewAbsClipRect)=0 |
virtual void | ResetCliprect () |
Resets the clipping rectangle. | |
virtual void | GetCliprect (CGUIRect &AbsClipRect) const |
void | InvalidateRect (const CGUIRect &kInvalidRect) |
void | InvalidateRect (const eC_Value &vAbsX1, const eC_Value &vAbsY1, const eC_Value &vAbsX2, const eC_Value &vAbsY2) |
const CGUIRect & | GetInvalidatedRect () const |
virtual void | ClearInvalidRect () |
Image handling | |
void | BlitImg (const ImageResource_t &eID, const eC_Value &vAbsDestX, const eC_Value &vAbsDestY) |
void | BlitImg (const CGUIImageData &kImageData, const eC_Value &vAbsDestX, const eC_Value &vAbsDestY) |
void | BlitImgExt (const ImageResource_t &eID, const eC_Value &vAbsDestX, const eC_Value &vAbsDestY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_Bool &bStretch=true, const eC_UByte &ubAlpha=255) |
virtual void | BlitImgNinePatch (const ImageResource_t &eID, const CGUIRect &kAbsRect, const eC_UInt uiTopBorder, const eC_UInt uiBottomBorder, const eC_UInt uiLeftBorder, const eC_UInt uiRightBorder, const eC_UByte &ubAlpha=255) |
void | BlitImgNinePatch (const ImageResource_t &eID, const CGUIRect &kAbsRect, const CGUINinePatch &kNinePatch, const eC_UByte &ubAlpha=255) |
void | BlitImgExt (const ImageResource_t &eID, const CGUIRect &kAbsRect, const eC_Bool &bStretch=true, const eC_UByte &ubAlpha=255) |
void | BlitImgExt (const ImageResource_t &eID, const CGUIRect &kSrcAbsRect, const CGUIRect &kDstAbsRect, const eC_UByte &ubAlpha=255) |
void | BlitImgExt (const ImageResource_t &eID, const eC_UInt &uiAbsSrcX, const eC_UInt &uiAbsSrcY, const eC_UInt &uiSrcWidth, const eC_UInt &uiSrcHeight, const eC_Value &vAbsDestX, const eC_Value &vAbsDestY, const eC_Value &vDestWidth, const eC_Value &vDestHeight, const eC_UByte &ubAlpha=255, const eC_Value &vAngle=eC_FromFloat(0), const eC_Value &vRotCenterX=eC_FromFloat(0.5), const eC_Value &vRotCenterY=eC_FromFloat(0.5)) |
eC_UInt | GetImgWidth (const ImageResource_t &eID) const |
eC_UInt | GetImgHeight (const ImageResource_t &eID) const |
CGUIRect | GetImgOriginRect (const ImageResource_t &eID) const |
Font handling | |
void | SetFont (const FontResource_t &eID) |
void | SetFontSpacing (const eC_Float &fSpacing) |
void | RequiredSpace (const eC_String *const pkText, eC_Value &vWidth, eC_Value &vHeight) |
void | FittingNumChars (const eC_String *const pkText, eC_Value vWidthMax, eC_UInt &uiNumChars, const eC_Bool &bStartAtEnd=false) |
eC_Int | GetAscender () const |
eC_Int | GetDescender () const |
eC_Int | GetInternalLeading () const |
void | GetGlyphMetrics (const eC_Char cChar, CFntWrap::GlyphMetrics_t &kMetrics) |
eC_Value | GetTextXPosAdjustment (const CGUIText::HorAligned_t eHorAlignment) |
eC_Value | GetTextYPosAdjustment (const CGUIText::VerAligned_t eVerAlignment) |
eC_Bool | SetNOFFonts (const eC_UInt uiNOFFonts) |
eC_UInt | GetNOFFonts () |
void | ChangeFont (const FontResource_t &eFontID, const eC_Char *const pcPath, const eC_UInt &uiFontSize, const CFntWrap::GUIFont_t &eFontStyle) |
void | LoadFont (const FontResource_t &eFontID) |
void | UnloadFont (const FontResource_t &eFontID) |
virtual eC_Bool | SupportCompressedFonts () const |
virtual void | LoadGlyphData (CGUIImageData *pkImageData, const eC_UInt &uiGlyphWidth, const eC_UInt &uiGlyphHeight, eC_UByte *pkGlyphBitmap) |
virtual void | UnloadGlyphData (CGUIImageData *pkImageData) |
Static Public Member Functions | |
static void | DeleteInstance () |
Delete the graphics wrapper instance. | |
static eC_UInt | GetNextPowerOf2 (const eC_Value &vValue) |
Protected Member Functions | |
CGfxWrap () | |
Constructor. | |
virtual | ~CGfxWrap (void) |
Destructor. | |
virtual void | Arc (const eC_Value &vX1, const eC_Value &vY1, const eC_Value &vX2, const eC_Value &vY2, const eC_Value &vStartAngle, const eC_Value &vEndAngle, const eC_Value &vRotationAngle, const eC_Bool &bFilled)=0 |
void | DeInit () |
Deinitialization. | |
virtual void | Ellipse (const eC_Value &vAbsX1, const eC_Value &vAbsY1, const eC_Value &vAbsX2, const eC_Value &vAbsY2, const eC_Bool &bFilled)=0 |
virtual void | FilledRect (const eC_Value &vAbsX1, const eC_Value &vAbsY1, const eC_Value &vAbsX2, const eC_Value &vAbsY2)=0 |
virtual void | Line (const eC_Value &vAbsX1, const eC_Value &vAbsY1, const eC_Value &vAbsX2, const eC_Value &vAbsY2)=0 |
the following methods are protected to prevent calling them directly More... | |
virtual void | Rect (const eC_Value &vAbsX1, const eC_Value &vAbsY1, const eC_Value &vAbsX2, const eC_Value &vAbsY2)=0 |
virtual void | Ring (const eC_Value &vX1, const eC_Value &vY1, const eC_Value &vX2, const eC_Value &vY2, const eC_Value &vRingWidth, const eC_Value &vStartAngle, const eC_Value &vEndAngle, const eC_Value &vRotationAngle, const eC_Bool &bFilled)=0 |
virtual void | SetForegroundColorImpl (const eC_UByte &ubRed, const eC_UByte &ubGreen, const eC_UByte &ubBlue, const eC_UByte &ubAlpha=255)=0 |
Smart redraw | |
virtual eC_Bool | Refresh (const RefreshCall_t eRefreshCallType)=0 |
virtual void | StartHandleDraw (const CGUIRect &crkClipRect) |
Callbacks | |
virtual void | StartRedrawGUI () |
virtual void | EndRedrawGUI () |
Callback which is called at the end of RedrawGUI() after all Invalidated areas were drawn and refreshed. | |
virtual void | DestroyScreen () |
Method to clean and release the screen which was created via the CreateScreen Method. More... | |
Resource management | |
eC_Bool | SetNOFImages (const eC_UInt uiNOFImages) |
virtual eC_Bool | SetNOFImagesImpl (const eC_UInt uiNOFImages) |
void | LoadImg (const eC_String &kPath, const ImageResource_t &eID) |
void | LoadImg (void *pkMemory, const eC_UInt &uiWidth, const eC_UInt &uiHeight, const eC_UInt &eImageType, const ImageResource_t &eID) |
virtual void | LoadImgImpl (const eC_String &kPath, const ImageResource_t &eID)=0 |
virtual void | LoadImgImpl (void *pkMemory, const eC_UInt &uiWidth, const eC_UInt &uiHeight, const eC_UInt &eImageType, const ImageResource_t &eID)=0 |
virtual void | RefreshImage (const ImageResource_t &eID, void *pkMemory) |
virtual void | UnloadImg (const ImageResource_t &eID) |
Abstract image methods | |
virtual eC_UInt | GetImageSize (const ImageResource_t &eID) const =0 |
virtual eC_UInt | GetImgWidthImpl (const ImageResource_t &eID) const =0 |
virtual eC_UInt | GetImgHeightImpl (const ImageResource_t &eID) const =0 |
virtual void | BlitImgExtImpl (const ImageResource_t &eID, const eC_UInt &uiAbsSrcX, const eC_UInt &uiAbsSrcY, const eC_UInt &uiSrcWidth, const eC_UInt &uiSrcHeight, const eC_Value &vAbsDestX, const eC_Value &vAbsDestY, const eC_Value &vDestWidth, const eC_Value &vDestHeight, const eC_UByte &ubAlpha=255, const eC_Value &vAngle=eC_FromFloat(0), const eC_Value &vRotCenterX=eC_FromFloat(0.5), const eC_Value &vRotCenterY=eC_FromFloat(0.5))=0 |
virtual void | BlitImgExtImpl (const CGUIImageData &kImageData, const eC_Value &vAbsDestX, const eC_Value &vAbsDestY)=0 |
Invalidated rectangles | |
void | SetInvalidatedRect (const eC_Value &vAbsX1, const eC_Value &vAbsY1, const eC_Value &vAbsX2, const eC_Value &vAbsY2) |
void | SetInvalidatedRect (const CGUIRect &NewAbsRect) |
void | ResetInvalidatedRect () |
Resets the invalidated rectangle. | |
Protected Attributes | |
eC_Bool | m_bDoubleBufferingEnforcesFlipping |
eC_Bool | m_bFilteredBlit |
if filtered blit is active | |
eC_Bool | m_bInvalidationInLastFrame |
eC_Bool | m_bOptimizedBlit |
if optimized blit is active | |
CGUIRect | m_kClippingRect |
eC_Semaphore | m_kGfxWrapSemaphore |
Semaphore to lock access to methods used in a multi thread context. | |
CGUIRect | m_kInvalidatedRect |
eC_TListDoubleLinked< CGUIRect > | m_kInvalidatedRectList |
This is the list of invalidated rectangular regions within the GUI. | |
eC_TListDoubleLinked< CGUIRect > | m_kLastFrameInvalidatedRectList |
This is the list of regions which have been invalidated during the LAST frame. | |
eC_String | m_kWrapperName |
name of the wrapper | |
CGfxEnv * | m_pkGfxEnv |
pointer to the graphics-environment | |
eC_UByte | m_ubAlpha |
Currently set global alpha value. | |
eC_UInt | m_uiColor |
Currently set foreground color. | |
eC_UInt | m_uiNOFImages |
total number of image-objects | |
eC_UInt | m_uiScreenHeight |
Screen height. | |
eC_UInt | m_uiScreenWidth |
Screen width. | |
eC_Value | m_vGlobalAlphaFactor |
eC_Value | m_vLineWidth |
Line width in pixels. | |
eC_Value | m_vRenderingOffsetX |
offset in x-direction | |
eC_Value | m_vRenderingOffsetY |
offset in y-direction | |
Static Protected Attributes | |
static const eC_Value | cvTwoPi |
constant for 2 PI | |
Friends | |
class | CFntWrap |
class | CGUI |
class | CGUIBackgroundImageLoaderThread |
class | CGUIComponentManager |
class | CGUIImageCacheImpl |
class | CGUIResourceManager |
Bitmap Planes | |
virtual eC_Bool | DrawToBitmap (GUIBitmapPlaneID_t uiBitmapID) |
virtual eC_Bool | DrawToScreen () |
virtual eC_TArray< eC_UByte > * | GetBitmapPlaneData (const GUIBitmapPlaneID_t &eBitmapPlaneID) |
virtual void | SetTargetLayer (const eC_UInt &uiLayerID) |
virtual void | SetRenderingOffset (const eC_Value &vOffsetX, const eC_Value &vOffsetY) |
void | GetRenderingOffset (eC_Value &vOffsetX, eC_Value &vOffsetY) |
virtual GUIBitmapPlaneID_t | CreateBitmapPlane (const CGUIObject &rkParentObject, const eC_Value &vWidth, const eC_Value &vHeight) |
void | DeleteBitmapPlane (const GUIBitmapPlaneID_t uiBitmapID) |
void | DeleteBitmapPlanes (const CGUIObject *pkObject) |
CGUIBitmapPlane & | GetBitmapPlane (const GUIBitmapPlaneID_t uiBitmapID) |
GUIBitmapPlaneID_t | GetUsedBitmapPlaneID () const |
virtual CGUIBitmapPlane * | CreateGfxDependentBitmap (GUIBitmapPlaneID_t uiNewBitmapID, const CGUIObject &rkParentObject, const eC_Value &vWidth, const eC_Value &vHeight) |
CGUIBitmapPlane & | GetDummyBitmap () |
virtual eC_Bool | FinishDrawToBitmap () |
The graphics wrapper base class.
The methods declared in this base class are used by all Guiliani standard controls to display themselves. You may leave implementations of certain methods empty for your specific derivation if you know that you will not need them. For example you may decide not to implement the image loading functionality for your specific graphics wrapper. You are also free to add completely new methods to your own wrapper classes and use these within your custom-made controls.
Please be aware that due to the cross-platform character of the framework, not all functions declared within the CGfxWrap base class need to be available in all platform-specific implementations.
The Refresh function is called for every invalidated rect of a frame. For some GFXWrappers it is necessary to know if it is the first or last call of a frame, so you can decide what to do. This might be a simple copy instruction of the invalidated area or the flip at the end of the frame. This enum contains the needed information.
Enumerator | |
---|---|
SINGLE_REFRESH | Only one refresh in this frame. So it is the first and the last call. |
FIRST_REFRESH_OF_FRAME | The first refresh call in this frame. |
INTERMEDIATE_REFRESH | Any Refresh between the first and the last call. |
LAST_REFRESH_OF_FRAME | The last refresh call in this frame. |
FORCED_REFRESH | Refresh was forced. A refresh of this type is used in addition to one of the others, see ForceRefresh(). |
|
inline |
Applies the current global alpha to the given alpha value and returns the result. If e.g. the global alpha is 127, and the supplied alpha is 127, the returned value will be 64.
ubAlpha | The alpha value to which global alpha shall be applied. |
void CGfxWrap::Arc | ( | const CGUIRect & | kAbsRect, |
const eC_Value & | vStartAngle, | ||
const eC_Value & | vEndAngle, | ||
const eC_Value & | vRotationAngle, | ||
const eC_Bool & | bFilled | ||
) |
|
protectedpure virtual |
Draws an arc which is completly inside the rectangle described through the rectangle the top left edge at (vAbsX1, vAbsY1) and bottom right edge at (vAbsX2, vAbsY2). The arc will be filled out if the last parameter is true 0-degrees is at the mathematically correct position on the unit-circle angles are increasing in counter-clockwise direction. rotation-angle is increasing in clockwise direction, i.e. rotating by 90 degrees will result in the 0-degress being at the bottom-center
vX1 | X-coordinate of bounding rectangle's top left corner |
vY1 | Y-Coordinate of bounding rectangle's top left corner |
vX2 | X-coordinate of bounding rectangle's bottom right corner |
vY2 | Y-Coordinate of bounding rectangle's bottom right corner |
vStartAngle | start-angle |
vEndAngle | end-angle |
vRotationAngle | rotation-angle |
bFilled | Specifies whether the arc will be drawn outlined (false) or filled (true) |
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapNull, CGfxWrapGL, CGfxWrapVG, and CGfxWrapDirectFb.
|
inline |
Blit an image. Blits (draws) the image contained in the data to the specified position on the screen.
kImageData | image-data |
vAbsDestX | Destination x-position. |
vAbsDestY | Destination y-position. |
void CGfxWrap::BlitImg | ( | const ImageResource_t & | eID, |
const eC_Value & | vAbsDestX, | ||
const eC_Value & | vAbsDestY | ||
) |
Blit an image. Blits (draws) the image associated with the supplied Image-identifier to the specified position on the screen.
eID | Identifier of the image to be blitted. |
vAbsDestX | Destination x-position. |
vAbsDestY | Destination y-position. |
void CGfxWrap::BlitImgExt | ( | const ImageResource_t & | eID, |
const CGUIRect & | kAbsRect, | ||
const eC_Bool & | bStretch = true , |
||
const eC_UByte & | ubAlpha = 255 |
||
) |
Extended blit of an image. Performs a stretch blit of the image associated with the supplied Image Identifier. The image will be blitted to the position given by the upper left corner of the supplied rectangle. It will be stretched to meet the desired width and height if the bStretch flag is set to true.
eID | Identifier of the image to be blitted. |
kAbsRect | Rectangle describing the destination position and size of the image on the screen |
bStretch | Image will be stretched to meet the desired size if set to true. |
ubAlpha | Degree of transparency. 0=transparent 255=opaque Default is opaque. |
void CGfxWrap::BlitImgExt | ( | const ImageResource_t & | eID, |
const CGUIRect & | kSrcAbsRect, | ||
const CGUIRect & | kDstAbsRect, | ||
const eC_UByte & | ubAlpha = 255 |
||
) |
Extended blit of an image. Performs a stretch blit of the image associated with the supplied Image Identifier. An area of the image (which is defined by kSrcAbsRect) will be blitted to the position given by the upper left corner of kDstAbsRect. It will be stretched to meet the desired width and height.
eID | Identifier of the image to be blitted. |
kSrcAbsRect | Rectangle describing the relevant area within the source image |
kDstAbsRect | Rectangle describing the destination position and size of the image on the screen |
ubAlpha | Degree of transparency. 0=transparent 255=opaque Default is opaque. |
void CGfxWrap::BlitImgExt | ( | const ImageResource_t & | eID, |
const eC_UInt & | uiAbsSrcX, | ||
const eC_UInt & | uiAbsSrcY, | ||
const eC_UInt & | uiSrcWidth, | ||
const eC_UInt & | uiSrcHeight, | ||
const eC_Value & | vAbsDestX, | ||
const eC_Value & | vAbsDestY, | ||
const eC_Value & | vDestWidth, | ||
const eC_Value & | vDestHeight, | ||
const eC_UByte & | ubAlpha = 255 , |
||
const eC_Value & | vAngle = eC_FromFloat(0) , |
||
const eC_Value & | vRotCenterX = eC_FromFloat(0.5) , |
||
const eC_Value & | vRotCenterY = eC_FromFloat(0.5) |
||
) |
Extended blit of an image. Performs a rotated stretch blit of the image associated with the supplied Image Identifier. An area of the image (which is defined by uiAbsSrcX, uiAbsSrcY, uiSrcWidth and uiSrcHeight) will be blitted to the position given by vAbsDestX and vAbsDestY. It will be stretched to meet vDestWidth and vDestHeight if the bStretch flag is set to true. Optionally, the image can be rotated by vAngle degrees around a point defined by vRotCenterX and vRotCenterY. The center of rotation is given in coordinates within a range of 0 to 1 (similar to U/V coordinates), where (0,0) is the image's top left corner, (1,1) equals the lower right corner and (0.5, 0.5) corresponds to the image's center.
eID | Identifier of the image to be blitted. |
uiAbsSrcX | X coordinate of upper left corner of the relevant area within the source image |
uiAbsSrcY | Y coordinate of upper left corner of the relevant area within the source image |
uiSrcWidth | Width of the relevant area within the source image |
uiSrcHeight | Height of the relevant area within the source image |
vAbsDestX | Destination X position in absolute coordinates |
vAbsDestY | Destination Y position in absolute coordinates |
vDestWidth | Destination width |
vDestHeight | Destination height |
ubAlpha | Degree of transparency. 0=transparent 255=opaque Default is opaque. |
vAngle | Angle in degrees by which the image will be rotated |
vRotCenterX | Rotation center X. In range of 0 to 1 (like U/V coordinates) |
vRotCenterY | Rotation center Y. In range of 0 to 1 (like U/V coordinates) |
void CGfxWrap::BlitImgExt | ( | const ImageResource_t & | eID, |
const eC_Value & | vAbsDestX, | ||
const eC_Value & | vAbsDestY, | ||
const eC_Value & | vWidth, | ||
const eC_Value & | vHeight, | ||
const eC_Bool & | bStretch = true , |
||
const eC_UByte & | ubAlpha = 255 |
||
) |
Extended blit of an image. Performs a stretch blit of the image associated with the supplied Image Identifier. The image will be blitted to the position specified by the x- and y-parameter and automatically stretched to meet the desired width and height if the bStretch flag is set to true.
eID | Identifier of the image to be blitted. |
vAbsDestX | Destination x-position. |
vAbsDestY | Destination y-position. |
vWidth | Target width. Image will be automatically stretched if necessary, if bStretch is true. |
vHeight | Target height. Image will be automatically stretched if necessary, if bStretch is true. |
bStretch | Image will be stretched to meet the desired size if set to true. |
ubAlpha | Degree of transparency. 0=transparent 255=opaque Default is opaque. |
|
protectedpure virtual |
Blits an image. This MUST be implemented by all graphics wrappers. It is ensured that the supplied image ID is in the valid range and is not DUMMY_IMAGE. For detailed explanations, please refer to CGfxWrap::BlitImgExt
kImageData | ImageData |
vAbsDestX | Destination X position in absolute coordinates |
vAbsDestY | Destination Y position in absolute coordinates |
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapGL, CGfxWrap_stm32f429, CGfxWrap_stm32f746, and CGfxWrapNull.
|
protectedpure virtual |
Blits an image. This MUST be implemented by all graphics wrappers. It is ensured that the supplied image ID is in the valid range and is not DUMMY_IMAGE. For detailed explanations, please refer to CGfxWrap::BlitImgExt
eID | Identifier of the image to be blitted. |
uiAbsSrcX | X coordinate of upper left corner of the relevant area within the source image |
uiAbsSrcY | Y coordinate of upper left corner of the relevant area within the source image |
uiSrcWidth | Width of the relevant area within the source image |
uiSrcHeight | Height of the relevant area within the source image |
vAbsDestX | Destination X position in absolute coordinates |
vAbsDestY | Destination Y position in absolute coordinates |
vDestWidth | Destination width |
vDestHeight | Destination height |
ubAlpha | Degree of transparency. 0=transparent 255=opaque Default is opaque. |
vAngle | Angle in degrees by which the image will be rotated |
vRotCenterX | Rotation center X. In range of 0 to 1 (like U/V coordinates) |
vRotCenterY | Rotation center Y. In range of 0 to 1 (like U/V coordinates) |
Implemented in CGfxWrapVG, CGfxWrapBLU, CGfxWrapNull, CGfxWrapDirectFb, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapGL, CGfxWrap_stm32f429, and CGfxWrap_stm32f746.
void CGfxWrap::BlitImgNinePatch | ( | const ImageResource_t & | eID, |
const CGUIRect & | kAbsRect, | ||
const CGUINinePatch & | kNinePatch, | ||
const eC_UByte & | ubAlpha = 255 |
||
) |
Nine-Patch blit of an image.
eID | Identifier of the image to be blitted. |
kAbsRect | Rectangle describing the destination position and size of the image on the screen |
kNinePatch | Nine-Patch describing the borders |
ubAlpha | Degree of transparency. 0=transparent 255=opaque. Default is opaque. |
|
virtual |
Nine-Patch blit of an image. Performs an intelligent 9-patch stretch blit of the image associated with the supplied Image Identifier. The image will be blitted to the position given by the upper left corner of the supplied rectangle and stretched to the desired width and height. To reduce visual artifacts during stretching, the image will automatically be split up into 9 parts. The four corners will be left unscaled, the four edges are each scaled in one axis, and the middle part is stretched in both axes. The two parameters uiXBorder and uiYBorder specify the width/height of the sections in pixels.
eID | Identifier of the image to be blitted. |
kAbsRect | Rectangle describing the destination position and size of the image on the screen |
uiTopBorder | Height of the topmost three sections of the Nine-patch in pixels |
uiBottomBorder | Height of the lowermost three sections of the Nine-patch in pixels |
uiLeftBorder | Width of the leftmost three sections of the Nine-patch in pixels |
uiRightBorder | Width of the rightmost three sections of the Nine-patch in pixels |
ubAlpha | Degree of transparency. 0=transparent 255=opaque. Default is opaque. |
Reimplemented in CGfxWrapGL.
void CGfxWrap::ChangeFont | ( | const FontResource_t & | eFontID, |
const eC_Char *const | pcPath, | ||
const eC_UInt & | uiFontSize, | ||
const CFntWrap::GUIFont_t & | eFontStyle | ||
) |
Change a font identified by pcPath in an array of fonts at position eFontID. If the font already exists, it is unloaded first.
eFontID | id (and hence index) of the font. |
pcPath | Path or name of the font. |
uiFontSize | Size of the font. |
eFontStyle | Style of the font (italic, underline, bold, ... see GUIFont.h). |
|
inlinevirtual |
Called for each invalidated rectangle right before CGUI::HandleDraw() is called. A derived graphics wrapper can implement this method to do necessary clean-up, if required, before the GUI tree is drawn. Since HandleDraw will only affect the current invalidated rectangle, this method should also restrict its operations to that region of the screen.
|
virtual |
Creates a BitmapPlane with given width and height.
rkParentObject | reference to the GUIObject which will be the parent of the BitmapPlane |
vWidth | width of the new BitmapPlane |
vHeight | height of the new BitmapPlane |
|
protectedvirtual |
Method which will be called by CreateBitmap to instantiate a new Bitmap-Object. This Method needs to be implemented by every derived GfxWrapper. If a GfxWrapper does not support Bitmap-Handling, he may create an CGUIBaseBitmap
uiNewBitmapID | ID of the new BitmapPlane |
rkParentObject | reference to the GUIObject which will be the parent of the bitmap |
vWidth | width of the new bitmap |
vHeight | height of the new bitmap |
Reimplemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapGL, CGfxWrapOGL, CGfxWrapOGLES1_1, and CGfxWrapOGLES2.
void CGfxWrap::DeleteBitmapPlane | ( | const GUIBitmapPlaneID_t | uiBitmapID | ) |
Deletes the BitmapPlane with the given ID.
uiBitmapID | ID of the BitmapPlane to delete |
void CGfxWrap::DeleteBitmapPlanes | ( | const CGUIObject * | pkObject | ) |
Deletes all BitmapPlanes belonging to the given Object.
pkObject | pointer of the Object whose BitmapPlanes will be deleted |
|
inlineprotectedvirtual |
Method to clean and release the screen which was created via the CreateScreen Method.
Reimplemented in CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, and CGfxWrapDirectFb.
|
virtual |
Changes the RenderTarget to the BitmapPlane with the given ID. All successive GfxWrap draw commands will be done in the bitmap of this plane instead of within the framebuffer
uiBitmapID | ID of the BitmapPlane in which will be drawn. |
Reimplemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, and CGfxWrapGL.
|
virtual |
Activates the Screen as active RenderTarget again
Reimplemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, and CGfxWrapGL.
void CGfxWrap::Ellipse | ( | const CGUIRect & | kAbsRect, |
const eC_Bool & | bFilled | ||
) |
|
protectedpure virtual |
Draws an ellipse which is completly inside the rectangle described through the rectangle the top left edge at (vAbsX1, vAbsY1) and bottom right edge at (vAbsX2, vAbsY2). The ellipse will be filled out if the last parameter is true
vAbsX1 | X-coordinate of bounding rectangle's top left corner |
vAbsY1 | Y-Coordinate of bounding rectangle's top left corner |
vAbsX2 | X-coordinate of bounding rectangle's bottom right corner |
vAbsY2 | Y-Coordinate of bounding rectangle's bottom right corner |
bFilled | Specifies whether the ellipse will be drawn outlined (false) or filled (true) |
Implemented in CGfxWrapBLU, CGfxWrapeGML, CGfxWrapNull, CGfxWrapVG, CGfxWrapDirectFb, CGfxWrap_stm32f429, CGfxWrap_stm32f746, CGfxWrapGL, CGfxWrapDAVE, and CGfxWrapDAVEHD.
void CGfxWrap::FilledRect | ( | const CGUIRect & | kAbsRect | ) |
|
protectedpure virtual |
Draws a filled rectangle with the top left edge at (vAbsX1, vAbsY1) and bottom right edge at (vAbsX2, vAbsY2) The bottom edge and the right edge is not included in the drawn rect. e.g. FilledRect(0, 0, 10, 10); the rect is drawn from (0,0) to (9,9) (both included).
vAbsX1 | X-coordinate of top left corner |
vAbsY1 | Y-Coordinate of top left corner |
vAbsX2 | X-coordinate of bottom right corner |
vAbsY2 | Y-Coordinate of bottom right corner |
Implemented in CGfxWrapBLU, CGfxWrapNull, CGfxWrapVG, CGfxWrapDirectFb, CGfxWrap_stm32f429, CGfxWrap_stm32f746, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, and CGfxWrapGL.
|
protectedvirtual |
This is called by the framework when rendering to a bitmap plane is finished.
void CGfxWrap::FittingNumChars | ( | const eC_String *const | pkText, |
eC_Value | vWidthMax, | ||
eC_UInt & | uiNumChars, | ||
const eC_Bool & | bStartAtEnd = false |
||
) |
Calculates the number of characters that fit in the given maximum width for a given text-string using the currently set font.
pkText | The text. |
vWidthMax | Maximum width of the font in pixels. |
uiNumChars | Reference to the numbers of characters that fit given the maximum width. |
bStartAtEnd | if this is true the text will be processed the other way round (e.g. RTL-languages) |
|
inline |
Forces the graphics wrapper to call Refresh() in the next frame, no matter if anything was invalidated. An application can use this when implementing a derived graphics wrapper that for instance displays a changing background image that is not known to Guiliani. The framework will call Refresh() at least once, using the refresh type FORCED_REFRESH. Any other necessary refresh calls will take place after that. At the time of this call, the invalidated rectangle may not be comprehensive and the absolute object positions are not updated yet.
eC_Int CGfxWrap::GetAscender | ( | ) | const |
Returns the currently set font's ascender-metric. If the ascender is not supported by a given Font-Wrapper, this returns 0.
CGUIBitmapPlane & CGfxWrap::GetBitmapPlane | ( | const GUIBitmapPlaneID_t | uiBitmapID | ) |
Accessing the bitmap with the given ID. If the bitmap with the given ID does not exist, a default bitmap with the size of 0/0 will be returned
uiBitmapID | id of the bitmap |
|
virtual |
Return data of bitmap-plane in array
eBitmapPlaneID | id of bitmap-plane |
|
virtual |
Retrieves the currently set clipping rectangle
AbsClipRect |
eC_Int CGfxWrap::GetDescender | ( | ) | const |
Returns the currently set font's descender-metric. If the descender is not supported by a given Font-Wrapper, this returns 0.
|
inline |
Returns whether the DoubleBufferingEnforcesFlipping-flag has been set.
|
protected |
Accessor for the dummy bitmap with the size 0/0
|
inline |
Gets the current foreground color.
|
inline |
Gets the current alpha value.
void CGfxWrap::GetGlyphMetrics | ( | const eC_Char | cChar, |
CFntWrap::GlyphMetrics_t & | kMetrics | ||
) |
Return glyph-metrics
cChar | |
kMetrics |
|
protectedpure virtual |
Computes the size of a loaded image's raw pixel data (e.g. RGBA or RGB565, depending on platform) in memory. Needed for the Image Cache. Since this will be called by the Guiliani Image cache, derived wrappers _must not_ call NotifyImageAccess() from within this method.
eID | The image's ID. |
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapNull, CGfxWrapGL, CGfxWrapDirectFb, and CGfxWrapVG.
eC_UInt CGfxWrap::GetImgHeight | ( | const ImageResource_t & | eID | ) | const |
Gets the height of an image. This method first checks for validity of the ID, then calls GetImgHeightImpl().
eID | Identifier of the image. |
|
protectedpure virtual |
Returns the height of an image. Must be implemented by each graphics wrapper.
eID | The ID of the image whose width should be returned. It is ensured that eID is always in the valid range and not DUMMY_IMAGE. |
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapGL, CGfxWrapDirectFb, CGfxWrapNull, and CGfxWrapVG.
|
inline |
Returns the bounding box of the image, placed at the origin (0, 0)
eID | image-ID |
eC_UInt CGfxWrap::GetImgWidth | ( | const ImageResource_t & | eID | ) | const |
Returns the width of an image. This method first checks for validity of the ID, then calls GetImgWidthImpl().
eID | Identifier of the image. |
|
protectedpure virtual |
Returns the width of an image. Must be implemented by each graphics wrapper.
eID | The ID of the image whose width should be returned. It is ensured that eID is always in the valid range and not DUMMY_IMAGE. |
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapGL, CGfxWrapDirectFb, CGfxWrapNull, and CGfxWrapVG.
eC_Int CGfxWrap::GetInternalLeading | ( | ) | const |
Returns the currently set font's internal leading. If the internal leading is not supported by a given Font-Wrapper, this returns 0.
|
inline |
Returns the current invalidated rectangle
|
inlinestatic |
helper method for calculating the next power of two _very_ fast.
vValue | eC_value for which the next power of two will be calculated |
eC_UInt CGfxWrap::GetNOFFonts | ( | ) |
Gets the number of fonts (array size).
|
inlinevirtual |
Gets the number of images (array size).
|
pure virtual |
Returns the screen height. Will always return the physical screen height with which the GfxWrap was originally initialized. Regardless of whether the virtual screen size has been modified e.g. while drawing into a CGUIBitmapPlane.
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapNull, CGfxWrapGL, CGfxWrapVG, and CGfxWrapDirectFb.
|
pure virtual |
Returns the screen width. Will always return the physical screen width with which the GfxWrap was originally initialized. Regardless of whether the virtual screen size has been modified e.g. while drawing into a CGUIBitmapPlane.
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapNull, CGfxWrapGL, CGfxWrapVG, and CGfxWrapDirectFb.
void CGfxWrap::GetRenderingOffset | ( | eC_Value & | vOffsetX, |
eC_Value & | vOffsetY | ||
) |
Return rendering offset
vOffsetX | |
vOffsetY |
|
inline |
Returns the pixel-format of the screen (framebuffer)
|
inlinevirtual |
Returns the horizontal pixel size in pixel per inch. 72 per default
|
inlinevirtual |
Returns the vertical pixel size in pixel per inch. 72 per default
eC_Value CGfxWrap::GetTextXPosAdjustment | ( | const CGUIText::HorAligned_t | eHorAlignment | ) |
Get the X position adjustment because of platform specific font structure.
eHorAlignment | The horizontal alignment of GUIText object. |
eC_Value CGfxWrap::GetTextYPosAdjustment | ( | const CGUIText::VerAligned_t | eVerAlignment | ) |
Get the Y position adjustment because of platform specific font structure.
eVerAlignment | The vertical alignment of GUIText object. |
|
inline |
Accessor for the ID of the currently used Bitmap. 0 if the Wrapper renders directly to the screen.
|
pure virtual |
Returns the screen height in pixels, may vary if DrawToBitmap is active. It will then return the active BitmapPlane's height instead.
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapNull, CGfxWrapGL, CGfxWrapVG, and CGfxWrapDirectFb.
|
pure virtual |
Returns the screen width in pixels, may vary if DrawToBitmap is active. It will then return the active BitmapPlane's width instead.
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapNull, CGfxWrapGL, CGfxWrapVG, and CGfxWrapDirectFb.
|
virtual |
Get working memory
uiSize | size of memory |
|
inline |
Get the name of the currently used wrapper
|
pure virtual |
Returns whether the image with the given ID currently is loaded within the Graphics Wrapper. This interface must be implemented by derived graphics wrappers.
eID | The ID to check |
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapNull, CGfxWrapGL, CGfxWrapDirectFb, and CGfxWrapVG.
void CGfxWrap::InvalidateRect | ( | const CGUIRect & | kInvalidRect | ) |
Invalidates a region of the GUI. All objects overlapping with an invalidated region will be redrawn during the next redraw-cycle. The right edge and the bottom edge of the rectangle is not included in the invalidation. e.g. InvalidateRect(0, 0, 10, 10); will invalidate from (0,0) to (9,9) on the screen (both included). So InvalidateRect(CGUIObject::GetAbsRect()) will invalidate the complete drawing area of the object.
kInvalidRect | Rectangular region of the GUI which has to be redrawn |
|
inline |
Invalidates a region of the GUI.
vAbsX1 | X-Coordinate of region's top left corner |
vAbsY1 | Y-Coordinate of region's top left corner |
vAbsX2 | X-Coordinate of region's bottom right corner |
vAbsY2 | Y-Coordinate of region's bottom right corner |
void CGfxWrap::Line | ( | const CGUIRect & | kAbsRect | ) |
|
protectedpure virtual |
the following methods are protected to prevent calling them directly
Draws a line from (vAbsX1, vAbsY1) to (vAbsX2, vAbsY2)
vAbsX1 | X-coordinate of starting point |
vAbsY1 | Y-Coordinate of starting point |
vAbsX2 | X-coordinate of ending point |
vAbsY2 | Y-Coordinate of ending point |
Implemented in CGfxWrapBLU, CGfxWrapNull, CGfxWrapVG, CGfxWrapDirectFb, CGfxWrap_stm32f429, CGfxWrap_stm32f746, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, and CGfxWrapGL.
void CGfxWrap::LoadFont | ( | const FontResource_t & | eFontID | ) |
Loads a font identified by pcPath into an array of fonts at position eFontID. If the font already exists, it it not loaded again. Should only be called by a GfxWrapper.
eFontID | id (and hence index) of the font. |
|
virtual |
load data for glyph
pkImageData | image-data to modify |
uiGlyphWidth | width of glyph |
uiGlyphHeight | height of glyph |
pkGlyphBitmap | bitmap of glyph |
Reimplemented in CGfxWrapDAVE, and CGfxWrapDAVEHD.
|
protected |
Loads an image. This loads an image from the given path and associates it with an Image-Identifier. This calls the LoadImgImpl() method internally, which has to be implemented by every GfxWrapper.
kPath | Complete path and filename of the image to be loaded. |
eID | ID by which the image will later be accessible. |
|
protected |
Loads an image. This loads an image which resides in the memory with a given size and format and associates it with an Image-Identifier. This calls the LoadImgImpl() method internally, which has to be implemented by every GfxWrapper.
pkMemory | |
uiWidth | |
uiHeight | |
eImageType | |
eID | ID by which the image will later be accessible. |
|
protectedpure virtual |
Loads an image. This loads an image from the given path and associates it with an Image-Identifier.
kPath | Complete path and filename of the image to be loaded. |
eID | ID by which the image will later be accessible. |
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapDirectFb, CGfxWrapNull, CGfxWrapVG, CGfxWrapeGML, and CGfxWrapGL.
|
protectedpure virtual |
Loads a memory-image. This loads an image from a pointer and associates it with an Image-Identifier.
pkMemory | pointer to image-data. |
uiWidth | |
uiHeight | |
eImageType | |
eID | ID by which the image will later be accessible. |
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapGL, and CGfxWrapNull.
void CGfxWrap::Rect | ( | const CGUIRect & | kAbsRect | ) |
|
protectedpure virtual |
Draws a rectangle with the top left edge at (vAbsX1, vAbsY1) and bottom right edge at (vAbsX2, vAbsY2). The bottom edge and the right edge is not included in the drawn rect. e.g. Rect(0, 0, 10, 10); the rect is drawn from (0,0) to (9,9) (both included).
vAbsX1 | X-coordinate of top left corner |
vAbsY1 | Y-Coordinate of top left corner |
vAbsX2 | X-coordinate of bottom right corner |
vAbsY2 | Y-Coordinate of bottom right corner |
Implemented in CGfxWrapBLU, CGfxWrapNull, CGfxWrapVG, CGfxWrapDirectFb, CGfxWrap_stm32f429, CGfxWrap_stm32f746, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, and CGfxWrapGL.
|
virtual |
Redraw the invalidated regions of the screen and refresh the visible display of the GUI. This method is declared virtual so that you may implement specialized behaviour in derived classes, for example if you are using a graphics engine which forces you to flip the front and back buffers and you are thus required to disable the Invalidated-rectangles approach.
|
protectedpure virtual |
Method to bring the screen content onto the physical screen so that it becomes visible, usually via a blit operation.
eRefreshCallType | The call type of this refresh |
Implemented in CGfxWrapBLU, CGfxWrapDAVECyclone5, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapNull, CGfxWrapOGL, CGfxWrapOGLES, CGfxWrapVG, CGfxWrapDirectFb, CGfxWrap_stm32f429, and CGfxWrap_stm32f746.
|
inlineprotectedvirtual |
Refresh a memory-image
eID | ID of image to refresh |
pkMemory | memory-location |
Reimplemented in CGfxWrapDAVE, and CGfxWrapDAVEHD.
|
virtual |
Release working memory
pkMemory |
void CGfxWrap::RequiredSpace | ( | const eC_String *const | pkText, |
eC_Value & | vWidth, | ||
eC_Value & | vHeight | ||
) |
Calculates the required space in x- and y-direction for a given text-string using the currently set font.
pkText | The text. |
vWidth | Reference to width of the font in pixels. |
vHeight | Reference to height of the font in pixels. |
|
virtual |
Reset working memory. This should be called after refresh.
|
inlinevirtual |
Restores a previously saved state for the Graphics-Wrapper. Any change in the underlying API will be purged.
Reimplemented in CGfxWrapGL.
void CGfxWrap::Ring | ( | const CGUIRect & | kAbsRect, |
const eC_Value & | vRingWidth, | ||
const eC_Value & | vStartAngle, | ||
const eC_Value & | vEndAngle, | ||
const eC_Value & | vRotationAngle, | ||
const eC_Bool & | bFilled | ||
) |
Draws a ring arc defined by a CGUIRect
kAbsRect | CGUIRect containing the rectangle corners' endpoints |
vRingWidth | width of the ring |
vStartAngle | start-angle of the arc |
vEndAngle | end-angle of the arc |
vRotationAngle | rotation-angle |
bFilled | Specifies whether the arc will be drawn outlined (false) or filled (true) |
|
protectedpure virtual |
Draws a ring which is completly inside the rectangle described through the rectangle the top left edge at (vAbsX1, vAbsY1) and bottom right edge at (vAbsX2, vAbsY2). The ring will be filled out if the last parameter is true 0-degrees is at the mathematically correct position on the unit-circle angles are increasing in counter-clockwise direction. rotation-angle is increasing in clockwise direction, i.e. rotating by 90 degrees will result in the 0-degress being at the bottom-center
vX1 | X-coordinate of bounding rectangle's top left corner |
vY1 | Y-Coordinate of bounding rectangle's top left corner |
vX2 | X-coordinate of bounding rectangle's bottom right corner |
vY2 | Y-Coordinate of bounding rectangle's bottom right corner |
vRingWidth | width of the ring |
vStartAngle | start-angle |
vEndAngle | end-angle |
vRotationAngle | rotation-angle |
bFilled | Specifies whether the ring will be drawn outlined (false) or filled (true) |
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapGL, CGfxWrapVG, and CGfxWrapNull.
|
pure virtual |
Sets a clipping rectangle. All drawing operations will be limited to the region within the clipping rectangle. This is very useful for advanced features such as soft-scrolling. Note that the clipping rectangle is not allowed to exceed the invalidated rectangle, since this would lead to visual artifacts.
NewAbsClipRect | A normalised rectangle that includes all pixels that could be drawn by the functions of the graphics wrapper. The rectangle includes the border. All pixels outside will be left untouched. |
Implemented in CGfxWrapeGML, CGfxWrapNull, CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapDirectFb, CGfxWrap_stm32f429, CGfxWrap_stm32f746, CGfxWrapGL, and CGfxWrapVG.
|
inline |
Tell Guiliani that the underlying graphics API enforces flipping the back and front buffers (Instead of copying from the back to the front buffer).
bDoubleBufferingEnforcesFlipping | Set to True if flipping of buffers leads to visual artifacts |
|
inlinevirtual |
void CGfxWrap::SetFont | ( | const FontResource_t & | eID | ) |
Sets the supplied font active. All subsequent text operations will use this font,
eID | id of the font. |
void CGfxWrap::SetFontSpacing | ( | const eC_Float & | fSpacing | ) |
Sets a new font spacing, i.e the space between letters.
fSpacing | New font spacing. |
|
inline |
Sets the foreground color via red, green, blue and alpha values
ubRed | Red intensity within a range of 0 - 255 |
ubGreen | Green intensity within a range of 0 - 255 |
ubBlue | Blue intensity within a range of 0 - 255 |
ubAlpha | Alpha intensity within a range of 0 (transparent) - 255 (opaque) |
|
inline |
Sets the foreground color via a 32 Bit value in the Format 0xAARRGGBB Example Values: 0xFFFF0000 = Red (fully opaque) 0x77FFFFFF = White (semi transparent)
uiCol | 32Bit Color value in the Format 0xAARRGGBB |
|
protectedpure virtual |
Sets the foreground color. This MUST be implemented by all graphics wrappers. For detailed explanations, please refer to CGfxWrap::SetForegroundColor
ubRed | Red intensity within a range of 0 - 255 |
ubGreen | Green intensity within a range of 0 - 255 |
ubBlue | Blue intensity within a range of 0 - 255 |
ubAlpha | Alpha intensity within a range of 0 (transparent) - 255 (opaque) |
Implemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapNull, CGfxWrapGL, CGfxWrapVG, CGfxWrapDirectFb, CGfxWrap_stm32f429, and CGfxWrap_stm32f746.
void CGfxWrap::SetGfxEnv | ( | CGfxEnv * | pkGfxEnv | ) |
Set the attached graphics-environment, if any
pkGfxEnv |
|
inline |
Sets the global alpha via an unsigned Byte. In contrast to UpdateGlobalAlpha, this will NOT blend subsequent alphas
ubAlpha | unsigned Byte |
|
inlineprotected |
|
protected |
Sets the current invalidated (dirty) rectangle. This marks the region which has to be redrawn during the next call to Refresh()
vAbsX1 | X-Coordinate of top left corner |
vAbsY1 | Y-Coordinate of top left corner |
vAbsX2 | X-Coordinate of bottom right corner |
vAbsY2 | Y-Coordinate of bottom right corner |
|
virtual |
Sets the line width in pixels
vWidth | width of lines |
Reimplemented in CGfxWrapDAVE, CGfxWrapeGML, CGfxWrapGL, and CGfxWrapVG.
eC_Bool CGfxWrap::SetNOFFonts | ( | const eC_UInt | uiNOFFonts | ) |
Sets the total number of fonts. This is called internally by the ResourceManager when dynamically allocated font resources require the total number of fonts to be raised. the Font-Wrapper classes have to implement this method and resize their internal image-storage structures according to the new number of fonts which will have to be stored.
uiNOFFonts | The number of fonts |
|
inlineprotected |
Sets the total number of images. This is called internally by the ResourceManager when dynamically allocated image resources require the total number of images to be raised. This calls the SetNOFImagesImpl() method internally, which should be implemented in derived GfxWrappers.
uiNOFImages | The number of images |
|
protectedvirtual |
Sets the total number of images. This is called internally by the ResourceManager when dynamically allocated image resources require the total number of images to be raised. Derived classes will have to override this method and resize their internal image-storage structures according to the new number of images which will have to be stored.
uiNOFImages | The number of images |
Reimplemented in CGfxWrapBLU, CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapNull, CGfxWrapGL, CGfxWrapVG, and CGfxWrapDirectFb.
|
inlinevirtual |
|
virtual |
Set offset for rendering
vOffsetX | |
vOffsetY |
|
inline |
Set the currently active screen-format
uiScreenFormat |
|
virtual |
Sets the new physical screen size.
uiWidth | New screen width. |
uiHeight | New screen height. |
Reimplemented in CGfxWrapGL.
|
inlinevirtual |
Set target-layer for rendering
uiLayerID |
Reimplemented in CGfxWrapDAVE, CGfxWrapDAVEHD, and CGfxWrapeGML.
|
virtual |
Sets the window-caption if available
kText | text to set |
|
protectedvirtual |
Called for every single InvalidatedRect() during RedrawGUI(). Also serves as proxy function to make GETGUI.HandleDraw() accessible from derived graphics wrappers. Make sure to call CGfxWrap::StartHandleDraw() when overriding this function.
crkClipRect | Rectangle against which this cycle of handle draw calls will be clipped. |
Reimplemented in CGfxWrapBLU.
|
inlineprotectedvirtual |
Callback which is called at the beginning of RedrawGUI() Note that this function as well as EndRedrawGUI() will also get called if the list of invalidated rects is empty. Check m_kInvalidatedRectList if you need more details on the number and dimensions of invalidated areas.
Reimplemented in CGfxWrapDAVEHD.
|
inlinevirtual |
Saves the current active state of the Graphics-Wrapper. This might be used to manipulate the underlying API (e.g. OpenGL) without interfering with Guiliani-internal state.
Reimplemented in CGfxWrapGL.
|
inlinevirtual |
Return if gfxwrap supports compressed fonts other than Alpha8
Reimplemented in CGfxWrapBLU, CGfxWrapDAVE, and CGfxWrapDAVEHD.
|
virtual |
Synchronize working memory
void CGfxWrap::Text | ( | const eC_Value & | vAbsX1, |
const eC_Value & | vAbsY1, | ||
const eC_String *const | lpString | ||
) |
Draws the given Text at (vAbsX1, vAbsY1)
vAbsX1 | X-position where the Text will be drawn |
vAbsY1 | Y-position where the Text will be drawn |
lpString | Text to output |
void CGfxWrap::UnloadFont | ( | const FontResource_t & | eFontID | ) |
Removes the font from the font list. Should only be called by a GfxWrapper.
eFontID | Id of font to be removed. |
|
virtual |
Unload data for glyph
pkImageData | image-data to unload |
Reimplemented in CGfxWrapDAVE, and CGfxWrapDAVEHD.
|
inlineprotectedvirtual |
Unloads an image. Unloads the image associated with the supplied Image-identifier and frees the memory formerly occupied by this image.
eID | Identifier of the image to be unloaded. |
Reimplemented in CGfxWrapDAVE, CGfxWrapDAVEHD, CGfxWrapeGML, CGfxWrapGL, CGfxWrapBLU, CGfxWrapNull, and CGfxWrapVG.
|
inline |
Updates the global alpha via an unsigned Byte The global alpha value will affect all drawing operations. Subsequent calls to UpdateGlobalAlpha will blend the new alpha value with the formerly set one.
ubAlpha | unsigned Byte |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
Guiliani's smart redraw mechanism requires that the back buffer gets COPIED to the front buffer and NOT FLIPPED If the underlying graphics API enforces flipping, though, you can set the m_bDoubleBufferingEnforcesFlipping flag and Guiliani will react accordingly.
|
protected |
Indicates whether HandleDraw() was called in last frame. In this case we need a refresh if we use double buffering (to switch buffers) even if there were no changes in this frame.
|
protected |
The current clipping rect. Note that this will usually have to be set within the used graphics library as well.
|
protected |
This rectangle marks the region of the screen, which is currently being redrawn. During a redraw of the GUI, this will be assigned every rectangle within m_kInvalidetedRectList
|
protected |
Current scaling factor for global alpha Used as a helper variable when scaling concatenated alpha operations.