131 lines
5.5 KiB
C
131 lines
5.5 KiB
C
|
/* $Revision: 1.1 $ on $Date: 2010/05/22 20:05:54 $ */
|
||
|
|
||
|
/*------------------------------------------------------------------------
|
||
|
*
|
||
|
* VGU 1.0.1 Reference Implementation
|
||
|
* -------------------------------------
|
||
|
*
|
||
|
* Copyright (c) 2008 The Khronos Group Inc.
|
||
|
*
|
||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||
|
* copy of this software and /or associated documentation files
|
||
|
* (the "Materials "), to deal in the Materials without restriction,
|
||
|
* including without limitation the rights to use, copy, modify, merge,
|
||
|
* publish, distribute, sublicense, and/or sell copies of the Materials,
|
||
|
* and to permit persons to whom the Materials are furnished to do so,
|
||
|
* subject to the following conditions:
|
||
|
*
|
||
|
* The above copyright notice and this permission notice shall be included
|
||
|
* in all copies or substantial portions of the Materials.
|
||
|
*
|
||
|
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||
|
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||
|
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
|
||
|
* THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||
|
*
|
||
|
*//**
|
||
|
* \file
|
||
|
* \brief VGU 1.0.1 API.
|
||
|
*//*-------------------------------------------------------------------*/
|
||
|
|
||
|
#ifndef _VGU_H
|
||
|
#define _VGU_H
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#include <VG/openvg.h>
|
||
|
|
||
|
#define VGU_VERSION_1_0 1
|
||
|
|
||
|
#ifndef VGU_API_CALL
|
||
|
# error VGU_API_CALL must be defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef VGU_API_ENTRY
|
||
|
# error VGU_API_ENTRY must be defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef VGU_API_EXIT
|
||
|
# error VGU_API_EXIT must be defined
|
||
|
#endif
|
||
|
|
||
|
|
||
|
typedef enum {
|
||
|
VGU_NO_ERROR = 0,
|
||
|
VGU_BAD_HANDLE_ERROR = 0xF000,
|
||
|
VGU_ILLEGAL_ARGUMENT_ERROR = 0xF001,
|
||
|
VGU_OUT_OF_MEMORY_ERROR = 0xF002,
|
||
|
VGU_PATH_CAPABILITY_ERROR = 0xF003,
|
||
|
VGU_BAD_WARP_ERROR = 0xF004,
|
||
|
|
||
|
VGU_ERROR_CODE_FORCE_SIZE = VG_MAX_ENUM
|
||
|
} VGUErrorCode;
|
||
|
|
||
|
typedef enum {
|
||
|
VGU_ARC_OPEN = 0xF100,
|
||
|
VGU_ARC_CHORD = 0xF101,
|
||
|
VGU_ARC_PIE = 0xF102,
|
||
|
|
||
|
VGU_ARC_TYPE_FORCE_SIZE = VG_MAX_ENUM
|
||
|
} VGUArcType;
|
||
|
|
||
|
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguLine(VGPath path,
|
||
|
VGfloat x0, VGfloat y0,
|
||
|
VGfloat x1, VGfloat y1) VGU_API_EXIT;
|
||
|
|
||
|
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguPolygon(VGPath path,
|
||
|
const VGfloat * points, VGint count,
|
||
|
VGboolean closed) VGU_API_EXIT;
|
||
|
|
||
|
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguRect(VGPath path,
|
||
|
VGfloat x, VGfloat y,
|
||
|
VGfloat width, VGfloat height) VGU_API_EXIT;
|
||
|
|
||
|
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguRoundRect(VGPath path,
|
||
|
VGfloat x, VGfloat y,
|
||
|
VGfloat width, VGfloat height,
|
||
|
VGfloat arcWidth, VGfloat arcHeight) VGU_API_EXIT;
|
||
|
|
||
|
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguEllipse(VGPath path,
|
||
|
VGfloat cx, VGfloat cy,
|
||
|
VGfloat width, VGfloat height) VGU_API_EXIT;
|
||
|
|
||
|
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguArc(VGPath path,
|
||
|
VGfloat x, VGfloat y,
|
||
|
VGfloat width, VGfloat height,
|
||
|
VGfloat startAngle, VGfloat angleExtent,
|
||
|
VGUArcType arcType) VGU_API_EXIT;
|
||
|
|
||
|
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpQuadToSquare(VGfloat sx0, VGfloat sy0,
|
||
|
VGfloat sx1, VGfloat sy1,
|
||
|
VGfloat sx2, VGfloat sy2,
|
||
|
VGfloat sx3, VGfloat sy3,
|
||
|
VGfloat * matrix) VGU_API_EXIT;
|
||
|
|
||
|
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpSquareToQuad(VGfloat dx0, VGfloat dy0,
|
||
|
VGfloat dx1, VGfloat dy1,
|
||
|
VGfloat dx2, VGfloat dy2,
|
||
|
VGfloat dx3, VGfloat dy3,
|
||
|
VGfloat * matrix) VGU_API_EXIT;
|
||
|
|
||
|
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpQuadToQuad(VGfloat dx0, VGfloat dy0,
|
||
|
VGfloat dx1, VGfloat dy1,
|
||
|
VGfloat dx2, VGfloat dy2,
|
||
|
VGfloat dx3, VGfloat dy3,
|
||
|
VGfloat sx0, VGfloat sy0,
|
||
|
VGfloat sx1, VGfloat sy1,
|
||
|
VGfloat sx2, VGfloat sy2,
|
||
|
VGfloat sx3, VGfloat sy3,
|
||
|
VGfloat * matrix) VGU_API_EXIT;
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} /* extern "C" */
|
||
|
#endif
|
||
|
|
||
|
#endif /* #ifndef _VGU_H */
|