annotate GUI/UI/UIModal.cpp @ 2572:d87bfbd3bb3b

Step towards unification of Texture and RGBTexture (class Image)
author a.parshin
date Sat, 05 Mar 2016 01:51:54 +0200
parents fed97f15d1e1
children
rev   line source
2547
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
1
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
2 #include "OSWindow.h"
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
3
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
4 #include "Engine/Engine.h"
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
5 #include "Engine/Timer.h"
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
6 #include "Engine/texts.h"
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
7
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
8 #include "GUI/UI/UIModal.h"
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
9
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
10
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
11 enum CURRENT_SCREEN modal_window_prev_screen_type;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
12
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
13 GUIWindow_Modal::GUIWindow_Modal(const char *message, enum UIMessageType on_release_event) :
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
14 GUIWindow(0, 0, window->GetWidth(), window->GetHeight(), (int)on_release_event, message)
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
15 {
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
16 // ----- (004141CA) --------------------------------------------------------
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
17 // void ModalWindow(const char *pStrHint, UIMessageType OnRelease_message)
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
18 // {
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
19 pEventTimer->Pause();
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
20 prev_screen_type = current_screen_type;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
21 //modal_window_prev_screen_type = current_screen_type;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
22 //pModalWindow = new GUIWindow_Modal(0, 0, window->GetWidth(), window->GetHeight(), OnRelease_message, pStrHint);
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
23 current_screen_type = SCREEN_MODAL_WINDOW;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
24 }
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
25
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
26 void GUIWindow_Modal::Update()
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
27 {
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
28 // -----------------------------------
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
29 // 004156F0 GUI_UpdateWindows --- part
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
30 // {
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
31 // ModalWindow_ShowHint();
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
32 // }
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
33
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
34 // ----- (0041420D) --------------------------------------------------------
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
35 // void ModalWindow_ShowHint()
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
36 // {
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
37 GUIWindow pWindow; // [sp+4h] [bp-54h]@1
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
38
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
39 sprintf(pTmpBuf2.data(), "%s\n \n%s", pModalWindow->Hint, pGlobalTXT_LocalizationStrings[61]);// Press Escape
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
40 pWindow.Hint = pTmpBuf2.data();
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
41 pWindow.uFrameWidth = 400;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
42 pWindow.uFrameHeight = 100;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
43 pWindow.uFrameX = 120;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
44 pWindow.uFrameY = 140;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
45 pWindow.uFrameZ = 519;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
46 pWindow.uFrameW = 239;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
47 pWindow.DrawMessageBox(0);
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
48 }
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
49
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
50
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
51
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
52 //----- (0041426F) --------------------------------------------------------
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
53 void GUIWindow_Modal::Release()
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
54 {
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
55 pMessageQueue_50CBD0->AddGUIMessage((UIMessageType)par1C, 0, 0);
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
56
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
57 //pModalWindow->Release();
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
58 //pModalWindow = nullptr;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
59
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
60 current_screen_type = prev_screen_type;
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
61 pEventTimer->Resume();
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
62
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
63 GUIWindow::Release();
fed97f15d1e1 * SaveLoad
a.parshin
parents:
diff changeset
64 }