aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Library/ml_devices/backBuffer.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Library/ml_devices/backBuffer.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/Plugins/Library/ml_devices/backBuffer.h')
-rw-r--r--Src/Plugins/Library/ml_devices/backBuffer.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/Src/Plugins/Library/ml_devices/backBuffer.h b/Src/Plugins/Library/ml_devices/backBuffer.h
new file mode 100644
index 00000000..6a0031f8
--- /dev/null
+++ b/Src/Plugins/Library/ml_devices/backBuffer.h
@@ -0,0 +1,64 @@
+#ifndef _NULLSOFT_WINAMP_ML_DEVICES_BACK_BUFFER_HEADER
+#define _NULLSOFT_WINAMP_ML_DEVICES_BACK_BUFFER_HEADER
+
+typedef struct BackBuffer
+{
+ HBITMAP bitmap;
+ HWND hwnd;
+ HDC hdc;
+ HBITMAP previous;
+} BackBuffer;
+
+BOOL
+BackBuffer_Initialize(BackBuffer *self, HWND hwnd);
+
+void
+BackBuffer_Uninitialize(BackBuffer *self);
+
+BOOL
+BackBuffer_EnsureSize(BackBuffer *self,
+ long width,
+ long height);
+
+BOOL
+BackBuffer_EnsureSizeEx(BackBuffer *self,
+ long width,
+ long height,
+ long allocWidth,
+ long allocHeight);
+
+HDC
+BackBuffer_GetDC(BackBuffer *self);
+
+BOOL
+BackBuffer_Copy(BackBuffer *self,
+ HDC hdc,
+ long x,
+ long y,
+ long width,
+ long height);
+
+void
+BackBuffer_Reset(BackBuffer *self);
+
+BOOL
+BackBuffer_DrawText(BackBuffer *self,
+ HDC hdc,
+ const wchar_t *string,
+ int length,
+ RECT *rect,
+ unsigned int format);
+
+BOOL
+BackBuffer_DrawTextEx(BackBuffer *self,
+ HDC hdc,
+ const wchar_t *string,
+ int length,
+ RECT *rect,
+ unsigned int format,
+ HFONT font,
+ COLORREF backColor,
+ COLORREF textColor,
+ int backMode);
+
+#endif //_NULLSOFT_WINAMP_ML_DEVICES_BACK_BUFFER_HEADER \ No newline at end of file