CRM64Pro GDK v0.15.0
A free cross-platform game development kit built on top of SDL 3.0
Loading...
Searching...
No Matches

Description

GFX interface providing generic graphics primitives and utilities [v26.01.0].

Overview

The GFX interface provides a collection of generic graphics methods for drawing primitives and performing color conversions. Drawing methods are optimized for real-time effects when rendering to screens, though rendering to images has different performance characteristics.

Key features

  • Pixel operations: Direct pixel access on images and screens
  • Line primitives: Horizontal, vertical and arbitrary line drawing
  • Shape primitives: Rectangles, round rectangles, circles, ellipses and polygons
  • Fill modes: Outlined and filled variants for all shapes
  • Color conversion: Multiple color space transformations

Pixel operations

Get pixelRead individual pixel color from an image or screen
Set pixelWrite individual pixel color to an image or screen

Drawing primitives

LinesHorizontal line, vertical line and arbitrary line
RectangleOutlined and filled rectangle
Round rectangleOutlined and filled rectangle with rounded corners
CircleOutlined and filled circle
EllipseOutlined and filled ellipse
PolygonOutlined and filled polygon with arbitrary vertices

Color conversions

RGB ↔ HSVRed-Green-Blue to Hue-Saturation-Value
RGB ↔ YUVRed-Green-Blue to Luminance-Chrominance
RGB ↔ CMYKRed-Green-Blue to Cyan-Magenta-Yellow-Key
RGB ↔ YCCRed-Green-Blue to Luminance-Chroma

Performance considerations

Screen targetFast enough for real-time effects
Image targetSlower performance; not intended for real-time effects. Occasional use is acceptable, but heavy usage will impact performance

Best practices

  • Prefer rendering to screens over images for real-time drawing effects
  • Use horizontal and vertical line methods when applicable, they are faster than arbitrary lines
  • Use filled primitives sparingly on images as they are more expensive than outlined versions
  • Leverage color conversions for dynamic color manipulation effects (e.g., HSV for hue shifting)
  • Pre-render complex shapes to images during loading rather than drawing them every frame
  • Access the interface exclusively through Main::IGFX()
Note
The GFX interface is a singleton, automatically created once Main is instantiated. You can get a reference to this interface using Main::IGFX() method.
The GFX interface is automatically released when Main::Terminate() is called. At this time, any resource still loaded will be released, avoiding resource leaks.

Classes

class  CRM64Pro::GFX
 GFX class. More...

Functions

bool CRM64Pro::GFX::info (Sint32 iMode=0) override
 Request GFX Interface information.
bool CRM64Pro::GFX::setSurfacePixel (float fX, float fY, Uint32 iColor, SDL_Surface *pSurf)
 Draw a pixel in a surface.
Uint32 CRM64Pro::GFX::getSurfacePixel (float fX, float fY, SDL_Surface *pSurf) const
 Get a pixel color from a surface.
bool CRM64Pro::GFX::setPixel (float fX, float fY, Uint32 iColor, Sint32 idRes=0)
 Draw a pixel.
