Primordial Machine's Visuals Library

Nothing to see here yet. Come back later, traveler.

Core_CanvasDpiChangedMessage

Signature

typedef struct Core_CanvasDpiChangedMessage Core_CanvasDpiChangedMessage;

Extends

Core_CanvasMessage

Description

A message pertaining to a canvas dpi changed event.

Core_CanvasDpiChangedMessage_create

Signature

Core_Result Core_CanvasDpiChangedMessage_create(Core_CanvasDpiChangedMessage** RETURN, Core_Real32 horizontalDpi, Core_Real32 verticalDpi);

Description

Create a Core_CanvasDpiChangedMessage object.

Parameters

RETURNCore_CanvasDpiChangedMessage**A pointer to a Core_CanvasDpiChangedMessage* variable.
horizontalDpiCore_PixelFormatThe horizontal DPI.
verticalDpiCore_Natural32The vertical DPI.

Success

*RETURN was assigned a pointer to the Core_CanvasDpiChangedMessage object.

Errors

Core_Error_ArgumentInvalidRETURN is a null pointer.
Core_Error_AllocationFailedAn allocation failed.

Return

Core_Success on success. Core_Failure on failure.

Remarks

This function sets the by-thread error variable on failure.

Core_CanvasMessage

Signature

typedef struct Core_CanvasMessage Core_CanvasMessage;

Extends

Core_Message

Description

A message pertaining to a Canvas.

Core_CanvasMessageKind

Signature

typedef enum Core_CanvasMessageKind <implementation> Core_CanvasMessageKind;

Description

An enumeration of kinds of canvas messages.

Elements

Core_CanvasMessageKind_StateChangedKind of canvas state changed message.
Core_CanvasMessageKind_SizeChangedKind of a canvas size changed message.
Core_CanvasMessageKind_DpiChangedKind of a canvas DPI changed message.

Core_CanvasSizeChangedMessage

Signature

typedef struct Core_CanvasSizeChangedMessage Core_CanvasSizeChangedMessage;

Extends

Core_CanvasMessage

Description

A message pertaining to a canvas size changed event.

Core_CanvasSizeChangedMessage_create

Signature

Core_Result Core_CanvaSizeChangedMessage_create(Core_CanvaSizeChangedMessage** RETURN, Core_Real32 horizontalSize, Core_Real32 verticalSize);

Description

Create a Core_CanvasSizeChangedMessage object.

Parameters

RETURNCore_CanvaSizeChangedMessage**A pointer to a Core_CanvaSizeChangedMessage* variable.
horizontalSizeCore_Real32The horizontal size, in pixels, of the canvas.
verticalSizeCore_Real32The vertical size, in pixels, of the canvas.

Success

*RETURN was assigned a pointer to the Core_CanvasSizeChangedMessage object.

Errors

Core_Error_ArgumentInvalidRETURN is a null pointer.
Core_Error_AllocationFailedAn allocation failed.

Return

Core_Success on success. Core_Failure on failure.

Remarks

This function sets the by-thread error variable on failure.

Core_CanvasStateChangedMessage

Signature

typedef struct Core_CanvasStateChangedMessage Core_CanvasStateChangedMessage;

Extends

Core_CanvasMessage

Description

A message pertaining to a canvas state changed event.

Core_CanvasStateChangedMessage_create

Signature

Core_Result Core_CanvasStateChangedMessage_create(Core_CanvasStateChangedMessage** RETURN, Core_Boolean active);

Description

Create a Core_CanvasStateChangedMessage object.

Parameters

RETURNCore_CanvasStateChangedMessage**A pointer to a Core_CanvasStateChangedMessage* variable.
activeCore_BooleanThe activation state of the canvas.

Success

*RETURN was assigned a pointer to the Core_CanvasStateChangedMessage object.

Errors

Core_Error_ArgumentInvalidRETURN is a null pointer.
Core_Error_AllocationFailedAn allocation failed.

Return

Core_Success on success. Core_Failure on failure.

Remarks

This function sets the by-thread error variable on failure.

Core_CullMode

Signature

typedef enum Core_CullMode <implementation> Core_CullMode;

Description

An enumeration of cull modes.A cull mode identitifes a technique for deciding wether a fragment is removed based on its facing towards the viewer.

Elements

Core_CullMode_NoneDo not cull fragments.
Core_CullMode_FrontCull front facing fragments.
Core_CullMode_BackCull back facing fragments.
Core_CullMode_FrontAndBackCull both front facing and back facing fragments. This is an alias of Core_CullMode_BackAndFront.
Core_CullMode_BackAndFrontCull both back facing and front facing fragements. This is an alias of Core_CullMode_FrontAndBack.

