Removed the GDI+ dependency on Windows since we no longer use it.
This commit is contained in:
parent
41ce9c9ed0
commit
ac633a8694
|
@ -184,7 +184,7 @@ func paintArea(s *sysData) {
|
|||
|
||||
// now we have to do TWO MORE things before we can finally do alpha blending
|
||||
// first, we need to load the bitmap memory, because Windows makes it for us
|
||||
// the pixels are arranged in RGBA order, but GDI+ requires BGRA
|
||||
// the pixels are arranged in RGBA order, but GDI requires BGRA
|
||||
// this turns out to be just ARGB in little endian; let's convert into this memory
|
||||
// the bitmap Windows gives us has a stride == width
|
||||
toARGB(i, ppvBits, i.Rect.Dx() * 4)
|
||||
|
|
|
@ -12,7 +12,6 @@ var (
|
|||
kernel32 = syscall.NewLazyDLL("kernel32.dll")
|
||||
gdi32 = syscall.NewLazyDLL("gdi32.dll")
|
||||
comctl32 *syscall.LazyDLL // comctl32 not defined here; see comctl_windows.go
|
||||
gdiplus = syscall.NewLazyDLL("gdiplus.dll")
|
||||
msimg32 = syscall.NewLazyDLL("msimg32.dll")
|
||||
)
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@ import (
|
|||
var (
|
||||
hInstance _HANDLE
|
||||
nCmdShow int
|
||||
gdiplusToken uintptr
|
||||
)
|
||||
|
||||
// TODO is this trick documented in MSDN?
|
||||
|
@ -57,26 +56,6 @@ func getWinMainnCmdShow() {
|
|||
}
|
||||
}
|
||||
|
||||
func initGDIPlus() (err error) {
|
||||
var gdiplusInit struct {
|
||||
GdiplusVersion uint32
|
||||
DebugEventCallback uintptr
|
||||
SuppressBackgroundThread int32 // originally BOOL
|
||||
SuppressExternalCodecs int32 // originally BOOL
|
||||
}
|
||||
|
||||
gdiplusInit.GdiplusVersion = 1 // required
|
||||
// TODO suppress external codecs?
|
||||
r1, _, err := gdiplus.NewProc("GdiplusStartup").Call(
|
||||
uintptr(unsafe.Pointer(&gdiplusToken)),
|
||||
uintptr(unsafe.Pointer(&gdiplusInit)),
|
||||
uintptr(0)) // we use the GDI+ thread so no need for output info
|
||||
if r1 != 0 { // failure
|
||||
return fmt.Errorf("error initializing GDI+ (GDI+ error code %d; windows last error %v)", r1, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func doWindowsInit() (err error) {
|
||||
err = getWinMainhInstance()
|
||||
if err != nil {
|
||||
|
@ -95,14 +74,6 @@ func doWindowsInit() (err error) {
|
|||
if err != nil {
|
||||
return fmt.Errorf("error initializing Common Controls (comctl32.dll): %v", err)
|
||||
}
|
||||
err = initGDIPlus()
|
||||
if err != nil {
|
||||
return fmt.Errorf("error initializing GDI+ (gdiplus.dll): %v", err)
|
||||
}
|
||||
// TODO others
|
||||
return nil // all ready to go
|
||||
}
|
||||
|
||||
func doWindowsQuitStuff() {
|
||||
gdiplus.NewProc("GdiplusShutdown").Call(gdiplusToken) // returns void according to MSDN
|
||||
}
|
||||
|
|
|
@ -87,8 +87,6 @@ func ui(main func()) error {
|
|||
}()
|
||||
|
||||
msgloop()
|
||||
|
||||
doWindowsQuitStuff()
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue