CRM64Pro GDK v0.13.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 [v25.12.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

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

Function Documentation

◆ info()

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

Request GFX Interface information.

Writes information to the default log.

Parameters
iModeunused for the time being.
Returns
0 on success, or a negative error code on failure.

◆ setSurfacePixel()

Sint32 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
0 on success, or a negative error code 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 )

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]

Sint32 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
0 on success, or a negative error code on failure.

◆ setPixel() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ getPixel()

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

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]

Sint32 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
0 on success, or a negative error code on failure.

◆ lineH() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ lineV() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ lineV() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ line() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ line() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ rect() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ rect() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ rectFilled() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ rectFilled() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ rectRound() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ rectRound() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ rectFilledRound() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ rectFilledRound() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ arc() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ arc() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ circle() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ circle() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ circleFilled() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ circleFilled() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ ellipse() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ ellipse() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ ellipseFilled() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ ellipseFilled() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ polygon() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ polygon() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ polygonFilled() [1/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ polygonFilled() [2/2]

Sint32 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
0 on success, or a negative error code on failure.

◆ RGBtoHSV()

Sint32 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
0 on success, or a negative error code on failure.

◆ HSVtoRGB()

Sint32 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
0 on success, or a negative error code on failure.

◆ RGBtoYUV()

Sint32 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
0 on success, or a negative error code on failure.

◆ YUVtoRGB()

Sint32 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
0 on success, or a negative error code on failure.

◆ RGBtoCMYK()

Sint32 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
0 on success, or a negative error code on failure.

◆ CMYKtoRGB()

Sint32 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
0 on success, or a negative error code on failure.

◆ RGBtoYCC()

Sint32 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
0 on success, or a negative error code on failure.

◆ YCCtoRGB()

Sint32 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
0 on success, or a negative error code on failure.