Context State CommandsCommands 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.
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
|