⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tictactoeappview.h

📁 《Symbian S60第3版手机程序开发与实用教程》光盘源代码
💻 H
字号:
/*
* ==============================================================================
*  Name        : TicTacToeAppView.h
*  Part of     : TicTacToe
*  Interface   : 
*  Description : 
*  Version     : 
*
*  Copyright (c) 2005 Nokia Corporation.
* ==============================================================================
*/

#ifndef __TICTACTOE_APPVIEW_H__
#define __TICTACTOE_APPVIEW_H__

//  INCLUDES

#include "TicTacToeBoard.h"
#include <coecntrl.h>

// CLASS DECLARATION

/**
* An instance of the Application View object for the TicTacToe application.
*/
class CTicTacToeAppView : public CCoeControl
    {
    public:

        /**
        * Create a CTicTacToeAppView object, which will draw itself to aRect.
        * @param aRect the rectangle this view will be drawn to
        * @result a pointer to the created instance of CTicTacToeAppView
        */
        static CTicTacToeAppView* NewL(const TRect& aRect, TInt aGraphicsSet);

        /**
        * Destroy the object.
        */
         ~CTicTacToeAppView();

    public: // New functions

        /**
        * Load a set of graphics.
        * @param aGraphicsSet Which set of graphics to load.
        */
        void LoadIconsL(TInt aGraphicsSet);

        /**
        * Start a new game.
        */
        void NewGame();

    public:  // from CCoeControl

        /**
        * Draw this CTicTacToeAppView to the screen.
        * @param aRect the rectangle of this view that needs updating
        */
        void Draw(const TRect& aRect) const;
      

        /**
        * Handle any user keypresses.
        * @param aKeyEvent holds the data for the event that occurred
        * @param aType holds the type of key event that occured
        * @result a TKeyResponse indicating if the key was consumed or not
        */
        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
    	
        /**
        * Handle a change in the size of the control.
        */
    	void SizeChanged();

    private:

        /**
        * Perform the second phase construction of a CTicTacToeAppView object.
        * @param aRect the rectangle this view will be drawn to
        */
        void ConstructL(const TRect& aRect, TInt aGraphicsSet);

        /**
        * Perform the first phase of two phase construction.
        */
        CTicTacToeAppView();

        /**
        * Set the sizes of the scalable icons.
        */
        void SetIconSizes();

    private:    // Data

        // The game board
        TTicTacToeBoard iBoard;
        // Player whose turn it is
        TTicTacToePlayer iPlayer;
        // Scalable icons
        CFbsBitmap* iBitmapGrid;
        CFbsBitmap* iBitmapGridMask;
        CFbsBitmap* iBitmapNought;
        CFbsBitmap* iBitmapNoughtMask;
        CFbsBitmap* iBitmapCross;
        CFbsBitmap* iBitmapCrossMask;
        // Rectangle the board occupies
        TRect iBoardRect;
        // Offset of the icons for the cell contents
        TPoint iCellMargin;
        // Size of the icons for the cell contents
        TSize iCellSize;
    };


#endif // __TICTACTOE_APPVIEW_H__

// End of File

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -