-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathdwmapi.go
116 lines (96 loc) · 4.55 KB
/
dwmapi.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
//go:build windows
// +build windows
package win
import "golang.org/x/sys/windows"
type DWMWINDOWATTRIBUTE uint32
const (
DWMWA_NCRENDERING_ENABLED DWMWINDOWATTRIBUTE = 1
DWMWA_NCRENDERING_POLICY DWMWINDOWATTRIBUTE = 2
DWMWA_TRANSITIONS_FORCEDISABLED DWMWINDOWATTRIBUTE = 3
DWMWA_ALLOW_NCPAINT DWMWINDOWATTRIBUTE = 4
DWMWA_CAPTION_BUTTON_BOUNDS DWMWINDOWATTRIBUTE = 5
DWMWA_NONCLIENT_RTL_LAYOUT DWMWINDOWATTRIBUTE = 6
DWMWA_FORCE_ICONIC_REPRESENTATION DWMWINDOWATTRIBUTE = 7
DWMWA_FLIP3D_POLICY DWMWINDOWATTRIBUTE = 8
DWMWA_EXTENDED_FRAME_BOUNDS DWMWINDOWATTRIBUTE = 9
DWMWA_HAS_ICONIC_BITMAP DWMWINDOWATTRIBUTE = 10
DWMWA_DISALLOW_PEEK DWMWINDOWATTRIBUTE = 11
DWMWA_EXCLUDED_FROM_PEEK DWMWINDOWATTRIBUTE = 12
DWMWA_CLOAK DWMWINDOWATTRIBUTE = 13
DWMWA_CLOAKED DWMWINDOWATTRIBUTE = 14
DWMWA_FREEZE_REPRESENTATION DWMWINDOWATTRIBUTE = 15
DWMWA_PASSIVE_UPDATE_MODE DWMWINDOWATTRIBUTE = 16
DWMWA_USE_HOSTBACKDROPBRUSH DWMWINDOWATTRIBUTE = 17
DWMWA_USE_IMMERSIVE_DARK_MODE DWMWINDOWATTRIBUTE = 20
DWMWA_WINDOW_CORNER_PREFERENCE DWMWINDOWATTRIBUTE = 33
DWMWA_BORDER_COLOR DWMWINDOWATTRIBUTE = 34
DWMWA_CAPTION_COLOR DWMWINDOWATTRIBUTE = 35
DWMWA_TEXT_COLOR DWMWINDOWATTRIBUTE = 36
DWMWA_VISIBLE_FRAME_BORDER_THICKNESS DWMWINDOWATTRIBUTE = 37
DWMWA_SYSTEMBACKDROP_TYPE DWMWINDOWATTRIBUTE = 38
)
const (
DWM_CLOAKED_APP uint32 = 0x00000001
DWM_CLOAKED_SHELL uint32 = 0x00000002
DWM_CLOAKED_INHERITED uint32 = 0x00000004
)
const (
DWMWA_COLOR_NONE COLORREF = 0xFFFFFFFE
DWMWA_COLOR_DEFAULT COLORREF = 0xFFFFFFFF
)
type DWMNCRENDERINGPOLICY int32
const (
DWMNCRP_USEWINDOWSTYLE DWMNCRENDERINGPOLICY = 0
DWMNCRP_DISABLED DWMNCRENDERINGPOLICY = 1
DWMNCRP_ENABLED DWMNCRENDERINGPOLICY = 2
)
type DWMFLIP3DWINDOWPOLICY int32
const (
DWMFLIP3D_DEFAULT DWMFLIP3DWINDOWPOLICY = 0
DWMFLIP3D_EXCLUDEBELOW DWMFLIP3DWINDOWPOLICY = 1
DWMFLIP3D_EXCLUDEABOVE DWMFLIP3DWINDOWPOLICY = 2
)
type DWM_WINDOW_CORNER_PREFERENCE int32
const (
DWMWCP_DEFAULT DWM_WINDOW_CORNER_PREFERENCE = 0
DWMWCP_DONOTROUND DWM_WINDOW_CORNER_PREFERENCE = 1
DWMWCP_ROUND DWM_WINDOW_CORNER_PREFERENCE = 2
DWMWCP_ROUNDSMALL DWM_WINDOW_CORNER_PREFERENCE = 3
)
type DWM_SYSTEMBACKDROP_TYPE int32
const (
DWMSBT_AUTO DWM_SYSTEMBACKDROP_TYPE = 0
DWMSBT_NONE DWM_SYSTEMBACKDROP_TYPE = 1
DWMSBT_MAINWINDOW DWM_SYSTEMBACKDROP_TYPE = 2
DWMSBT_TRANSIENTWINDOW DWM_SYSTEMBACKDROP_TYPE = 3
DWMSBT_TABBEDWINDOW DWM_SYSTEMBACKDROP_TYPE = 4
)
type HTHUMBNAIL windows.Handle
const (
DWM_TNP_RECTDESTINATION = 0x00000001
DWM_TNP_RECTSOURCE = 0x00000002
DWM_TNP_OPACITY = 0x00000004
DWM_TNP_VISIBLE = 0x00000008
DWM_TNP_SOURCECLIENTAREAONLY = 0x00000010
)
type DWM_THUMBNAIL_PROPERTIES struct {
Flags uint32
RcDestination RECT
RcSource RECT
Opacity byte
FVisible BOOL
FSourceClientAreaOnly BOOL
}
const DWM_SIT_DISPLAYFRAME = 0x00000001
//sys DwmExtendFrameIntoClientArea(hwnd HWND, inset *MARGINS) (ret HRESULT) = dwmapi.DwmExtendFrameIntoClientArea
//sys DwmGetWindowAttribute(hwnd HWND, attribute DWMWINDOWATTRIBUTE, attrVal unsafe.Pointer, attrValLen uint32) (ret HRESULT) = dwmapi.DwmGetWindowAttribute
//sys DwmInvalidateIconicBitmaps(hwnd HWND) (ret HRESULT) = dwmapi.DwmInvalidateIconicBitmaps
//sys DwmQueryThumbnailSourceSize(thumbnail HTHUMBNAIL, size *SIZE) (ret HRESULT) = dwmapi.DwmQueryThumbnailSourceSize
//sys DwmRegisterThumbnail(hwndDest HWND, hwndSrc HWND, handle *HTHUMBNAIL) (ret HRESULT) = dwmapi.DwmRegisterThumbnail
//sys DwmSetIconicLivePreviewBitmap(hwnd HWND, hbmp HBITMAP, clientRegionOffset *POINT, flags uint32) (ret HRESULT) = dwmapi.DwmSetIconicLivePreviewBitmap
//sys DwmSetIconicThumbnail(hwnd HWND, hbmp HBITMAP, flags uint32) (ret HRESULT) = dwmapi.DwmSetIconicThumbnail
//sys DwmSetWindowAttribute(hwnd HWND, attribute DWMWINDOWATTRIBUTE, attrVal unsafe.Pointer, attrValLen uint32) (ret HRESULT) = dwmapi.DwmSetWindowAttribute
//sys DwmUpdateThumbnailProperties(thumbnail HTHUMBNAIL, props *DWM_THUMBNAIL_PROPERTIES) (ret HRESULT) = dwmapi.DwmUpdateThumbnailProperties
//sys DwmUnregisterThumbnail(thumbnail HTHUMBNAIL) (ret HRESULT) = dwmapi.DwmUnregisterThumbnail