1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/graphics/openvg/openvginterface/include/1.0/vgu.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,139 @@
1.4 +/*------------------------------------------------------------------------
1.5 + *
1.6 + * OpenVG 1.0.1 Reference Implementation
1.7 + * -------------------------------------
1.8 + *
1.9 + * Copyright (c) 2007-2009 The Khronos Group Inc.
1.10 + *
1.11 + * Permission is hereby granted, free of charge, to any person obtaining a
1.12 + * copy of this software and /or associated documentation files
1.13 + * (the "Materials "), to deal in the Materials without restriction,
1.14 + * including without limitation the rights to use, copy, modify, merge,
1.15 + * publish, distribute, sublicense, and/or sell copies of the Materials,
1.16 + * and to permit persons to whom the Materials are furnished to do so,
1.17 + * subject to the following conditions:
1.18 + *
1.19 + * The above copyright notice and this permission notice shall be included
1.20 + * in all copies or substantial portions of the Materials.
1.21 + *
1.22 + * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1.23 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1.24 + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1.25 + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1.26 + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1.27 + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
1.28 + * THE USE OR OTHER DEALINGS IN THE MATERIALS.
1.29 + *
1.30 + *//**
1.31 + * \file
1.32 + * \brief OpenVG VGU 1.0.1 API.
1.33 + *//*-------------------------------------------------------------------*/
1.34 +
1.35 +#ifndef __VG_1_0_VGU_H
1.36 +#define __VG_1_0_VGU_H
1.37 +
1.38 +#ifndef __VG_VGU_H_
1.39 +#error Do not include this file directly. Use <VG/vgu.h>.
1.40 +#endif
1.41 +
1.42 +/* differences from the actual sample implemtation provided by Khronos:
1.43 +- this comment
1.44 +- the Doxygen comment with tag 'publishedAll', and tag 'released'
1.45 +- changing
1.46 + #define VG_API_CALL extern
1.47 + to
1.48 + #define VG_API_CALL IMPORT_C
1.49 +- the addition of __SOFTFP in some of the function prototypes
1.50 + */
1.51 +
1.52 +/**
1.53 +@publishedAll
1.54 +@released
1.55 +*/
1.56 +
1.57 +#ifdef __cplusplus
1.58 +extern "C" {
1.59 +#endif
1.60 +
1.61 +#include <VG/openvg.h>
1.62 +
1.63 +#define VGU_VERSION_1_0 1
1.64 +#define VGU_VERSION_1_0_1 1
1.65 +
1.66 +#ifndef VGU_API_CALL
1.67 +# if defined(SYMBIAN_VG_DLL_EXPORTS)
1.68 +# define VGU_API_CALL EXPORT_C
1.69 +# else
1.70 +# define VGU_API_CALL IMPORT_C
1.71 +# endif //defined(SYMBIAN_VG_DLL_EXPORTS)
1.72 +#endif
1.73 +
1.74 +typedef enum {
1.75 + VGU_NO_ERROR = 0,
1.76 + VGU_BAD_HANDLE_ERROR = 0xF000,
1.77 + VGU_ILLEGAL_ARGUMENT_ERROR = 0xF001,
1.78 + VGU_OUT_OF_MEMORY_ERROR = 0xF002,
1.79 + VGU_PATH_CAPABILITY_ERROR = 0xF003,
1.80 + VGU_BAD_WARP_ERROR = 0xF004
1.81 +} VGUErrorCode;
1.82 +
1.83 +typedef enum {
1.84 + VGU_ARC_OPEN = 0xF100,
1.85 + VGU_ARC_CHORD = 0xF101,
1.86 + VGU_ARC_PIE = 0xF102
1.87 +} VGUArcType;
1.88 +
1.89 +VGU_API_CALL VGUErrorCode vguLine(VGPath path,
1.90 + VGfloat x0, VGfloat y0,
1.91 + VGfloat x1, VGfloat y1) __SOFTFP;
1.92 +
1.93 +VGU_API_CALL VGUErrorCode vguPolygon(VGPath path,
1.94 + const VGfloat * points, VGint count,
1.95 + VGboolean closed);
1.96 +
1.97 +VGU_API_CALL VGUErrorCode vguRect(VGPath path,
1.98 + VGfloat x, VGfloat y,
1.99 + VGfloat width, VGfloat height) __SOFTFP;
1.100 +
1.101 +VGU_API_CALL VGUErrorCode vguRoundRect(VGPath path,
1.102 + VGfloat x, VGfloat y,
1.103 + VGfloat width, VGfloat height,
1.104 + VGfloat arcWidth, VGfloat arcHeight) __SOFTFP;
1.105 +
1.106 +VGU_API_CALL VGUErrorCode vguEllipse(VGPath path,
1.107 + VGfloat cx, VGfloat cy,
1.108 + VGfloat width, VGfloat height) __SOFTFP;
1.109 +
1.110 +VGU_API_CALL VGUErrorCode vguArc(VGPath path,
1.111 + VGfloat x, VGfloat y,
1.112 + VGfloat width, VGfloat height,
1.113 + VGfloat startAngle, VGfloat angleExtent,
1.114 + VGUArcType arcType) __SOFTFP;
1.115 +
1.116 +VGU_API_CALL VGUErrorCode vguComputeWarpQuadToSquare(VGfloat sx0, VGfloat sy0,
1.117 + VGfloat sx1, VGfloat sy1,
1.118 + VGfloat sx2, VGfloat sy2,
1.119 + VGfloat sx3, VGfloat sy3,
1.120 + VGfloat * matrix) __SOFTFP;
1.121 +
1.122 +VGU_API_CALL VGUErrorCode vguComputeWarpSquareToQuad(VGfloat dx0, VGfloat dy0,
1.123 + VGfloat dx1, VGfloat dy1,
1.124 + VGfloat dx2, VGfloat dy2,
1.125 + VGfloat dx3, VGfloat dy3,
1.126 + VGfloat * matrix) __SOFTFP;
1.127 +
1.128 +VGU_API_CALL VGUErrorCode vguComputeWarpQuadToQuad(VGfloat dx0, VGfloat dy0,
1.129 + VGfloat dx1, VGfloat dy1,
1.130 + VGfloat dx2, VGfloat dy2,
1.131 + VGfloat dx3, VGfloat dy3,
1.132 + VGfloat sx0, VGfloat sy0,
1.133 + VGfloat sx1, VGfloat sy1,
1.134 + VGfloat sx2, VGfloat sy2,
1.135 + VGfloat sx3, VGfloat sy3,
1.136 + VGfloat * matrix) __SOFTFP;
1.137 +
1.138 +#ifdef __cplusplus
1.139 +} /* extern "C" */
1.140 +#endif
1.141 +
1.142 +#endif /*__VG_1_0_VGU_H */