00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _OPENVG_H
00010 #define _OPENVG_H
00011
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00016 #include <vg/khronos_types.h>
00017
00018 #define OPENVG_VERSION_1_0 1
00019
00020 typedef khronos_float VGfloat;
00021 typedef khronos_int8_t VGbyte;
00022 typedef khronos_uint8_t VGubyte;
00023 typedef khronos_int16_t VGshort;
00024 typedef khronos_int32_t VGint;
00025 typedef khronos_uint32_t VGuint;
00026 typedef khronos_uint32_t VGbitfield;
00027
00028 typedef enum {
00029 VG_FALSE = 0,
00030 VG_TRUE = 1
00031 } VGboolean;
00032
00033 #define VG_MAXSHORT ((VGshort)((~((unsigned)0)) >> 1))
00034 #define VG_MAXINT ((VGint)((~((unsigned)0)) >> 1))
00035
00036 typedef VGuint VGHandle;
00037
00038 #define VG_INVALID_HANDLE ((VGHandle)0)
00039
00040 typedef enum {
00041 VG_NO_ERROR = 0,
00042 VG_BAD_HANDLE_ERROR = 0x1000,
00043 VG_ILLEGAL_ARGUMENT_ERROR = 0x1001,
00044 VG_OUT_OF_MEMORY_ERROR = 0x1002,
00045 VG_PATH_CAPABILITY_ERROR = 0x1003,
00046 VG_UNSUPPORTED_IMAGE_FORMAT_ERROR = 0x1004,
00047 VG_UNSUPPORTED_PATH_FORMAT_ERROR = 0x1005,
00048 VG_IMAGE_IN_USE_ERROR = 0x1006,
00049 VG_NO_CONTEXT_ERROR = 0x1007
00050 } VGErrorCode;
00051
00052 typedef enum {
00053
00054 VG_MATRIX_MODE = 0x1100,
00055 VG_FILL_RULE = 0x1101,
00056 VG_IMAGE_QUALITY = 0x1102,
00057 VG_RENDERING_QUALITY = 0x1103,
00058 VG_BLEND_MODE = 0x1104,
00059 VG_IMAGE_MODE = 0x1105,
00060
00061
00062 VG_SCISSOR_RECTS = 0x1106,
00063
00064
00065 VG_STROKE_LINE_WIDTH = 0x1110,
00066 VG_STROKE_CAP_STYLE = 0x1111,
00067 VG_STROKE_JOIN_STYLE = 0x1112,
00068 VG_STROKE_MITER_LIMIT = 0x1113,
00069 VG_STROKE_DASH_PATTERN = 0x1114,
00070 VG_STROKE_DASH_PHASE = 0x1115,
00071 VG_STROKE_DASH_PHASE_RESET = 0x1116,
00072
00073
00074 VG_TILE_FILL_COLOR = 0x1120,
00075
00076
00077 VG_CLEAR_COLOR = 0x1121,
00078
00079
00080 VG_MASKING = 0x1130,
00081 VG_SCISSORING = 0x1131,
00082
00083
00084 VG_PIXEL_LAYOUT = 0x1140,
00085 VG_SCREEN_LAYOUT = 0x1141,
00086
00087
00088 VG_FILTER_FORMAT_LINEAR = 0x1150,
00089 VG_FILTER_FORMAT_PREMULTIPLIED = 0x1151,
00090
00091
00092 VG_FILTER_CHANNEL_MASK = 0x1152,
00093
00094
00095 VG_MAX_SCISSOR_RECTS = 0x1160,
00096 VG_MAX_DASH_COUNT = 0x1161,
00097 VG_MAX_KERNEL_SIZE = 0x1162,
00098 VG_MAX_SEPARABLE_KERNEL_SIZE = 0x1163,
00099 VG_MAX_COLOR_RAMP_STOPS = 0x1164,
00100 VG_MAX_IMAGE_WIDTH = 0x1165,
00101 VG_MAX_IMAGE_HEIGHT = 0x1166,
00102 VG_MAX_IMAGE_PIXELS = 0x1167,
00103 VG_MAX_IMAGE_BYTES = 0x1168,
00104 VG_MAX_FLOAT = 0x1169,
00105 VG_MAX_GAUSSIAN_STD_DEVIATION = 0x116A
00106 } VGParamType;
00107
00108 typedef enum {
00109 VG_RENDERING_QUALITY_NONANTIALIASED = 0x1200,
00110 VG_RENDERING_QUALITY_FASTER = 0x1201,
00111 VG_RENDERING_QUALITY_BETTER = 0x1202
00112 } VGRenderingQuality;
00113
00114 typedef enum {
00115 VG_PIXEL_LAYOUT_UNKNOWN = 0x1300,
00116 VG_PIXEL_LAYOUT_RGB_VERTICAL = 0x1301,
00117 VG_PIXEL_LAYOUT_BGR_VERTICAL = 0x1302,
00118 VG_PIXEL_LAYOUT_RGB_HORIZONTAL = 0x1303,
00119 VG_PIXEL_LAYOUT_BGR_HORIZONTAL = 0x1304
00120 } VGPixelLayout;
00121
00122 typedef enum {
00123 VG_MATRIX_PATH_USER_TO_SURFACE = 0x1400,
00124 VG_MATRIX_IMAGE_USER_TO_SURFACE = 0x1401,
00125 VG_MATRIX_FILL_PAINT_TO_USER = 0x1402,
00126 VG_MATRIX_STROKE_PAINT_TO_USER = 0x1403
00127 } VGMatrixMode;
00128
00129 typedef enum {
00130 VG_CLEAR_MASK = 0x1500,
00131 VG_FILL_MASK = 0x1501,
00132 VG_SET_MASK = 0x1502,
00133 VG_UNION_MASK = 0x1503,
00134 VG_INTERSECT_MASK = 0x1504,
00135 VG_SUBTRACT_MASK = 0x1505
00136 } VGMaskOperation;
00137
00138 #define VG_PATH_FORMAT_STANDARD 0
00139
00140 typedef enum {
00141 VG_PATH_DATATYPE_S_8 = 0,
00142 VG_PATH_DATATYPE_S_16 = 1,
00143 VG_PATH_DATATYPE_S_32 = 2,
00144 VG_PATH_DATATYPE_F = 3
00145 } VGPathDatatype;
00146
00147 typedef enum {
00148 VG_ABSOLUTE = 0,
00149 VG_RELATIVE = 1
00150 } VGPathAbsRel;
00151
00152 typedef enum {
00153 VG_CLOSE_PATH = ( 0 << 1),
00154 VG_MOVE_TO = ( 1 << 1),
00155 VG_LINE_TO = ( 2 << 1),
00156 VG_HLINE_TO = ( 3 << 1),
00157 VG_VLINE_TO = ( 4 << 1),
00158 VG_QUAD_TO = ( 5 << 1),
00159 VG_CUBIC_TO = ( 6 << 1),
00160 VG_SQUAD_TO = ( 7 << 1),
00161 VG_SCUBIC_TO = ( 8 << 1),
00162 VG_SCCWARC_TO = ( 9 << 1),
00163 VG_SCWARC_TO = (10 << 1),
00164 VG_LCCWARC_TO = (11 << 1),
00165 VG_LCWARC_TO = (12 << 1)
00166 } VGPathSegment;
00167
00168 typedef enum {
00169 VG_MOVE_TO_ABS = VG_MOVE_TO | VG_ABSOLUTE,
00170 VG_MOVE_TO_REL = VG_MOVE_TO | VG_RELATIVE,
00171 VG_LINE_TO_ABS = VG_LINE_TO | VG_ABSOLUTE,
00172 VG_LINE_TO_REL = VG_LINE_TO | VG_RELATIVE,
00173 VG_HLINE_TO_ABS = VG_HLINE_TO | VG_ABSOLUTE,
00174 VG_HLINE_TO_REL = VG_HLINE_TO | VG_RELATIVE,
00175 VG_VLINE_TO_ABS = VG_VLINE_TO | VG_ABSOLUTE,
00176 VG_VLINE_TO_REL = VG_VLINE_TO | VG_RELATIVE,
00177 VG_QUAD_TO_ABS = VG_QUAD_TO | VG_ABSOLUTE,
00178 VG_QUAD_TO_REL = VG_QUAD_TO | VG_RELATIVE,
00179 VG_CUBIC_TO_ABS = VG_CUBIC_TO | VG_ABSOLUTE,
00180 VG_CUBIC_TO_REL = VG_CUBIC_TO | VG_RELATIVE,
00181 VG_SQUAD_TO_ABS = VG_SQUAD_TO | VG_ABSOLUTE,
00182 VG_SQUAD_TO_REL = VG_SQUAD_TO | VG_RELATIVE,
00183 VG_SCUBIC_TO_ABS = VG_SCUBIC_TO | VG_ABSOLUTE,
00184 VG_SCUBIC_TO_REL = VG_SCUBIC_TO | VG_RELATIVE,
00185 VG_SCCWARC_TO_ABS = VG_SCCWARC_TO | VG_ABSOLUTE,
00186 VG_SCCWARC_TO_REL = VG_SCCWARC_TO | VG_RELATIVE,
00187 VG_SCWARC_TO_ABS = VG_SCWARC_TO | VG_ABSOLUTE,
00188 VG_SCWARC_TO_REL = VG_SCWARC_TO | VG_RELATIVE,
00189 VG_LCCWARC_TO_ABS = VG_LCCWARC_TO | VG_ABSOLUTE,
00190 VG_LCCWARC_TO_REL = VG_LCCWARC_TO | VG_RELATIVE,
00191 VG_LCWARC_TO_ABS = VG_LCWARC_TO | VG_ABSOLUTE,
00192 VG_LCWARC_TO_REL = VG_LCWARC_TO | VG_RELATIVE
00193 } VGPathCommand;
00194
00195 typedef VGHandle VGPath;
00196
00197 typedef enum {
00198 VG_PATH_CAPABILITY_APPEND_FROM = (1 << 0),
00199 VG_PATH_CAPABILITY_APPEND_TO = (1 << 1),
00200 VG_PATH_CAPABILITY_MODIFY = (1 << 2),
00201 VG_PATH_CAPABILITY_TRANSFORM_FROM = (1 << 3),
00202 VG_PATH_CAPABILITY_TRANSFORM_TO = (1 << 4),
00203 VG_PATH_CAPABILITY_INTERPOLATE_FROM = (1 << 5),
00204 VG_PATH_CAPABILITY_INTERPOLATE_TO = (1 << 6),
00205 VG_PATH_CAPABILITY_PATH_LENGTH = (1 << 7),
00206 VG_PATH_CAPABILITY_POINT_ALONG_PATH = (1 << 8),
00207 VG_PATH_CAPABILITY_TANGENT_ALONG_PATH = (1 << 9),
00208 VG_PATH_CAPABILITY_PATH_BOUNDS = (1 << 10),
00209 VG_PATH_CAPABILITY_PATH_TRANSFORMED_BOUNDS = (1 << 11),
00210 VG_PATH_CAPABILITY_ALL = (1 << 12) - 1
00211 } VGPathCapabilities;
00212
00213 typedef enum {
00214 VG_PATH_FORMAT = 0x1600,
00215 VG_PATH_DATATYPE = 0x1601,
00216 VG_PATH_SCALE = 0x1602,
00217 VG_PATH_BIAS = 0x1603,
00218 VG_PATH_NUM_SEGMENTS = 0x1604,
00219 VG_PATH_NUM_COORDS = 0x1605
00220 } VGPathParamType;
00221
00222 typedef enum {
00223 VG_CAP_BUTT = 0x1700,
00224 VG_CAP_ROUND = 0x1701,
00225 VG_CAP_SQUARE = 0x1702
00226 } VGCapStyle;
00227
00228 typedef enum {
00229 VG_JOIN_MITER = 0x1800,
00230 VG_JOIN_ROUND = 0x1801,
00231 VG_JOIN_BEVEL = 0x1802
00232 } VGJoinStyle;
00233
00234 typedef enum {
00235 VG_EVEN_ODD = 0x1900,
00236 VG_NON_ZERO = 0x1901
00237 } VGFillRule;
00238
00239 typedef enum {
00240 VG_STROKE_PATH = (1 << 0),
00241 VG_FILL_PATH = (1 << 1)
00242 } VGPaintMode;
00243
00244 typedef VGHandle VGPaint;
00245
00246 typedef enum {
00247
00248 VG_PAINT_TYPE = 0x1A00,
00249 VG_PAINT_COLOR = 0x1A01,
00250 VG_PAINT_COLOR_RAMP_SPREAD_MODE = 0x1A02,
00251 VG_PAINT_COLOR_RAMP_PREMULTIPLIED = 0x1A07,
00252 VG_PAINT_COLOR_RAMP_STOPS = 0x1A03,
00253
00254
00255 VG_PAINT_LINEAR_GRADIENT = 0x1A04,
00256
00257
00258 VG_PAINT_RADIAL_GRADIENT = 0x1A05,
00259
00260
00261 VG_PAINT_PATTERN_TILING_MODE = 0x1A06
00262 } VGPaintParamType;
00263
00264 typedef enum {
00265 VG_PAINT_TYPE_COLOR = 0x1B00,
00266 VG_PAINT_TYPE_LINEAR_GRADIENT = 0x1B01,
00267 VG_PAINT_TYPE_RADIAL_GRADIENT = 0x1B02,
00268 VG_PAINT_TYPE_PATTERN = 0x1B03
00269 } VGPaintType;
00270
00271 typedef enum {
00272 VG_COLOR_RAMP_SPREAD_PAD = 0x1C00,
00273 VG_COLOR_RAMP_SPREAD_REPEAT = 0x1C01,
00274 VG_COLOR_RAMP_SPREAD_REFLECT = 0x1C02
00275 } VGColorRampSpreadMode;
00276
00277 typedef enum {
00278 VG_TILE_FILL = 0x1D00,
00279 VG_TILE_PAD = 0x1D01,
00280 VG_TILE_REPEAT = 0x1D02,
00281 VG_TILE_REFLECT = 0x1D03
00282 } VGTilingMode;
00283
00284 typedef enum {
00285
00286 VG_sRGBX_8888 = 0,
00287 VG_sRGBA_8888 = 1,
00288 VG_sRGBA_8888_PRE = 2,
00289 VG_sRGB_565 = 3,
00290 VG_sRGBA_5551 = 4,
00291 VG_sRGBA_4444 = 5,
00292 VG_sL_8 = 6,
00293 VG_lRGBX_8888 = 7,
00294 VG_lRGBA_8888 = 8,
00295 VG_lRGBA_8888_PRE = 9,
00296 VG_lL_8 = 10,
00297 VG_A_8 = 11,
00298 VG_BW_1 = 12,
00299
00300
00301 VG_sXRGB_8888 = 0 | (1 << 6),
00302 VG_sARGB_8888 = 1 | (1 << 6),
00303 VG_sARGB_8888_PRE = 2 | (1 << 6),
00304 VG_sARGB_1555 = 4 | (1 << 6),
00305 VG_sARGB_4444 = 5 | (1 << 6),
00306 VG_lXRGB_8888 = 7 | (1 << 6),
00307 VG_lARGB_8888 = 8 | (1 << 6),
00308 VG_lARGB_8888_PRE = 9 | (1 << 6),
00309
00310
00311 VG_sBGRX_8888 = 0 | (1 << 7),
00312 VG_sBGRA_8888 = 1 | (1 << 7),
00313 VG_sBGRA_8888_PRE = 2 | (1 << 7),
00314 VG_sBGR_565 = 3 | (1 << 7),
00315 VG_sBGRA_5551 = 4 | (1 << 7),
00316 VG_sBGRA_4444 = 5 | (1 << 7),
00317 VG_lBGRX_8888 = 7 | (1 << 7),
00318 VG_lBGRA_8888 = 8 | (1 << 7),
00319 VG_lBGRA_8888_PRE = 9 | (1 << 7),
00320
00321
00322 VG_sXBGR_8888 = 0 | (1 << 6) | (1 << 7),
00323 VG_sABGR_8888 = 1 | (1 << 6) | (1 << 7),
00324 VG_sABGR_8888_PRE = 2 | (1 << 6) | (1 << 7),
00325 VG_sABGR_1555 = 4 | (1 << 6) | (1 << 7),
00326 VG_sABGR_4444 = 5 | (1 << 6) | (1 << 7),
00327 VG_lXBGR_8888 = 7 | (1 << 6) | (1 << 7),
00328 VG_lABGR_8888 = 8 | (1 << 6) | (1 << 7),
00329 VG_lABGR_8888_PRE = 9 | (1 << 6) | (1 << 7)
00330 } VGImageFormat;
00331
00332 typedef VGHandle VGImage;
00333
00334 typedef enum {
00335 VG_IMAGE_QUALITY_NONANTIALIASED = (1 << 0),
00336 VG_IMAGE_QUALITY_FASTER = (1 << 1),
00337 VG_IMAGE_QUALITY_BETTER = (1 << 2)
00338 } VGImageQuality;
00339
00340 typedef enum {
00341 VG_IMAGE_FORMAT = 0x1E00,
00342 VG_IMAGE_WIDTH = 0x1E01,
00343 VG_IMAGE_HEIGHT = 0x1E02
00344 } VGImageParamType;
00345
00346 typedef enum {
00347 VG_DRAW_IMAGE_NORMAL = 0x1F00,
00348 VG_DRAW_IMAGE_MULTIPLY = 0x1F01,
00349 VG_DRAW_IMAGE_STENCIL = 0x1F02
00350 } VGImageMode;
00351
00352 typedef enum {
00353 VG_RED = (1 << 3),
00354 VG_GREEN = (1 << 2),
00355 VG_BLUE = (1 << 1),
00356 VG_ALPHA = (1 << 0)
00357 } VGImageChannel;
00358
00359 typedef enum {
00360 VG_BLEND_SRC = 0x2000,
00361 VG_BLEND_SRC_OVER = 0x2001,
00362 VG_BLEND_DST_OVER = 0x2002,
00363 VG_BLEND_SRC_IN = 0x2003,
00364 VG_BLEND_DST_IN = 0x2004,
00365 VG_BLEND_MULTIPLY = 0x2005,
00366 VG_BLEND_SCREEN = 0x2006,
00367 VG_BLEND_DARKEN = 0x2007,
00368 VG_BLEND_LIGHTEN = 0x2008,
00369 VG_BLEND_ADDITIVE = 0x2009
00370 } VGBlendMode;
00371
00372 typedef enum {
00373 VG_IMAGE_FORMAT_QUERY = 0x2100,
00374 VG_PATH_DATATYPE_QUERY = 0x2101
00375 } VGHardwareQueryType;
00376
00377 typedef enum {
00378 VG_HARDWARE_ACCELERATED = 0x2200,
00379 VG_HARDWARE_UNACCELERATED = 0x2201
00380 } VGHardwareQueryResult;
00381
00382 typedef enum {
00383 VG_VENDOR = 0x2300,
00384 VG_RENDERER = 0x2301,
00385 VG_VERSION = 0x2302,
00386 VG_EXTENSIONS = 0x2303
00387 } VGStringID;
00388
00389
00390
00391 #ifndef VG_API_CALL
00392 #define VG_API_CALL extern
00393 #endif
00394
00395 VG_API_CALL VGErrorCode vgGetError(void);
00396
00397 VG_API_CALL void vgFlush(void);
00398 VG_API_CALL void vgFinish(void);
00399
00400
00401 VG_API_CALL void vgSetf (VGParamType type, VGfloat value);
00402 VG_API_CALL void vgSeti (VGParamType type, VGint value);
00403 VG_API_CALL void vgSetfv(VGParamType type, VGint count,
00404 const VGfloat * values);
00405 VG_API_CALL void vgSetiv(VGParamType type, VGint count,
00406 const VGint * values);
00407
00408 VG_API_CALL VGfloat vgGetf(VGParamType type);
00409 VG_API_CALL VGint vgGeti(VGParamType type);
00410 VG_API_CALL VGint vgGetVectorSize(VGParamType type);
00411 VG_API_CALL void vgGetfv(VGParamType type, VGint count, VGfloat * values);
00412 VG_API_CALL void vgGetiv(VGParamType type, VGint count, VGint * values);
00413
00414 VG_API_CALL void vgSetParameterf(VGHandle object,
00415 VGint paramType,
00416 VGfloat value);
00417 VG_API_CALL void vgSetParameteri(VGHandle object,
00418 VGint paramType,
00419 VGint value);
00420 VG_API_CALL void vgSetParameterfv(VGHandle object,
00421 VGint paramType,
00422 VGint count, const VGfloat * values);
00423 VG_API_CALL void vgSetParameteriv(VGHandle object,
00424 VGint paramType,
00425 VGint count, const VGint * values);
00426
00427 VG_API_CALL VGfloat vgGetParameterf(VGHandle object,
00428 VGint paramType);
00429 VG_API_CALL VGint vgGetParameteri(VGHandle object,
00430 VGint paramType);
00431 VG_API_CALL VGint vgGetParameterVectorSize(VGHandle object,
00432 VGint paramType);
00433 VG_API_CALL void vgGetParameterfv(VGHandle object,
00434 VGint paramType,
00435 VGint count, VGfloat * values);
00436 VG_API_CALL void vgGetParameteriv(VGHandle object,
00437 VGint paramType,
00438 VGint count, VGint * values);
00439
00440
00441 VG_API_CALL void vgLoadIdentity(void);
00442 VG_API_CALL void vgLoadMatrix(const VGfloat * m);
00443 VG_API_CALL void vgGetMatrix(VGfloat * m);
00444 VG_API_CALL void vgMultMatrix(const VGfloat * m);
00445 VG_API_CALL void vgTranslate(VGfloat tx, VGfloat ty);
00446 VG_API_CALL void vgScale(VGfloat sx, VGfloat sy);
00447 VG_API_CALL void vgShear(VGfloat shx, VGfloat shy);
00448 VG_API_CALL void vgRotate(VGfloat angle);
00449
00450
00451 VG_API_CALL void vgMask(VGImage mask, VGMaskOperation operation,
00452 VGint x, VGint y, VGint width, VGint height);
00453 VG_API_CALL void vgClear(VGint x, VGint y, VGint width, VGint height);
00454
00455
00456 VG_API_CALL VGPath vgCreatePath(VGint pathFormat,
00457 VGPathDatatype datatype,
00458 VGfloat scale, VGfloat bias,
00459 VGint segmentCapacityHint,
00460 VGint coordCapacityHint,
00461 VGbitfield capabilities);
00462 VG_API_CALL void vgClearPath(VGPath path, VGbitfield capabilities);
00463 VG_API_CALL void vgDestroyPath(VGPath path);
00464 VG_API_CALL void vgRemovePathCapabilities(VGPath path,
00465 VGbitfield capabilities);
00466 VG_API_CALL VGbitfield vgGetPathCapabilities(VGPath path);
00467 VG_API_CALL void vgAppendPath(VGPath dstPath, VGPath srcPath);
00468 VG_API_CALL void vgAppendPathData(VGPath dstPath,
00469 VGint numSegments,
00470 const VGubyte * pathSegments,
00471 const void * pathData);
00472 VG_API_CALL void vgModifyPathCoords(VGPath dstPath, VGint startIndex,
00473 VGint numSegments,
00474 const void * pathData);
00475 VG_API_CALL void vgTransformPath(VGPath dstPath, VGPath srcPath);
00476 VG_API_CALL VGboolean vgInterpolatePath(VGPath dstPath,
00477 VGPath startPath,
00478 VGPath endPath,
00479 VGfloat amount);
00480 VG_API_CALL VGfloat vgPathLength(VGPath path,
00481 VGint startSegment, VGint numSegments);
00482 VG_API_CALL void vgPointAlongPath(VGPath path,
00483 VGint startSegment, VGint numSegments,
00484 VGfloat distance,
00485 VGfloat * x, VGfloat * y,
00486 VGfloat * tangentX, VGfloat * tangentY);
00487 VG_API_CALL void vgPathBounds(VGPath path,
00488 VGfloat * minX, VGfloat * minY,
00489 VGfloat * width, VGfloat * height);
00490 VG_API_CALL void vgPathTransformedBounds(VGPath path,
00491 VGfloat * minX, VGfloat * minY,
00492 VGfloat * width, VGfloat * height);
00493 VG_API_CALL void vgDrawPath(VGPath path, VGbitfield paintModes);
00494
00495
00496 VG_API_CALL VGPaint vgCreatePaint(void);
00497 VG_API_CALL void vgDestroyPaint(VGPaint paint);
00498 VG_API_CALL void vgSetPaint(VGPaint paint, VGbitfield paintModes);
00499 VG_API_CALL VGPaint vgGetPaint(VGPaintMode paintMode);
00500 VG_API_CALL void vgSetColor(VGPaint paint, VGuint rgba);
00501 VG_API_CALL VGuint vgGetColor(VGPaint paint);
00502 VG_API_CALL void vgPaintPattern(VGPaint paint, VGImage pattern);
00503
00504
00505 VG_API_CALL VGImage vgCreateImage(VGImageFormat format,
00506 VGint width, VGint height,
00507 VGbitfield allowedQuality);
00508 VG_API_CALL void vgDestroyImage(VGImage image);
00509 VG_API_CALL void vgClearImage(VGImage image,
00510 VGint x, VGint y, VGint width, VGint height);
00511 VG_API_CALL void vgImageSubData(VGImage image,
00512 const void * data, VGint dataStride,
00513 VGImageFormat dataFormat,
00514 VGint x, VGint y, VGint width, VGint height);
00515 VG_API_CALL void vgGetImageSubData(VGImage image,
00516 void * data, VGint dataStride,
00517 VGImageFormat dataFormat,
00518 VGint x, VGint y,
00519 VGint width, VGint height);
00520 VG_API_CALL VGImage vgChildImage(VGImage parent,
00521 VGint x, VGint y, VGint width, VGint height);
00522 VG_API_CALL VGImage vgGetParent(VGImage image);
00523 VG_API_CALL void vgCopyImage(VGImage dst, VGint dx, VGint dy,
00524 VGImage src, VGint sx, VGint sy,
00525 VGint width, VGint height,
00526 VGboolean dither);
00527 VG_API_CALL void vgDrawImage(VGImage image);
00528 VG_API_CALL void vgSetPixels(VGint dx, VGint dy,
00529 VGImage src, VGint sx, VGint sy,
00530 VGint width, VGint height);
00531 VG_API_CALL void vgWritePixels(const void * data, VGint dataStride,
00532 VGImageFormat dataFormat,
00533 VGint dx, VGint dy,
00534 VGint width, VGint height);
00535 VG_API_CALL void vgGetPixels(VGImage dst, VGint dx, VGint dy,
00536 VGint sx, VGint sy,
00537 VGint width, VGint height);
00538 VG_API_CALL void vgReadPixels(void * data, VGint dataStride,
00539 VGImageFormat dataFormat,
00540 VGint sx, VGint sy,
00541 VGint width, VGint height);
00542 VG_API_CALL void vgCopyPixels(VGint dx, VGint dy,
00543 VGint sx, VGint sy,
00544 VGint width, VGint height);
00545
00546
00547 VG_API_CALL void vgColorMatrix(VGImage dst, VGImage src,
00548 const VGfloat * matrix);
00549 VG_API_CALL void vgConvolve(VGImage dst, VGImage src,
00550 VGint kernelWidth, VGint kernelHeight,
00551 VGint shiftX, VGint shiftY,
00552 const VGshort * kernel,
00553 VGfloat scale,
00554 VGfloat bias,
00555 VGTilingMode tilingMode);
00556 VG_API_CALL void vgSeparableConvolve(VGImage dst, VGImage src,
00557 VGint kernelWidth,
00558 VGint kernelHeight,
00559 VGint shiftX, VGint shiftY,
00560 const VGshort * kernelX,
00561 const VGshort * kernelY,
00562 VGfloat scale,
00563 VGfloat bias,
00564 VGTilingMode tilingMode);
00565 VG_API_CALL void vgGaussianBlur(VGImage dst, VGImage src,
00566 VGfloat stdDeviationX,
00567 VGfloat stdDeviationY,
00568 VGTilingMode tilingMode);
00569 VG_API_CALL void vgLookup(VGImage dst, VGImage src,
00570 const VGubyte * redLUT,
00571 const VGubyte * greenLUT,
00572 const VGubyte * blueLUT,
00573 const VGubyte * alphaLUT,
00574 VGboolean outputLinear,
00575 VGboolean outputPremultiplied);
00576 VG_API_CALL void vgLookupSingle(VGImage dst, VGImage src,
00577 const VGuint * lookupTable,
00578 VGImageChannel sourceChannel,
00579 VGboolean outputLinear,
00580 VGboolean outputPremultiplied);
00581
00582
00583 VG_API_CALL VGHardwareQueryResult vgHardwareQuery(VGHardwareQueryType key,
00584 VGint setting);
00585
00586
00587 VG_API_CALL const VGubyte * vgGetString(VGStringID name);
00588
00589 #ifdef __cplusplus
00590 }
00591 #endif
00592
00593 #endif