Core_DepthCompareFunction

Signature

typedef enum Core_DepthCompareFunction <implementation> Core_DepthCompareFunction;

Description

An enumeration of depth compare functions. A depth compare function identifies a technique that compares depth value of an incoming fragment to its corresponding depth value in the depth buffer.

Elements

Core_DepthCompareFunction_AlwaysThe incoming fragment always passes.
Core_DepthComparefunction_NeverThe incoming fragment never passes.
Core_DepthCompareFunction_EqualThe incoming fragment passes if its depth value is equal to its corresponding depth value in the depth buffer.
Core_DepthCompareFunction_NotEqualThe incoming fragment passes if its depth value is not equal to its corresponding depth value in the depth buffer.
Core_DepthCompareFunction_LessThanThe incoming fragment passes if its depth value is less than its corresponding depth value in the depth buffer.
Core_DepthCompareFunction_LessThanOrEqualToThe incoming fragment passes if its depth value is less than or equal to its corresponding depth value in the depth buffer.
Core_DepthCompareFunction_GreaterThanThe incoming fragment passes if its depth value is greater than its corresponding depth value in the depth buffer.
Core_DepthComparefunction_GreaterThanOrEqualToThe incoming fragment passes if its depth value is greater than or equal to its coressponding depth value in the depth buffer.

Core_PixelFormat

Signature

typedef enum Core_PixelFormat <implementation> Core_PixelFormat;

Description

An enumeration of pixel formats.

Elements

Core_PixelFormat_Abgr8Four Core_Natural8 values layed out consecutively in memory.
The first value denotes the intensity of the alpha component.
A component value of 0 indicates full transparency.
A component value of 255 indicates full opacity.
The second value denotes the intensity of the blue component,
the third value denotes the intensity of the green component, and
the fourth value denotes the intensity of the red component.
A component value of 0 indicates least intensity.
A component value of 255 indicates greatest intensity.
Core_PixelFormat_Al8Two Core_Natural8 values layed out consecutively in memory.
The first value denotes the intensity of the alpha component.
A component value of 0 indicates full transparency.
A component value of 255 indicates full opacity.
The second value denotes the intensity of the luminance component.
A component value of 0 indicates the least intensity.
A component value of 255 indicates the greatest intensity.
Core_PixelFormat_Argb8Four Core_Natural8 values layed out consecutively in memory.
The first value denotes the intensity of the alpha component.
A component value of 0 indicates full transparency.
A component value of 255 indicates full opacity.
The second value denotes the intensity of the red component,
the third value denotes the intensity of the green component, and
the fourth value denotes the intensity of the blue component.
A component value of 0 indicates least intensity.
A component value of 255 indicates greatest intensity.
Core_PixelFormat_Bgr8Three Core_Natural8 values layed out consecutively in memory.
The first value denotes the intensity of the blue component,
the second value denotes the intensity of the green component, and
the third value denotes the intensity of the red component.
A component value of 0 indicates least intensity.
A component value of 255 indicates greatest intensity.
Core_PixelFormat_Bgra8Four Core_Natural8 values layed out consecutively in memory.
The first value denotes the intensity of the blue component,
the second value denotes the intensity of the green component, and
the third value denotes the intensity of the red component.
A component value of 0 indicates least intensity.
A component value of 255 indicates greatest intensity.
The fourth value denotes the intensity of the alpha component.
A component value of 0 indicates full transparency.
A component value of 255 indicates full opacity.
Core_PixelFormat_L8One Core_Natural8 value.
The value denotes the intensity of the luminance component.
A component value of 0 indicates least intensity.
A component value of 255 indicates greatest intensity.
Core_PixelFormat_La8Two Core_Natural8 values layed out consecutively in memory.
The first value denotes the intensity of the luminance component.
A component value of 0 indicates the least intensity.
A component value of 255 indicates the greatest intensity.
The second value denotes the intensity of the alpha component.
A component value of 0 indicates full transparency.
A component value of 255 indicates full opacity.
Core_PixelFormat_Rgb8Three Core_Natural8 values layed out consecutively in memory.
The first value denotes the intensity of the red component,
the second value denotes the intensity of the green component, and
the third value denotes the intensity of the blue component.
A component value of 0 indicates least intensity.
A component value of 255 indicates greatest intensity.
Core_PixelFormat_Rgba8Four Core_Natural8 values layed out consecutively in memory.
The first value denotes the intensity of the red component,
the second value denotes the intensity of the green component, and
the third value denotes the intensity of the blue component.
A component value of 0 indicates least intensity.
A component value of 255 indicates greatest intensity.
The fourth component denotes the intensity of the alpha component.
A component value of 0 indicates full transparency.
A component value of 255 indicates full opacity.

