aboutsummaryrefslogtreecommitdiff
path: root/Src/Winamp/WADrawDC.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Winamp/WADrawDC.cpp')
-rw-r--r--Src/Winamp/WADrawDC.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/Src/Winamp/WADrawDC.cpp b/Src/Winamp/WADrawDC.cpp
new file mode 100644
index 00000000..36d1af2e
--- /dev/null
+++ b/Src/Winamp/WADrawDC.cpp
@@ -0,0 +1,33 @@
+#include "draw.h"
+#include "WADrawDC.h"
+
+WADrawDC::WADrawDC(HWND _hwnd)
+{
+ hdc = draw_GetWindowDC(_hwnd);
+ hwnd=_hwnd;
+}
+
+WADrawDC::WADrawDC(HDC _hdc, HWND _hwnd)
+{
+ if (!_hdc)
+ {
+ hdc = draw_GetWindowDC(_hwnd);
+ hwnd=_hwnd;
+ }
+ else
+ {
+ hdc=_hdc;
+ hwnd=0; // set to 0 so we know not to call draw_ReleaseDC
+ }
+}
+
+WADrawDC::~WADrawDC()
+{
+ if (hwnd)
+ draw_ReleaseDC(hwnd,hdc);
+}
+
+WADrawDC::operator HDC()
+{
+ return hdc;
+} \ No newline at end of file