1 // Copyright © 2015-2017 winapi-rs developers
2 // Licensed under the Apache License, Version 2.0
3 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
4 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
5 // All files in the project carrying such notice may not be copied, modified, or distributed
6 // except according to those terms.
7 //! Procedure declarations, constant definitions, and macros for the NLS component.
8 use shared::minwindef::{BOOL, DWORD, HRGN, LPVOID};
9 use shared::windef::HWND;
10 use um::winnt::HRESULT;
11 STRUCT!{struct DWM_BLURBEHIND {
12     dwFlags: DWORD,
13     fEnable: BOOL,
14     hRgnBlur: HRGN,
15     fTransitionOnMaximized: BOOL,
16 }}
17 pub const DWMWA_NCRENDERING_ENABLED: DWORD = 1;
18 pub const DWMWA_NCRENDERING_POLICY: DWORD = 2;
19 pub const DWMWA_TRANSITIONS_FORCEDISABLED: DWORD = 2;
20 pub const DWMWA_ALLOW_NCPAINT: DWORD = 4;
21 pub const DWMWA_CAPTION_BUTTON_BOUNDS: DWORD = 5;
22 pub const DWMWA_NONCLIENT_RTL_LAYOUT: DWORD = 6;
23 pub const DWMWA_FORCE_ICONIC_REPRESENTATION: DWORD = 7;
24 pub const DWMWA_FLIP3D_POLICY: DWORD = 8;
25 pub const DWMWA_EXTENDED_FRAME_BOUNDS: DWORD = 9;
26 pub const DWMWA_HAS_ICONIC_BITMAP: DWORD = 10;
27 pub const DWMWA_DISALLOW_PEEK: DWORD = 11;
28 pub const DWMWA_EXCLUDED_FROM_PEEK: DWORD = 12;
29 pub const DWMWA_CLOAK: DWORD = 13;
30 pub const DWMWA_CLOAKED: DWORD = 14;
31 pub const DWMWA_FREEZE_REPRESENTATION: DWORD = 15;
32 pub const DWMWA_LAST: DWORD = 16;
33 extern "system" {
34     // pub fn DwmDefWindowProc();
DwmEnableBlurBehindWindow( hWnd: HWND, pBlurBehind: *const DWM_BLURBEHIND, ) -> HRESULT35     pub fn DwmEnableBlurBehindWindow(
36         hWnd: HWND,
37         pBlurBehind: *const DWM_BLURBEHIND,
38     ) -> HRESULT;
39     // pub fn DwmEnableComposition();
40     // pub fn DwmEnableMMCSS();
41     // pub fn DwmExtendFrameIntoClientArea();
42     // pub fn DwmGetColorizationColor();
43     // pub fn DwmGetCompositionTimingInfo();
DwmGetWindowAttribute( hWnd: HWND, dwAttribute: DWORD, pvAttribute: LPVOID, cbAttribute: DWORD, ) -> HRESULT44     pub fn DwmGetWindowAttribute(
45         hWnd: HWND,
46         dwAttribute: DWORD,
47         pvAttribute: LPVOID,
48         cbAttribute: DWORD,
49     ) -> HRESULT;
50     // pub fn DwmIsCompositionEnabled();
51     // pub fn DwmModifyPreviousDxFrameDuration();
52     // pub fn DwmQueryThumbnailSourceSize();
53     // pub fn DwmRegisterThumbnail();
54     // pub fn DwmSetDxFrameDuration();
55     // pub fn DwmSetPresentParameters();
56     // pub fn DwmSetWindowAttribute();
57     // pub fn DwmUnregisterThumbnail();
58     // pub fn DwmUpdateThumbnailProperties();
59     // pub fn DwmSetIconicThumbnail();
60     // pub fn DwmSetIconicLivePreviewBitmap();
61     // pub fn DwmInvalidateIconicBitmaps();
62     // pub fn DwmAttachMilContent();
63     // pub fn DwmDetachMilContent();
64     // pub fn DwmFlush();
65     // pub fn DwmGetGraphicsStreamTransformHint();
66     // pub fn DwmGetGraphicsStreamClient();
67     // pub fn DwmGetTransportAttributes();
68     // pub fn DwmTransitionOwnedWindow();
69     // pub fn DwmRenderGesture();
70     // pub fn DwmTetherContact();
71     // pub fn DwmShowContact();
72 }
73