📄 gamemenu.h
字号:
/*
* ==============================================================================
* Name : GameMenu.h
* Part of : RGA Game Example
* Interface :
* Description : application menu class
* Version : 1.0
*
* Copyright (c) 2007-2008 Nokia Corporation.
* This material, including documentation and any related
* computer programs, is protected by copyright controlled by
* Nokia Corporation.
* ==============================================================================
*/
#ifndef __GAMEMENU_H__
#define __GAMEMENU_H__
#include "AppState.h"
// TMenuItem
struct TMenuItem
{
TUint32 iID;
TBuf<64> iText;
};
class CGameMenu : public CAppState
{
public:
CGameMenu(CExampleApplication& aApp);
virtual ~CGameMenu();
/**
* Init
* Initialise the state
* @return KErrNone if successfull
*/
virtual TInt Init();
/**
* AddMenuItem
* add new menu item to menu
* @param aItem menu item
*/
void AddMenuItem(TMenuItem& aItem);
/**
* SelectedMenuItemId
* @return ID of the currently selected menu item
*/
TInt SelectedMenuItemId() const;
/**
* SelectMenuItem
* change current selection to given menu item id
*/
void SelectMenuItem(TInt aId);
/**
* SetPosition
* set menu screen position (upper left corner)
* @param aPosition position to set
*/
void SetPosition(const TPoint& aPosition);
/**
* Position
* @return current menu position
*/
TPoint Position() const;
/**
* Size
* @return size of the menu with current items, including some space for margins
*/
TSize Size() const;
/**
* Update
* Update application state
* @param aFrametime seconds elapsed since last frame
* @return state change value
*/
virtual EAppUpdateState Update(const TReal64& aFrametime);
/**
* Draw
* Draw state graphics to given graphics context
* @param aContext graphics context to draw to.
*/
virtual void Draw(IGraphicsContext& aContext);
/**
* KeyDown
* This handler is called by the main application object
* when any key is pressed
* @param aKeyCode RGA input key code of the pressed key
*/
virtual void KeyDown(TUint32 aKeyCode);
private:
RArray<TMenuItem> iMenuItems;
TInt iSelectedItem;
CFont* iFont;
TPoint iPosition;
TSize iSize;
TInt iXMargin;
TInt iYMargin;
TInt iYStep;
TReal64 iItemShakerCounter;
};
#endif /* __GAMEMENU_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -