Move GLES20 source into standard locations
Move Khronos headers into their respective components, to be exported by each.
Remove hostthreadadapter as nothing outside of the vghwapiwrapper, which now contains the code, needs it
// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
#ifndef OPENVGREMOTEFUNCTIONCALL_H_
#define OPENVGREMOTEFUNCTIONCALL_H_
#include "remotefunctioncall.h"
#ifdef __SYMBIAN32__
#define __VG_OPENVG_H_
#include <VG/1.1/openvg.h>
#include <VG/vgu.h>
#else
#define __OPENVGHEADERS_USE_VG_1_1
#include <VG/openvg.h>
#include "VG/vgu.h"
#endif
//OpenVG remote function call
// Represents a function call and contains information about
// parameters but does not serialize the data
NONSHARABLE_CLASS(OpenVgRFC): public RemoteFunctionCall
{
public:
//Openvg pperation code
enum TOperationCode
{
EvgGetError,
EvgGetPaint,
EvgCreatePaint,
EvgInterpolatePath,
EvgPathLength,
EvgGetPathCapabilities,
EvgCreatePath,
EvgGetf,
EvgGeti,
EvgGetVectorSize,
EvgGetParameterf, //10
EvgGetParameteri,
EvgGetParameterVectorSize,
EvgCreateMaskLayer,
EvgGetColor,
EvgCreateImage,
EvgChildImage,
EvgGetParent, // now handled in Client DLL
EvgCreateFont,
EvgHardwareQuery,
EvgGetParameterfv, //20
EvgGetParameteriv,
EvgGetString,
EvgGetfv,
EvgGetiv,
EvgGetMatrix,
EvgGetImageSubData,
EvgReadPixels,
EvgFlush,
EvgFinish,
EvgSetf, //30
EvgSeti,
EvgSetfv,
EvgSetiv,
EvgSetParameterf,
EvgSetParameteri,
EvgSetParameterfv,
EvgSetParameteriv,
EvgLoadIdentity,
EvgLoadMatrix,
EvgMultMatrix, //40
EvgTranslate,
EvgScale,
EvgShear,
EvgRotate,
EvgMask,
EvgRenderToMask,
EvgDestroyMaskLayer,
EvgFillMaskLayer,
EvgCopyMask,
EvgClear, //50
EvgClearPath,
EvgDestroyPath,
EvgRemovePathCapabilities,
EvgAppendPath,
EvgAppendPathData, //55
EvgModifyPathCoords,
EvgTransformPath,
EvgPointAlongPath,
EvgPathBounds,
EvgPathTransformedBounds, //60
EvgDrawPath,
EvgDestroyPaint,
EvgSetPaint,
EvgSetColor,
EvgPaintPattern,
EvgDestroyImage,
EvgClearImage,
EvgImageSubData,
EvgCopyImage,
EvgDrawImage,
EvgSetPixels,
EvgWritePixels,
EvgGetPixels,
EvgCopyPixels,
EvgDestroyFont,
EvgSetGlyphToPath,
EvgSetGlyphToImage,
EvgClearGlyph,
EvgDrawGlyph,
EvgDrawGlyphs, //80
EvgColorMatrix,
EvgConvolve,
EvgSeparableConvolve,
EvgGaussianBlur,
EvgLookup,
EvgLookupSingle,
EvgePathCoordsSizeInBytes, //Not part of OpenVG 1.1
//Openvgu 1.1
EvguLine,
EvguPolygon,
EvguRect,
EvguRoundRect,
EvguEllipse,
EvguArc,
EvguComputeWarpQuadToSquare,
EvguComputeWarpSquareToQuad,
EvguComputeWarpQuadToQuad,
EClientShutdown,
// /* OpenVG extension #4, KHR_EGL_image */
EvgCreateEGLImageTargetKHR,
};
//Parameter data type
enum TParamType
{
EVGfloat,
EVGbyte,
EVGubyte,
EVGshort,
EVGint,
EVGuint,
EVGbitfield,
EVGboolean,
EVGHandle,
EVGErrorCode,
EVGParamType, //10
EVGRenderingQuality,
EVGPixelLayout,
EVGMatrixMode,
EVGMaskOperation,
EVGPathDatatype,
EVGPathAbsRel,
EVGPathSegment,
EVGPathCommand,
EVGPath,
EVGPathCapabilities, //20
EVGPathParamType,
EVGCapStyle,
EVGJoinStyle,
EVGFillRule,
EVGPaintMode,
EVGPaint,
EVGPaintParamType,
EVGPaintType,
EVGColorRampSpreadMode,
EVGTilingMode, //30
EVGImageFormat,
EVGImage,
EVGImageQuality,
EVGImageParamType,
EVGImageMode,
EVGImageChannel,
EVGBlendMode,
EVGHardwareQueryType,
EVGHardwareQueryResult,
EVGStringID, //40
EVGvoid,
EVGUArcType,
EVGeglImageKHR,
ETUint64
};
OpenVgRFC( RemoteFunctionCallData& aData );
//Appends a simple parameter to the parameter array
// Does not serialize any data
inline void AppendTUint64( const TUint64& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGfloat& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGbyte& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGubyte& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGshort& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGint& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGuint& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGboolean& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGErrorCode& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGParamType& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGRenderingQuality& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGPixelLayout& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGMatrixMode& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGMaskOperation& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGPathDatatype& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGPathAbsRel& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGPathSegment& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGPathCommand& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGPathCapabilities& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGPathParamType& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGCapStyle& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGJoinStyle& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGFillRule& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGPaintMode& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGPaintParamType& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGPaintType& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGColorRampSpreadMode& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGTilingMode& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGImageFormat& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGImageQuality& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGImageParamType& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGImageMode& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGImageChannel& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGBlendMode& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGHardwareQueryType& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGHardwareQueryResult& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGStringID& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendParam( const VGUArcType& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
#ifdef __SYMBIAN32__
inline void AppendParam( const VGeglImageKHR& aParam, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
#endif
//Gets a simple parameter value from parameter array
inline void GetTUint64( TUint64& aParam, TInt aIndex );
inline void GetParamValue( VGfloat& aParam, TInt aIndex );
inline void GetParamValue( VGbyte& aParam, TInt aIndex );
inline void GetParamValue( VGubyte& aParam, TInt aIndex );
inline void GetParamValue( VGshort& aParam, TInt aIndex );
inline void GetParamValue( VGint& aParam, TInt aIndex );
inline void GetParamValue( VGuint& aParam, TInt aIndex );
inline void GetParamValue( VGboolean& aParam, TInt aIndex );
inline void GetParamValue( VGErrorCode& aParam, TInt aIndex );
inline void GetParamValue( VGParamType& aParam, TInt aIndex );
inline void GetParamValue( VGRenderingQuality& aParam, TInt aIndex );
inline void GetParamValue( VGPixelLayout& aParam, TInt aIndex );
inline void GetParamValue( VGMatrixMode& aParam, TInt aIndex );
inline void GetParamValue( VGMaskOperation& aParam, TInt aIndex );
inline void GetParamValue( VGPathDatatype& aParam, TInt aIndex );
inline void GetParamValue( VGPathAbsRel& aParam, TInt aIndex );
inline void GetParamValue( VGPathSegment& aParam, TInt aIndex );
inline void GetParamValue( VGPathCommand& aParam, TInt aIndex );
inline void GetParamValue( VGPathCapabilities& aParam, TInt aIndex );
inline void GetParamValue( VGPathParamType& aParam, TInt aIndex );
inline void GetParamValue( VGCapStyle& aParam, TInt aIndex );
inline void GetParamValue( VGJoinStyle& aParam, TInt aIndex );
inline void GetParamValue( VGFillRule& aParam, TInt aIndex );
inline void GetParamValue( VGPaintMode& aParam, TInt aIndex );
inline void GetParamValue( VGPaintParamType& aParam, TInt aIndex );
inline void GetParamValue( VGPaintType& aParam, TInt aIndex );
inline void GetParamValue( VGColorRampSpreadMode& aParam, TInt aIndex );
inline void GetParamValue( VGTilingMode& aParam, TInt aIndex );
inline void GetParamValue( VGImageFormat& aParam, TInt aIndex );
inline void GetParamValue( VGImageQuality& aParam, TInt aIndex );
inline void GetParamValue( VGImageParamType& aParam, TInt aIndex );
inline void GetParamValue( VGImageMode& aParam, TInt aIndex );
inline void GetParamValue( VGImageChannel& aParam, TInt aIndex );
inline void GetParamValue( VGBlendMode& aParam, TInt aIndex );
inline void GetParamValue( VGHardwareQueryType& aParam, TInt aIndex );
inline void GetParamValue( VGHardwareQueryResult& aParam, TInt aIndex );
inline void GetParamValue( VGStringID& aParam, TInt aIndex );
inline void GetParamValue( VGUArcType& aParam, TInt aIndex );
//Gets a pointer to an array parameter from parameter array
inline void GetVectorData( VGfloat* &aData, TInt& aSize, TInt aIndex );
inline void GetVectorData( VGint* &aData, TInt& aSize, TInt aIndex );
inline void GetVectorData( VGuint* &aData, TInt& aSize, TInt aIndex );
inline void GetVectorData( VGshort* &aData, TInt& aSize, TInt aIndex );
inline void GetVectorData( VGubyte* &aData, TInt& aSize, TInt aIndex );
inline void GetVectorData( void* &aData, TInt& aSize, TInt aIndex );
//Sets a pointer to the data of an array parameter
inline void SetVectorData( const VGfloat* aData, TInt aLength, TInt aIndex );
inline void SetVectorData( const VGint* aData, TInt aLength, TInt aIndex );
inline void SetVectorData( const VGuint* aData, TInt aLength, TInt aIndex );
inline void SetVectorData( const VGshort* aData, TInt aLength, TInt aIndex );
inline void SetVectorData( const VGubyte* aData, TInt aLength, TInt aIndex );
inline void SetVectorData( const void* aData, TInt aLength, TInt aIndex );
//Appends an array parameter to the parameter array
// Does not serialize any data
inline void AppendVector( const VGfloat* aData, TInt aLength, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendVector( const VGint* aData, TInt aLength, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendVector( const VGuint* aData, TInt aLength, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendVector( const VGshort* aData, TInt aLength, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendVector( const VGubyte* aData, TInt aLength, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
inline void AppendVector( const void* aData, TInt aLength, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
//Size of type aType
TInt GetTypeSize( TInt32 aParamType ) const;
//Alignemnt of type aType
TInt GetTypeAlignment( TInt32 aParamType ) const;
//Alignemnt of type aType
TUint32 GetAPIUid() const;
};
#include "openvgrfc.inl"
#endif