1 /* 2 * Copyright (c) 2002-2011 LWJGL Project 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * * Neither the name of 'LWJGL' nor the names of 17 * its contributors may be used to endorse or promote products derived 18 * from this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 package org.lwjgl.opengl; 33 34 import org.lwjgl.util.generator.*; 35 import org.lwjgl.util.generator.opengl.*; 36 37 import java.nio.Buffer; 38 import java.nio.ByteBuffer; 39 import java.nio.FloatBuffer; 40 import java.nio.IntBuffer; 41 42 public interface NV_path_rendering { 43 44 /** 45 * Accepted in elements of the <commands> array parameter of 46 * PathCommandsNV and PathSubCommandsNV: 47 */ 48 int GL_CLOSE_PATH_NV = 0x00, 49 GL_MOVE_TO_NV = 0x02, 50 GL_RELATIVE_MOVE_TO_NV = 0x03, 51 GL_LINE_TO_NV = 0x04, 52 GL_RELATIVE_LINE_TO_NV = 0x05, 53 GL_HORIZONTAL_LINE_TO_NV = 0x06, 54 GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07, 55 GL_VERTICAL_LINE_TO_NV = 0x08, 56 GL_RELATIVE_VERTICAL_LINE_TO_NV = 0x09, 57 GL_QUADRATIC_CURVE_TO_NV = 0x0A, 58 GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B, 59 GL_CUBIC_CURVE_TO_NV = 0x0C, 60 GL_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D, 61 GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E, 62 GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F, 63 GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10, 64 GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11, 65 GL_SMALL_CCW_ARC_TO_NV = 0x12, 66 GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13, 67 GL_SMALL_CW_ARC_TO_NV = 0x14, 68 GL_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15, 69 GL_LARGE_CCW_ARC_TO_NV = 0x16, 70 GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17, 71 GL_LARGE_CW_ARC_TO_NV = 0x18, 72 GL_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19, 73 GL_CIRCULAR_CCW_ARC_TO_NV = 0xF8, 74 GL_CIRCULAR_CW_ARC_TO_NV = 0xFA, 75 GL_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC, 76 GL_ARC_TO_NV = 0xFE, 77 GL_RELATIVE_ARC_TO_NV = 0xFF; 78 79 /** Accepted by the <format> parameter of PathStringNV: */ 80 int GL_PATH_FORMAT_SVG_NV = 0x9070, 81 GL_PATH_FORMAT_PS_NV = 0x9071; 82 83 /** 84 * Accepted by the <fontTarget> parameter of PathGlyphsNV and 85 * PathGlyphRangeNV: 86 */ 87 int GL_STANDARD_FONT_NAME_NV = 0x9072, 88 GL_SYSTEM_FONT_NAME_NV = 0x9073, 89 GL_FILE_NAME_NV = 0x9074; 90 91 /** 92 * Accepted by the <handleMissingGlyph> parameter of PathGlyphsNV and 93 * PathGlyphRangeNV: 94 */ 95 int GL_SKIP_MISSING_GLYPH_NV = 0x90A9, 96 GL_USE_MISSING_GLYPH_NV = 0x90AA; 97 98 /** 99 * Accepted by the <pname> parameter of PathParameterfNV, 100 * PathParameterfvNV, GetPathParameterfvNV, PathParameteriNV, 101 * PathParameterivNV, and GetPathParameterivNV: 102 */ 103 int GL_PATH_STROKE_WIDTH_NV = 0x9075, 104 GL_PATH_INITIAL_END_CAP_NV = 0x9077, 105 GL_PATH_TERMINAL_END_CAP_NV = 0x9078, 106 GL_PATH_JOIN_STYLE_NV = 0x9079, 107 GL_PATH_MITER_LIMIT_NV = 0x907A, 108 GL_PATH_INITIAL_DASH_CAP_NV = 0x907C, 109 GL_PATH_TERMINAL_DASH_CAP_NV = 0x907D, 110 GL_PATH_DASH_OFFSET_NV = 0x907E, 111 GL_PATH_CLIENT_LENGTH_NV = 0x907F, 112 GL_PATH_DASH_OFFSET_RESET_NV = 0x90B4, 113 114 GL_PATH_FILL_MODE_NV = 0x9080, 115 GL_PATH_FILL_MASK_NV = 0x9081, 116 GL_PATH_FILL_COVER_MODE_NV = 0x9082, 117 GL_PATH_STROKE_COVER_MODE_NV = 0x9083, 118 GL_PATH_STROKE_MASK_NV = 0x9084; 119 120 /** 121 * Accepted by the <pname> parameter of PathParameterfNV and 122 * PathParameterfvNV: 123 */ 124 int GL_PATH_END_CAPS_NV = 0x9076, 125 GL_PATH_DASH_CAPS_NV = 0x907B; 126 127 /** 128 * Accepted by the <fillMode> parameter of StencilFillPathNV and 129 * StencilFillPathInstancedNV: 130 */ 131 int GL_COUNT_UP_NV = 0x9088, 132 GL_COUNT_DOWN_NV = 0x9089; 133 134 /** 135 * Accepted by the <color> parameter of PathColorGenNV, 136 * GetPathColorGenivNV, and GetPathColorGenfvNV: 137 */ 138 int GL_PRIMARY_COLOR = 0x8577, // from OpenGL 1.3 139 GL_PRIMARY_COLOR_NV = 0x852C, // from NV_register_combiners 140 GL_SECONDARY_COLOR_NV = 0x852D; // from NV_register_combiners 141 142 /** 143 * Accepted by the <genMode> parameter of PathColorGenNV and 144 * PathTexGenNV: 145 */ 146 int GL_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A; 147 148 /** 149 * Accepted by the <coverMode> parameter of CoverFillPathNV and 150 * CoverFillPathInstancedNV: 151 */ 152 int GL_CONVEX_HULL_NV = 0x908B, 153 GL_BOUNDING_BOX_NV = 0x908D; 154 155 /** 156 * Accepted by the <transformType> parameter of 157 * StencilFillPathInstancedNV, StencilStrokePathInstancedNV, 158 * CoverFillPathInstancedNV, and CoverStrokePathInstancedNV: 159 */ 160 int GL_TRANSLATE_X_NV = 0x908E, 161 GL_TRANSLATE_Y_NV = 0x908F, 162 GL_TRANSLATE_2D_NV = 0x9090, 163 GL_TRANSLATE_3D_NV = 0x9091, 164 GL_AFFINE_2D_NV = 0x9092, 165 GL_AFFINE_3D_NV = 0x9094, 166 GL_TRANSPOSE_AFFINE_2D_NV = 0x9096, 167 GL_TRANSPOSE_AFFINE_3D_NV = 0x9098; 168 169 /** 170 * Accepted by the <type> or <pathNameType> parameter of CallLists, 171 * StencilFillPathInstancedNV, StencilStrokePathInstancedNV, 172 * CoverFillPathInstancedNV, CoverStrokePathInstancedNV, 173 * GetPathMetricsNV, and GetPathSpacingNV: 174 */ 175 int GL_UTF8_NV = 0x909A, 176 GL_UTF16_NV = 0x909B; 177 178 /** Accepted by the <coverMode> parameter of CoverFillPathInstancedNV: */ 179 int GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C; 180 181 /** 182 * Accepted by the <pname> parameter of GetPathParameterfvNV and 183 * GetPathParameterivNV: 184 */ 185 int GL_PATH_COMMAND_COUNT_NV = 0x909D, 186 GL_PATH_COORD_COUNT_NV = 0x909E, 187 GL_PATH_DASH_ARRAY_COUNT_NV = 0x909F, 188 GL_PATH_COMPUTED_LENGTH_NV = 0x90A0, 189 GL_PATH_FILL_BOUNDING_BOX_NV = 0x90A1, 190 GL_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2; 191 192 /** 193 * Accepted by the <value> parameter of PathParameterfNV, 194 * PathParameterfvNV, PathParameteriNV, and PathParameterivNV 195 * when <pname> is one of PATH_END_CAPS_NV, PATH_INTIAL_END_CAP_NV, 196 * PATH_TERMINAL_END_CAP_NV, PATH_DASH_CAPS_NV, PATH_INITIAL_DASH_CAP_NV, 197 * and PATH_TERMINAL_DASH_CAP_NV: 198 */ 199 int GL_SQUARE_NV = 0x90A3, 200 GL_ROUND_NV = 0x90A4, 201 GL_TRIANGULAR_NV = 0x90A5; 202 203 /** 204 * Accepted by the <value> parameter of PathParameterfNV, 205 * PathParameterfvNV, PathParameteriNV, and PathParameterivNV 206 * when <pname> is PATH_JOIN_STYLE_NV: 207 */ 208 int GL_BEVEL_NV = 0x90A6, 209 GL_MITER_REVERT_NV = 0x90A7, 210 GL_MITER_TRUNCATE_NV = 0x90A8; 211 212 /** 213 * Accepted by the <value> parameter of PathParameterfNV, 214 * PathParameterfvNV, PathParameteriNV, and PathParameterivNV when 215 * <pname> is PATH_DASH_OFFSET_RESET_NV 216 */ 217 int GL_MOVE_TO_RESETS_NV = 0x90B5, 218 GL_MOVE_TO_CONTINUES_NV = 0x90B6; 219 220 /** Accepted by the <fontStyle> parameter of PathStringNV: */ 221 int GL_BOLD_BIT_NV = 0x01, 222 GL_ITALIC_BIT_NV = 0x02; 223 224 /** 225 * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, 226 * GetInteger64v, GetFloatv, and GetDoublev: 227 */ 228 int GL_PATH_ERROR_POSITION_NV = 0x90AB, 229 230 GL_PATH_FOG_GEN_MODE_NV = 0x90AC, 231 232 GL_PATH_STENCIL_FUNC_NV = 0x90B7, 233 GL_PATH_STENCIL_REF_NV = 0x90B8, 234 GL_PATH_STENCIL_VALUE_MASK_NV = 0x90B9, 235 236 GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD, 237 GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE, 238 239 GL_PATH_COVER_DEPTH_FUNC_NV = 0x90BF; 240 241 /** 242 * Accepted as a bit within the <metricQueryMask> parameter of 243 * GetPathMetricRangeNV or GetPathMetricsNV: 244 */ 245 246 int GL_GLYPH_WIDTH_BIT_NV = 0x01, // per-glyph metrics 247 GL_GLYPH_HEIGHT_BIT_NV = 0x02, 248 GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04, 249 GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08, 250 GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10, 251 GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20, 252 GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40, 253 GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80, 254 GL_GLYPH_HAS_KERNING_NV = 0x100, 255 GL_FONT_X_MIN_BOUNDS_NV = 0x00010000, // per-font face metrics 256 GL_FONT_Y_MIN_BOUNDS_NV = 0x00020000, 257 GL_FONT_X_MAX_BOUNDS_NV = 0x00040000, 258 GL_FONT_Y_MAX_BOUNDS_NV = 0x00080000, 259 GL_FONT_UNITS_PER_EM_NV = 0x00100000, 260 GL_FONT_ASCENDER_NV = 0x00200000, 261 GL_FONT_DESCENDER_NV = 0x00400000, 262 GL_FONT_HEIGHT_NV = 0x00800000, 263 GL_FONT_MAX_ADVANCE_WIDTH_NV = 0x01000000, 264 GL_FONT_MAX_ADVANCE_HEIGHT_NV = 0x02000000, 265 GL_FONT_UNDERLINE_POSITION_NV = 0x04000000, 266 GL_FONT_UNDERLINE_THICKNESS_NV = 0x08000000, 267 GL_FONT_HAS_KERNING_NV = 0x10000000; 268 269 /** Accepted by the <pathListMode> parameter of GetPathSpacingNV: */ 270 int GL_ACCUM_ADJACENT_PAIRS_NV = 0x90AD, 271 GL_ADJACENT_PAIRS_NV = 0x90AE, 272 GL_FIRST_TO_REST_NV = 0x90AF; 273 274 /** 275 * Accepted by the <pname> parameter of GetPathColorGenivNV, 276 * GetPathColorGenfvNV, GetPathTexGenivNV and GetPathTexGenfvNV: 277 */ 278 int GL_PATH_GEN_MODE_NV = 0x90B0, 279 GL_PATH_GEN_COEFF_NV = 0x90B1, 280 GL_PATH_GEN_COLOR_FORMAT_NV = 0x90B2, 281 GL_PATH_GEN_COMPONENTS_NV = 0x90B3; 282 glPathCommandsNV(@Luint int path, @AutoSize(R) @GLsizei int numCommands, @Const @GLubyte ByteBuffer commands, @AutoSize(R) @GLsizei int numCoords, @AutoType(R) @GLenum int coordType, @Const @GLbyte @GLubyte @GLshort @GLushort @GLfloat Buffer coords)283 void glPathCommandsNV(@GLuint int path, 284 @AutoSize("commands") @GLsizei int numCommands, @Const @GLubyte ByteBuffer commands, 285 @AutoSize("coords") @GLsizei int numCoords, @AutoType("coords") @GLenum int coordType, 286 @Const 287 @GLbyte 288 @GLubyte 289 @GLshort 290 @GLushort 291 @GLfloat Buffer coords); 292 glPathCoordsNV(@Luint int path, @AutoSize(R) @GLsizei int numCoords, @AutoType(R) @GLenum int coordType, @Const @GLbyte @GLubyte @GLshort @GLushort @GLfloat Buffer coords)293 void glPathCoordsNV(@GLuint int path, 294 @AutoSize("coords") @GLsizei int numCoords, @AutoType("coords") @GLenum int coordType, 295 @Const 296 @GLbyte 297 @GLubyte 298 @GLshort 299 @GLushort 300 @GLfloat Buffer coords); 301 glPathSubCommandsNV(@Luint int path, @GLsizei int commandStart, @GLsizei int commandsToDelete, @AutoSize(R) @GLsizei int numCommands, @Const @GLubyte ByteBuffer commands, @AutoSize(R) @GLsizei int numCoords, @AutoType(R) @GLenum int coordType, @Const @GLbyte @GLubyte @GLshort @GLushort @GLfloat Buffer coords)302 void glPathSubCommandsNV(@GLuint int path, 303 @GLsizei int commandStart, @GLsizei int commandsToDelete, 304 @AutoSize("commands") @GLsizei int numCommands, @Const @GLubyte ByteBuffer commands, 305 @AutoSize("coords") @GLsizei int numCoords, @AutoType("coords") @GLenum int coordType, 306 @Const 307 @GLbyte 308 @GLubyte 309 @GLshort 310 @GLushort 311 @GLfloat Buffer coords); 312 glPathSubCoordsNV(@Luint int path, @GLsizei int coordStart, @AutoSize(R) @GLsizei int numCoords, @AutoType(R) @GLenum int coordType, @Const @GLbyte @GLubyte @GLshort @GLushort @GLfloat Buffer coords)313 void glPathSubCoordsNV(@GLuint int path, 314 @GLsizei int coordStart, 315 @AutoSize("coords") @GLsizei int numCoords, @AutoType("coords") @GLenum int coordType, 316 @Const 317 @GLbyte 318 @GLubyte 319 @GLshort 320 @GLushort 321 @GLfloat Buffer coords); 322 glPathStringNV(@Luint int path, @GLenum int format, @AutoSize(R) @GLsizei int length, @Const @GLvoid ByteBuffer pathString)323 void glPathStringNV(@GLuint int path, @GLenum int format, 324 @AutoSize("pathString") @GLsizei int length, @Const @GLvoid ByteBuffer pathString); 325 glPathGlyphsNV(@Luint int firstPathName, @GLenum int fontTarget, @NullTerminated @Const @GLvoid ByteBuffer fontName, @GLbitfield int fontStyle, @AutoSize(value = R, expression = R) @GLsizei int numGlyphs, @GLenum int type, @Const @GLvoid ByteBuffer charcodes, @GLenum int handleMissingGlyphs, @GLuint int pathParameterTemplate, float emScale)326 void glPathGlyphsNV(@GLuint int firstPathName, 327 @GLenum int fontTarget, 328 @NullTerminated @Const @GLvoid ByteBuffer fontName, 329 @GLbitfield int fontStyle, 330 @AutoSize(value = "charcodes", expression = " / GLChecks.calculateBytesPerCharCode(type)") @GLsizei int numGlyphs, @GLenum int type, 331 @Const @GLvoid ByteBuffer charcodes, 332 @GLenum int handleMissingGlyphs, 333 @GLuint int pathParameterTemplate, 334 float emScale); 335 glPathGlyphRangeNV(@Luint int firstPathName, @GLenum int fontTarget, @NullTerminated @Const @GLvoid ByteBuffer fontName, @GLbitfield int fontStyle, @GLuint int firstGlyph, @GLsizei int numGlyphs, @GLenum int handleMissingGlyphs, @GLuint int pathParameterTemplate, float emScale)336 void glPathGlyphRangeNV(@GLuint int firstPathName, 337 @GLenum int fontTarget, 338 @NullTerminated @Const @GLvoid ByteBuffer fontName, 339 @GLbitfield int fontStyle, 340 @GLuint int firstGlyph, 341 @GLsizei int numGlyphs, 342 @GLenum int handleMissingGlyphs, 343 @GLuint int pathParameterTemplate, 344 float emScale); 345 glWeightPathsNV(@Luint int resultPath, @AutoSize(R) @GLsizei int numPaths, @Const @GLuint IntBuffer paths, @Check(R) @Const FloatBuffer weights)346 void glWeightPathsNV(@GLuint int resultPath, 347 @AutoSize("paths") @GLsizei int numPaths, 348 @Const @GLuint IntBuffer paths, @Check("paths.remaining()") @Const FloatBuffer weights); 349 glCopyPathNV(@Luint int resultPath, @GLuint int srcPath)350 void glCopyPathNV(@GLuint int resultPath, @GLuint int srcPath); 351 glInterpolatePathsNV(@Luint int resultPath, @GLuint int pathA, @GLuint int pathB, float weight)352 void glInterpolatePathsNV(@GLuint int resultPath, 353 @GLuint int pathA, @GLuint int pathB, 354 float weight); 355 glTransformPathNV(@Luint int resultPath, @GLuint int srcPath, @GLenum int transformType, @Check(value = R, canBeNull = true) @Const FloatBuffer transformValues)356 void glTransformPathNV(@GLuint int resultPath, 357 @GLuint int srcPath, 358 @GLenum int transformType, 359 @Check(value = "GLChecks.calculateTransformPathValues(transformType)", canBeNull = true) @Const FloatBuffer transformValues); 360 361 @StripPostfix("value") glPathParameterivNV(@Luint int path, @GLenum int pname, @Check(R) @Const IntBuffer value)362 void glPathParameterivNV(@GLuint int path, @GLenum int pname, @Check("4") @Const IntBuffer value); 363 glPathParameteriNV(@Luint int path, @GLenum int pname, int value)364 void glPathParameteriNV(@GLuint int path, @GLenum int pname, int value); 365 366 @StripPostfix("value") glPathParameterfvNV(@Luint int path, @GLenum int pname, @Check(R) @Const FloatBuffer value)367 void glPathParameterfvNV(@GLuint int path, @GLenum int pname, @Check("4") @Const FloatBuffer value); 368 glPathParameterfNV(@Luint int path, @GLenum int pname, float value)369 void glPathParameterfNV(@GLuint int path, @GLenum int pname, float value); 370 glPathDashArrayNV(@Luint int path, @AutoSize(R) @GLsizei int dashCount, @Const FloatBuffer dashArray)371 void glPathDashArrayNV(@GLuint int path, 372 @AutoSize("dashArray") @GLsizei int dashCount, @Const FloatBuffer dashArray); 373 374 // PATH NAME MANAGEMENT 375 376 @GLuint glGenPathsNV(@Lsizei int range)377 int glGenPathsNV(@GLsizei int range); 378 glDeletePathsNV(@Luint int path, @GLsizei int range)379 void glDeletePathsNV(@GLuint int path, @GLsizei int range); 380 glIsPathNV(@Luint int path)381 boolean glIsPathNV(@GLuint int path); 382 383 // PATH STENCILING 384 glPathStencilFuncNV(@Lenum int func, int ref, @GLuint int mask)385 void glPathStencilFuncNV(@GLenum int func, int ref, @GLuint int mask); 386 glPathStencilDepthOffsetNV(float factor, int units)387 void glPathStencilDepthOffsetNV(float factor, int units); 388 glStencilFillPathNV(@Luint int path, @GLenum int fillMode, @GLuint int mask)389 void glStencilFillPathNV(@GLuint int path, 390 @GLenum int fillMode, @GLuint int mask); 391 glStencilStrokePathNV(@Luint int path, int reference, @GLuint int mask)392 void glStencilStrokePathNV(@GLuint int path, 393 int reference, @GLuint int mask); 394 395 @Code("\t\tint numPaths = paths.remaining() / GLChecks.calculateBytesPerPathName(pathNameType);") glStencilFillPathInstancedNV(@utoSizevalue = R, expression = R, useExpression = true) @Lsizei int numPaths, @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, @GLuint int pathBase, @GLenum int fillMode, @GLuint int mask, @GLenum int transformType, @Check(value = R, canBeNull = true) @Const FloatBuffer transformValues)396 void glStencilFillPathInstancedNV(@AutoSize(value = "paths", expression = "numPaths", useExpression = true) @GLsizei int numPaths, 397 @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, 398 @GLuint int pathBase, 399 @GLenum int fillMode, @GLuint int mask, 400 @GLenum int transformType, 401 @Check(value = "numPaths * GLChecks.calculateTransformPathValues(transformType)", canBeNull = true) @Const FloatBuffer transformValues); 402 403 @Code("\t\tint numPaths = paths.remaining() / GLChecks.calculateBytesPerPathName(pathNameType);") glStencilStrokePathInstancedNV(@utoSizevalue = R, expression = R, useExpression = true) @Lsizei int numPaths, @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, @GLuint int pathBase, int reference, @GLuint int mask, @GLenum int transformType, @Check(value = R, canBeNull = true) @Const FloatBuffer transformValues)404 void glStencilStrokePathInstancedNV(@AutoSize(value = "paths", expression = "numPaths", useExpression = true) @GLsizei int numPaths, 405 @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, 406 @GLuint int pathBase, 407 int reference, @GLuint int mask, 408 @GLenum int transformType, 409 @Check(value = "numPaths * GLChecks.calculateTransformPathValues(transformType)", canBeNull = true) @Const FloatBuffer transformValues); 410 411 // PATH COVERING 412 glPathCoverDepthFuncNV(@Lenum int zfunc)413 void glPathCoverDepthFuncNV(@GLenum int zfunc); 414 glPathColorGenNV(@Lenum int color, @GLenum int genMode, @GLenum int colorFormat, @Check(value = R, canBeNull = true) @Const FloatBuffer coeffs)415 void glPathColorGenNV(@GLenum int color, 416 @GLenum int genMode, 417 @GLenum int colorFormat, @Check(value = "GLChecks.calculatePathColorGenModeElements(genMode) * GLChecks.calculatePathColorGenFormatComponents(colorFormat)", canBeNull = true) @Const FloatBuffer coeffs); 418 glPathTexGenNV(@Lenum int texCoordSet, @GLenum int genMode, int components, @Check(value = R, canBeNull = true) @Const FloatBuffer coeffs)419 void glPathTexGenNV(@GLenum int texCoordSet, 420 @GLenum int genMode, 421 int components, @Check(value = "GLChecks.calculatePathColorGenModeElements(genMode) * components", canBeNull = true) @Const FloatBuffer coeffs); 422 glPathFogGenNV(@Lenum int genMode)423 void glPathFogGenNV(@GLenum int genMode); 424 glCoverFillPathNV(@Luint int path, @GLenum int coverMode)425 void glCoverFillPathNV(@GLuint int path, @GLenum int coverMode); 426 glCoverStrokePathNV(@Luint int name, @GLenum int coverMode)427 void glCoverStrokePathNV(@GLuint int name, @GLenum int coverMode); 428 429 @Code("\t\tint numPaths = paths.remaining() / GLChecks.calculateBytesPerPathName(pathNameType);") glCoverFillPathInstancedNV(@utoSizevalue = R, expression = R, useExpression = true) @Lsizei int numPaths, @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, @GLuint int pathBase, @GLenum int coverMode, @GLenum int transformType, @Check(value = R, canBeNull = true) @Const FloatBuffer transformValues)430 void glCoverFillPathInstancedNV(@AutoSize(value = "paths", expression = "numPaths", useExpression = true) @GLsizei int numPaths, 431 @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, 432 @GLuint int pathBase, 433 @GLenum int coverMode, 434 @GLenum int transformType, 435 @Check(value = "numPaths * GLChecks.calculateTransformPathValues(transformType)", canBeNull = true) @Const FloatBuffer transformValues); 436 437 @Code("\t\tint numPaths = paths.remaining() / GLChecks.calculateBytesPerPathName(pathNameType);") glCoverStrokePathInstancedNV(@utoSizevalue = R, expression = R, useExpression = true) @Lsizei int numPaths, @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, @GLuint int pathBase, @GLenum int coverMode, @GLenum int transformType, @Check(value = R, canBeNull = true) @Const FloatBuffer transformValues)438 void glCoverStrokePathInstancedNV(@AutoSize(value = "paths", expression = "numPaths", useExpression = true) @GLsizei int numPaths, 439 @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, 440 @GLuint int pathBase, 441 @GLenum int coverMode, 442 @GLenum int transformType, 443 @Check(value = "numPaths * GLChecks.calculateTransformPathValues(transformType)", canBeNull = true) @Const FloatBuffer transformValues); 444 445 // PATH QUERIES 446 447 @StripPostfix("value") glGetPathParameterivNV(@Luint int name, @GLenum int param, @Check(R) @OutParameter IntBuffer value)448 void glGetPathParameterivNV(@GLuint int name, @GLenum int param, @Check("4") @OutParameter IntBuffer value); 449 450 @Alternate("glGetPathParameterivNV") 451 @GLreturn("value") 452 @StripPostfix(value = "value", hasPostfix = false) glGetPathParameterivNV2(@Luint int name, @GLenum int param, @OutParameter IntBuffer value)453 void glGetPathParameterivNV2(@GLuint int name, @GLenum int param, @OutParameter IntBuffer value); 454 glGetPathParameterfvNV(@Luint int name, @GLenum int param, @Check(R) @OutParameter FloatBuffer value)455 void glGetPathParameterfvNV(@GLuint int name, @GLenum int param, @Check("4") @OutParameter FloatBuffer value); 456 457 @Alternate("glGetPathParameterfvNV") 458 @GLreturn("value") 459 @StripPostfix(value = "value", hasPostfix = false) glGetPathParameterfvNV2(@Luint int name, @GLenum int param, @OutParameter FloatBuffer value)460 void glGetPathParameterfvNV2(@GLuint int name, @GLenum int param, @OutParameter FloatBuffer value); 461 glGetPathCommandsNV(@Luint int name, @Check @OutParameter @GLubyte ByteBuffer commands)462 void glGetPathCommandsNV(@GLuint int name, @Check @OutParameter @GLubyte ByteBuffer commands); 463 glGetPathCoordsNV(@Luint int name, @Check @OutParameter FloatBuffer coords)464 void glGetPathCoordsNV(@GLuint int name, @Check @OutParameter FloatBuffer coords); 465 glGetPathDashArrayNV(@Luint int name, @Check @OutParameter FloatBuffer dashArray)466 void glGetPathDashArrayNV(@GLuint int name, @Check @OutParameter FloatBuffer dashArray); 467 468 @Code("\t\tint numPaths = paths.remaining() / GLChecks.calculateBytesPerPathName(pathNameType);") glGetPathMetricsNV(@Lbitfield int metricQueryMask, @AutoSize(value = R, expression = R, useExpression = true) @GLsizei int numPaths, @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, @GLuint int pathBase, @GLsizei int stride, @Check(R) @OutParameter FloatBuffer metrics)469 void glGetPathMetricsNV(@GLbitfield int metricQueryMask, 470 @AutoSize(value = "paths", expression = "numPaths", useExpression = true) @GLsizei int numPaths, 471 @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, 472 @GLuint int pathBase, 473 @GLsizei int stride, 474 @Check("numPaths * GLChecks.calculateMetricsSize(metricQueryMask, stride)") @OutParameter FloatBuffer metrics); 475 glGetPathMetricRangeNV(@Lbitfield int metricQueryMask, @GLuint int fistPathName, @GLsizei int numPaths, @GLsizei int stride, @Check(R) @OutParameter FloatBuffer metrics)476 void glGetPathMetricRangeNV(@GLbitfield int metricQueryMask, 477 @GLuint int fistPathName, 478 @GLsizei int numPaths, 479 @GLsizei int stride, 480 @Check("numPaths * GLChecks.calculateMetricsSize(metricQueryMask, stride)") @OutParameter FloatBuffer metrics); 481 482 @Code("\t\tint numPaths = paths.remaining() / GLChecks.calculateBytesPerPathName(pathNameType);") glGetPathSpacingNV(@Lenum int pathListMode, @AutoSize(value = R, expression = R, useExpression = true) @GLsizei int numPaths, @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, @GLuint int pathBase, float advanceScale, float kerningScale, @GLenum int transformType, @Check(R) @OutParameter FloatBuffer returnedSpacing)483 void glGetPathSpacingNV(@GLenum int pathListMode, 484 @AutoSize(value = "paths", expression = "numPaths", useExpression = true) @GLsizei int numPaths, 485 @GLenum int pathNameType, @Const @GLvoid ByteBuffer paths, 486 @GLuint int pathBase, 487 float advanceScale, 488 float kerningScale, 489 @GLenum int transformType, 490 @Check("numPaths - 1") @OutParameter FloatBuffer returnedSpacing); 491 492 @StripPostfix("value") glGetPathColorGenivNV(@Lenum int color, @GLenum int pname, @Check(R) @OutParameter IntBuffer value)493 void glGetPathColorGenivNV(@GLenum int color, @GLenum int pname, @Check("16") @OutParameter IntBuffer value); 494 495 @Alternate("glGetPathColorGenivNV") 496 @GLreturn("value") 497 @StripPostfix(value = "value", hasPostfix = false) glGetPathColorGenivNV2(@Lenum int color, @GLenum int pname, @OutParameter IntBuffer value)498 void glGetPathColorGenivNV2(@GLenum int color, @GLenum int pname, @OutParameter IntBuffer value); 499 500 @StripPostfix("value") glGetPathColorGenfvNV(@Lenum int color, @GLenum int pname, @Check(R) @OutParameter FloatBuffer value)501 void glGetPathColorGenfvNV(@GLenum int color, @GLenum int pname, @Check("16") @OutParameter FloatBuffer value); 502 503 @Alternate("glGetPathColorGenfvNV") 504 @GLreturn("value") 505 @StripPostfix(value = "value", hasPostfix = false) glGetPathColorGenfvNV2(@Lenum int color, @GLenum int pname, @OutParameter FloatBuffer value)506 void glGetPathColorGenfvNV2(@GLenum int color, @GLenum int pname, @OutParameter FloatBuffer value); 507 508 @StripPostfix("value") glGetPathTexGenivNV(@Lenum int texCoordSet, @GLenum int pname, @Check(R) @OutParameter IntBuffer value)509 void glGetPathTexGenivNV(@GLenum int texCoordSet, @GLenum int pname, @Check("16") @OutParameter IntBuffer value); 510 511 @Alternate("glGetPathTexGenivNV") 512 @GLreturn("value") 513 @StripPostfix(value = "value", hasPostfix = false) glGetPathTexGenivNV2(@Lenum int texCoordSet, @GLenum int pname, @OutParameter IntBuffer value)514 void glGetPathTexGenivNV2(@GLenum int texCoordSet, @GLenum int pname, @OutParameter IntBuffer value); 515 516 @StripPostfix("value") glGetPathTexGenfvNV(@Lenum int texCoordSet, @GLenum int pname, @Check(R) @OutParameter FloatBuffer value)517 void glGetPathTexGenfvNV(@GLenum int texCoordSet, @GLenum int pname, @Check("16") @OutParameter FloatBuffer value); 518 519 @Alternate("glGetPathTexGenfvNV") 520 @GLreturn("value") 521 @StripPostfix(value = "value", hasPostfix = false) glGetPathTexGenfvNV2(@Lenum int texCoordSet, @GLenum int pname, @OutParameter FloatBuffer value)522 void glGetPathTexGenfvNV2(@GLenum int texCoordSet, @GLenum int pname, @OutParameter FloatBuffer value); 523 glIsPointInFillPathNV(@Luint int path, @GLuint int mask, float x, float y)524 boolean glIsPointInFillPathNV(@GLuint int path, 525 @GLuint int mask, float x, float y); 526 glIsPointInStrokePathNV(@Luint int path, float x, float y)527 boolean glIsPointInStrokePathNV(@GLuint int path, 528 float x, float y); 529 glGetPathLengthNV(@Luint int path, @GLsizei int startSegment, @GLsizei int numSegments)530 float glGetPathLengthNV(@GLuint int path, 531 @GLsizei int startSegment, @GLsizei int numSegments); 532 glPointAlongPathNV(@Luint int path, @GLsizei int startSegment, @GLsizei int numSegments, float distance, @Check(value = R, canBeNull = true) @OutParameter FloatBuffer x, @Check(value = R, canBeNull = true) @OutParameter FloatBuffer y, @Check(value = R, canBeNull = true) @OutParameter FloatBuffer tangentX, @Check(value = R, canBeNull = true) @OutParameter FloatBuffer tangentY)533 boolean glPointAlongPathNV(@GLuint int path, 534 @GLsizei int startSegment, @GLsizei int numSegments, 535 float distance, 536 @Check(value = "1", canBeNull = true) @OutParameter FloatBuffer x, 537 @Check(value = "1", canBeNull = true) @OutParameter FloatBuffer y, 538 @Check(value = "1", canBeNull = true) @OutParameter FloatBuffer tangentX, 539 @Check(value = "1", canBeNull = true) @OutParameter FloatBuffer tangentY); 540 541 }