* Reorganize the whole ReactOS codebase into a new layout. Discussing it will only...
[reactos.git] / reactos / win32ss / gdi / ntgdi / intgdi.h
1 #pragma once
2
3 /* Brush functions */
4
5 extern HDC hSystemBM;
6 extern HSEMAPHORE hsemDriverMgmt;
7
8 HBRUSH APIENTRY
9 IntGdiCreatePatternBrush(
10 HBITMAP hBitmap);
11
12 HBRUSH APIENTRY
13 IntGdiCreateSolidBrush(
14 COLORREF Color);
15
16 HBRUSH APIENTRY
17 IntGdiCreateNullBrush(VOID);
18
19 VOID FASTCALL
20 IntGdiSetSolidBrushColor(HBRUSH hBrush, COLORREF Color);
21
22 /* Line functions */
23
24 BOOL FASTCALL
25 IntGdiLineTo(DC *dc,
26 int XEnd,
27 int YEnd);
28
29 BOOL FASTCALL
30 IntGdiMoveToEx(DC *dc,
31 int X,
32 int Y,
33 LPPOINT Point,
34 BOOL BypassPath);
35
36 BOOL FASTCALL
37 IntGdiPolyBezier(DC *dc,
38 LPPOINT pt,
39 DWORD Count);
40
41 BOOL FASTCALL
42 IntGdiPolyline(DC *dc,
43 LPPOINT pt,
44 int Count);
45
46 BOOL FASTCALL
47 IntGdiPolyBezierTo(DC *dc,
48 LPPOINT pt,
49 DWORD Count);
50
51 BOOL FASTCALL
52 IntGdiPolyPolyline(DC *dc,
53 LPPOINT pt,
54 PULONG PolyPoints,
55 DWORD Count);
56
57 BOOL FASTCALL
58 IntGdiPolylineTo(DC *dc,
59 LPPOINT pt,
60 DWORD Count);
61
62 /* Shape functions */
63
64 BOOL
65 NTAPI
66 GreGradientFill(
67 HDC hdc,
68 PTRIVERTEX pVertex,
69 ULONG nVertex,
70 PVOID pMesh,
71 ULONG nMesh,
72 ULONG ulMode);
73
74 /* DC functions */
75
76 HDC FASTCALL
77 IntGdiCreateDC(PUNICODE_STRING Driver,
78 PUNICODE_STRING Device,
79 PVOID pUMdhpdev,
80 CONST PDEVMODEW InitData,
81 BOOL CreateAsIC);
82
83 /* Stock objects */
84
85 VOID FASTCALL
86 IntSetSysColors(UINT nColors, CONST INT *Elements, CONST COLORREF *Colors);
87
88 HGDIOBJ FASTCALL
89 IntGetSysColorBrush(INT Object);
90
91 DWORD FASTCALL
92 IntGetSysColor(INT nIndex);
93
94 /* Other Stuff */
95
96 HBITMAP
97 FASTCALL
98 IntCreateCompatibleBitmap(PDC Dc,
99 INT Width,
100 INT Height);
101
102 WORD APIENTRY IntGdiSetHookFlags(HDC hDC, WORD Flags);
103
104 UINT APIENTRY IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors);
105
106 UINT APIENTRY IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors);
107
108 UINT APIENTRY
109 IntGetPaletteEntries(HPALETTE hpal,
110 UINT StartIndex,
111 UINT Entries,
112 LPPALETTEENTRY pe);
113
114 UINT APIENTRY
115 IntGetSystemPaletteEntries(HDC hDC,
116 UINT StartIndex,
117 UINT Entries,
118 LPPALETTEENTRY pe);
119
120 VOID FASTCALL CreateStockObjects (VOID);
121 VOID FASTCALL CreateSysColorObjects (VOID);
122
123 PPOINT FASTCALL GDI_Bezier (const POINT *Points, INT count, PINT nPtsOut);
124
125 BOOL FASTCALL IntFillArc( PDC dc, INT XLeft, INT YLeft, INT Width, INT Height, double StartArc, double EndArc, ARCTYPE arctype);
126 BOOL FASTCALL IntDrawArc( PDC dc, INT XLeft, INT YLeft, INT Width, INT Height, double StartArc, double EndArc, ARCTYPE arctype, PBRUSH pbrush);
127
128 BOOL FASTCALL IntFillEllipse( PDC dc, INT XLeft, INT YLeft, INT Width, INT Height, PBRUSH pbrush);
129 BOOL FASTCALL IntDrawEllipse( PDC dc, INT XLeft, INT YLeft, INT Width, INT Height, PBRUSH pbrush);
130 BOOL FASTCALL IntFillRoundRect( PDC dc, INT Left, INT Top, INT Right, INT Bottom, INT Wellipse, INT Hellipse, PBRUSH pbrush);
131 BOOL FASTCALL IntDrawRoundRect( PDC dc, INT Left, INT Top, INT Right, INT Bottom, INT Wellipse, INT Hellipse, PBRUSH pbrush);