Elaztek Developer Hub
Blamite Game Engine - blam!  00406.12.10.23.1457.blamite
The core library for the Blamite Game Engine.
overlay_manager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "types.h"
4 
5 namespace discord {
6 
7 class OverlayManager final {
8 public:
9  ~OverlayManager() = default;
10 
11  void IsEnabled(bool* enabled);
12  void IsLocked(bool* locked);
13  void SetLocked(bool locked, std::function<void(Result)> callback);
14  void OpenActivityInvite(ActivityActionType type, std::function<void(Result)> callback);
15  void OpenGuildInvite(char const* code, std::function<void(Result)> callback);
16  void OpenVoiceSettings(std::function<void(Result)> callback);
17  Result InitDrawingDxgi(IDXGISwapChain* swapchain, bool useMessageForwarding);
18  void OnPresent();
19  void ForwardMessage(MSG* message);
20  void KeyEvent(bool down, char const* keyCode, KeyVariant variant);
21  void CharEvent(char const* character);
23  std::int32_t clickCount,
24  MouseButton which,
26  std::int32_t y);
28  void ImeCommitText(char const* text);
29  void ImeSetComposition(char const* text,
30  ImeUnderline* underlines,
31  std::uint32_t underlinesLength,
33  std::int32_t to);
34  void ImeCancelComposition();
36  std::function<void(std::int32_t, std::int32_t, Rect*, std::uint32_t)>
37  onImeCompositionRangeChanged);
39  std::function<void(Rect, Rect, bool)> onImeSelectionBoundsChanged);
41 
43 
44 private:
45  friend class Core;
46 
47  OverlayManager() = default;
48  OverlayManager(OverlayManager const& rhs) = delete;
49  OverlayManager& operator=(OverlayManager const& rhs) = delete;
50  OverlayManager(OverlayManager&& rhs) = delete;
51  OverlayManager& operator=(OverlayManager&& rhs) = delete;
52 
53  IDiscordOverlayManager* internal_;
54  static IDiscordOverlayEvents events_;
55 };
56 
57 } // namespace discord
discord::OverlayManager::OpenActivityInvite
void OpenActivityInvite(ActivityActionType type, std::function< void(Result)> callback)
Definition: overlay_manager.cpp:65
EDiscordKeyVariant
EDiscordKeyVariant
Definition: ffi.h:194
discord
Definition: achievement_manager.cpp:12
discord::Core::OverlayManager
discord::OverlayManager & OverlayManager()
Definition: core.cpp:137
discord::OverlayManager::OnPresent
void OnPresent()
Definition: overlay_manager.cpp:119
EDiscordResult
EDiscordResult
Definition: ffi.h:45
discord::ImeUnderline
Definition: types.h:412
DiscordImeUnderline
Definition: ffi.h:344
discord::OverlayManager::MouseMotionEvent
void MouseMotionEvent(std::int32_t x, std::int32_t y)
Definition: overlay_manager.cpp:152
discord::OverlayManager::ImeCancelComposition
void ImeCancelComposition()
Definition: overlay_manager.cpp:176
discord::Core
Definition: core.h:19
uint8_t
unsigned char uint8_t
Definition: stdint.h:15
discord::OverlayManager::ForwardMessage
void ForwardMessage(MSG *message)
Definition: overlay_manager.cpp:124
y
font DisplayOffset y
Definition: README.txt:68
discord::OverlayManager::IsEnabled
void IsEnabled(bool *enabled)
Definition: overlay_manager.cpp:32
discord::OverlayManager::SetImeCompositionRangeCallback
void SetImeCompositionRangeCallback(std::function< void(std::int32_t, std::int32_t, Rect *, std::uint32_t)> onImeCompositionRangeChanged)
Definition: overlay_manager.cpp:181
discord::OverlayManager::ImeSetComposition
void ImeSetComposition(char const *text, ImeUnderline *underlines, std::uint32_t underlinesLength, std::int32_t from, std::int32_t to)
Definition: overlay_manager.cpp:162
discord::OverlayManager::IsPointInsideClickZone
bool IsPointInsideClickZone(std::int32_t x, std::int32_t y)
Definition: overlay_manager.cpp:223
types.h
discord::OverlayManager::SetLocked
void SetLocked(bool locked, std::function< void(Result)> callback)
Definition: overlay_manager.cpp:50
discord::OverlayManager::OpenVoiceSettings
void OpenVoiceSettings(std::function< void(Result)> callback)
Definition: overlay_manager.cpp:97
discord::OverlayManager::OpenGuildInvite
void OpenGuildInvite(char const *code, std::function< void(Result)> callback)
Definition: overlay_manager.cpp:82
discord::MouseButton
MouseButton
Definition: types.h:167
DiscordRect
Definition: ffi.h:352
core.h
int32_t
int int32_t
Definition: stdint.h:13
discord::Result
Result
Definition: types.h:12
discord::OverlayManager::MouseButtonEvent
void MouseButtonEvent(std::uint8_t down, std::int32_t clickCount, MouseButton which, std::int32_t x, std::int32_t y)
Definition: overlay_manager.cpp:142
discord::OverlayManager::SetImeSelectionBoundsCallback
void SetImeSelectionBoundsCallback(std::function< void(Rect, Rect, bool)> onImeSelectionBoundsChanged)
Definition: overlay_manager.cpp:204
IDiscordOverlayEvents
Definition: ffi.h:796
discord::OverlayManager::~OverlayManager
~OverlayManager()=default
DISCORD_CALLBACK
#define DISCORD_CALLBACK
Definition: ffi.h:19
uint32_t
unsigned int uint32_t
Definition: stdint.h:17
discord::OverlayManager::OnToggle
Event< bool > OnToggle
Definition: overlay_manager.h:42
discord::OverlayManager::InitDrawingDxgi
Result InitDrawingDxgi(IDXGISwapChain *swapchain, bool useMessageForwarding)
Definition: overlay_manager.cpp:112
discord::OverlayManager
Definition: overlay_manager.h:7
discord::ActivityActionType
ActivityActionType
Definition: types.h:102
EDiscordMouseButton
EDiscordMouseButton
Definition: ffi.h:200
x
config GlyphExtraSpacing x
Definition: README.txt:30
discord::OverlayEvents
Definition: overlay_manager.cpp:14
discord::Rect
Definition: types.h:429
EDiscordActivityActionType
EDiscordActivityActionType
Definition: ffi.h:135
discord::Event< bool >
discord::KeyVariant
KeyVariant
Definition: types.h:161
IDiscordOverlayManager
Definition: ffi.h:800
discord::OverlayEvents::OnToggle
static void DISCORD_CALLBACK OnToggle(void *callbackData, bool locked)
Definition: overlay_manager.cpp:16
discord::OverlayManager::ImeCommitText
void ImeCommitText(char const *text)
Definition: overlay_manager.cpp:157
discord::OverlayManager::CharEvent
void CharEvent(char const *character)
Definition: overlay_manager.cpp:137
discord::OverlayManager::IsLocked
void IsLocked(bool *locked)
Definition: overlay_manager.cpp:41
from
Blam::Endpoint from
– TO BE FILLED IN BY VERTIGO –
Definition: main.cpp:71
overlay_manager.h
discord::OverlayManager::KeyEvent
void KeyEvent(bool down, char const *keyCode, KeyVariant variant)
Definition: overlay_manager.cpp:129