perfopts/vgu.cpp
author William Roberts <williamr@symbian.org>
Tue, 26 Oct 2010 11:41:47 +0100
changeset 82 e044daaa1848
parent 69 1911c0fa3c76
permissions -rw-r--r--
Remove debug print statements, report total number of lines marked.
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
69
1911c0fa3c76 Add __SOFTFP decorators to OpenVG APIs in line with header file. This allows us to build as softvfp or vfpv2.
markw <markw@symbian.org>
parents: 68
diff changeset
    24
EXPORT_C VGUErrorCode vguLine(VGPath path, VGfloat x0, VGfloat y0, VGfloat x1, VGfloat y1) __SOFTFP
68
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
69
1911c0fa3c76 Add __SOFTFP decorators to OpenVG APIs in line with header file. This allows us to build as softvfp or vfpv2.
markw <markw@symbian.org>
parents: 68
diff changeset
    36
EXPORT_C VGUErrorCode vguPolygon(VGPath path, const VGfloat * points, VGint count, VGboolean closed) __SOFTFP
68
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
69
1911c0fa3c76 Add __SOFTFP decorators to OpenVG APIs in line with header file. This allows us to build as softvfp or vfpv2.
markw <markw@symbian.org>
parents: 68
diff changeset
    48
EXPORT_C VGUErrorCode vguRect(VGPath path, VGfloat x, VGfloat y, VGfloat width, VGfloat height) __SOFTFP
68
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
69
1911c0fa3c76 Add __SOFTFP decorators to OpenVG APIs in line with header file. This allows us to build as softvfp or vfpv2.
markw <markw@symbian.org>
parents: 68
diff changeset
    60
EXPORT_C VGUErrorCode vguRoundRect(VGPath path, VGfloat x, VGfloat y, VGfloat width, VGfloat height, VGfloat arcWidth, VGfloat arcHeight) __SOFTFP
68
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
69
1911c0fa3c76 Add __SOFTFP decorators to OpenVG APIs in line with header file. This allows us to build as softvfp or vfpv2.
markw <markw@symbian.org>
parents: 68
diff changeset
    72
EXPORT_C VGUErrorCode vguEllipse(VGPath path, VGfloat cx, VGfloat cy, VGfloat width, VGfloat height) __SOFTFP
68
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
69
1911c0fa3c76 Add __SOFTFP decorators to OpenVG APIs in line with header file. This allows us to build as softvfp or vfpv2.
markw <markw@symbian.org>
parents: 68
diff changeset
    84
EXPORT_C VGUErrorCode vguArc(VGPath path, VGfloat x, VGfloat y, VGfloat width, VGfloat height, VGfloat startAngle, VGfloat angleExtent, VGUArcType arcType) __SOFTFP
68
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
69
1911c0fa3c76 Add __SOFTFP decorators to OpenVG APIs in line with header file. This allows us to build as softvfp or vfpv2.
markw <markw@symbian.org>
parents: 68
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) __SOFTFP
68
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
69
1911c0fa3c76 Add __SOFTFP decorators to OpenVG APIs in line with header file. This allows us to build as softvfp or vfpv2.
markw <markw@symbian.org>
parents: 68
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) __SOFTFP
68
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
69
1911c0fa3c76 Add __SOFTFP decorators to OpenVG APIs in line with header file. This allows us to build as softvfp or vfpv2.
markw <markw@symbian.org>
parents: 68
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) __SOFTFP
68
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
}