aboutsummaryrefslogtreecommitdiff
path: root/source/30-game/EditorNotification.hpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2022-06-23 19:06:39 -0700
committerrtk0c <[email protected]>2022-06-23 19:06:39 -0700
commit4386c02d61b37c0d5c508895df2f028b8ea2057c (patch)
tree1fed098cd0129b00562a8a032fb6be3d9f3db4dc /source/30-game/EditorNotification.hpp
parente20fa55342621625379dbf3f691fc3fb36230cfc (diff)
Changeset: 74 Move EditorNotification.hpp to the common module
Diffstat (limited to 'source/30-game/EditorNotification.hpp')
-rw-r--r--source/30-game/EditorNotification.hpp81
1 files changed, 0 insertions, 81 deletions
diff --git a/source/30-game/EditorNotification.hpp b/source/30-game/EditorNotification.hpp
deleted file mode 100644
index 3af8c2d..0000000
--- a/source/30-game/EditorNotification.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// Adapted from https://github.com/patrickcjk/imgui-notify
-#pragma once
-
-#include <imgui.h>
-#include <cstdint>
-
-enum ImGuiToastType {
- ImGuiToastType_None,
- ImGuiToastType_Success,
- ImGuiToastType_Warning,
- ImGuiToastType_Error,
- ImGuiToastType_Info,
- ImGuiToastType_COUNT
-};
-
-enum ImGuiToastPhase {
- ImGuiToastPhase_FadeIn,
- ImGuiToastPhase_Wait,
- ImGuiToastPhase_FadeOut,
- ImGuiToastPhase_Expired,
- ImGuiToastPhase_COUNT
-};
-
-enum ImGuiToastPos {
- ImGuiToastPos_TopLeft,
- ImGuiToastPos_TopCenter,
- ImGuiToastPos_TopRight,
- ImGuiToastPos_BottomLeft,
- ImGuiToastPos_BottomCenter,
- ImGuiToastPos_BottomRight,
- ImGuiToastPos_Center,
- ImGuiToastPos_COUNT
-};
-
-constexpr int kNotifyMaxMsgLength = 4096; // Max message content length
-constexpr float kNotifyPaddingX = 20.0f; // Bottom-left X padding
-constexpr float kNotifyPaddingY = 20.0f; // Bottom-left Y padding
-constexpr float kNotifyPaddingMessageY = 10.0f; // Padding Y between each message
-constexpr uint64_t kNotifyFadeInOutTime = 150; // Fade in and out duration
-constexpr uint64_t kNotifyDefaultDismiss = 3000; // Auto dismiss after X ms (default, applied only of no data provided in constructors)
-constexpr float kNotifyOpacity = 1.0f; // 0-1 Toast opacity
-constexpr ImGuiWindowFlags kNotifyToastFlags = ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_NoInputs | ImGuiWindowFlags_NoNav | ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoFocusOnAppearing;
-
-class ImGuiToast {
-private:
- ImGuiToastType mType = ImGuiToastType_None;
- char mTitle[kNotifyMaxMsgLength] = {};
- char mContent[kNotifyMaxMsgLength] = {};
- int mDismissTime = kNotifyDefaultDismiss;
- uint64_t mCreationTime = 0;
-
-public:
- ImGuiToast(ImGuiToastType type, int dismissTime = kNotifyDefaultDismiss);
- ImGuiToast(ImGuiToastType type, const char* format, ...);
- ImGuiToast(ImGuiToastType type, int dismissTime, const char* format, ...);
-
- void SetTitle(const char* format, ...);
- void SetContent(const char* format, ...);
- void SetType(const ImGuiToastType& type);
-
- const char* GetTitle();
- const char* GetDefaultTitle();
- ImGuiToastType GetType();
- ImVec4 GetColor();
- const char* GetIcon();
- const char* GetContent();
-
- uint64_t GetElapsedTime();
- ImGuiToastPhase GetPhase();
- float GetFadePercent();
-
-private:
- void SetTitle(const char* format, va_list args);
- void SetContent(const char* format, va_list args);
-};
-
-namespace ImGui {
-void AddNotification(ImGuiToast toast);
-void RemoveNotification(int index);
-void ShowNotifications();
-} // namespace ImGui