author | Gareth Stockwell <gareth.stockwell@accenture.com> |
Fri, 22 Oct 2010 11:38:29 +0100 | |
branch | bug235_bringup_0 |
changeset 206 | c170e304623f |
parent 6 | 250ac10a3d98 |
permissions | -rw-r--r-- |
/* * 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: * Tiger app container class */ #ifndef TIGERCONTAINER_H #define TIGERCONTAINER_H // INCLUDES #include <coecntrl.h> #include "tiger.h" #include <akndef.h> #include <eglosnativewindowtype.h> // CLASS DECLARATION /** * Container control class that handles the OpenGL ES initialization and deinitializations. * Also uses the CTiger class to do the actual OpenGL ES rendering. */ class CTicker; class CTigerContainer : public CCoeControl, MCoeControlObserver { public: // Constructors and destructor /** * EPOC default constructor. Initializes the OpenGL ES for rendering to the window surface. * @param aRect Screen rectangle for container. */ void ConstructL(const TRect& aRect); /** * Destructor. Destroys the CPeriodic, CTiger and uninitializes OpenGL ES. */ virtual ~CTigerContainer(); private: // Functions from base classes /** * Method from CoeControl that gets called when the display size changes. * If OpenGL has been initialized, notifies the renderer class that the screen * size has changed. */ void SizeChanged(); /** * Handles a change to the control's resources. This method * reacts to the KEikDynamicLayoutVariantSwitch event (that notifies of * screen size change) by calling the SetExtentToWholeScreen() again so that * this control fills the new screen size. This will then trigger a call to the * SizeChanged() method. * @param aType Message UID value, only KEikDynamicLayoutVariantSwitch is handled by this method. */ void HandleResourceChange(TInt aType); /** * Method from CoeControl. Does nothing in this implementation. */ TInt CountComponentControls() const; /** * Method from CCoeControl. Does nothing in this implementation. */ CCoeControl* ComponentControl(TInt aIndex) const; /** * Method from CCoeControl. Does nothing in this implementation. * All rendering is done in the DrawCallBack() method. */ void Draw(const TRect& aRect) const; /** * Method from MCoeControlObserver that handles an event from the observed control. * Does nothing in this implementation. * @param aControl Control changing its state. * @param aEventType Type of the control event. */ void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType); void RenderBitmap(CWindowGc& aGc, CFbsBitmap* aBitmap) const; void CopyAndRender(CWindowGc& aGc) const; TInt FlipVertical(CFbsBitmap& aBitmap) const; private: //data CTiger* iTiger; }; #endif // End of File