Applied patch 1, to provide a syborg specific minigui oby file.
Need to compare this with the "stripped" version currently in the tree.
This supplied version applies for Nokia builds, but need to repeat the
test for SF builds to see if pruning is needed, or if the file needs to
be device-specific.
/*
* Copyright (c) 2009 Symbian Foundation Ltd
* This component and the accompanying materials are made available
* under the terms of the License "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:
* Symbian Foundation Ltd - initial contribution.
*
* Contributors:
*
* Description:
* CTiger class declaration to render OpenVG tiger image
*/
#ifndef TIGER_H
#define TIGER_H
// INCLUDES
#include <e32base.h> // for CBase definition
#include <egl.h>
#include <openvg.h>
//#include <vgu.h>
#include <eglosnativewindowtype.h>
////////////////////////////////////////////
//Copied from ri_package_11\samples\tiger\tiger.h
extern const int KtigerCommandCount;
extern const char KtigerCommands[];
extern const float KtigerMinX;
extern const float KtigerMaxX;
extern const float KtigerMinY;
extern const float KtigerMaxY;
extern const int KtigerPointCount;
extern const float KtigerPoints[];
// CLASS DECLARATION
/**
* Class that does the actual OpenGL ES rendering.
*/
typedef struct
{
VGFillRule m_fillRule;
VGPaintMode m_paintMode;
VGCapStyle m_capStyle;
VGJoinStyle m_joinStyle;
float m_miterLimit;
float m_strokeWidth;
VGPaint m_fillPaint;
VGPaint m_strokePaint;
VGPath m_path;
} PathData;
typedef struct
{
PathData* m_paths;
int m_numPaths;
} PS;
/////////////////////////////////////////////////////////////
class RWindow;
class CTiger : public CBase
{
public: // Constructors and destructor
/**
* Factory method for creating a new CTiger object.
*/
static CTiger* NewL( TUint aWidth, TUint aHeight);
/**
* Destructor. Does nothing.
*/
virtual ~CTiger();
public: // New functions
/**
* Initializes OpenGL ES, sets the vertex and color
* arrays and pointers. Also selects the shading mode.
*/
void AppInit( RWindow& aWindow, CFbsBitmap* aBitmapToDraw=NULL );
/**
* Called upon application exit. Does nothing.
*/
void AppExit( void );
/**
* Notifies that the screen size has dynamically changed during execution of
* this program. Resets the viewport to this new size.
* @param aWidth New width of the screen.
* @param aHeight New height of the screen.
*/
void SetScreenSize( TUint aWidth, TUint aHeight );
void AppRender( const TRect& aRect, CFbsBitmap* aDst=NULL);
protected: // New functions
/**
* Standard constructor that must never Leave.
* Stores the given screen width and height.
* @param aWidth Width of the screen.
* @param aHeight Height of the screen.
*/
CTiger(TUint aWidth, TUint aHeight);
/**
* Second phase contructor. Does nothing.
*/
void ConstructL( void );
//fucntions copied from ri_package_11\samples\tiger\main.c - no attempt to Symbianise!!
void PS_destruct(PS* ps);
void render(int w, int h);
void PS_render(PS* ps);
PS* PS_construct(const char* commands, int commandCount, const float* points, int pointCount);
void init(NativeWindowType window, CFbsBitmap* aBitmapToDraw=NULL);
void CreateImage(CFbsBitmap* aBitmapToDraw);
void renderFromBitmap(int w, int h);
private: // Data
/** Width of the screen */
TUint iScreenWidth;
/** Height of the screen */
TUint iScreenHeight;
private: //OpenVG structures
//copied from ri_package_11\samples\tiger\main.c - no attempt to symbianise
PS* iTiger;
int iRenderWidth;
int iRenderHeight;
EGLDisplay iEgldisplay;
EGLConfig iEglconfig;
EGLSurface iEglsurface;
EGLContext iEglcontext;
TNativeWindowType iNativeWindowType;
VGImage iImage;
CFbsBitmap* iBitmapToDraw;
};
#endif // TIGER_H
// End of File