Files
Sun1602/Client/GameClient/Interface/uiGuideTutorialDialog/uiGuideTutorialDialog.h
T
2022-10-26 12:25:11 +08:00

79 lines
1.9 KiB
C++

#pragma once
#include "uiBase.h"
#include "FTextParser.h"
#include "FTextSentence.h"
#include "FTextParam.h"
#include "FTextRender.h"
class uiGuideSystemMan;
struct TotalGuide;
struct TotalGuidePage;
class uiGuideTutorialDialog : public uiBase
{
public:
enum UIControlPos
{
kControl_Button_B000 = 0,
kControl_Button_BT01,
kControl_Button_B003,
kControl_Button_B004,
kControl_Text_S000,
kControl_Text_S001,
kControl_Text_S002,
kControl_Picture_P000,
kControl_Picture_P001,
kControl_Picture_P002,
kControl_Scroll_VS00,
kControl_Size,
};
uiGuideTutorialDialog(InterfaceManager* ui_manager);
virtual ~uiGuideTutorialDialog(void);
virtual void Init(CDrawBase* drawbase);
virtual void Release();
virtual void MessageProc(SI_MESSAGE* message);
virtual void OnUpdateSolarDialog();
virtual void OnRenderSolarDialog();
virtual void OnShowWindow(BOOL val);
void SetData(TotalGuideNotice::Index code, BYTE page);
private:
bool OnLButtonClick(SI_MESSAGE* message);
void RegisterControl();
HANDLE LoadTextureImage(DWORD code);
void UpdateImageRect();
void SetPageButton(BYTE page);
void OnMouseWheelScroll(BYTE mouse_wheel_state);
bool OnUpScroll(SI_MESSAGE* message);
bool OnDownScroll(SI_MESSAGE* message);
bool OnThumbScroll(SI_MESSAGE* message);
//void ControlSize(RECT control_rect);
uiGuideSystemMan* ui_guide_system_manager_;
TotalGuide* guide_page_;
BYTE current_page_;
BYTE last_page_;
const TotalGuidePage* page_infomation_;
int image_width_;
int image_height_;
RECT image_rect_;
RECT text_rect_;
RECT view_rect_;
bool is_mini_;
float line_height_;
//int max_line_;
int current_line_;
FTextParser ftext_parser_;
FTextSentence ftext_sentence_;
FTextParam ftext_param_;
FTextRender ftext_render_;
HANDLE image_texture_;
};