bool CRM64Pro::GFX::setPixel (float fX, float fY, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw a pixel.
Uint32 CRM64Pro::GFX::getPixel (float fX, float fY, Sint32 idRes=0) const
 Get a pixel color.
bool CRM64Pro::GFX::lineH (float fX1, float fX2, float fY, Uint32 iColor, Sint32 idRes=0)
 Draw a horizontal line.
bool CRM64Pro::GFX::lineH (float fX1, float fX2, float fY, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw a horizontal line.
bool CRM64Pro::GFX::lineV (float fX, float fY1, float fY2, Uint32 iColor, Sint32 idRes=0)
 Draw a vertical line.
bool CRM64Pro::GFX::lineV (float fX, float fY1, float fY2, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw a vertical line.
bool CRM64Pro::GFX::line (float fX1, float fY1, float fX2, float fY2, Uint32 iColor, Sint32 idRes=0)
 Draw a line.
bool CRM64Pro::GFX::line (float fX1, float fY1, float fX2, float fY2, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw a line.
bool CRM64Pro::GFX::rect (float fX1, float fY1, float fX2, float fY2, Uint32 iColor, Sint32 idRes=0)
 Draw an outlined rectangle.
bool CRM64Pro::GFX::rect (float fX1, float fY1, float fX2, float fY2, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw an outlined rectangle.
bool CRM64Pro::GFX::rectFilled (float fX1, float fY1, float fX2, float fY2, Uint32 iColor, Sint32 idRes=0)
 Draw a filled rectangle.
bool CRM64Pro::GFX::rectFilled (float fX1, float fY1, float fX2, float fY2, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw a filled rectangle.
bool CRM64Pro::GFX::rectRound (float fX1, float fY1, float fX2, float fY2, float fRad, Uint32 iColor, Sint32 idRes=0)
 Draw a round outlined rectangle.
bool CRM64Pro::GFX::rectRound (float fX1, float fY1, float fX2, float fY2, float fRad, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw a round outlined rectangle.
bool CRM64Pro::GFX::rectFilledRound (float fX1, float fY1, float fX2, float fY2, float fRad, Uint32 iColor, Sint32 idRes=0)
 Draw a round filled rectangle.
bool CRM64Pro::GFX::rectFilledRound (float fX1, float fY1, float fX2, float fY2, float fRad, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw a round filled rectangle.
bool CRM64Pro::GFX::arc (float fX, float fY, float fRad, float fStart, float fEnd, Uint32 iColor, Sint32 idRes=0)
 Draw an arc.
bool CRM64Pro::GFX::arc (float fX, float fY, float fRad, float fStart, float fEnd, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw an arc.
bool CRM64Pro::GFX::circle (float fX, float fY, float fRad, Uint32 iColor, Sint32 idRes=0)
 Draw an outlined circle.
bool CRM64Pro::GFX::circle (float fX, float fY, float fRad, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw an outlined circle.
bool CRM64Pro::GFX::circleFilled (float fX, float fY, float fRad, Uint32 iColor, Sint32 idRes=0)
 Draw a filled circle.
bool CRM64Pro::GFX::circleFilled (float fX, float fY, float fRad, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw a filled circle.
bool CRM64Pro::GFX::ellipse (float fX, float fY, float fRadX, float fRadY, Uint32 iColor, Sint32 idRes=0)
 Draw an outlined ellipse.
bool CRM64Pro::GFX::ellipse (float fX, float fY, float fRadX, float fRadY, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw an outlined ellipse.
bool CRM64Pro::GFX::ellipseFilled (float fX, float fY, float fRadX, float fRadY, Uint32 iColor, Sint32 idRes=0)
 Draw a filled ellipse.
bool CRM64Pro::GFX::ellipseFilled (float fX, float fY, float fRadX, float fRadY, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw a filled ellipse.
bool CRM64Pro::GFX::polygon (float *fVX, float *fVY, Sint32 iNV, Uint32 iColor, Sint32 idRes=0)
 Draw an outlined polygon.
bool CRM64Pro::GFX::polygon (float *fVX, float *fVY, Sint32 iNV, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw an outlined polygon.
bool CRM64Pro::GFX::polygonFilled (float *fVX, float *fVY, Sint32 iNV, Uint32 iColor, Sint32 idRes=0)
 Draw a filled polygon.
bool CRM64Pro::GFX::polygonFilled (float *fVX, float *fVY, Sint32 iNV, Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, Sint32 idRes=0)
 Draw a filled polygon.
bool CRM64Pro::GFX::RGBtoHSV (Uint8 iR, Uint8 iG, Uint8 iB, float *fH, float *fS, float *fV)
 Color conversion from RGB to HSV.
bool CRM64Pro::GFX::HSVtoRGB (float fH, float fS, float fV, Uint8 *iR, Uint8 *iG, Uint8 *iB)
 Color conversion from HSV to RGB.
bool CRM64Pro::GFX::RGBtoYUV (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 *iY, Uint8 *iU, Uint8 *iV)
 Color conversion from RGB to YUV.
bool CRM64Pro::GFX::YUVtoRGB (Uint8 iY, Uint8 iU, Uint8 iV, Uint8 *iR, Uint8 *iG, Uint8 *iB)
 Color conversion from YUV to RGB.
bool CRM64Pro::GFX::RGBtoCMYK (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 *iC, Uint8 *iM, Uint8 *iY, Uint8 *iK)
 Color conversion from RGB to CMYK.
bool CRM64Pro::GFX::CMYKtoRGB (Uint8 iC, Uint8 iM, Uint8 iY, Uint8 iK, Uint8 *iR, Uint8 *iG, Uint8 *iB)
 Color conversion from CMYK to RGB.
bool CRM64Pro::GFX::RGBtoYCC (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 *iY, Uint8 *Cb, Uint8 *Cr)
 Color conversion from RGB to YCC.
bool CRM64Pro::GFX::YCCtoRGB (Uint8 iY, Uint8 Cb, Uint8 Cr, Uint8 *iR, Uint8 *iG, Uint8 *iB)
 Color conversion from YCC to RGB.

Function Documentation

◆ info()

bool CRM64Pro::GFX::info ( Sint32 iMode = 0)
override

Request GFX Interface information.

Writes information to the default log.

Parameters
iModeunused for the time being.
Returns
true on success, or false on failure.

◆ setSurfacePixel()

bool CRM64Pro::GFX::setSurfacePixel ( float fX,
float fY,
Uint32 iColor,
SDL_Surface * pSurf )

Draw a pixel in a surface.

Parameters
fXX (horizontal) coordinate of the pixel.
fYY (vertical) coordinate of the pixel.
iColorThe color value of the pixel to draw (0xAARRGGBB).
pSurfSDL_Surface pointer.
Returns
true on success or false on failure.
Note
For getting maximum performance, there is not any error checking.

◆ getSurfacePixel()

Uint32 CRM64Pro::GFX::getSurfacePixel ( float fX,
float fY,
SDL_Surface * pSurf ) const

Get a pixel color from a surface.

Parameters
fXX (horizontal) coordinate of the pixel.
fYY (vertical) coordinate of the pixel.
pSurfSDL_Surface pointer.
Returns
a 32bits unsigned integer with the value of the pixel value in the surface format.
Note
For getting maximum performance, there is not any error checking.

◆ setPixel() [1/2]

bool CRM64Pro::GFX::setPixel ( float fX,
float fY,
Uint32 iColor,
Sint32 idRes = 0 )

Draw a pixel.

Parameters
fXX (horizontal) coordinate of the pixel.
fYY (vertical) coordinate of the pixel.
iColorThe color value of the pixel to draw (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ setPixel() [2/2]

bool CRM64Pro::GFX::setPixel ( float fX,
float fY,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw a pixel.

Parameters
fXX (horizontal) coordinate of the pixel.
fYY (vertical) coordinate of the pixel.
iRThe red color value of the pixel to draw.
iGThe green color value of the pixel to draw.
iBThe blue color value of the pixel to draw.
iAThe alpha value of the pixel to draw.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ getPixel()

Uint32 CRM64Pro::GFX::getPixel ( float fX,
float fY,
Sint32 idRes = 0 ) const

Get a pixel color.

Parameters
fXX (horizontal) coordinate of the pixel.
fYY (vertical) coordinate of the pixel.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
a 32bits unsigned integer with the RGBA value of the pixel value.
Note
This method is a bit slow when accessing to an image handle or VERY slow when doing it on a screen.

◆ lineH() [1/2]

bool CRM64Pro::GFX::lineH ( float fX1,
float fX2,
float fY,
Uint32 iColor,
Sint32 idRes = 0 )

Draw a horizontal line.

Parameters
fX1X coordinate of the first point of the line.
fX2X coordinate of the second point of the line.
fYY coordinate of the points of the line.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ lineH() [2/2]

bool CRM64Pro::GFX::lineH ( float fX1,
float fX2,
float fY,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw a horizontal line.

Parameters
fX1X coordinate of the first point of the line.
fX2X coordinate of the second point of the line.
fYY coordinate of the points of the line.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ lineV() [1/2]

bool CRM64Pro::GFX::lineV ( float fX,
float fY1,
float fY2,
Uint32 iColor,
Sint32 idRes = 0 )

Draw a vertical line.

Parameters
fXX coordinate of the points of the line.
fY1Y coordinate of the first point of the line.
fY2Y coordinate of the second point of the line.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ lineV() [2/2]

bool CRM64Pro::GFX::lineV ( float fX,
float fY1,
float fY2,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw a vertical line.

Parameters
fXX coordinate of the points of the line.
fY1Y coordinate of the first point of the line.
fY2Y coordinate of the second point of the line.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ line() [1/2]

bool CRM64Pro::GFX::line ( float fX1,
float fY1,
float fX2,
float fY2,
Uint32 iColor,
Sint32 idRes = 0 )

Draw a line.

Parameters
fX1X coordinate of the first point of the line.
fY1Y coordinate of the first point of the line.
fX2X coordinate of the second point of the line.
fY2Y coordinate of the second point of the line.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ line() [2/2]

bool CRM64Pro::GFX::line ( float fX1,
float fY1,
float fX2,
float fY2,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw a line.

Parameters
fX1X coordinate of the first point of the line.
fY1Y coordinate of the first point of the line.
fX2X coordinate of the second point of the line.
fY2Y coordinate of the second point of the line.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ rect() [1/2]

bool CRM64Pro::GFX::rect ( float fX1,
float fY1,
float fX2,
float fY2,
Uint32 iColor,
Sint32 idRes = 0 )

Draw an outlined rectangle.

Parameters
fX1X coordinate of the first point of the rectangle.
fY1Y coordinate of the first point of the rectangle.
fX2X coordinate of the second point of the rectangle.
fY2Y coordinate of the second point of the rectangle.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ rect() [2/2]

bool CRM64Pro::GFX::rect ( float fX1,
float fY1,
float fX2,
float fY2,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw an outlined rectangle.

Parameters
fX1X coordinate of the first point of the rectangle.
fY1Y coordinate of the first point of the rectangle.
fX2X coordinate of the second point of the rectangle.
fY2Y coordinate of the second point of the rectangle.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ rectFilled() [1/2]

bool CRM64Pro::GFX::rectFilled ( float fX1,
float fY1,
float fX2,
float fY2,
Uint32 iColor,
Sint32 idRes = 0 )

Draw a filled rectangle.

Parameters
fX1X coordinate of the first point of the rectangle.
fY1Y coordinate of the first point of the rectangle.
fX2X coordinate of the second point of the rectangle.
fY2Y coordinate of the second point of the rectangle.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ rectFilled() [2/2]

bool CRM64Pro::GFX::rectFilled ( float fX1,
float fY1,
float fX2,
float fY2,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw a filled rectangle.

Parameters
fX1X coordinate of the first point of the rectangle.
fY1Y coordinate of the first point of the rectangle.
fX2X coordinate of the second point of the rectangle.
fY2Y coordinate of the second point of the rectangle.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ rectRound() [1/2]

bool CRM64Pro::GFX::rectRound ( float fX1,
float fY1,
float fX2,
float fY2,
float fRad,
Uint32 iColor,
Sint32 idRes = 0 )

Draw a round outlined rectangle.

Parameters
fX1X coordinate of the first point of the rectangle.
fY1Y coordinate of the first point of the rectangle.
fX2X coordinate of the second point of the rectangle.
fY2Y coordinate of the second point of the rectangle.
fRadRadius in pixels of the corner arc.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ rectRound() [2/2]

bool CRM64Pro::GFX::rectRound ( float fX1,
float fY1,
float fX2,
float fY2,
float fRad,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw a round outlined rectangle.

Parameters
fX1X coordinate of the first point of the rectangle.
fY1Y coordinate of the first point of the rectangle.
fX2X coordinate of the second point of the rectangle.
fY2Y coordinate of the second point of the rectangle.
fRadRadius in pixels of the corner arc.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ rectFilledRound() [1/2]

bool CRM64Pro::GFX::rectFilledRound ( float fX1,
float fY1,
float fX2,
float fY2,
float fRad,
Uint32 iColor,
Sint32 idRes = 0 )

Draw a round filled rectangle.

Parameters
fX1X coordinate of the first point of the rectangle.
fY1Y coordinate of the first point of the rectangle.
fX2X coordinate of the second point of the rectangle.
fY2Y coordinate of the second point of the rectangle.
fRadRadius in pixels of the corner arc.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ rectFilledRound() [2/2]

bool CRM64Pro::GFX::rectFilledRound ( float fX1,
float fY1,
float fX2,
float fY2,
float fRad,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw a round filled rectangle.

Parameters
fX1X coordinate of the first point of the rectangle.
fY1Y coordinate of the first point of the rectangle.
fX2X coordinate of the second point of the rectangle.
fY2Y coordinate of the second point of the rectangle.
fRadRadius in pixels of the corner arc.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ arc() [1/2]

bool CRM64Pro::GFX::arc ( float fX,
float fY,
float fRad,
float fStart,
float fEnd,
Uint32 iColor,
Sint32 idRes = 0 )

Draw an arc.

Parameters
fXX coordinate of the center of the arc.
fYY coordinate of the center of the arc.
fRadRadius in pixels of the arc.
fStartStarting radius in degrees of the arc. 0 degrees is down, increasing counterclockwise.
fEndEnding radius in degrees of the arc. 0 degrees is down, increasing counterclockwise.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ arc() [2/2]

bool CRM64Pro::GFX::arc ( float fX,
float fY,
float fRad,
float fStart,
float fEnd,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw an arc.

Parameters
fXX coordinate of the center of the arc.
fYY coordinate of the center of the arc.
fRadRadius in pixels of the arc.
fStartStarting radius in degrees of the arc. 0 degrees is down, increasing counterclockwise.
fEndEnding radius in degrees of the arc. 0 degrees is down, increasing counterclockwise.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ circle() [1/2]

bool CRM64Pro::GFX::circle ( float fX,
float fY,
float fRad,
Uint32 iColor,
Sint32 idRes = 0 )

Draw an outlined circle.

Parameters
fXX coordinate of the center of the circle.
fYY coordinate of the center of the circle.
fRadRadius in pixels of the circle.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ circle() [2/2]

bool CRM64Pro::GFX::circle ( float fX,
float fY,
float fRad,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw an outlined circle.

Parameters
fXX coordinate of the center of the circle.
fYY coordinate of the center of the circle.
fRadRadius in pixels of the circle.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ circleFilled() [1/2]

bool CRM64Pro::GFX::circleFilled ( float fX,
float fY,
float fRad,
Uint32 iColor,
Sint32 idRes = 0 )

Draw a filled circle.

Parameters
fXX coordinate of the center of the circle.
fYY coordinate of the center of the circle.
fRadRadius in pixels of the circle.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ circleFilled() [2/2]

bool CRM64Pro::GFX::circleFilled ( float fX,
float fY,
float fRad,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw a filled circle.

Parameters
fXX coordinate of the center of the circle.
fYY coordinate of the center of the circle.
fRadRadius in pixels of the circle.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ ellipse() [1/2]

bool CRM64Pro::GFX::ellipse ( float fX,
float fY,
float fRadX,
float fRadY,
Uint32 iColor,
Sint32 idRes = 0 )

Draw an outlined ellipse.

Parameters
fXX coordinate of the center of the ellipse.
fYY coordinate of the center of the ellipse.
fRadXhorizontal radius in pixels of the ellipse.
fRadYvertical radius in pixels of the ellipse.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ ellipse() [2/2]

bool CRM64Pro::GFX::ellipse ( float fX,
float fY,
float fRadX,
float fRadY,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw an outlined ellipse.

Parameters
fXX coordinate of the center of the ellipse.
fYY coordinate of the center of the ellipse.
fRadXhorizontal radius in pixels of the ellipse.
fRadYvertical radius in pixels of the ellipse.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ ellipseFilled() [1/2]

bool CRM64Pro::GFX::ellipseFilled ( float fX,
float fY,
float fRadX,
float fRadY,
Uint32 iColor,
Sint32 idRes = 0 )

Draw a filled ellipse.

Parameters
fXX coordinate of the center of the ellipse.
fYY coordinate of the center of the ellipse.
fRadXhorizontal radius in pixels of the ellipse.
fRadYvertical radius in pixels of the ellipse.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ ellipseFilled() [2/2]

bool CRM64Pro::GFX::ellipseFilled ( float fX,
float fY,
float fRadX,
float fRadY,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw a filled ellipse.

Parameters
fXX coordinate of the center of the ellipse.
fYY coordinate of the center of the ellipse.
fRadXhorizontal radius in pixels of the ellipse.
fRadYvertical radius in pixels of the ellipse.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ polygon() [1/2]

bool CRM64Pro::GFX::polygon ( float * fVX,
float * fVY,
Sint32 iNV,
Uint32 iColor,
Sint32 idRes = 0 )

Draw an outlined polygon.

Parameters
fVXVertex array containing X coordinates of the points of the polygon.
fVYVertex array containing Y coordinates of the points of the polygon.
iNVNumber of points in the vertex array. From a minimum number of 3 up to 32.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ polygon() [2/2]

bool CRM64Pro::GFX::polygon ( float * fVX,
float * fVY,
Sint32 iNV,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw an outlined polygon.

Parameters
fVXVertex array containing X coordinates of the points of the polygon.
fVYVertex array containing Y coordinates of the points of the polygon.
iNVNumber of points in the vertex array. From a minimum number of 3 up to 31.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ polygonFilled() [1/2]

bool CRM64Pro::GFX::polygonFilled ( float * fVX,
float * fVY,
Sint32 iNV,
Uint32 iColor,
Sint32 idRes = 0 )

Draw a filled polygon.

Parameters
fVXVertex array containing X coordinates of the points of the polygon.
fVYVertex array containing Y coordinates of the points of the polygon.
iNVNumber of points in the vertex array. From a minimum number of 3 up to 32.
iColorThe color value (0xRRGGBBAA).
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ polygonFilled() [2/2]

bool CRM64Pro::GFX::polygonFilled ( float * fVX,
float * fVY,
Sint32 iNV,
Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 iA,
Sint32 idRes = 0 )

Draw a filled polygon.

Parameters
fVXVertex array containing X coordinates of the points of the polygon.
fVYVertex array containing Y coordinates of the points of the polygon.
iNVNumber of points in the vertex array. From a minimum number of 3 up to 32.
iRThe red color value.
iGThe green color value.
iBThe blue color value.
iAThe alpha value.
idResa valid screen or image handle. By default it tries to use the default screen.
Returns
true on success or false on failure.

◆ RGBtoHSV()

bool CRM64Pro::GFX::RGBtoHSV ( Uint8 iR,
Uint8 iG,
Uint8 iB,
float * fH,
float * fS,
float * fV )

Color conversion from RGB to HSV.

Parameters
iRRed component.
iGGreen component.
iBBlue component.
fHpointer to Hue component.
fSpointer to Saturation component.
fVpointer to Value component.
Returns
true on success or false on failure.

◆ HSVtoRGB()

bool CRM64Pro::GFX::HSVtoRGB ( float fH,
float fS,
float fV,
Uint8 * iR,
Uint8 * iG,
Uint8 * iB )

Color conversion from HSV to RGB.

Parameters
fHHue component.
fSSaturation component.
fVValue component.
iRpointer to Red component.
iGpointer to Green component.
iBpointer to Blue component.
Returns
true on success or false on failure.

◆ RGBtoYUV()

bool CRM64Pro::GFX::RGBtoYUV ( Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 * iY,
Uint8 * iU,
Uint8 * iV )

Color conversion from RGB to YUV.

Parameters
iRRed component.
iGGreen component.
iBBlue component.
iYpointer to luma component.
iUpointer to chrominance U component.
iVpointer to chrominance V component.
Returns
true on success or false on failure.

◆ YUVtoRGB()

bool CRM64Pro::GFX::YUVtoRGB ( Uint8 iY,
Uint8 iU,
Uint8 iV,
Uint8 * iR,
Uint8 * iG,
Uint8 * iB )

Color conversion from YUV to RGB.

Parameters
iYluma component.
iUchrominance U component.
iVchrominance V component.
iRpointer to Red component.
iGpointer to Green component.
iBpointer to Blue component.
Returns
true on success or false on failure.

◆ RGBtoCMYK()

bool CRM64Pro::GFX::RGBtoCMYK ( Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 * iC,
Uint8 * iM,
Uint8 * iY,
Uint8 * iK )

Color conversion from RGB to CMYK.

Parameters
iRRed component.
iGGreen component.
iBBlue component.
iCpointer to cyan component.
iMpointer to magenta component.
iYpointer to yellow component.
iKpointer to key(black) component.
Returns
true on success or false on failure.

◆ CMYKtoRGB()

bool CRM64Pro::GFX::CMYKtoRGB ( Uint8 iC,
Uint8 iM,
Uint8 iY,
Uint8 iK,
Uint8 * iR,
Uint8 * iG,
Uint8 * iB )

Color conversion from CMYK to RGB.

Parameters
iCcyan component.
iMmagenta component.
iYyellow component.
iKkey(black) component.
iRpointer to Red component.
iGpointer to Green component.
iBpointer to Blue component.
Returns
true on success or false on failure.

◆ RGBtoYCC()

bool CRM64Pro::GFX::RGBtoYCC ( Uint8 iR,
Uint8 iG,
Uint8 iB,
Uint8 * iY,
Uint8 * Cb,
Uint8 * Cr )

Color conversion from RGB to YCC.

Parameters
iRRed component.
iGGreen component.
iBBlue component.
iYpointer to luma component.
Cbpointer to chrominance blue component.
Crpointer to chrominance red component.
Returns
true on success or false on failure.

◆ YCCtoRGB()

bool CRM64Pro::GFX::YCCtoRGB ( Uint8 iY,
Uint8 Cb,
Uint8 Cr,
Uint8 * iR,
Uint8 * iG,
Uint8 * iB )

Color conversion from YCC to RGB.

Parameters
iYluma component.
Cbchrominance blue component.
Crchrominance red component.
iRpointer to Red component.
iGpointer to Green component.
iBpointer to Blue component.
Returns
true on success or false on failure.