summaryrefslogtreecommitdiff
path: root/prev/image_windows.c
diff options
context:
space:
mode:
Diffstat (limited to 'prev/image_windows.c')
-rw-r--r--prev/image_windows.c35
1 files changed, 0 insertions, 35 deletions
diff --git a/prev/image_windows.c b/prev/image_windows.c
deleted file mode 100644
index bcea3c4..0000000
--- a/prev/image_windows.c
+++ /dev/null
@@ -1,35 +0,0 @@
-// 16 august 2014
-
-#include "winapi_windows.h"
-#include "_cgo_export.h"
-
-// TODO rename to images_windows.c?
-
-HBITMAP toBitmap(void *i, intptr_t dx, intptr_t dy)
-{
- BITMAPINFO bi;
- VOID *ppvBits;
- HBITMAP bitmap;
-
- ZeroMemory(&bi, sizeof (BITMAPINFO));
- bi.bmiHeader.biSize = sizeof (BITMAPINFOHEADER);
- bi.bmiHeader.biWidth = (LONG) dx;
- bi.bmiHeader.biHeight = -((LONG) dy); // negative height to force top-down drawing;
- bi.bmiHeader.biPlanes = 1;
- bi.bmiHeader.biBitCount = 32;
- bi.bmiHeader.biCompression = BI_RGB;
- bi.bmiHeader.biSizeImage = (DWORD) (dx * dy * 4);
- bitmap = CreateDIBSection(NULL, &bi, DIB_RGB_COLORS, &ppvBits, 0, 0);
- if (bitmap == NULL)
- xpanic("error creating HBITMAP in toBitmap()", GetLastError());
- // image lists use non-premultiplied RGBA - see http://stackoverflow.com/a/25578789/3408572
- // the TRUE here does the conversion
- dotoARGB(i, (void *) ppvBits, TRUE);
- return bitmap;
-}
-
-void freeBitmap(uintptr_t bitmap)
-{
- if (DeleteObject((HBITMAP) bitmap) == 0)
- xpanic("error deleting bitmap in freeBitmap()", GetLastError());
-}