perfopts/vgu.cpp
author markw <markw@symbian.org>
Wed, 20 Oct 2010 10:16:24 +0100
changeset 68 cc09a5c2b5fb
child 69 1911c0fa3c76
permissions -rw-r--r--
Add API wrapper files for OpenVG reference implementation.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
68
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
     1
/*
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
     2
* Copyright (c) 2009 Symbian Foundation Ltd
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
     3
* This component and the accompanying materials are made available
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
     4
* under the terms of the License "Eclipse Public License v1.0"
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
     5
* which accompanies this distribution, and is available
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
     6
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
     7
*
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
     8
* Initial Contributors:
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
     9
* Symbian Foundation Ltd - initial contribution.
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    10
* 
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    11
* Contributors:
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    12
*
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    13
* Description:
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    14
* Implementation of VGU interface
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    15
*/
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    16
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    17
#include <e32base.h>
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    18
#include <vgu.h>
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    19
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    20
#include "vguinternal.h" //contains do_vguXX fucntion declarations
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    21
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    22
extern "C" {
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    23
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    24
EXPORT_C VGUErrorCode vguLine(VGPath path, VGfloat x0, VGfloat y0, VGfloat x1, VGfloat y1)
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    25
{
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    26
return do_vguLine(path, x0, y0, x1, y1);
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    27
}
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    28
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    29
/*-------------------------------------------------------------------*//*!
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    30
* \brief	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    31
* \param	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    32
* \return	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    33
* \note		
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    34
*//*-------------------------------------------------------------------*/
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    35
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    36
EXPORT_C VGUErrorCode vguPolygon(VGPath path, const VGfloat * points, VGint count, VGboolean closed)
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    37
{
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    38
return do_vguPolygon(path, points, count, closed);
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    39
}
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    40
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    41
/*-------------------------------------------------------------------*//*!
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    42
* \brief	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    43
* \param	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    44
* \return	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    45
* \note		
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    46
*//*-------------------------------------------------------------------*/
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    47
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    48
EXPORT_C VGUErrorCode vguRect(VGPath path, VGfloat x, VGfloat y, VGfloat width, VGfloat height)
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    49
{
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    50
return do_vguRect(path, x, y, width, height);
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    51
}
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    52
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    53
/*-------------------------------------------------------------------*//*!
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    54
* \brief	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    55
* \param	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    56
* \return	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    57
* \note		
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    58
*//*-------------------------------------------------------------------*/
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    59
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    60
EXPORT_C VGUErrorCode vguRoundRect(VGPath path, VGfloat x, VGfloat y, VGfloat width, VGfloat height, VGfloat arcWidth, VGfloat arcHeight)
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    61
{
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    62
return do_vguRoundRect(path, x, y, width, height, arcWidth, arcHeight);
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    63
}
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    64
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    65
/*-------------------------------------------------------------------*//*!
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    66
* \brief	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    67
* \param	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    68
* \return	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    69
* \note		
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    70
*//*-------------------------------------------------------------------*/
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    71
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    72
EXPORT_C VGUErrorCode vguEllipse(VGPath path, VGfloat cx, VGfloat cy, VGfloat width, VGfloat height)
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    73
{
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    74
return do_vguEllipse(path, cx, cy, width, height);
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    75
}
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    76
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    77
/*-------------------------------------------------------------------*//*!
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    78
* \brief	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    79
* \param	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    80
* \return	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    81
* \note		
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    82
*//*-------------------------------------------------------------------*/
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    83
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    84
EXPORT_C VGUErrorCode vguArc(VGPath path, VGfloat x, VGfloat y, VGfloat width, VGfloat height, VGfloat startAngle, VGfloat angleExtent, VGUArcType arcType)
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    85
{
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    86
return do_vguArc(path, x, y, width, height, startAngle, angleExtent, arcType);
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    87
}
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    88
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    89
/*-------------------------------------------------------------------*//*!
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    90
* \brief	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    91
* \param	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    92
* \return	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    93
* \note		
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    94
*//*-------------------------------------------------------------------*/
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    95
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    96
EXPORT_C VGUErrorCode vguComputeWarpQuadToSquare(VGfloat sx0, VGfloat sy0, VGfloat sx1, VGfloat sy1, VGfloat sx2, VGfloat sy2, VGfloat sx3, VGfloat sy3, VGfloat * matrix)
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    97
{
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    98
return do_vguComputeWarpQuadToSquare(sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3, matrix);
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
    99
}
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   100
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   101
/*-------------------------------------------------------------------*//*!
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   102
* \brief	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   103
* \param	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   104
* \return	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   105
* \note		
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   106
*//*-------------------------------------------------------------------*/
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   107
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   108
EXPORT_C VGUErrorCode vguComputeWarpSquareToQuad(VGfloat dx0, VGfloat dy0, VGfloat dx1, VGfloat dy1, VGfloat dx2, VGfloat dy2, VGfloat dx3, VGfloat dy3, VGfloat * matrix)
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   109
{
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   110
return do_vguComputeWarpSquareToQuad(dx0, dy0, dx1, dy1, dx2, dy2, dx3, dy3, matrix);
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   111
}
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   112
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   113
/*-------------------------------------------------------------------*//*!
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   114
* \brief	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   115
* \param	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   116
* \return	
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   117
* \note		
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   118
*//*-------------------------------------------------------------------*/
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   119
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   120
EXPORT_C VGUErrorCode 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)
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   121
{
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   122
return do_vguComputeWarpQuadToQuad(dx0, dy0, dx1, dy1, dx2, dy2, dx3, dy3, sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3, matrix);
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   123
}
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   124
cc09a5c2b5fb Add API wrapper files for OpenVG reference implementation.
markw <markw@symbian.org>
parents:
diff changeset
   125
}