summaryrefslogtreecommitdiff
path: root/src/nigui/private/windows/windows.nim
diff options
context:
space:
mode:
authortrustable-code <krauter.simon@arcor.de>2018-04-03 20:27:52 +0200
committertrustable-code <krauter.simon@arcor.de>2018-04-03 20:27:52 +0200
commit8d7951569b69d747c68fd60ce2f6a63937b0a9f0 (patch)
treeaa518877141743f76ac5d98560dc83cf67933fed /src/nigui/private/windows/windows.nim
parentb4c3624a1015b6552d8a267dd515181bc361e1b3 (diff)
downloadNiGui-8d7951569b69d747c68fd60ce2f6a63937b0a9f0.tar.gz
NiGui-8d7951569b69d747c68fd60ce2f6a63937b0a9f0.zip
Add Image.beginPixelDataAccess() and endPixelDataAccess() for fast image manipulation
Diffstat (limited to 'src/nigui/private/windows/windows.nim')
-rwxr-xr-xsrc/nigui/private/windows/windows.nim15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/nigui/private/windows/windows.nim b/src/nigui/private/windows/windows.nim
index ea0bef2..473b727 100755
--- a/src/nigui/private/windows/windows.nim
+++ b/src/nigui/private/windows/windows.nim
@@ -163,6 +163,9 @@ const
# UnitDocument* = 5
# UnitMillimeter* = 6
GMEM_MOVEABLE* = 2
+ PixelFormat32bppARGB* = 2498570
+ ImageLockModeWrite* = 2
+
# ----------------------------------------------------------------------------------------
@@ -285,12 +288,20 @@ type
# dwReserved: int32
# FlagsEx*: int32
- GUID * = object
+ GUID* = object
Data1*: int32
Data2*: int32
Data3*: int32
Data4*: int32
+ BitmapData* = object
+ Width*: int32
+ Height*: int32
+ Stride*: int32
+ PixelFormat*: int32
+ Scan0*: ptr UncheckedArray[byte]
+ Reserved: pointer
+
# ----------------------------------------------------------------------------------------
# Replacement for Windows Macros
@@ -463,6 +474,8 @@ proc GdipCreateFont*(fontFamily: pointer, emSize: cfloat, style, unit: int32, fo
proc GdipDeleteFont*(font: pointer): int32 {.importc: "GdipDeleteFont", libGdiplus.}
proc GdipCreateFontFamilyFromName*(name: cstring, fontCollection: pointer, fontFamily: var pointer): int32 {.importc: "GdipCreateFontFamilyFromName", libGdiplus.}
proc GdipDeleteFontFamily*(fontFamily: pointer): int32 {.importc: "GdipDeleteFontFamily", libGdiplus.}
+proc GdipBitmapLockBits*(bitmap: pointer, rect: var Rect, flags: int32, format: int32, lockedBitmapData: var BitmapData): int32 {.importc: "GdipBitmapLockBits", libGdiplus.}
+proc GdipBitmapUnlockBits*(bitmap: pointer, lockedBitmapData: var BitmapData): int32 {.importc: "GdipBitmapUnlockBits", libGdiplus.}
# ----------------------------------------------------------------------------------------