Common Types

Common Types — Types used throughout the library

Functions

void (*CoglFuncPtr) ()

Description

General types used by various Cogl functions.

Functions

CoglFuncPtr ()

void
(*CoglFuncPtr) (void);

The type used by cogl for function pointers, note that this type is used as a generic catch-all cast for function pointers and the actual arguments and return type may be different.

Types and Values

CoglVertexP2

typedef struct {
   float x, y;
} CoglVertexP2;

A convenience vertex definition that can be used with cogl_primitive_new_p2().

Members

float x;

The x component of a position attribute

 

float y;

The y component of a position attribute

 

Since: 1.6

Stability Level: Unstable


CoglVertexP3

typedef struct {
   float x, y, z;
} CoglVertexP3;

A convenience vertex definition that can be used with cogl_primitive_new_p3().

Members

float x;

The x component of a position attribute

 

float y;

The y component of a position attribute

 

float z;

The z component of a position attribute

 

Since: 1.6

Stability Level: Unstable


CoglVertexP2C4

typedef struct {
   float x, y;
   uint8_t r, g, b, a;
} CoglVertexP2C4;

A convenience vertex definition that can be used with cogl_primitive_new_p2c4().

Members

float x;

The x component of a position attribute

 

float y;

The y component of a position attribute

 

uint8_t r;

The red component of a color attribute

 

uint8_t g;

The blue component of a color attribute

 

uint8_t b;

The green component of a color attribute

 

uint8_t a;

The alpha component of a color attribute

 

Since: 1.6

Stability Level: Unstable


CoglVertexP3C4

typedef struct {
   float x, y, z;
   uint8_t r, g, b, a;
} CoglVertexP3C4;

A convenience vertex definition that can be used with cogl_primitive_new_p3c4().

Members

float x;

The x component of a position attribute

 

float y;

The y component of a position attribute

 

float z;

The z component of a position attribute

 

uint8_t r;

The red component of a color attribute

 

uint8_t g;

The blue component of a color attribute

 

uint8_t b;

The green component of a color attribute

 

uint8_t a;

The alpha component of a color attribute

 

Since: 1.6

Stability Level: Unstable


CoglVertexP2T2

typedef struct {
   float x, y;
   float s, t;
} CoglVertexP2T2;

A convenience vertex definition that can be used with cogl_primitive_new_p2t2().

Members

float x;

The x component of a position attribute

 

float y;

The y component of a position attribute

 

float s;

The s component of a texture coordinate attribute

 

float t;

The t component of a texture coordinate attribute

 

Since: 1.6

Stability Level: Unstable


CoglVertexP3T2

typedef struct {
   float x, y, z;
   float s, t;
} CoglVertexP3T2;

A convenience vertex definition that can be used with cogl_primitive_new_p3t2().

Members

float x;

The x component of a position attribute

 

float y;

The y component of a position attribute

 

float z;

The z component of a position attribute

 

float s;

The s component of a texture coordinate attribute

 

float t;

The t component of a texture coordinate attribute

 

Since: 1.6

Stability Level: Unstable


CoglVertexP2T2C4

typedef struct {
   float x, y;
   float s, t;
   uint8_t r, g, b, a;
} CoglVertexP2T2C4;

A convenience vertex definition that can be used with cogl_primitive_new_p3t2c4().

Members

float x;

The x component of a position attribute

 

float y;

The y component of a position attribute

 

float s;

The s component of a texture coordinate attribute

 

float t;

The t component of a texture coordinate attribute

 

uint8_t r;

The red component of a color attribute

 

uint8_t g;

The blue component of a color attribute

 

uint8_t b;

The green component of a color attribute

 

uint8_t a;

The alpha component of a color attribute

 

Since: 1.6

Stability Level: Unstable


CoglVertexP3T2C4

typedef struct {
   float x, y, z;
   float s, t;
   uint8_t r, g, b, a;
} CoglVertexP3T2C4;

A convenience vertex definition that can be used with cogl_primitive_new_p3t2c4().

Members

float x;

The x component of a position attribute

 

float y;

