github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/exp/shiny/driver/windriver/syscall_windows.go (about)

     1  // Copyright 2015 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go syscall_windows.go
     6  
     7  package windriver
     8  
     9  import (
    10  	"unsafe"
    11  )
    12  
    13  type _COLORREF uint32
    14  
    15  func _RGB(r, g, b byte) _COLORREF {
    16  	return _COLORREF(r) | _COLORREF(g)<<8 | _COLORREF(b)<<16
    17  }
    18  
    19  type _POINT struct {
    20  	X int32
    21  	Y int32
    22  }
    23  
    24  type _RECT struct {
    25  	Left   int32
    26  	Top    int32
    27  	Right  int32
    28  	Bottom int32
    29  }
    30  
    31  type _BITMAPINFOHEADER struct {
    32  	Size          uint32
    33  	Width         int32
    34  	Height        int32
    35  	Planes        uint16
    36  	BitCount      uint16
    37  	Compression   uint32
    38  	SizeImage     uint32
    39  	XPelsPerMeter int32
    40  	YPelsPerMeter int32
    41  	ClrUsed       uint32
    42  	ClrImportant  uint32
    43  }
    44  
    45  type _RGBQUAD struct {
    46  	Blue     byte
    47  	Green    byte
    48  	Red      byte
    49  	Reserved byte
    50  }
    51  
    52  type _BITMAPINFO struct {
    53  	Header _BITMAPINFOHEADER
    54  	Colors [1]_RGBQUAD
    55  }
    56  
    57  type _BLENDFUNCTION struct {
    58  	BlendOp             byte
    59  	BlendFlags          byte
    60  	SourceConstantAlpha byte
    61  	AlphaFormat         byte
    62  }
    63  
    64  // ToUintptr helps to pass bf to syscall.Syscall.
    65  func (bf _BLENDFUNCTION) ToUintptr() uintptr {
    66  	return *((*uintptr)(unsafe.Pointer(&bf)))
    67  }
    68  
    69  const (
    70  	_WM_PAINT            = 15
    71  	_WM_WINDOWPOSCHANGED = 71
    72  	_WM_KEYDOWN          = 256
    73  	_WM_KEYUP            = 257
    74  	_WM_SYSKEYDOWN       = 260
    75  	_WM_SYSKEYUP         = 261
    76  	_WM_MOUSEMOVE        = 512
    77  	_WM_LBUTTONDOWN      = 513
    78  	_WM_LBUTTONUP        = 514
    79  	_WM_RBUTTONDOWN      = 516
    80  	_WM_RBUTTONUP        = 517
    81  	_WM_MBUTTONDOWN      = 519
    82  	_WM_MBUTTONUP        = 520
    83  	_WM_USER             = 0x0400
    84  )
    85  
    86  const (
    87  	_WS_OVERLAPPED       = 0x00000000
    88  	_WS_CAPTION          = 0x00C00000
    89  	_WS_SYSMENU          = 0x00080000
    90  	_WS_THICKFRAME       = 0x00040000
    91  	_WS_MINIMIZEBOX      = 0x00020000
    92  	_WS_MAXIMIZEBOX      = 0x00010000
    93  	_WS_OVERLAPPEDWINDOW = _WS_OVERLAPPED | _WS_CAPTION | _WS_SYSMENU | _WS_THICKFRAME | _WS_MINIMIZEBOX | _WS_MAXIMIZEBOX
    94  )
    95  
    96  const (
    97  	_COLOR_BTNFACE = 15
    98  )
    99  
   100  const (
   101  	_IDI_APPLICATION = 32512
   102  	_IDC_ARROW       = 32512
   103  )
   104  
   105  const (
   106  	_BI_RGB         = 0
   107  	_DIB_RGB_COLORS = 0
   108  
   109  	_AC_SRC_OVER  = 0x00
   110  	_AC_SRC_ALPHA = 0x01
   111  
   112  	_SRCCOPY = 0x00cc0020
   113  )
   114  
   115  func _GET_X_LPARAM(lp uintptr) int32 {
   116  	return int32(_LOWORD(lp))
   117  }
   118  
   119  func _GET_Y_LPARAM(lp uintptr) int32 {
   120  	return int32(_HIWORD(lp))
   121  }
   122  
   123  func _LOWORD(l uintptr) uint16 {
   124  	return uint16(uint32(l))
   125  }
   126  
   127  func _HIWORD(l uintptr) uint16 {
   128  	return uint16(uint32(l >> 16))
   129  }
   130  
   131  // notes to self
   132  // UINT = uint32
   133  // callbacks = uintptr
   134  // strings = *uint16
   135  
   136  //sys	_CreateDIBSection(dc syscall.Handle, bmi *_BITMAPINFO, usage uint32, bits **byte, section syscall.Handle, offset uint32) (bitmap syscall.Handle, err error) = gdi32.CreateDIBSection
   137  //sys	_CreateCompatibleDC(dc win32.HDC) (newdc win32.HDC, err error) = gdi32.CreateCompatibleDC
   138  //sys	_DeleteDC(dc win32.HDC) (err error) = gdi32.DeleteDC
   139  //sys	_SelectObject(dc win32.HDC, gdiobj syscall.Handle) (newobj syscall.Handle, err error) = gdi32.SelectObject
   140  //sys	_AlphaBlend(dcdest win32.HDC, xoriginDest int32, yoriginDest int32, wDest int32, hDest int32, dcsrc win32.HDC, xoriginSrc int32, yoriginSrc int32, wsrc int32, hsrc int32, ftn uintptr) (err error) = msimg32.AlphaBlend
   141  //sys	_BitBlt(dcdest win32.HDC, xdest int32, ydest int32, width int32, height int32, dcsrc win32.HDC, xsrc int32, ysrc int32, rop int32) (ok int32, err error) = gdi32.BitBlt
   142  //sys	_CreateSolidBrush(color _COLORREF) (brush syscall.Handle, err error) = gdi32.CreateSolidBrush
   143  //sys	_FillRect(dc win32.HDC, rc *_RECT, brush syscall.Handle) (err error) = user32.FillRect
   144  //sys	_DeleteObject(object syscall.Handle) (err error) = gdi32.DeleteObject