summaryrefslogtreecommitdiff
path: root/iup/src/win/iupwin_draw.h
blob: c9a57e634044ddac149a1b03a590bedd06db993a (plain)
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
/** \file
 * \brief Draw Functions
 *
 * See Copyright Notice in "iup.h"
 */
 
#ifndef __IUPWIN_DRAW_H 
#define __IUPWIN_DRAW_H

#ifdef __cplusplus
extern "C" {
#endif


void iupwinDrawInit(void);

void iupwinDrawBitmap(HDC hDC, HBITMAP hBitmap, HBITMAP hMask, int x, int y, int width, int height, int bpp);
void iupwinDrawText(HDC hDC, const char* text, int x, int y, int width, int height, HFONT hFont, COLORREF fgcolor, int style);

void iupwinDrawParentBackground(Ihandle* ih, HDC hDC, RECT* rect);
void iupwinDrawButtonBorder(HWND hWnd, HDC hDC, RECT *rect, UINT itemState);

void iupwinDrawThemeFrameBorder(HWND hWnd, HDC hDC, RECT *rect, UINT itemState);
int  iupwinDrawGetThemeTabsBgColor(HWND hWnd, COLORREF *color);
int  iupwinDrawGetThemeButtonBgColor(HWND hWnd, COLORREF *color);
int  iupwinDrawGetThemeFrameFgColor(HWND hWnd, COLORREF *color);
void iupwinDrawRemoveTheme(HWND hWnd);

typedef struct _iupwinBitmapDC
{
  HBITMAP hBitmap, hOldBitmap;
  HDC hBitmapDC, hDC;
  int w, h;
} iupwinBitmapDC;

HDC iupwinDrawCreateBitmapDC(iupwinBitmapDC *bmpDC, HDC hDC, int w, int h);
void iupwinDrawDestroyBitmapDC(iupwinBitmapDC *bmpDC);

#ifndef ODS_HOTLIGHT     /* Only defined if WINVER >= 0x0500 */
#define ODS_HOTLIGHT        0x0040
#endif

#ifdef __cplusplus
}
#endif

#endif