The y component of a position attribute

 

float z;

The z component of a position attribute

 

float s;

The s component of a texture coordinate attribute

 

float t;

The t component of a texture coordinate attribute

 

uint8_t r;

The red component of a color attribute

 

uint8_t g;

The blue component of a color attribute

 

uint8_t b;

The green component of a color attribute

 

uint8_t a;

The alpha component of a color attribute

 

Since: 1.6

Stability Level: Unstable


enum CoglVerticesMode

Different ways of interpreting vertices when drawing.

Members

COGL_VERTICES_MODE_POINTS

FIXME, equivalent to

GL_POINTS
 

COGL_VERTICES_MODE_LINES

FIXME, equivalent to GL_LINES

 

COGL_VERTICES_MODE_LINE_LOOP

FIXME, equivalent to

GL_LINE_LOOP
 

COGL_VERTICES_MODE_LINE_STRIP

FIXME, equivalent to

GL_LINE_STRIP
 

COGL_VERTICES_MODE_TRIANGLES

FIXME, equivalent to

GL_TRIANGLES
 

COGL_VERTICES_MODE_TRIANGLE_STRIP

FIXME, equivalent to

GL_TRIANGLE_STRIP
 

COGL_VERTICES_MODE_TRIANGLE_FAN

FIXME, equivalent to GL_TRIANGLE_FAN

 

Since: 1.0


enum CoglPixelFormat

Pixel formats used by Cogl. For the formats with a byte per component, the order of the components specify the order in increasing memory addresses. So for example COGL_PIXEL_FORMAT_RGB_888 would have the red component in the lowest address, green in the next address and blue after that regardless of the endianness of the system.

For the formats with non byte aligned components the component order specifies the order within a 16-bit or 32-bit number from most significant bit to least significant. So for COGL_PIXEL_FORMAT_RGB_565, the red component would be in bits 11-15, the green component would be in 6-11 and the blue component would be in 1-5. Therefore the order in memory depends on the endianness of the system.

When uploading a texture COGL_PIXEL_FORMAT_ANY can be used as the internal format. Cogl will try to pick the best format to use internally and convert the texture data if necessary.

Members

COGL_PIXEL_FORMAT_ANY

Any format

 

COGL_PIXEL_FORMAT_A_8

8 bits alpha mask

 

COGL_PIXEL_FORMAT_RGB_565

RGB, 16 bits

 

COGL_PIXEL_FORMAT_RGBA_4444

RGBA, 16 bits

 

COGL_PIXEL_FORMAT_RGBA_5551

RGBA, 16 bits

 

COGL_PIXEL_FORMAT_YUV

Not currently supported

 

COGL_PIXEL_FORMAT_G_8

Single luminance component

 

COGL_PIXEL_FORMAT_RG_88

RG, 16 bits. Note that red-green textures are only available if COGL_FEATURE_ID_TEXTURE_RG is advertised. See cogl_texture_set_components() for details.

 

COGL_PIXEL_FORMAT_RGB_888

RGB, 24 bits

 

COGL_PIXEL_FORMAT_BGR_888

BGR, 24 bits

 

COGL_PIXEL_FORMAT_RGBA_8888

RGBA, 32 bits

 

COGL_PIXEL_FORMAT_BGRA_8888

BGRA, 32 bits

 

COGL_PIXEL_FORMAT_ARGB_8888

ARGB, 32 bits

 

COGL_PIXEL_FORMAT_ABGR_8888

ABGR, 32 bits

 

COGL_PIXEL_FORMAT_RGBA_1010102

RGBA, 32 bits, 10 bpc

 

COGL_PIXEL_FORMAT_BGRA_1010102

BGRA, 32 bits, 10 bpc

 

COGL_PIXEL_FORMAT_ARGB_2101010

ARGB, 32 bits, 10 bpc

 

COGL_PIXEL_FORMAT_ABGR_2101010

ABGR, 32 bits, 10 bpc

 

COGL_PIXEL_FORMAT_RGBA_8888_PRE

Premultiplied RGBA, 32 bits

 

