summaryrefslogtreecommitdiff
path: root/stdfont_windows.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-08-30 23:01:08 -0400
committerPietro Gagliardi <[email protected]>2014-08-30 23:01:08 -0400
commit155899c65ed32245e2ccad4197a10c77017d835b (patch)
tree4c337130ff5d1640efc1e94258ab3b8a9eef0c55 /stdfont_windows.go
parent3d4e54822dc6117306d5a4ac0e79017c4810b657 (diff)
Out with the old...
Diffstat (limited to 'stdfont_windows.go')
-rw-r--r--stdfont_windows.go100
1 files changed, 0 insertions, 100 deletions
diff --git a/stdfont_windows.go b/stdfont_windows.go
deleted file mode 100644
index 41a285c..0000000
--- a/stdfont_windows.go
+++ /dev/null
@@ -1,100 +0,0 @@
-// 10 february 2014
-
-package ui
-
-import (
- "fmt"
- "unsafe"
-)
-
-var (
- controlFont _HANDLE // really the font for messagebox text, but everyone and everything says to use it
- titleFont _HANDLE
- smallTitleFont _HANDLE
- menubarFont _HANDLE
- statusbarFont _HANDLE
-)
-
-type _LOGFONT struct {
- lfHeight int32
- lfWidth int32
- lfEscapement int32
- lfOrientation int32
- lfWeight int32
- lfItalic byte
- lfUnderline byte
- lfStrikeOut byte
- lfCharSet byte
- lfOutPrecision byte
- lfClipPrecision byte
- lfQuality byte
- lfPitchAndFamily byte
- lfFaceName [_LF_FACESIZE]uint16
-}
-
-type _NONCLIENTMETRICS struct {
- cbSize uint32
- iBorderWidth int32 // originally int
- iScrollWidth int32 // originally int
- iScrollHeight int32 // originally int
- iCaptionWidth int32 // originally int
- iCaptionHeight int32 // originally int
- lfCaptionFont _LOGFONT
- iSmCaptionWidth int32 // originally int
- iSmCaptionHeight int32 // originally int
- lfSmCaptionFont _LOGFONT
- iMenuWidth int32 // originally int
- iMenuHeight int32 // originally int
- lfMenuFont _LOGFONT
- lfStatusFont _LOGFONT
- lfMessageFont _LOGFONT
-}
-
-var (
- _systemParametersInfo = user32.NewProc("SystemParametersInfoW")
- _createFontIndirect = gdi32.NewProc("CreateFontIndirectW")
-)
-
-func getStandardWindowFonts() (err error) {
- var ncm _NONCLIENTMETRICS
-
- ncm.cbSize = uint32(unsafe.Sizeof(ncm))
- r1, _, err := _systemParametersInfo.Call(
- uintptr(_SPI_GETNONCLIENTMETRICS),
- uintptr(unsafe.Sizeof(ncm)),
- uintptr(unsafe.Pointer(&ncm)),
- 0)
- if r1 == 0 { // failure
- return fmt.Errorf("error getting system parameters: %v", err)
- }
-
- getfont := func(which *_LOGFONT, what string) (_HANDLE, error) {
- r1, _, err = _createFontIndirect.Call(uintptr(unsafe.Pointer(which)))
- if r1 == 0 { // failure
- return _NULL, fmt.Errorf("error getting %s font; Windows last error: %v", what, err)
- }
- return _HANDLE(r1), nil
- }
-
- controlFont, err = getfont(&ncm.lfMessageFont, "control")
- if err != nil {
- return err
- }
- titleFont, err = getfont(&ncm.lfCaptionFont, "titlebar")
- if err != nil {
- return err
- }
- smallTitleFont, err = getfont(&ncm.lfSmCaptionFont, "small titlebar")
- if err != nil {
- return err
- }
- menubarFont, err = getfont(&ncm.lfMenuFont, "menubar")
- if err != nil {
- return err
- }
- statusbarFont, err = getfont(&ncm.lfStatusFont, "statusbar")
- if err != nil {
- return err
- }
- return nil // all good
-}