Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from lxn:master #1

Open
wants to merge 195 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
195 commits
Select commit Hold shift + click to select a range
c13b697
Fix XP trouble by not requiring PdhAddEnglishCounterW
lxn Sep 15, 2013
5764fba
Call correct api function in GetStockObject, fixes #4
lxn Dec 30, 2013
83b90fa
Use syscall.GUID
bbigras Jan 16, 2014
15ba4c6
Merge pull request #5 from brunoqc/guid
lxn Jan 21, 2014
a7d13ad
Add some ScrollBar stuff
lxn Mar 10, 2014
ead0132
Some useful documentation for SendInput.
toqueteos Mar 7, 2014
b19c287
Merge pull request #8 from toqueteos/patch-1
lxn Mar 14, 2014
93ec4d8
Don't ask...
lxn Jun 25, 2015
43169cf
Merge branch 'master' of github.com:lxn/win
lxn Jun 25, 2015
4a8aafc
Add some clipboard stuff
lxn Aug 11, 2015
a5bc251
Add a tree view struct + some constant changes
lxn Aug 12, 2015
3d5ba1e
Add GetThreadUILanguage
lxn Aug 27, 2015
2b1cddc
XP doesn't have the GetThreadUILanguage function
lxn Sep 11, 2015
6d12498
XP doesn't have AddClipboardFormatListener either
lxn Sep 11, 2015
56f61a4
Add build tags to allow this library to be included in a cross platfo…
jwatson-gcu Sep 15, 2015
a500fc3
Added myself to AUTHORS, and sorted the list.
jwatson-gcu Sep 17, 2015
ef6f491
Remove the nonwin.go file because it causes a problem with GoDoc. Go…
jtwatson Sep 19, 2015
26b7066
Add some progress bar stuff
lxn Nov 12, 2015
18bb0f5
add CreateCompatibleBitmap API necessary for double buffered painting
tajtiattila Nov 21, 2015
8fdede8
Merge pull request #16 from jtwatson/features/build-tags
lxn Nov 22, 2015
50c69a2
Merge branch 'master' of https://github.com/tajtiattila/win
lxn Nov 23, 2015
e19dea1
add (Set|Get)ViewportOrgEx
tajtiattila Nov 25, 2015
b55c7ce
add dropfile api
ktye Nov 27, 2015
50cd8e6
Merge branch 'master' of https://github.com/tajtiattila/win
Dec 4, 2015
9648475
Add dropfiles api
ktye Dec 6, 2015
4af7895
Merge remote-tracking branch 'upstream/master' into dropfiles
ktye Dec 6, 2015
ce852a2
Merge pull request #17 from ktye/dropfiles
lxn Dec 8, 2015
2952c0e
Merge pull request #1 from lxn/master
ktye Dec 11, 2015
32cb77c
add support for trackbar
ktye Jan 7, 2016
29a0886
update slider control
ktye Jan 8, 2016
9a7734e
add slider constants
ktye Jan 12, 2016
56faba9
Merge remote-tracking branch 'upstream/master' into polyline
Mar 3, 2016
a7d5548
add polyline
Mar 3, 2016
46cb595
Merge pull request #20 from ktye/polyline
lxn Mar 7, 2016
0c21e98
add getDIBits
Mar 8, 2016
e1da285
add screenshot
Mar 13, 2016
950a0e8
Merge pull request #21 from ktye/screenshot
lxn Mar 14, 2016
4f035bc
Add some split button stuff
lxn Aug 1, 2016
8855ece
Add SHParseDisplayName
lxn Aug 1, 2016
e05a4bd
Add a missing toolbar constant
lxn Jan 24, 2017
938414c
Add TB_THUMBTRACK
lxn Mar 7, 2017
b09ac90
Add SetBkColor
lxn Mar 7, 2017
47e8171
Add IsAppThemed
lxn Mar 7, 2017
b294380
Add CreatePatternBrush + GradientFill
lxn Mar 23, 2017
360332d
Add GetThemePartSize
lxn Apr 11, 2017
3f1a513
Add GetActiveWindow and GetForegroundWindow
lxn Apr 11, 2017
79b67e8
Add ExcludeClipRect and IntersectClipRect
lxn Apr 11, 2017
248bf3f
Replace DrawThemeText with DrawThemeTextEx
lxn Apr 17, 2017
cd28d43
Add some region functions + TransparentBlt
lxn Apr 17, 2017
1ea027c
Add missing // +build windows, fixes #28
lxn Jul 11, 2017
bf37f79
Add GetPhysicallyInstalledSystemMemory system call.
bobbypage Aug 1, 2017
aa5a120
Add WM_NCHITTEST constants
lxn Aug 3, 2017
9ea9015
Add myself to authors
bobbypage Aug 3, 2017
9d4663f
Merge pull request #31 from bobbypage/memory
lxn Aug 7, 2017
812a38a
Add SysLink stuff
lxn Aug 8, 2017
712da40
Merge branch 'master' of github.com:lxn/win
lxn Aug 8, 2017
c27269d
Don't panic if GetPhysicallyInstalledSystemMemory is not available (b…
lxn Aug 23, 2017
c882970
Move some stuff around
lxn Aug 23, 2017
9722d44
Don't panic on startup if DrawThemeTextEx is not available
lxn Aug 24, 2017
63c4be3
Fix DTTOPTS for 64 bit
lxn Sep 18, 2017
6089bc4
Add AnimateWindow
lxn Sep 26, 2017
177bd92
add SHGetStockIconInfo
tmm1 Oct 31, 2017
94dce02
add BCM_SETSHIELD
tmm1 Nov 3, 2017
d0eb643
add LoadIcon*
tmm1 Nov 3, 2017
af1cb43
Implement WindowFromDC from user32.
icedream Nov 5, 2017
27b44ab
Add Carl Kittelberger to AUTHORS file.
icedream Nov 6, 2017
46e217e
Merge pull request #38 from icedream/feature/user32/windowfromdc
lxn Nov 6, 2017
1e0d6a9
Update AUTHORS
tmm1 Nov 6, 2017
2b380f7
Merge branch 'SHGetStockIconInfo' of https://github.com/tmm1/win into…
lxn Nov 13, 2017
e97d1c7
Merge branch 'bcm-setshield' of https://github.com/tmm1/win into prs
lxn Nov 13, 2017
e5a8b5f
Merge branch 'loadicon-more' of https://github.com/tmm1/win into prs
lxn Nov 13, 2017
59fcf4b
Add AlphaBlend
lxn Nov 14, 2017
38b6e93
Add some more GDI functions
lxn Nov 16, 2017
aaf8f59
Don't panic on post XP stuff. At least not on startup.
lxn Nov 20, 2017
8df69d7
Fix GPTR flag to correct value
Feb 16, 2018
dae64ff
Add NMLVSCROLL
lxn Mar 23, 2018
d3b5b63
Add some header control stuff
lxn Mar 23, 2018
97a2b7e
(1) Fix VARIANT type for Windows10 (x64) which was invalid at Windows…
ryujimiya Apr 8, 2018
b823cb1
The VARIANT-type method names are changed: e.g. LVal() to MustLong().
ryujimiya Apr 15, 2018
7fd4c80
rename VARIANT methods: e.g. GetLong -> Long
ryujimiya Apr 16, 2018
bc1a8b9
Merge pull request #48 from ryujimiya/ryujimiya_branch_1
lxn Apr 17, 2018
d66bec9
oleaut32: Fix constant for 32 bit
lxn Apr 17, 2018
dbd1ff5
Add some gdi32 stuff
lxn Apr 23, 2018
822cdfe
Add HDLAYOUT
lxn Apr 23, 2018
4186f96
Add WINDOWPOS
lxn Apr 23, 2018
3906055
SAFEARRAY is added
ryujimiya Apr 27, 2018
7e1250b
Merge pull request #50 from ryujimiya/ryujimiya_branch_2
lxn Apr 30, 2018
940d4d7
added GetDesktopWindow()
sug0 Jul 13, 2018
4fd9dd7
Add CreateActCtx and ActivateActCtx
Aug 20, 2018
31b28bc
Add gonutz to AUTHORS and sort functions by name
Aug 20, 2018
785c495
Merge pull request #55 from gonutz/master
lxn Aug 21, 2018
623526a
Proper custom color handling
SilverCory Sep 19, 2018
b5bcf26
Updated GetDesktopWindow() pos, added myself to AUTHORS
sug0 Oct 10, 2018
d7f97ad
Updated GetDesktopWindow() pos, added myself to AUTHORS
sug0 Oct 10, 2018
d19d56a
Merge pull request #54 from sugoiuguu/master
lxn Oct 11, 2018
05ef078
Add myself (Cory Redmond) to authors.
SilverCory Oct 13, 2018
0dce909
Merge branch 'master' into patch-1
SilverCory Oct 14, 2018
a7f8736
Merge pull request #56 from SilverCory/patch-1
lxn Oct 15, 2018
6d55206
Add CheckMenuRadioItem
lxn Feb 25, 2019
dc7d9e9
user32: Support hooking window events and querying class names
zx2c4 Feb 25, 2019
089c0f5
AUTHORS: Add self to list
zx2c4 Feb 25, 2019
4c025d2
Add some TrackBar / Slider message constants
lxn Feb 26, 2019
50e22ab
Merge pull request #57 from zx2c4-forks/jd/hooks
lxn Feb 26, 2019
e90c084
Safely load DLLs
zx2c4 Mar 6, 2019
41550cc
Add BringWindowToTop
zx2c4 Mar 9, 2019
c5fe80e
Add ExtractIcon
zx2c4 Mar 9, 2019
76a3ee4
Merge pull request #59 from zx2c4-forks/master
lxn Mar 11, 2019
0040366
Merge pull request #60 from zx2c4-forks/jd/extract
lxn Mar 11, 2019
ecea61d
Add missing MessageBox constants
lxn Apr 11, 2019
c34dbc1
Add some image retrieval constants
lxn Apr 23, 2019
10664f9
user32: add missing constant for double buffering
zx2c4 Apr 27, 2019
45c5965
Merge pull request #65 from zx2c4-forks/master
lxn Apr 29, 2019
cd24045
Add some hidpi stuff
lxn Apr 30, 2019
4eb6814
Fix GetSystemMetricsForDpi crash
lxn May 1, 2019
f8e2a85
Add ShellExecute
zx2c4 May 2, 2019
06ff5d1
add several Win32 API functions for finding and loading data from the…
dfbag7 May 2, 2019
4a44be4
Merge pull request #66 from zx2c4-forks/jd/shellexecute
lxn May 2, 2019
186b733
Update AUTHORS file
dfbag7 May 2, 2019
6a5038c
kernel32: GetVersion returns a DWORD
zx2c4 May 4, 2019
4acbabb
user32/kernel32: add thread attachment functions
zx2c4 May 4, 2019
644e9ec
user32: allow unsetting the default item
zx2c4 May 4, 2019
7fbdd10
shell32: add missing notify icon constants
zx2c4 May 4, 2019
696494a
Merge pull request #67 from dfbag7/add-resource-api-functions
lxn May 6, 2019
788d8ce
Merge pull request #68 from zx2c4-forks/jd/notifyicon-constants
lxn May 6, 2019
f47a81f
Merge pull request #69 from zx2c4-forks/jd/getversion-dword
lxn May 6, 2019
e510601
Merge pull request #70 from zx2c4-forks/jd/threadinput
lxn May 6, 2019
21dd904
Merge pull request #71 from zx2c4-forks/jd/default-menu-state
lxn May 6, 2019
5bb2de7
Merge pull request #45 from KellPro/fixGPTR
lxn May 6, 2019
f6f761e
user32: add session end constants
zx2c4 May 7, 2019
17ace7a
Merge pull request #72 from zx2c4-forks/jd/constants
lxn May 7, 2019
261b4e6
Add SHDefExtractIcon; go fmt
lxn May 8, 2019
f938c73
Merge branch 'master' of github.com:lxn/win
lxn May 8, 2019
10b82f3
Fix for previous commit
lxn May 8, 2019
168a55d
Add IsIconic
rozmansi May 8, 2019
c45cc08
Add IsZoomed
rozmansi May 8, 2019
8d6ea1e
Merge pull request #73 from Amebis/is-iconic
lxn May 8, 2019
128b913
Add GetIconInfo
lxn May 8, 2019
5d15a47
Merge branch 'master' of github.com:lxn/win
lxn May 8, 2019
438afda
add go.mod
tmm1 May 10, 2019
bad535d
user32: add UIPI filter modifying function and constants
zx2c4 May 12, 2019
d956625
Leave it up to the app to lock thread
zx2c4 Apr 3, 2019
ac22892
Merge pull request #74 from tmm1/go-mod
lxn May 13, 2019
603b7c3
Merge pull request #75 from zx2c4-forks/jd/uipi
lxn May 13, 2019
69e0898
Merge pull request #76 from zx2c4-forks/jd/app-lock
lxn May 13, 2019
b972ac3
user32: GetSystemMenu
zx2c4 May 14, 2019
e852aed
Merge pull request #77 from zx2c4-forks/jd/systememnu
lxn May 14, 2019
eca8fa9
shobj: expose overlay icon
zx2c4 May 14, 2019
6f00d81
Merge pull request #78 from zx2c4-forks/jd/shobj
lxn May 14, 2019
61dfaf2
Add LVM_SETBKCOLOR
lxn May 29, 2019
270e6e4
Add GetThemeColor and some related constants
lxn May 29, 2019
ae0fa62
Add some stuff required for list box owner drawing
lxn Jun 12, 2019
9c04a4e
Add TrackMouseEvent and high contrast detection stuff
lxn Jun 18, 2019
d1d36f0
Add EDITWORDBREAKPROC codes
lxn Jul 16, 2019
811cbd4
Add more uxtheme constants
rozmansi Sep 4, 2019
fe6a424
Merge pull request #87 from Amebis/pending/uxtheme-consts
lxn Sep 4, 2019
a042545
comctl32: do not call win32 api in init function
zx2c4 Sep 4, 2019
9739bfe
Merge pull request #88 from zx2c4-forks/jd/noglobalinit
lxn Sep 5, 2019
06b4593
Add various user32 constants
rozmansi Sep 9, 2019
fdaad66
Add NotifyWinEvent
rozmansi Sep 9, 2019
fa47aa1
Add CLSCTX_INPROC and CLSCTX_SERVER constants
rozmansi Sep 9, 2019
e8b6982
Add CoInitializeEx and CoUninitialize
rozmansi Sep 10, 2019
bdbc78e
Make HRESULT constants typed
rozmansi Sep 10, 2019
1450900
Add support for Dynamic Annotation
rozmansi Sep 9, 2019
ddcec84
Merge pull request #89 from Amebis/pending/dynamic-annotation
lxn Sep 10, 2019
bde85b8
Merge pull request #90 from Amebis/pending/CoInitializeEx
lxn Sep 10, 2019
8acf7be
Revert "Add support for Dynamic Annotation"
lxn Sep 10, 2019
ae3bd97
Revert "Make HRESULT constants typed"
lxn Sep 10, 2019
d765bbe
Add LVIR_* constants
rozmansi Sep 10, 2019
1d503f5
Add EM_SETCARETINDEX and EM_GETCARETINDEX
rozmansi Sep 10, 2019
14e5fc3
Add support for Dynamic Annotation
rozmansi Sep 12, 2019
2e5d7b6
Merge branch 'pending/consts' of https://github.com/Amebis/win into c…
lxn Sep 16, 2019
28a0e4f
Merge branch 'pending/dynamic-annotation2' of https://github.com/Ameb…
lxn Sep 16, 2019
24c5960
Add PROGRESS theme part and state constants
lxn Sep 19, 2019
c5100a6
oleacc: pass structs on stack for 32-bit calling convention
zx2c4 Oct 24, 2019
c0107e6
Merge pull request #96 from zx2c4-forks/jd/fix-x86-calling-convention
lxn Oct 24, 2019
d61b1af
oleacc: fix debug leftover mess cruft
zx2c4 Oct 24, 2019
cc00c74
Merge pull request #97 from zx2c4-forks/jd/oopsole
lxn Oct 24, 2019
121afc7
Add ImageList_DrawEx and related constants
lxn Nov 6, 2019
2e40b13
Add tool bar metrics stuff
lxn Nov 28, 2019
2da648f
Add HDHITTESTINFO
lxn Nov 28, 2019
43e9f18
Fix Go 1.15 checkptr failure; use golang.org/x/sys/windows.UTF16PtrTo…
bradfitz Oct 19, 2020
9c48443
Merge pull request #109 from bradfitz/race
lxn Oct 21, 2020
2097c61
Copy 386 to arm GOARCH
rozmansi Oct 10, 2020
5e58350
Add WM_UNICHAR constant
rozmansi Oct 12, 2020
d3deed4
Add Richedit.h constants and message parameter structs
rozmansi Oct 12, 2020
85a11ff
Merge branch 'rozmansi-master'
lxn Nov 5, 2020
7a0e89e
Define more menu manipulation functions and constants
rozmansi Nov 7, 2020
12ccdd6
Extend RichEdit support
rozmansi Nov 7, 2020
86c95ba
Add RGB "macro"
rozmansi Nov 7, 2020
7611bb9
Add CLIPFORMAT type
rozmansi Nov 7, 2020
c69f391
Add CP_... constants
rozmansi Nov 7, 2020
441d983
Add text editing OLE interfaces
rozmansi Nov 7, 2020
2a20daf
Merge branch 'rozmansi-master'
lxn Nov 11, 2020
83d4471
Port to arm64
zx2c4 Feb 3, 2021
a377121
Merge pull request #113 from zx2c4-forks/jd/arm64
lxn Feb 18, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add AlphaBlend
  • Loading branch information
