uifw/ganes/inc/HgVgHelper.h
changeset 47 2f0c06423c72
parent 46 0e1e0022bd03
child 53 3c67ea82fafc
--- a/uifw/ganes/inc/HgVgHelper.h	Thu Jul 29 14:21:56 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,256 +0,0 @@
-/*
-* Copyright (c) 2009 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 HGVHELPER_H_
-#define HGVHELPER_H_
-
-// INCLUDES
-#include <e32base.h>
-#include <e32std.h>
-#include <gdi.h>
-#include <VG/openvg.h>
-
-// FORWARD DECLARATIONS
-class CFbsBitmap;
-class CHgVgEGL;
-class CGulIcon;
-
-#define RGBA(r, g, b, a) ((VGuint) (((r) << 24) | ((g) << 16) | ((b) << 8) | (a)))
-
-
-/**
- * Helper classes and methods for CHgVg* classes.
- */
-namespace HgVgHelper
-{
-    /**--------------------------------------------------------------
-     * Vertex and Matrix manipulations helper classes
-     --------------------------------------------------------------*/
-
-     // Forward declarations
-    class TMatrix;
-    class TVertex;
-
-     /**
-     * 3D Vertex class
-     */
-    class TVertex
-       {
-       public:
-           // model coordinates
-           VGfloat iX, iY, iZ;
-
-           // transformed mode-view-coordinates
-           VGfloat iTx, iTy, iTz;
-
-           // projected screen coordinates
-           VGfloat iScreenX;
-           VGfloat iScreenY;
-
-           /**
-            * Projects model-view-coordinates to screen space coordinates.
-            * 
-            * @param aScreenWidth width of the rendering window
-            * @param aScreenHeight height of the rendering window
-            * @param aFov field of view to use
-            */
-           void ProjectPoint(VGfloat aScreenWidth, VGfloat aScreenHeight, VGfloat aFov);
-           
-           /**
-            * Transform model coordinates by matrix given and sets
-            * result to tranformed model-view-coordinates.
-            * 
-            * @param aMatrix model-view-transformation matrix.
-            */
-           void TransformPoint(const TMatrix& aMatrix);
-       };
-
-     /**
-      * 4x4 Matrix class
-      */
-     class TMatrix
-       {
-       public:
-           // matrix data
-           VGfloat iM[4][4];
-
-           // Construction and destruction.
-           TMatrix();
-           TMatrix(const TMatrix& rhs);
-           ~TMatrix();
-
-           // Operators
-           TMatrix& operator=(const TMatrix& rhs);
-
-           /**
-            * Makes this matrix identity matrix.
-            */
-           void Identity();
-           
-           /**
-            * Multiplies this matrix by rhs matrix.
-            * 
-            * @param rhs Right hand side matrix.
-            */
-           void Multiply(const TMatrix& rhs);
-          
-           /**
-            * Sets this matrix to rotation matrix around X-axis.
-            * 
-            * @param aAngle angle in radians.
-            */
-           void RotationX(VGfloat aAngle);
-           
-           /**
-            * Sets this matrix to rotation matrix around Y-axis.
-            * 
-            * @param aAngle angle in radians.
-            */
-           void RotationY(VGfloat aAngle);
-           
-           /**
-            * Sets this matrix to rotation matrix around Z-axis.
-            * 
-            * @param aAngle angle in radians.
-            */
-           void RotationZ(VGfloat aAngle);
-           
-           /**
-            * Sets this matrix to scale matrix.
-            * 
-            * @param aSx scaling on X-axis
-            * @param aSy scaling on Y-axis
-            * @param aSz scaling on Z-axis
-            */
-           void Scale(VGfloat aSx, VGfloat aSy, VGfloat aSz);
-           
-           /**
-            * Sets this matrix to translation matrix.
-            * 
-            * @param aTx translation on X-axis.
-            * @param aTy translation on Y-axis.
-            * @param aTz translation on Z-axis. 
-            */
-           void Translation(VGfloat aTx, VGfloat aTy, VGfloat aTz);
-       };
-
-     /**--------------------------------------------------------------
-      * IMAGE HANDLING ROUTINES
-     --------------------------------------------------------------*/
-     
-    /**
-     * Creates VGImage from CGuiIcon.
-     * May leave for example if runs out of video memory.
-     * 
-     * @param aIcon valid CGuiIcon-object.
-     * @return VGImage-object.
-     */
-    VGImage CreateVgImageFromIconL( const CGulIcon& aIcon );
-    
-        
-    /**--------------------------------------------------------------
-     * Misc. Helpers.
-     --------------------------------------------------------------*/
-
-    /**
-     * Clamps value between lower and upper limits.
-     * 
-     * @param aValue value.
-     * @param aUpper upper limit.
-     * @param aLower lower limit.
-     * @return clamped value.
-     */
-    VGfloat Clamp(VGfloat aValue, VGfloat aUpper, VGfloat aLower);
-    
-    /**
-     * Linearly interpolates value between start and end.
-     * 
-     * @param aStart starting value.
-     * @param aEnd ending value.
-     * @param aT t value between 0.0f - 1.0f.
-     */
-    VGfloat Lerp(VGfloat aStart, VGfloat aEnd, VGfloat aT);
-
-    /**
-     * Gets values absolute.
-     * 
-     * @param aValue value.
-     * @return absolute of the value.
-     */
-    VGfloat Abs(VGfloat aValue);    
-        
-    
-    /**
-     * Calculates bounding rect from points.
-     * 
-     * @param aRect destination rect-object, rectangle in symbian screen coordinates.
-     * @param aPoints source points in vg coordinates (x, y, x, y...). 
-     * @param aNumPoints number of points in aPoints.
-     */
-    void CalculateBoundingRect(TRect& aRect, VGfloat* aPoints, TInt aNumPoints, 
-            const TRect& aWindowRect);    
-    
-        
-    /**
-     * Draws vg image to current vg surface.
-     * NOTE: Assumes that the image is in vg coordinates.
-     * 
-     * @param aImage image to draw.
-     * @param aPos position where to draw (in symbian screen coordinates).
-     * @param aWindowRect drawing windows rectangle.
-     */
-    void DrawImage(VGImage aImage, const TPoint& aPos, const TRect& aWindowRect, TBool aCentered = EFalse);
-    
-    /**
-     * Draws vg image to current vg surface multiplying its colors by a color.
-     * NOTE: Assumes that the image is in vg coordinates.
-     * 
-     * @param aImage image to draw.
-     * @param aColor color which is multiplied with image colors.
-     * @param aPos position where the image is drawn (in sumbian screen coordinates)
-     * @param aWindowRect drawing windows renctangle.
-     */
-    void DrawImageColorized(VGImage aImage, const TRgb& aColor, 
-            const TPoint& aPos, const TRect& aWindowRect, TBool aCentered = EFalse);
-    
-    
-    /**
-     * Wrapper for creating paths.
-     * 
-     * @param aNumSegment
-     * @param aSegments
-     * @param aPoints
-     */
-    VGPath CreatePath(VGuint aNumSegments, const VGubyte* aSegments, const VGfloat* aPoints);
-        
-    /**
-     * Wrapper for creating single color paints.
-     * 
-     * @param aColor
-     */
-    VGPaint CreateColorPaint(const TRgb& aColor);
-    
-    /**
-     * Wrapper for creating single color paints.
-     * 
-     * @param aColor
-     */
-    VGPaint CreateColorPaint(const VGfloat* aColor);
-       
-    }
-
-#endif /* HGVGHELPER */