1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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
|