aboutsummaryrefslogtreecommitdiff
path: root/platform/windows/os_windows.h
diff options
context:
space:
mode:
authorHein-Pieter van Braam2018-05-08 16:44:35 +0200
committerGitHub2018-05-08 16:44:35 +0200
commite668757aa9ff4ccd3a90b1f402aba8a424b4c11d (patch)
treee569a46b16008d39e541d484fed95ad58ee4068a /platform/windows/os_windows.h
parentaacd7f012ebcfb7f8023ebecba2e003fcd018e98 (diff)
parentddae098deec89d67228a74623ebe7f5db39f425b (diff)
downloadgodot-e668757aa9ff4ccd3a90b1f402aba8a424b4c11d.tar.gz
godot-e668757aa9ff4ccd3a90b1f402aba8a424b4c11d.tar.zst
godot-e668757aa9ff4ccd3a90b1f402aba8a424b4c11d.zip
Merge pull request #14622 from bruvzg/non-rectangular-windows
Experimental support for windows with per-pixel transparency.
Diffstat (limited to 'platform/windows/os_windows.h')
-rw-r--r--platform/windows/os_windows.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/platform/windows/os_windows.h b/platform/windows/os_windows.h
index 584f6fb33..221109318 100644
--- a/platform/windows/os_windows.h
+++ b/platform/windows/os_windows.h
@@ -93,6 +93,12 @@ class OS_Windows : public OS {
HINSTANCE hInstance; // Holds The Instance Of The Application
HWND hWnd;
+ HBITMAP hBitmap; //DIB section for layered window
+ uint8_t *dib_data;
+ Size2 dib_size;
+ HDC hDC_dib;
+ bool layered_window;
+
uint32_t move_timer_id;
HCURSOR hCursor;
@@ -212,6 +218,13 @@ public:
virtual void set_borderless_window(bool p_borderless);
virtual bool get_borderless_window();
+ virtual bool get_window_per_pixel_transparency_enabled() const;
+ virtual void set_window_per_pixel_transparency_enabled(bool p_enabled);
+
+ virtual uint8_t *get_layered_buffer_data();
+ virtual Size2 get_layered_buffer_size();
+ virtual void swap_layered_buffer();
+
virtual Error open_dynamic_library(const String p_path, void *&p_library_handle, bool p_also_set_library_path = false);
virtual Error close_dynamic_library(void *p_library_handle);
virtual Error get_dynamic_library_symbol_handle(void *p_library_handle, const String p_name, void *&p_symbol_handle, bool p_optional = false);