lxn committed Nov 14, 2017
commit 59fcf4bc6ab3b152c0b0efddce415c801bb32f03
32 changes: 32 additions & 0 deletions gdi32.go
Original file line number Diff line number Diff line change
Expand Up @@ -748,6 +748,11 @@ const (
COMPLEXREGION = 3
)

// AlphaBlend operations
const (
AC_SRC_ALPHA = 0x1
)

type (
COLORREF uint32
HBITMAP HGDIOBJ
Expand Down Expand Up @@ -1008,13 +1013,21 @@ type GRADIENT_TRIANGLE struct {
Vertex3 uint32
}

type BLENDFUNCTION struct {
BlendOp byte
BlendFlags byte
SourceConstantAlpha byte
AlphaFormat byte
}

var (
// Library
libgdi32 uintptr
libmsimg32 uintptr

// Functions
abortDoc uintptr
alphaBlend uintptr
bitBlt uintptr
choosePixelFormat uintptr
closeEnhMetaFile uintptr
Expand Down Expand Up @@ -1147,6 +1160,7 @@ func init() {
swapBuffers = MustGetProcAddress(libgdi32, "SwapBuffers")
textOut = MustGetProcAddress(libgdi32, "TextOutW")

alphaBlend = MustGetProcAddress(libmsimg32, "AlphaBlend")
gradientFill = MustGetProcAddress(libmsimg32, "GradientFill")
transparentBlt = MustGetProcAddress(libmsimg32, "TransparentBlt")
}
Expand All @@ -1160,6 +1174,24 @@ func AbortDoc(hdc HDC) int32 {
return int32(ret)
}

func AlphaBlend(hdcDest HDC, nXOriginDest, nYOriginDest, nWidthDest, nHeightDest int32, hdcSrc HDC, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc int32, ftn BLENDFUNCTION) bool {
ret, _, _ := syscall.Syscall12(alphaBlend, 11,
uintptr(hdcDest),
uintptr(nXOriginDest),
uintptr(nYOriginDest),
uintptr(nWidthDest),
uintptr(nHeightDest),
uintptr(hdcSrc),
uintptr(nXOriginSrc),
uintptr(nYOriginSrc),
uintptr(nWidthSrc),
uintptr(nHeightSrc),
uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&ftn))))),
0)

return ret != 0
}

func BitBlt(hdcDest HDC, nXDest, nYDest, nWidth, nHeight int32, hdcSrc HDC, nXSrc, nYSrc int32, dwRop uint32) bool {
ret, _, _ := syscall.Syscall9(bitBlt, 9,
uintptr(hdcDest),
Expand Down