williamr@4: /*------------------------------------------------------------------------ williamr@4: * williamr@4: * VGU 1.1 Reference Implementation williamr@4: * ------------------------------------- williamr@4: * williamr@4: * Copyright (c) 2008-2009 The Khronos Group Inc. williamr@4: * williamr@4: * Permission is hereby granted, free of charge, to any person obtaining a williamr@4: * copy of this software and /or associated documentation files williamr@4: * (the "Materials "), to deal in the Materials without restriction, williamr@4: * including without limitation the rights to use, copy, modify, merge, williamr@4: * publish, distribute, sublicense, and/or sell copies of the Materials, williamr@4: * and to permit persons to whom the Materials are furnished to do so, williamr@4: * subject to the following conditions: williamr@4: * williamr@4: * The above copyright notice and this permission notice shall be included williamr@4: * in all copies or substantial portions of the Materials. williamr@4: * williamr@4: * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, williamr@4: * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF williamr@4: * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. williamr@4: * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, williamr@4: * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR williamr@4: * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR williamr@4: * THE USE OR OTHER DEALINGS IN THE MATERIALS. williamr@4: * williamr@4: *//** williamr@4: * \file williamr@4: * \brief VGU 1.1 API. williamr@4: *//*-------------------------------------------------------------------*/ williamr@4: williamr@4: #ifndef __VG_1_1_VGU_H williamr@4: #define __VG_1_1_VGU_H williamr@4: williamr@4: #ifndef __VG_VGU_H_ williamr@4: #error Do not include this file directly. Use . williamr@4: #endif williamr@4: williamr@4: /* differences from the actual sample implemtation provided by Khronos: williamr@4: - this comment williamr@4: - the Doxygen comment with tag 'publishedAll', and tag 'released' williamr@4: - changing williamr@4: #define VG_API_CALL extern williamr@4: to williamr@4: #define VG_API_CALL IMPORT_C williamr@4: - the addition of __SOFTFP in some of the function prototypes williamr@4: */ williamr@4: williamr@4: /** williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: #ifdef __cplusplus williamr@4: extern "C" { williamr@4: #endif williamr@4: williamr@4: #include williamr@4: williamr@4: #define VGU_VERSION_1_0 1 williamr@4: #define VGU_VERSION_1_0_1 1 williamr@4: #define VGU_VERSION_1_1 2 williamr@4: williamr@4: #ifndef VGU_API_CALL williamr@4: # if defined(SYMBIAN_VG_DLL_EXPORTS) williamr@4: # define VGU_API_CALL EXPORT_C williamr@4: # else williamr@4: # define VGU_API_CALL IMPORT_C williamr@4: # endif //defined(SYMBIAN_VG_DLL_EXPORTS) williamr@4: #endif williamr@4: #ifndef VGU_APIENTRY williamr@4: #define VGU_APIENTRY /* nothing */ williamr@4: #endif williamr@4: #ifndef VGU_APIEXIT williamr@4: #define VGU_APIEXIT __SOFTFP williamr@4: #endif williamr@4: williamr@4: typedef enum { williamr@4: VGU_NO_ERROR = 0, williamr@4: VGU_BAD_HANDLE_ERROR = 0xF000, williamr@4: VGU_ILLEGAL_ARGUMENT_ERROR = 0xF001, williamr@4: VGU_OUT_OF_MEMORY_ERROR = 0xF002, williamr@4: VGU_PATH_CAPABILITY_ERROR = 0xF003, williamr@4: VGU_BAD_WARP_ERROR = 0xF004 williamr@4: } VGUErrorCode; williamr@4: williamr@4: typedef enum { williamr@4: VGU_ARC_OPEN = 0xF100, williamr@4: VGU_ARC_CHORD = 0xF101, williamr@4: VGU_ARC_PIE = 0xF102 williamr@4: } VGUArcType; williamr@4: williamr@4: VGU_API_CALL VGUErrorCode VGU_APIENTRY williamr@4: vguLine(VGPath path, williamr@4: VGfloat x0, VGfloat y0, williamr@4: VGfloat x1, VGfloat y1) VGU_APIEXIT; williamr@4: williamr@4: VGU_API_CALL VGUErrorCode VGU_APIENTRY williamr@4: vguPolygon(VGPath path, williamr@4: const VGfloat * points, williamr@4: VGint count, williamr@4: VGboolean closed) VGU_APIEXIT; williamr@4: williamr@4: VGU_API_CALL VGUErrorCode VGU_APIENTRY williamr@4: vguRect(VGPath path, williamr@4: VGfloat x, VGfloat y, williamr@4: VGfloat width, VGfloat height) VGU_APIEXIT; williamr@4: williamr@4: VGU_API_CALL VGUErrorCode VGU_APIENTRY williamr@4: vguRoundRect(VGPath path, williamr@4: VGfloat x, VGfloat y, williamr@4: VGfloat width, williamr@4: VGfloat height, williamr@4: VGfloat arcWidth, williamr@4: VGfloat arcHeight) VGU_APIEXIT; williamr@4: williamr@4: VGU_API_CALL VGUErrorCode VGU_APIENTRY williamr@4: vguEllipse(VGPath path, williamr@4: VGfloat cx, VGfloat cy, williamr@4: VGfloat width, williamr@4: VGfloat height) VGU_APIEXIT; williamr@4: williamr@4: VGU_API_CALL VGUErrorCode VGU_APIENTRY williamr@4: vguArc(VGPath path, williamr@4: VGfloat x, VGfloat y, williamr@4: VGfloat width, VGfloat height, williamr@4: VGfloat startAngle, williamr@4: VGfloat angleExtent, williamr@4: VGUArcType arcType) VGU_APIEXIT; williamr@4: williamr@4: VGU_API_CALL VGUErrorCode VGU_APIENTRY williamr@4: vguComputeWarpQuadToSquare(VGfloat sx0, VGfloat sy0, williamr@4: VGfloat sx1, VGfloat sy1, williamr@4: VGfloat sx2, VGfloat sy2, williamr@4: VGfloat sx3, VGfloat sy3, williamr@4: VGfloat * matrix) VGU_APIEXIT; williamr@4: williamr@4: VGU_API_CALL VGUErrorCode VGU_APIENTRY williamr@4: vguComputeWarpSquareToQuad(VGfloat dx0, VGfloat dy0, williamr@4: VGfloat dx1, VGfloat dy1, williamr@4: VGfloat dx2, VGfloat dy2, williamr@4: VGfloat dx3, VGfloat dy3, williamr@4: VGfloat * matrix) VGU_APIEXIT; williamr@4: williamr@4: VGU_API_CALL VGUErrorCode VGU_APIENTRY williamr@4: vguComputeWarpQuadToQuad(VGfloat dx0, VGfloat dy0, williamr@4: VGfloat dx1, VGfloat dy1, williamr@4: VGfloat dx2, VGfloat dy2, williamr@4: VGfloat dx3, VGfloat dy3, williamr@4: VGfloat sx0, VGfloat sy0, williamr@4: VGfloat sx1, VGfloat sy1, williamr@4: VGfloat sx2, VGfloat sy2, williamr@4: VGfloat sx3, VGfloat sy3, williamr@4: VGfloat * matrix) VGU_APIEXIT; williamr@4: williamr@4: #ifdef __cplusplus williamr@4: } /* extern "C" */ williamr@4: #endif williamr@4: williamr@4: #endif /* __VG_1_1_VGU_H */