--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/guestrendering/vghwserialiser/inc/openvgrfc.h Fri Aug 20 18:02:40 2010 +0100
@@ -0,0 +1,315 @@
+// 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