QuesoGLC
QuesoGLC
Documentation
Sourceforge
SourceForge.net Logo
OpenGL

Context State Commands

Commands to get or modify informations of the context state of the current thread. More...

Functions


Detailed Description

Commands to get or modify informations of the context state of the current thread.

GLC refers to the current context state whenever it executes a command. Most of its state is directly available to the user : in order to control the result of the GLC commands, the user may want to get or modify the state of the current context. This is precisely the purpose of the context state commands.

Note:
Some GLC commands create, use or delete display lists and/or textures. The IDs of those display lists and textures are stored in the current GLC context but the display lists and the textures themselves are managed by the current GL context. In order not to impact the performance of error-free programs, QuesoGLC does not check if the current GL context is the same as the context where the display lists and the textures are actually stored. If the current GL context has changed meanwhile, the result of commands that refer to the corresponding display lists or textures is undefined.

Function Documentation

void glcCallbackFunc ( GLCenum  inOpcode,
GLCfunc  inFunc 
)

This command assigns the value inFunc to the callback function variable identified by inOpCode which must be chosen in the following table.

Callback function variables
Name Enumerant Initial value Type signature
GLC_OP_glcUnmappedCode 0x0020 GLC_NONE GLboolean (*)(GLint)

The callback function can access to client data in a thread-safe manner with glcGetPointer().

Parameters:
inOpcode Type of the callback function
inFunc Callback function
See also:
glcGetCallbackFunc()

glcGetPointer()

glcDataPointer()

glcRenderChar()

void glcDataPointer ( GLvoid *  inPointer  ) 

This command assigns the value inPointer to the variable GLC_DATA_POINTER.

It is used for an access to client data from the callback function assigned to the variable GLC_OP_glcUnmappedCode

glcDataPointer provides a way to store, in the GLC context, a pointer to any data. A GLC callback function can subsequently use the command glcGetPointer() to obtain access to those data in a thread-safe manner.

Parameters:
inPointer The pointer to assign to GLC_DATA_POINTER
See also:
glcGetPointer()

glcCallbackFunc()

void glcDeleteGLObjects ( void   ) 

This command causes GLC to issue a sequence of GL commands to delete all of the GL objects it owns.

GLC uses the command glDeleteLists to delete all of the GL objects named in GLC_LIST_OBJECT_LIST and uses the command glDeleteTextures to delete all of the GL objects named in GLC_TEXTURE_OBJECT_LIST. When an execution of glcDeleteGLObjects finishes, both of these lists are empty.

Note:
glcDeleteGLObjects deletes only the objects that the current GLC context owns, not all objects in all contexts.
See also:
glcGetListi()

void glcDisable ( GLCenum  inAttrib  ) 

This command assigns the value GL_FALSE to the boolean variable identified by inAttrib.

Boolean variables
Name Enumerant Initial value
GLC_AUTO_FONT 0x0010 GL_TRUE
GLC_GL_OBJECTS 0x0011 GL_TRUE
GLC_MIPMAP 0x0012 GL_TRUE
GLC_HINTING_QSO 0x8005 GL_FALSE
GLC_EXTRUDE_QSO 0x8006 GL_FALSE
GLC_KERNING_QSO 0x8007 GL_FALSE
Parameters:
inAttrib A symbolic constant indicating a GLC capability.
See also:
glcIsEnabled()

glcEnable()

void glcEnable ( GLCenum  inAttrib  ) 

This command assigns the value GL_TRUE to the boolean variable identified by inAttrib which must be chosen in the table above.

  • GLC_AUTO_FONT : if enabled, GLC tries to automatically find a font among the masters to map the character code to be rendered (see also glcRenderChar()).
  • GLC_GL_OBJECTS : if enabled, GLC stores characters rendering commands in GL display lists and textures (if any) in GL texture objects.
  • GLC_MIPMAP : if enabled, texture objects used by GLC are mipmapped
  • GLC_HINTING_QSO : if enabled, GLC uses the auto-hinting procedures that are available for most scalable fonts. It gives better results for characters that are rendered at small sizes. Hinting may however generate visual artifacts such as shaking outlines if the character is animated. This attribute should be disabled in such cases.
  • GLC_EXTRUDE_QSO : if enabled and GLC_RENDER_STYLE is GLC_TRIANGLE then GLC renders extruded characters with a thickness equal to 1.0. A call to glScale3*(1., 1., thickness ) can be added before the rendering commands in order to obtain the desired thickness.
  • GLC_KERNING_QSO : if enabled, GLC uses kerning information (when available) when string are rendered or measured.

Parameters:
inAttrib A symbolic constant indicating a GLC attribute.
See also:
glcDisable()

glcIsEnabled()

GLCfunc glcGetCallbackFunc ( GLCenum  inOpcode  ) 

This command returns the value of the callback function variable identified by inOpcode.

Currently, inOpcode can only have the value GLC_OP_glcUnmappedCode. Its initial value and the type signature are defined in the table shown in glcCallbackFunc()'s definition.

Parameters:
inOpcode The callback function to be retrieved
Returns:
The value of the callback function variable
See also:
glcCallbackFunc()

