diff options
author | Sven Gothel <[email protected]> | 2015-10-01 23:36:54 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2015-10-01 23:36:54 +0200 |
commit | a9b3f6d13b45284e81b91a1e1e31b35c31dd3670 (patch) | |
tree | 1a2550bc440cb27476d9d9a328600dc4b5fb296b /make/stub_includes/win32/gluegen/windows.h | |
parent | 4b0be44f54a7d89192c03725a16e396eba98a712 (diff) |
Bug 1232 - NEWT Translucent Decorated Windows Not Working On Windows >= 8 (Lack of Aero / Blur )
Adopting new undocumented user32.dll Windows >= 8 API:
- SetWindowCompositionAttribute / AccentState
See:
- <https://github.com/riverar/sample-win10-aeroglass/blob/master/MainWindow.xaml.cs>
- <http://withinrafael.com/adding-the-aero-glass-blur-to-your-windows-10-apps/>
- <http://undoc.airesoft.co.uk/user32.dll/SetWindowCompositionAttribute.php>
- <http://undoc.airesoft.co.uk/user32.dll/GetWindowCompositionAttribute.php>
+++
Cleaning up WindowsDWM.h, use on header file (in stub_includes)
for GlueGen and implementation.
+++
Merge java implementation within GDIUtil.DwmSetupTranslucency(..),
to be utilized by NEWT and JOGL.
NEWT issues GDIUtil.DwmSetupTranslucency(..) at creation
and when toggling decoration.
Toggling decoration on Win >= 8 leads to lost of translucency
when returning to decorated window.
On Win 7, this may work .. but is also buggy.
+++
Followup patch is needed for NEWT to _not_ clear the background!
Diffstat (limited to 'make/stub_includes/win32/gluegen/windows.h')
-rw-r--r-- | make/stub_includes/win32/gluegen/windows.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/make/stub_includes/win32/gluegen/windows.h b/make/stub_includes/win32/gluegen/windows.h new file mode 100644 index 000000000..46a560767 --- /dev/null +++ b/make/stub_includes/win32/gluegen/windows.h @@ -0,0 +1,67 @@ +/* Windows #defines and typedefs required for processing of extracts + from WINGDI.H and jawt_md.h */ + +/** + * These are standard include replacement files + * for gluegen processing only! + */ +#ifndef __GLUEGEN__ + #error "This file is intended to be used for GlueGen code generation, not native compilation. +#endif + +#ifndef _WINDOWS_ +#define _WINDOWS_ + +#define FAR +#define WINBASEAPI +#define WINGDIAPI +#define WINUSERAPI +#define WINAPI +#define APIENTRY +#define CONST const +#define VOID void +typedef int BOOL; +typedef unsigned char BYTE; +typedef char CHAR; +typedef unsigned __int32 DWORD; +typedef int INT; +typedef __int32 INT32; +typedef __int64 INT64; +typedef float FLOAT; +typedef struct _handle* HANDLE; +typedef HANDLE HBITMAP; +typedef HANDLE HDC; +typedef HANDLE HGDIOBJ; +typedef HANDLE HGLRC; +typedef HANDLE HMODULE; +typedef HANDLE HINSTANCE; +typedef HANDLE HPALETTE; +typedef HANDLE HWND; +typedef HANDLE HRGN; +typedef const char* LPCSTR; +typedef void* PVOID; +typedef void* LPVOID; +typedef const void* LPCVOID; +typedef __int32 LONG; +typedef unsigned __int32 ULONG; +typedef unsigned __int64 ULONG_PTR; +typedef struct _proc* PROC; +typedef unsigned int* PUINT; +typedef unsigned int UINT; +typedef unsigned short USHORT; +typedef unsigned short WORD; +typedef unsigned short ATOM; +typedef intptr_t DWORD_PTR; +typedef intptr_t* PDWORD_PTR; +typedef __int32 HRESULT; + +/* Necessary handle typedefs for parsing wglext.h */ + +typedef HANDLE HPBUFFERARB; +typedef HANDLE HPBUFFEREXT; +typedef HANDLE HGPUNV; +typedef HANDLE HVIDEOOUTPUTDEVICENV; +typedef HANDLE HVIDEOINPUTDEVICENV; +typedef HANDLE HPVIDEODEV; + +#endif /* _WINDOWS_ */ |