Core_PixelFormat_getNumberOfBytes

Signature

Core_Result Core_PixelFormat_getNumberOfBytes(Core_Size* RETURN, Core_PixelFormat SELF);

Description

Get the number of Bytes of a pixel of a pixel format.

Parameters

RETURNCore_SizeA pointer to a Core_Size variable.
SELFCore_PixelFormatThis Core_PixelFormat value.

Success

*RETURN was assigned the number of Bytes of a pixel of the pixel format specified by Core_PixelFormat.

Errors

Core_Error_ArgumentInvalidRETURN is a null pointer

Return

Core_Success on success. Core_Failure on failure.

Remarks

This function sets the by-thread error variable on failure.

Core_PixelFormat_getNumberOfComponents

Signature

Core_Result Core_PixelFormat_getNumberOfComponents(Core_Size* RETURN, Core_PixelFormat SELF);

Description

Get the number of components of a pixel of a pixel format.

Parameters

RETURNCore_SizeA pointer to a Core_Size variable.
SELFCore_PixelFormatThis Core_PixelFormat value.

Success

*RETURN was assigned the number of components of a pixel of the pixel format specified by Core_PixelFormat.

Errors

Core_Error_ArgumentInvalidRETURN is a null pointer

Return

Core_Success on success. Core_Failure on failure.

Remarks

This function sets the by-thread error variable on failure.

Core_TextureAddressMode

Signature

typedef enum Core_TextureAddressMode <implementation> Core_TextureAddressMode;

Description

An enumeration of texture address modes.A texture address mode identifies a technique for resolving uv coordinates that are outside of the boundaries of a texture.

Elements

Core_TextureAddressMode_ClampToEdgeuv coordinates outside of the range of [0,1] are assigned the color of uv coordinate at 0 or 1, respectively.
This usually corresponds to GL_TEXTURE_WRAP_S/GL_TEXTURE_WRAP_T with GL_CLAMP_TO_EDGE in OpenGL and D3D12_TEXTURE_ADDRESS_MODE_CLAMP in Direct3D 12.
Core_TextureAddressMode_ClampToBorderuv coordinates outside of the range of [0,1] are assigned the border color of the texture.
This usually corresponds to GL_TEXTURE_WRAP_S/GL_TEXTURE_WRAP_T with GL_CLAMP_TO_BORDER in OpenGL and D3D12_TEXTURE_ADDRESS_MODE_BORDER in Direct3D 12.
Core_TextureAddressMode_RepeatTile the texture at every uv integer junction.
For example, for the u coordinates between 0 and 3, the texture is repeated three times.
This usually corresponds to GL_TEXTURE_WRAP_S/GL_TEXTURE_WRAP_T with GL_REPEAT in OpenGL and D3D12_TEXTURE_ADDRESS_MODE_WRAP in Direct3D 12.
Core_TextureAddressMode_MirroredRepeatTile and flip the texture at every uv coordinate ingeger junction.
For example, for the u coordinates between 0 and 3, the texture is repeated three times.For the u coordinates between 0 and 1 and 2 and 3 the texture is address normally.For the u coordinates between 1 and 2, the texture flipped.
This usually corresponds to GL_TEXTURE_WRAP_S/GL_TEXTURE_WRAP_T with GL_MIRRORED_REPEAT in OpenGL, D3D12_TEXTURE_ADDRESS_MODE_MIRROR in Direct3D 12.

Core_VertexFormat

Signature

typedef enum Core_VertexFormat <implementation> Core_VertexFormat;

Description

An enumeration of vertex formats.

Elements

Core_VertexFormat_PositionXyzA vertex of the format xyz position.
Core_VertexFormat_AmbientRgbaA vertex of the format rgba ambient.
Core_VertexFormat_AmbientUvA vertex of the format uv ambient.
Core_VertexFormat_PositionXyzAmbientRgbaA vertex of the format xyz position first and rgba ambient last.
Core_VertexFormat_PositionXyzAmbientUvA vertex of the format xyz position first and uv ambient last.
Core_VertexFormat_PositionXyzAmbientRgbaAmbientUvA vertex of the format xyz positin first, rgba ambient second, and uv ambient last.

Core_WindingMode

Signature

typedef enum Core_WindingMode <implementation> Core_WindingMode;

Description

An enumeration of winding modes.

Elements

Core_WindingMode_ClockwiseClockwise winding mode.
Core_WindingMode_CounterClockwiseCounter clockwise winding mode.