00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _VGU_H
00010 #define _VGU_H
00011
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00016 #include <vg/openvg.h>
00017
00018 #define VGU_VERSION_1_0 1
00019
00020 #ifndef VGU_API_CALL
00021 #define VGU_API_CALL extern
00022 #endif
00023
00024 typedef enum {
00025 VGU_NO_ERROR = 0,
00026 VGU_BAD_HANDLE_ERROR = 0xF000,
00027 VGU_ILLEGAL_ARGUMENT_ERROR = 0xF001,
00028 VGU_OUT_OF_MEMORY_ERROR = 0xF002,
00029 VGU_PATH_CAPABILITY_ERROR = 0xF003,
00030 VGU_BAD_WARP_ERROR = 0xF004
00031 } VGUErrorCode;
00032
00033 typedef enum {
00034 VGU_ARC_OPEN = 0xF100,
00035 VGU_ARC_CHORD = 0xF101,
00036 VGU_ARC_PIE = 0xF102
00037 } VGUArcType;
00038
00039 VGU_API_CALL VGUErrorCode vguLine(VGPath path,
00040 VGfloat x0, VGfloat y0,
00041 VGfloat x1, VGfloat y1);
00042
00043 VGU_API_CALL VGUErrorCode vguPolygon(VGPath path,
00044 const VGfloat * points, VGint count,
00045 VGboolean closed);
00046
00047 VGU_API_CALL VGUErrorCode vguRect(VGPath path,
00048 VGfloat x, VGfloat y,
00049 VGfloat width, VGfloat height);
00050
00051 VGU_API_CALL VGUErrorCode vguRoundRect(VGPath path,
00052 VGfloat x, VGfloat y,
00053 VGfloat width, VGfloat height,
00054 VGfloat arcWidth, VGfloat arcHeight);
00055
00056 VGU_API_CALL VGUErrorCode vguEllipse(VGPath path,
00057 VGfloat cx, VGfloat cy,
00058 VGfloat width, VGfloat height);
00059
00060 VGU_API_CALL VGUErrorCode vguArc(VGPath path,
00061 VGfloat x, VGfloat y,
00062 VGfloat width, VGfloat height,
00063 VGfloat startAngle, VGfloat angleExtent,
00064 VGUArcType arcType);
00065
00066 VGU_API_CALL VGUErrorCode vguComputeWarpQuadToSquare(VGfloat sx0, VGfloat sy0,
00067 VGfloat sx1, VGfloat sy1,
00068 VGfloat sx2, VGfloat sy2,
00069 VGfloat sx3, VGfloat sy3,
00070 VGfloat * matrix);
00071
00072 VGU_API_CALL VGUErrorCode vguComputeWarpSquareToQuad(VGfloat dx0, VGfloat dy0,
00073 VGfloat dx1, VGfloat dy1,
00074 VGfloat dx2, VGfloat dy2,
00075 VGfloat dx3, VGfloat dy3,
00076 VGfloat * matrix);
00077
00078 VGU_API_CALL VGUErrorCode vguComputeWarpQuadToQuad(VGfloat dx0, VGfloat dy0,
00079 VGfloat dx1, VGfloat dy1,
00080 VGfloat dx2, VGfloat dy2,
00081 VGfloat dx3, VGfloat dy3,
00082 VGfloat sx0, VGfloat sy0,
00083 VGfloat sx1, VGfloat sy1,
00084 VGfloat sx2, VGfloat sy2,
00085 VGfloat sx3, VGfloat sy3,
00086 VGfloat * matrix);
00087
00088 #ifdef __cplusplus
00089 }
00090 #endif
00091
00092 #endif