📄 get.c
字号:
/*** *** NOTE!!! DO NOT EDIT THIS FILE!!! IT IS GENERATED BY get_gen.py ***/#include "glheader.h"#include "context.h"#include "enable.h"#include "extensions.h"#include "fbobject.h"#include "get.h"#include "macros.h"#include "mtypes.h"#include "state.h"#include "texcompress.h"#define FLOAT_TO_BOOLEAN(X) ( (X) ? GL_TRUE : GL_FALSE )#define INT_TO_BOOLEAN(I) ( (I) ? GL_TRUE : GL_FALSE )#define ENUM_TO_BOOLEAN(E) ( (E) ? GL_TRUE : GL_FALSE )#define ENUM_TO_INT(E) ( (GLint) (E) )#define ENUM_TO_FLOAT(E) ( (GLfloat) (E) )#define BOOLEAN_TO_INT(B) ( (GLint) (B) )#define BOOLEAN_TO_FLOAT(B) ( (B) ? 1.0F : 0.0F )/* * Check if named extension is enabled, if not generate error and return. */#define CHECK_EXT1(EXT1, FUNC) \ if (!ctx->Extensions.EXT1) { \ _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname); \ return; \ }/* * Check if either of two extensions is enabled. */#define CHECK_EXT2(EXT1, EXT2, FUNC) \ if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2) { \ _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname); \ return; \ }/* * Check if either of three extensions is enabled. */#define CHECK_EXT3(EXT1, EXT2, EXT3, FUNC) \ if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2 && \ !ctx->Extensions.EXT3) { \ _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname); \ return; \ }/* * Check if either of four extensions is enabled. */#define CHECK_EXT4(EXT1, EXT2, EXT3, EXT4, FUNC) \ if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2 && \ !ctx->Extensions.EXT3 && !ctx->Extensions.EXT4) { \ _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname); \ return; \ }void GLAPIENTRY_mesa_GetBooleanv( GLenum pname, GLboolean *params ){ GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); if (!params) return; if (ctx->NewState) _mesa_update_state(ctx); if (ctx->Driver.GetBooleanv && ctx->Driver.GetBooleanv(ctx, pname, params)) return; switch (pname) { case GL_ACCUM_RED_BITS: params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.accumRedBits); break; case GL_ACCUM_GREEN_BITS: params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.accumGreenBits); break; case GL_ACCUM_BLUE_BITS: params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.accumBlueBits); break; case GL_ACCUM_ALPHA_BITS: params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.accumAlphaBits); break; case GL_ACCUM_CLEAR_VALUE: params[0] = FLOAT_TO_BOOLEAN(ctx->Accum.ClearColor[0]); params[1] = FLOAT_TO_BOOLEAN(ctx->Accum.ClearColor[1]); params[2] = FLOAT_TO_BOOLEAN(ctx->Accum.ClearColor[2]); params[3] = FLOAT_TO_BOOLEAN(ctx->Accum.ClearColor[3]); break; case GL_ALPHA_BIAS: params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.AlphaBias); break; case GL_ALPHA_BITS: params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.alphaBits); break; case GL_ALPHA_SCALE: params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.AlphaScale); break; case GL_ALPHA_TEST: params[0] = ctx->Color.AlphaEnabled; break; case GL_ALPHA_TEST_FUNC: params[0] = ENUM_TO_BOOLEAN(ctx->Color.AlphaFunc); break; case GL_ALPHA_TEST_REF: params[0] = FLOAT_TO_BOOLEAN(ctx->Color.AlphaRef); break; case GL_ATTRIB_STACK_DEPTH: params[0] = INT_TO_BOOLEAN(ctx->AttribStackDepth); break; case GL_AUTO_NORMAL: params[0] = ctx->Eval.AutoNormal; break; case GL_AUX_BUFFERS: params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.numAuxBuffers); break; case GL_BLEND: params[0] = ctx->Color.BlendEnabled; break; case GL_BLEND_DST: params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendDstRGB); break; case GL_BLEND_SRC: params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendSrcRGB); break; case GL_BLEND_SRC_RGB_EXT: params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendSrcRGB); break; case GL_BLEND_DST_RGB_EXT: params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendDstRGB); break; case GL_BLEND_SRC_ALPHA_EXT: params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendSrcA); break; case GL_BLEND_DST_ALPHA_EXT: params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendDstA); break; case GL_BLEND_EQUATION: params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendEquationRGB ); break; case GL_BLEND_EQUATION_ALPHA_EXT: params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendEquationA ); break; case GL_BLEND_COLOR_EXT: params[0] = FLOAT_TO_BOOLEAN(ctx->Color.BlendColor[0]); params[1] = FLOAT_TO_BOOLEAN(ctx->Color.BlendColor[1]); params[2] = FLOAT_TO_BOOLEAN(ctx->Color.BlendColor[2]); params[3] = FLOAT_TO_BOOLEAN(ctx->Color.BlendColor[3]); break; case GL_BLUE_BIAS: params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.BlueBias); break; case GL_BLUE_BITS: params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.blueBits); break; case GL_BLUE_SCALE: params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.BlueScale); break; case GL_CLIENT_ATTRIB_STACK_DEPTH: params[0] = INT_TO_BOOLEAN(ctx->ClientAttribStackDepth); break; case GL_CLIP_PLANE0: params[0] = (ctx->Transform.ClipPlanesEnabled >> 0) & 1; break; case GL_CLIP_PLANE1: params[0] = (ctx->Transform.ClipPlanesEnabled >> 1) & 1; break; case GL_CLIP_PLANE2: params[0] = (ctx->Transform.ClipPlanesEnabled >> 2) & 1; break; case GL_CLIP_PLANE3: params[0] = (ctx->Transform.ClipPlanesEnabled >> 3) & 1; break; case GL_CLIP_PLANE4: params[0] = (ctx->Transform.ClipPlanesEnabled >> 4) & 1; break; case GL_CLIP_PLANE5: params[0] = (ctx->Transform.ClipPlanesEnabled >> 5) & 1; break; case GL_COLOR_CLEAR_VALUE: params[0] = FLOAT_TO_BOOLEAN(ctx->Color.ClearColor[0]); params[1] = FLOAT_TO_BOOLEAN(ctx->Color.ClearColor[1]); params[2] = FLOAT_TO_BOOLEAN(ctx->Color.ClearColor[2]); params[3] = FLOAT_TO_BOOLEAN(ctx->Color.ClearColor[3]); break; case GL_COLOR_MATERIAL: params[0] = ctx->Light.ColorMaterialEnabled; break; case GL_COLOR_MATERIAL_FACE: params[0] = ENUM_TO_BOOLEAN(ctx->Light.ColorMaterialFace); break; case GL_COLOR_MATERIAL_PARAMETER: params[0] = ENUM_TO_BOOLEAN(ctx->Light.ColorMaterialMode); break; case GL_COLOR_WRITEMASK: params[0] = INT_TO_BOOLEAN(ctx->Color.ColorMask[RCOMP] ? 1 : 0); params[1] = INT_TO_BOOLEAN(ctx->Color.ColorMask[GCOMP] ? 1 : 0); params[2] = INT_TO_BOOLEAN(ctx->Color.ColorMask[BCOMP] ? 1 : 0); params[3] = INT_TO_BOOLEAN(ctx->Color.ColorMask[ACOMP] ? 1 : 0); break; case GL_CULL_FACE: params[0] = ctx->Polygon.CullFlag; break; case GL_CULL_FACE_MODE: params[0] = ENUM_TO_BOOLEAN(ctx->Polygon.CullFaceMode); break; case GL_CURRENT_COLOR: { FLUSH_CURRENT(ctx, 0); params[0] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][0]); params[1] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][1]); params[2] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][2]); params[3] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][3]); } break; case GL_CURRENT_INDEX: { FLUSH_CURRENT(ctx, 0); params[0] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_COLOR_INDEX][0]); } break; case GL_CURRENT_NORMAL: { FLUSH_CURRENT(ctx, 0); params[0] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_NORMAL][0]); params[1] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_NORMAL][1]); params[2] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_NORMAL][2]); } break; case GL_CURRENT_RASTER_COLOR: params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterColor[0]); params[1] = FLOAT_TO_BOOLEAN(ctx->Current.RasterColor[1]); params[2] = FLOAT_TO_BOOLEAN(ctx->Current.RasterColor[2]); params[3] = FLOAT_TO_BOOLEAN(ctx->Current.RasterColor[3]); break; case GL_CURRENT_RASTER_DISTANCE: params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterDistance); break; case GL_CURRENT_RASTER_INDEX: params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterIndex); break; case GL_CURRENT_RASTER_POSITION: params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterPos[0]); params[1] = FLOAT_TO_BOOLEAN(ctx->Current.RasterPos[1]); params[2] = FLOAT_TO_BOOLEAN(ctx->Current.RasterPos[2]); params[3] = FLOAT_TO_BOOLEAN(ctx->Current.RasterPos[3]); break; case GL_CURRENT_RASTER_SECONDARY_COLOR: params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterSecondaryColor[0]); params[1] = FLOAT_TO_BOOLEAN(ctx->Current.RasterSecondaryColor[1]); params[2] = FLOAT_TO_BOOLEAN(ctx->Current.RasterSecondaryColor[2]); params[3] = FLOAT_TO_BOOLEAN(ctx->Current.RasterSecondaryColor[3]); break; case GL_CURRENT_RASTER_TEXTURE_COORDS: { const GLuint texUnit = ctx->Texture.CurrentUnit; params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterTexCoords[texUnit][0]); params[1] = FLOAT_TO_BOOLEAN(ctx->Current.RasterTexCoords[texUnit][1]); params[2] = FLOAT_TO_BOOLEAN(ctx->Current.RasterTexCoords[texUnit][2]); params[3] = FLOAT_TO_BOOLEAN(ctx->Current.RasterTexCoords[texUnit][3]); } break; case GL_CURRENT_RASTER_POSITION_VALID: params[0] = ctx->Current.RasterPosValid; break; case GL_CURRENT_TEXTURE_COORDS: { const GLuint texUnit = ctx->Texture.CurrentUnit; params[0] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][0]); params[1] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][1]); params[2] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][2]); params[3] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][3]); } break; case GL_DEPTH_BIAS: params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.DepthBias); break; case GL_DEPTH_BITS: params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.depthBits); break; case GL_DEPTH_CLEAR_VALUE: params[0] = FLOAT_TO_BOOLEAN(ctx->Depth.Clear); break; case GL_DEPTH_FUNC: params[0] = ENUM_TO_BOOLEAN(ctx->Depth.Func); break; case GL_DEPTH_RANGE: params[0] = FLOAT_TO_BOOLEAN(ctx->Viewport.Near); params[1] = FLOAT_TO_BOOLEAN(ctx->Viewport.Far); break; case GL_DEPTH_SCALE: params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.DepthScale); break; case GL_DEPTH_TEST: params[0] = ctx->Depth.Test; break; case GL_DEPTH_WRITEMASK: params[0] = ctx->Depth.Mask; break; case GL_DITHER: params[0] = ctx->Color.DitherFlag; break; case GL_DOUBLEBUFFER: params[0] = ctx->DrawBuffer->Visual.doubleBufferMode; break; case GL_DRAW_BUFFER: params[0] = ENUM_TO_BOOLEAN(ctx->DrawBuffer->ColorDrawBuffer[0]); break; case GL_EDGE_FLAG: { FLUSH_CURRENT(ctx, 0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -