// Copyright 2015 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package windriver import ( "unsafe" ) type _COLORREF uint32 func _RGB(r, g, b byte) _COLORREF { return _COLORREF(r) | _COLORREF(g)<<8 | _COLORREF(b)<<16 } type _POINT struct { X int32 Y int32 } type _RECT struct { Left int32 Top int32 Right int32 Bottom int32 } type _BITMAPINFOHEADER struct { Size uint32 Width int32 Height int32 Planes uint16 BitCount uint16 Compression uint32 SizeImage uint32 XPelsPerMeter int32 YPelsPerMeter int32 ClrUsed uint32 ClrImportant uint32 } type _RGBQUAD struct { Blue byte Green byte Red byte Reserved byte } type _BITMAPINFO struct { Header _BITMAPINFOHEADER Colors [1]_RGBQUAD } type _BLENDFUNCTION struct { BlendOp byte BlendFlags byte SourceConstantAlpha byte AlphaFormat byte } // ToUintptr helps to pass bf to syscall.Syscall. func (bf _BLENDFUNCTION) ToUintptr() uintptr { return *((*uintptr)(unsafe.Pointer(&bf))) } type _XFORM struct { eM11 float32 eM12 float32 eM21 float32 eM22 float32 eDx float32 eDy float32 } const ( _WM_PAINT = 15 _WM_WINDOWPOSCHANGED = 71 _WM_KEYDOWN = 256 _WM_KEYUP = 257 _WM_SYSKEYDOWN = 260 _WM_SYSKEYUP = 261 _WM_MOUSEMOVE = 512 _WM_LBUTTONDOWN = 513 _WM_LBUTTONUP = 514 _WM_RBUTTONDOWN = 516 _WM_RBUTTONUP = 517 _WM_MBUTTONDOWN = 519 _WM_MBUTTONUP = 520 _WM_USER = 0x0400 ) const ( _WS_OVERLAPPED = 0x00000000 _WS_CAPTION = 0x00C00000 _WS_SYSMENU = 0x00080000 _WS_THICKFRAME = 0x00040000 _WS_MINIMIZEBOX = 0x00020000 _WS_MAXIMIZEBOX = 0x00010000 _WS_OVERLAPPEDWINDOW = _WS_OVERLAPPED | _WS_CAPTION | _WS_SYSMENU | _WS_THICKFRAME | _WS_MINIMIZEBOX | _WS_MAXIMIZEBOX ) const ( _COLOR_BTNFACE = 15 ) const ( _IDI_APPLICATION = 32512 _IDC_ARROW = 32512 ) const ( _BI_RGB = 0 _DIB_RGB_COLORS = 0 _AC_SRC_OVER = 0x00 _AC_SRC_ALPHA = 0x01 _SRCCOPY = 0x00cc0020 _SHADEBLENDCAPS = 120 _SB_NONE = 0 ) const ( _GM_COMPATIBLE = 1 _GM_ADVANCED = 2 _MWT_IDENTITY = 1 ) func _GET_X_LPARAM(lp uintptr) int32 { return int32(_LOWORD(lp)) } func _GET_Y_LPARAM(lp uintptr) int32 { return int32(_HIWORD(lp)) } func _LOWORD(l uintptr) uint16 { return uint16(uint32(l)) } func _HIWORD(l uintptr) uint16 { return uint16(uint32(l >> 16)) } // notes to self // UINT = uint32 // callbacks = uintptr // strings = *uint16 //sys _AlphaBlend(dcdest syscall.Handle, xoriginDest int32, yoriginDest int32, wDest int32, hDest int32, dcsrc syscall.Handle, xoriginSrc int32, yoriginSrc int32, wsrc int32, hsrc int32, ftn uintptr) (err error) = msimg32.AlphaBlend //sys _BitBlt(dcdest syscall.Handle, xdest int32, ydest int32, width int32, height int32, dcsrc syscall.Handle, xsrc int32, ysrc int32, rop uint32) (err error) = gdi32.BitBlt //sys _CreateCompatibleBitmap(dc syscall.Handle, width int32, height int32) (bitmap syscall.Handle, err error) = gdi32.CreateCompatibleBitmap //sys _CreateCompatibleDC(dc syscall.Handle) (newdc syscall.Handle, err error) = gdi32.CreateCompatibleDC //sys _CreateDIBSection(dc syscall.Handle, bmi *_BITMAPINFO, usage uint32, bits **byte, section syscall.Handle, offset uint32) (bitmap syscall.Handle, err error) = gdi32.CreateDIBSection //sys _CreateSolidBrush(color _COLORREF) (brush syscall.Handle, err error) = gdi32.CreateSolidBrush //sys _DeleteDC(dc syscall.Handle) (err error) = gdi32.DeleteDC //sys _DeleteObject(object syscall.Handle) (err error) = gdi32.DeleteObject //sys _FillRect(dc syscall.Handle, rc *_RECT, brush syscall.Handle) (err error) = user32.FillRect //sys _ModifyWorldTransform(dc syscall.Handle, x *_XFORM, mode uint32) (err error) = gdi32.ModifyWorldTransform //sys _SelectObject(dc syscall.Handle, gdiobj syscall.Handle) (newobj syscall.Handle, err error) = gdi32.SelectObject //sys _SetGraphicsMode(dc syscall.Handle, mode int32) (oldmode int32, err error) = gdi32.SetGraphicsMode //sys _SetWorldTransform(dc syscall.Handle, x *_XFORM) (err error) = gdi32.SetWorldTransform //sys _StretchBlt(dcdest syscall.Handle, xdest int32, ydest int32, wdest int32, hdest int32, dcsrc syscall.Handle, xsrc int32, ysrc int32, wsrc int32, hsrc int32, rop uint32) (err error) = gdi32.StretchBlt //sys _GetDeviceCaps(dc syscall.Handle, index int32) (ret int32) = gdi32.GetDeviceCaps