vgu.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *                                                                    *
00003  * Sample implementation of vgu.h, version 1.0                        *
00004  *                                                                    *
00005  * Copyright © 2005 The Khronos Group                                 *
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 } /* extern "C" */
00090 #endif
00091 
00092 #endif /* #ifndef _VGU_H */

Copyright © Nokia Corporation 2001-2007
Back to top