COGL_PIXEL_FORMAT_BGRA_8888_PRE

Premultiplied BGRA, 32 bits

 

COGL_PIXEL_FORMAT_ARGB_8888_PRE

Premultiplied ARGB, 32 bits

 

COGL_PIXEL_FORMAT_ABGR_8888_PRE

Premultiplied ABGR, 32 bits

 

COGL_PIXEL_FORMAT_RGBA_4444_PRE

Premultiplied RGBA, 16 bits

 

COGL_PIXEL_FORMAT_RGBA_5551_PRE

Premultiplied RGBA, 16 bits

 

COGL_PIXEL_FORMAT_RGBA_1010102_PRE

Premultiplied RGBA, 32 bits, 10 bpc

 

COGL_PIXEL_FORMAT_BGRA_1010102_PRE

Premultiplied BGRA, 32 bits, 10 bpc

 

COGL_PIXEL_FORMAT_ARGB_2101010_PRE

Premultiplied ARGB, 32 bits, 10 bpc

 

COGL_PIXEL_FORMAT_ABGR_2101010_PRE

Premultiplied ABGR, 32 bits, 10 bpc

 

COGL_PIXEL_FORMAT_DEPTH_16

   

COGL_PIXEL_FORMAT_DEPTH_32

   

COGL_PIXEL_FORMAT_DEPTH_24_STENCIL_8

   

Since: 0.8


enum CoglBufferTarget

Target flags for FBOs.

Members

COGL_WINDOW_BUFFER

FIXME

 

COGL_OFFSCREEN_BUFFER

FIXME

 

Since: 0.8


enum CoglBufferBit

Types of auxiliary buffers

Members

COGL_BUFFER_BIT_COLOR

Selects the primary color buffer

 

COGL_BUFFER_BIT_DEPTH

Selects the depth buffer

 

COGL_BUFFER_BIT_STENCIL

Selects the stencil buffer

 

Since: 1.0


enum CoglAttributeType

Data types for the components of a vertex attribute.

Members

COGL_ATTRIBUTE_TYPE_BYTE

Data is the same size of a byte

 

COGL_ATTRIBUTE_TYPE_UNSIGNED_BYTE

Data is the same size of an unsigned byte

 

COGL_ATTRIBUTE_TYPE_SHORT

Data is the same size of a short integer

 

COGL_ATTRIBUTE_TYPE_UNSIGNED_SHORT

Data is the same size of an unsigned short integer

 

COGL_ATTRIBUTE_TYPE_FLOAT

Data is the same size of a float

 

Since: 1.0


enum CoglColorMask

Defines a bit mask of color channels. This can be used with cogl_pipeline_set_color_mask() for example to define which color channels should be written to the current framebuffer when drawing something.

Members

COGL_COLOR_MASK_NONE

None of the color channels are masked

 

COGL_COLOR_MASK_RED

Masks the red color channel

 

COGL_COLOR_MASK_GREEN

Masks the green color channel

 

COGL_COLOR_MASK_BLUE

Masks the blue color channel

 

COGL_COLOR_MASK_ALPHA

Masks the alpha color channel

 

COGL_COLOR_MASK_ALL

All of the color channels are masked

 

enum CoglTextureFlags

Flags to pass to the cogl_texture_new_* family of functions.

Members

COGL_TEXTURE_NONE

No flags specified

 

COGL_TEXTURE_NO_AUTO_MIPMAP

Disables the automatic generation of the mipmap pyramid from the base level image whenever it is updated. The mipmaps are only generated when the texture is rendered with a mipmap filter so it should be free to leave out this flag when using other filtering modes

 

COGL_TEXTURE_NO_SLICING

Disables the slicing of the texture

 

COGL_TEXTURE_NO_ATLAS

Disables the insertion of the texture inside the texture atlas used by Cogl

 

Since: 1.0


CoglBool

typedef int CoglBool;

A boolean data type used throughout the Cogl C api. This should be used in conjunction with the TRUE and FALSE macro defines for setting and testing boolean values.

Since: 2.0

Stability Level: Stable