diff options
Diffstat (limited to 'imagelist_windows.go')
| -rw-r--r-- | imagelist_windows.go | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/imagelist_windows.go b/imagelist_windows.go deleted file mode 100644 index 087bbda..0000000 --- a/imagelist_windows.go +++ /dev/null @@ -1,45 +0,0 @@ -// 16 august 2014 - -package ui - -import ( - "image" - "unsafe" -) - -// #include "winapi_windows.h" -import "C" - -type imagelist struct { - list []C.HBITMAP - width []int - height []int -} - -func newImageList() ImageList { - return new(imagelist) -} - -func (i *imagelist) Append(img *image.RGBA) { - i.list = append(i.list, C.unscaledBitmap(unsafe.Pointer(img), C.intptr_t(img.Rect.Dx()), C.intptr_t(img.Rect.Dy()))) - i.width = append(i.width, img.Rect.Dx()) - i.height = append(i.height, img.Rect.Dy()) -} - -func (i *imagelist) Len() ImageIndex { - return ImageIndex(len(i.list)) -} - -type imageListApply interface { - apply(C.HWND, C.UINT) -} - -func (i *imagelist) apply(hwnd C.HWND, uMsg C.UINT) { - width := C.GetSystemMetrics(C.SM_CXSMICON) - height := C.GetSystemMetrics(C.SM_CYSMICON) - il := C.newImageList(width, height) - for index := range i.list { - C.addImage(il, hwnd, i.list[index], C.int(i.width[index]), C.int(i.height[index]), width, height) - } - C.SendMessageW(hwnd, uMsg, 0, C.LPARAM(uintptr(unsafe.Pointer(il)))) -} |
