mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-01 03:21:41 +00:00
103 lines
2.3 KiB
C++
103 lines
2.3 KiB
C++
#ifndef MYGUI_POSTPROCESSOR_HUD_H
|
|
#define MYGUI_POSTPROCESSOR_HUD_H
|
|
|
|
#include "windowbase.hpp"
|
|
|
|
#include <MyGUI_ListBox.h>
|
|
|
|
#include <components/settings/shadermanager.hpp>
|
|
|
|
namespace MyGUI
|
|
{
|
|
class ScrollView;
|
|
class EditBox;
|
|
class TabItem;
|
|
}
|
|
namespace Gui
|
|
{
|
|
class AutoSizedButton;
|
|
class AutoSizedEditBox;
|
|
}
|
|
|
|
namespace MWGui
|
|
{
|
|
class PostProcessorHud : public WindowBase
|
|
{
|
|
class ListWrapper final : public MyGUI::ListBox
|
|
{
|
|
MYGUI_RTTI_DERIVED(ListWrapper)
|
|
protected:
|
|
void onKeyButtonPressed(MyGUI::KeyCode key, MyGUI::Char ch) override;
|
|
};
|
|
|
|
public:
|
|
PostProcessorHud();
|
|
|
|
void onOpen() override;
|
|
|
|
void onClose() override;
|
|
|
|
void updateTechniques();
|
|
|
|
void toggleMode(Settings::ShaderManager::Mode mode);
|
|
|
|
static void registerMyGUIComponents();
|
|
|
|
private:
|
|
void notifyWindowResize(MyGUI::Window* sender);
|
|
|
|
void notifyFilterChanged(MyGUI::EditBox* sender);
|
|
|
|
void updateConfigView(const std::string& name);
|
|
|
|
void notifyResetButtonClicked(MyGUI::Widget* sender);
|
|
|
|
void notifyListChangePosition(MyGUI::ListBox* sender, size_t index);
|
|
|
|
void notifyKeyButtonPressed(MyGUI::Widget* sender, MyGUI::KeyCode key, MyGUI::Char ch);
|
|
|
|
void notifyActivatePressed(MyGUI::Widget* sender);
|
|
|
|
void notifyDeactivatePressed(MyGUI::Widget* sender);
|
|
|
|
void notifyShaderUpPressed(MyGUI::Widget* sender);
|
|
|
|
void notifyShaderDownPressed(MyGUI::Widget* sender);
|
|
|
|
void notifyMouseWheel(MyGUI::Widget* sender, int rel);
|
|
|
|
enum class Direction
|
|
{
|
|
Up,
|
|
Down
|
|
};
|
|
|
|
void moveShader(Direction direction);
|
|
|
|
void toggleTechnique(bool enabled);
|
|
|
|
void select(ListWrapper* list, size_t index);
|
|
|
|
void layout();
|
|
|
|
ListWrapper* mActiveList;
|
|
ListWrapper* mInactiveList;
|
|
|
|
Gui::AutoSizedButton* mButtonActivate;
|
|
Gui::AutoSizedButton* mButtonDeactivate;
|
|
Gui::AutoSizedButton* mButtonDown;
|
|
Gui::AutoSizedButton* mButtonUp;
|
|
|
|
MyGUI::ScrollView* mConfigLayout;
|
|
|
|
MyGUI::Widget* mConfigArea;
|
|
|
|
MyGUI::EditBox* mFilter;
|
|
Gui::AutoSizedEditBox* mShaderInfo;
|
|
|
|
std::string mOverrideHint;
|
|
};
|
|
}
|
|
|
|
#endif
|