Files
GabsPuNs-Project_Zenith_Main/Minecraft.Client/Common/UI/UIScene_MessageBox.h

53 lines
1.4 KiB
C++

#pragma once
#pragma push_macro("byte")
#pragma push_macro("GetNextSibling")
#pragma push_macro("GetFirstChild")
#undef byte
#undef GetNextSibling
#undef GetFirstChild
#include "UIScene.h"
#include <RmlUi/Core/EventListener.h>
#include <RmlUi/Core/ElementDocument.h>
class UIScene_MessageBox : public UIScene, public Rml::EventListener
{
public:
UIScene_MessageBox(int iPad, void *initData, UILayer *parentLayer);
virtual ~UIScene_MessageBox();
virtual EUIScene getSceneType() { return eUIScene_MessageBox; }
virtual bool hidesLowerScenes() { return false; }
virtual bool blocksInput() { return true; }
virtual void tick();
virtual void render(S32 width, S32 height, C4JRender::eViewportType viewport);
virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled);
virtual bool hasFocus(int iPad);
virtual void gainFocus() override;
virtual void reloadMovie(bool force) override;
void ProcessEvent(Rml::Event& event) override;
protected:
virtual wstring getMoviePath() { return L""; }
virtual void handleLoseFocus() override;
void OnButtonClicked(int buttonIndex);
void navigateBack();
private:
Rml::ElementDocument* m_document;
int m_buttonCount;
int(*m_Func)(LPVOID, int, const C4JStorage::EMessageResult);
LPVOID m_lpParam;
};
#pragma pop_macro("GetFirstChild")
#pragma pop_macro("GetNextSibling")
#pragma pop_macro("byte")