const GLCchar* glcGetListc ( GLCenum  inAttrib,
GLint  inIndex 
)

This command returns the string at offset inIndex from the first element in the string list identified by inAttrib which must be chosen in the table below :.

String lists
Name Enumerant Initial value Element count variable
GLC_CATALOG_LIST 0x0080 <empty list> GLC_CATALOG_COUNT

The command raises a GLC_PARAMETER_ERROR if inIndex is less than zero or is greater than or equal to the value of the list's element count variable.

Parameters:
inAttrib The string list attribute
inIndex The index from which to retrieve an element.
Returns:
The string list element
See also:
glcGetListi()

GLint glcGetListi ( GLCenum  inAttrib,
GLint  inIndex 
)

This command returns the integer at offset inIndex from the first element in the integer list identified by inAttrib.

You can choose from the following integer lists, listed below with their element count variables :

Integer lists
Name Enumerant Initial value Element count variable
GLC_CURRENT_FONT_LIST 0x0090 <empty list> GLC_CURRENT_FONT_COUNT
GLC_FONT_LIST 0x0091 <empty list> GLC_FONT_COUNT
GLC_LIST_OBJECT_LIST 0x0092 <empty list> GLC_LIST_OBJECT_COUNT
GLC_TEXTURE_OBJECT_LIST 0x0093 <empty list> GLC_TEXTURE_OBJECT_COUNT

The command raises a GLC_PARAMETER_ERROR if inIndex is less than zero or is greater than or equal to the value of the list's element count variable.

Parameters:
inAttrib The integer list attribute
inIndex The index from which to retrieve the element.
Returns:
The element from the integer list.
See also:
glcGetListc()

GLvoid* glcGetPointer ( GLCenum  inAttrib  ) 

This command returns the value of the pointer variable identified by inAttrib.

Pointer variables
Name Enumerant Initial value
GLC_DATA_POINTER 0x00A0 GLC_NONE
Parameters:
inAttrib The pointer category
Returns:
The pointer
See also:
glcDataPointer()

const GLCchar* glcGetc ( GLCenum  inAttrib  ) 

This command returns the value of the string constant identified by inAttrib.

String constants must be chosen in the table below :

String constants
Name Enumerant
GLC_EXTENSIONS 0x00B0
GLC_RELEASE 0x00B1
GLC_VENDOR 0x00B2
Parameters:
inAttrib The attribute that identifies the string constant
Returns:
The string constant.
See also:
glcGetf()

glcGeti()

glcGetfv()

glcGetPointer()

GLfloat glcGetf ( GLCenum  inAttrib  ) 

This command returns the value of the floating point variable identified by inAttrib.

Float point variables
Name Enumerant Initial value
GLC_RESOLUTION 0x00C0 0.0
Parameters:
inAttrib The parameter value to be returned.
Returns:
The current value of the floating point variable.
See also:
glcGetc()

glcGeti()

glcGetfv()

glcGetPointer()

GLfloat* glcGetfv ( GLCenum  inAttrib,
GLfloat *  outVec 
)

This command stores into outVec the value of the floating point vector identified by inAttrib.

If the command does not raise an error, it returns outVec, otherwise it returns a NULL value.

Floating point vector variables
Name Enumerant Initial value
GLC_BITMAP_MATRIX 0x00D0 [ 1. 0. 0. 1.]

The command raises GLC_PARAMETER_ERROR if outVec is NULL.

Parameters:
inAttrib The parameter value to be returned
outVec Specifies where to store the return value
Returns:
The current value of the floating point vector variable
See also:
glcGetf()

glcGeti()

glcGetc()

glcGetPointer()

GLint glcGeti ( GLCenum  inAttrib  ) 

This command returns the value of the integer variable or constant identified by inAttrib.

Integer variables and constants
Name Enumerant Initial value
GLC_CATALOG_COUNT 0x00E0 <implementation specific>
GLC_CURRENT_FONT_COUNT 0x00E1 0
GLC_FONT_COUNT 0x00E2 0
GLC_LIST_OBJECT_COUNT 0x00E3 0
GLC_MASTER_COUNT 0x00E4 <implementation specific>
GLC_MEASURED_CHAR_COUNT 0x00E5 0
GLC_RENDER_STYLE 0x00E6 GLC_BITMAP
GLC_REPLACEMENT_CODE 0x00E7 0
GLC_STRING_TYPE 0x00E8 GLC_UCS1
GLC_TEXTURE_OBJECT_COUNT 0x00E9 0
GLC_VERSION_MAJOR 0x00EA <implementation specific>
GLC_VERSION_MINOR 0x00EB <implementation specific>
GLC_MATRIX_STACK_DEPTH_QSO 0x8008 0
GLC_MAX_MATRIX_STACK_DEPTH_QSO 0x8009 <implementation specific>
GLC_ATTRIB_STACK_DEPTH_QSO 0x800C 0
GLC_MAX_ATTRIB_STACK_DEPTH_QSO 0x800D <implementation specific>
Parameters:
inAttrib Attribute for which an integer variable is requested.
Returns:
The value or values of the integer variable.
See also:
glcGetc()

