os/graphics/openvg/openvginterface/include/1.0/vgu.h
changeset 0 bde4ae8d615e
     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 */