S60UIExampleInitialContainer.h
上传用户:laixiong
上传日期:2007-03-11
资源大小:2994k
文件大小:3k
源码类别:

Symbian

开发平台:

C/C++

  1. // Copyright (c) 2006 Nokia Corporation.
  2. #ifndef __S60UIEXAMPLE_INITIALCONTAINER_H__
  3. #define __S60UIEXAMPLE_INITIALCONTAINER_H__
  4. #include <coecntrl.h>
  5. class CS60UIExampleModel;
  6. /**
  7. *  CS60UIExampleInitialContainer container control class.
  8. *  An instance of CS60UIExampleInitialContainer contains the view drawn to the screen
  9. *  for CS60UIExampleInitialView
  10. */
  11. class CS60UIExampleInitialContainer : public CCoeControl
  12.     {
  13.     public: // Constructors and destructor
  14.         /**
  15.         * NewL.
  16.         * Two-phased constructor.
  17.         * Create a CS60UIExampleInitialContainer object, which will draw itself to aRect
  18.         * @param aRect The rectangle this view will be drawn to.
  19.         * @return a pointer to the created instance of CS60UIExampleInitialContainer.
  20.         */
  21.         static CS60UIExampleInitialContainer* NewL(const TRect& aRect,
  22.                                                    CS60UIExampleModel& aModel);
  23.         /**
  24.         * NewLC.
  25.         * Two-phased constructor.
  26.         * Create a CS60UIExampleInitialContainer object, which will draw itself to aRect
  27.         * @param aRect The rectangle this view will be drawn to.
  28.         * @param aModel The model containing game data and state.
  29.         * @return a pointer to the created instance of CS60UIExampleContainer1.
  30.         */
  31.         static CS60UIExampleInitialContainer* NewLC(const TRect& aRect,
  32.                                                     CS60UIExampleModel& aModel);
  33.         /**
  34.         * ConstructL
  35.         * 2nd phase constructor.
  36.         * @param aRect Frame rectangle for container.
  37.         */
  38.         void ConstructL(const TRect& aRect);
  39.                          
  40.         /**
  41.         * Destructor
  42.         */
  43.         virtual ~CS60UIExampleInitialContainer();
  44.        
  45.         
  46.     public: // from CoeControl
  47.         /**
  48.         * SizeChanged
  49.         * Prepare layout based on screen size
  50.         */
  51.         void SizeChanged();
  52.         /**
  53.         * HandleResourceChange
  54.         * Handle Resource change. In this case a change in screen size is 
  55.         * handled by calling SetRect, and hence SizeChanged
  56.         */
  57.         void HandleResourceChange(TInt aType);
  58.         /**
  59.         * Draw
  60.         * Draw this CS60UIExampleInitialContainer to the screen.
  61.         * @param aRect the rectangle of this view that needs updating
  62.         */
  63.         void Draw( const TRect& aRect ) const;
  64.         
  65.     private:
  66.         
  67.         /**
  68.         * CS60UIExampleInitialContainer.
  69.         * C++ default constructor.
  70.         */
  71.         CS60UIExampleInitialContainer(CS60UIExampleModel& aModel);
  72.         
  73.     private: //data
  74.         /**
  75.         * iModel holds the game data. iModel is not owned by this class
  76.         */    
  77.         CS60UIExampleModel& iModel;
  78.         
  79.         /**
  80.         * iBkgBitmap holds the current background ready for drawing
  81.         */
  82.         CFbsBitmap* iBkgBitmap;
  83.         
  84.         /**
  85.         * iTitle - the title string
  86.         */
  87.         HBufC*   iTitle;
  88.     };
  89. #endif // __S60UIEXAMPLE_INITIALCONTAINER_H__
  90. // End of File