glcGetf()

glcGetfv()

glcGetPointer()

GLboolean glcIsEnabled ( GLCenum  inAttrib  ) 

This command returns GL_TRUE if the value of the boolean variable identified by inAttrib is GL_TRUE (quoted from the specs ^_^).

Attributes that can be enabled or disabled are listed on the glcDisable() description.

Parameters:
inAttrib The attribute to be tested
Returns:
The state of the attribute inAttrib.
See also:
glcEnable()

glcDisable()

void glcStringType ( GLCenum  inStringType  ) 

This command assigns the value inStringType to the variable GLC_STRING_TYPE.

The string types are listed in the table below :

String types
Name Enumerant Type of characters
GLC_UCS1 0x0110 GLubyte
GLC_UCS2 0x0111 GLushort
GLC_UCS4 0x0112 GLuint
GLC_UTF8_QSO 0x8004 <character dependent>

Every character string used in the GLC API is represented as a zero-terminated array, unless otherwise specified. The value of the variable GLC_STRING_TYPE determines the interpretation of the array. The values GLC_UCS1, GLC_UCS2, GLC_UCS4 and GLC_UTF8_QSO indicate how each element of the string should be interpreted. Currently QuesoGLC supports UCS1, UCS2, UCS4 and UTF-8 formats as defined in the Unicode 4.0.1 and ISO/IEC 10646:2003 standards. The initial value of GLC_STRING_TYPE is GLC_UCS1.

Note:
Currently, the string formats UCS2 and UCS4 are interpreted according to the underlying platform endianess. If the strings are provided in a different endianess than the platform's, the client must translate the strings in the correct endianess.
The value of a character code in a returned string may exceed the range of the character encoding selected by GLC_STRING_TYPE. In this case, the returned character is converted to a character sequence \<hexcode>, where \ is the character REVERSE SOLIDUS (U+5C), < is the character LESS-THAN SIGN (U+3C), > is the character GREATER-THAN SIGN (U+3E), and hexcode is the original character code represented as a sequence of hexadecimal digits. The sequence has no leading zeros, and alphabetic digits are in upper case.
Parameters:
inStringType Value to assign to GLC_STRING_TYPE
See also:
glcGeti() with argument GLC_STRING_TYPE

void glcPushAttribQSO ( GLbitfield  inMask  ) 

This command provides a means to save groups of state variables.

It takes a OR of symbolic constants indicating which groups of state variables to push onto the attribute stack. Each constant refers to a group of state variables.

Group attributes
Group attribute Name
enable GLC_ENABLE_BIT_QSO
render GLC_RENDER_BIT_QSO
string GLC_STRING_BIT_QSO
GLC_GL_ATTRIB_BIT_QSO
GLC_ALL_ATTRIBS_BIT_QSO

The classification of each variable into a group is indicated in the following table of state variables.

State variables
Name Type Get command Group attribute
GLC_AUTO_FONT GLboolean glcIsEnabled() enable
GLC_GL_OBJECTS GLboolean glcIsEnabled() enable
GLC_MIPMAP GLboolean glcIsEnabled() enable
GLC_HINTING_QSO GLboolean glcIsEnabled() enable
GLC_EXTRUDE_QSO GLboolean glcIsEnabled() enable
GLC_KERNING_QSO GLboolean glcIsEnabled() enable
GLC_RENDER_STYLE GLint glcGeti() render
GLC_RESOLUTION GLfloat glcGetf() render
GLC_STRING_TYPE GLint glcGeti() string
GLC_REPLACEMENT_CODE GLint glcGeti() string
GLC_OP_glcUnmappedCode GLCfunc glcGetCallbackFunc() string
GLC_DATA_POINTER GLvoid* glcGetPointer() string

The error GLC_STACK_OVERFLOW_QSO is generated if glcPushAttribQSO() is executed while the attribute stack depth is equal to GLC_MAX_ATTRIB_STACK_DEPTH_QSO. GLC_STACK_OVERFLOW_QSO.

Parameters:
inMask The list of state variables to be saved
See also:
glcPopAttribQSO()

glcGeti() with argument GLC_ATTRIB_STACK_DEPTH_QSO

glcGeti() with argument GLC_MAX_ATTRIB_STACK_DEPTH_QSO

void glcPopAttribQSO ( void   ) 

This command resets the values of those state variables that were saved with the last corresponding glcPushAttribQSO().

Those not saved remain unchanged. The error GLC_STACK_UNDERFLOW_QSO is generated if glcPopAttrib() is executed while the attribute stack is empty.

See also:
glcPushAttribQSO()

glcGeti() with argument GLC_ATTRIB_STACK_DEPTH_QSO

glcGeti() with argument GLC_MAX_ATTRIB_STACK_DEPTH_QSO

Valid HTML 4.01!
Valid CSS!

Generated on Sat Jan 20 20:11:49 2007 for QuesoGLC by doxygen 1.4.7 written by Dimitri van Heesch © 1997-2005