?? asl_gui.h
字號:
//-----------------------------------------------------------------------------
//
// ____ Azure Star Game Engine 藍星游戲引擎 ____
//
// Copyright (c) 2006, 藍星工作室
// All rights reserved.
//
// 文件名稱: asl_gui.h
// 摘 要: GUI系統類定義
//
// 當前版本: 1.0
// 作 者: 湯 祺
// 創建日期: 2006-8-12
//
//-----------------------------------------------------------------------------
#ifndef ASL_GUI_INCLUDE
#define ASL_GUI_INCLUDE
#pragma once
#include "asl_guiobj.h"
#include "asl_bitmap.h"
#include <list>
//-----------------------------------------------------------------------------
namespace ASL
{
// 取全局唯一實例
#define GUI ASLGui::Instance()
//-----------------------------------------------------------------------------
// 類名: ASLGui
// 功能: GUI系統類
// 本類是GUI系統的總管. 各個控件通過在本類中注冊而激活, 本類將負責處理
// 用戶輸入, 調用各注冊控件的事件處理函數, 協調各注冊控件間的關系. 本類
// 只有全局唯一實例, 使用Singleton模式實現.
//-----------------------------------------------------------------------------
class ASLGui
{
// 私有構造函數, 析構函數, 僅通過Instance()創建
private:
ASLGui(void);
~ASLGui(void);
// 禁用拷貝構造函數, 賦值函數, 無實現
ASLGui(const ASLGui&);
ASLGui& operator=(const ASLGui&);
// 公有函數
public:
// 取全局唯一實例
static ASLGui& Instance(void);
// 初始化, 設定畫布
void Init(ASLBitmap &bmCanvas) { m_pbmCanvas = &bmCanvas; }
// 取畫布
ASLBitmap& GetCanvas(void)
{ ASSERT(m_pbmCanvas != NULL); return *m_pbmCanvas; }
// 注冊控件
void AddCtrl(ASLControl *pCtrl);
// 注銷控件
void DelCtrl(ASLControl *pCtrl);
// 使控件獲得焦點
void SetFocus(ASLControl *pCtrl);
// 更新GUI系統
void Update(float fDelta);
// 繪制GUI系統
void Draw(void);
// 添加單選按鈕
void AddRadio(ASLRadioButton *pRadio);
// 刪除單選按鈕
void DelRadio(ASLRadioButton *pRadio);
// 選中單選按鈕
void CheckRadio(ASLRadioButton *pRadio);
// 私有函數
private:
// 處理控件的鼠標事件
void ProcessMouseEvent(ASLControl *pCtrl);
// 成員變量
private:
std::list<ASLControl*> m_lstpCtrls; // 控件鏈表
std::list<ASLRadioButton*> m_lstpRadios; // 單選按鈕鏈表
ASLControl *m_pFocusedCtrl; // 獲得焦點的控件
ASLControl *m_pLockedCtrl; // 被鎖定的控件
ASLControl *m_pHoveredCtrl; // 鼠標下的控件
ASLBitmap *m_pbmCanvas; // 畫布指針
}; // ASLGui類定義結束
} // namespace ASL
#endif // ASL_GUI_INCLUDE
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -