[MSPAINT_NEW] split CMainWindow: factor out CImgAreaWindow and CMiniatureWindow ...
[reactos.git] / reactos / base / applications / mspaint_new / globalvar.h
1 /*
2 * PROJECT: PAINT for ReactOS
3 * LICENSE: LGPL
4 * FILE: base/applications/mspaint_new/globalvar.h
5 * PURPOSE: Declaring global variables for later initialization
6 * PROGRAMMERS: Benedikt Freisen
7 */
8
9 /* INCLUDES *********************************************************/
10
11 //#include <windows.h>
12 //#include "definitions.h"
13
14 /* TYPES ************************************************************/
15
16 typedef struct tagSTRETCHSKEW {
17 POINT percentage;
18 POINT angle;
19 } STRETCHSKEW;
20
21 /* VARIABLES declared in main.c *************************************/
22
23 extern HDC hDrawingDC;
24 extern HDC hSelDC;
25 extern int *bmAddress;
26 extern BITMAPINFO bitmapinfo;
27 extern int imgXRes;
28 extern int imgYRes;
29
30 extern int widthSetInDlg;
31 extern int heightSetInDlg;
32
33 extern STRETCHSKEW stretchSkew;
34
35 extern HBITMAP hBms[HISTORYSIZE];
36 extern int currInd;
37 extern int undoSteps;
38 extern int redoSteps;
39 extern BOOL imageSaved;
40
41 extern POINT start;
42 extern POINT last;
43 extern int lineWidth;
44 extern int shapeStyle;
45 extern int brushStyle;
46 extern int activeTool;
47 extern int airBrushWidth;
48 extern int rubberRadius;
49 extern int transpBg;
50 extern int zoom;
51 extern RECT rectSel_src;
52 extern RECT rectSel_dest;
53 extern HBITMAP hSelBm;
54 extern HBITMAP hSelMask;
55 extern HWND hwndEditCtl;
56 extern LOGFONT lfTextFont;
57 extern HFONT hfontTextFont;
58 extern LPTSTR textToolText;
59 extern int textToolTextMaxLen;
60
61 extern int palColors[28];
62 extern int modernPalColors[28];
63 extern int oldPalColors[28];
64 extern int selectedPalette;
65
66 extern int fgColor;
67 extern int bgColor;
68
69 extern HWND hStatusBar;
70 extern HWND hTrackbarZoom;
71 extern CHOOSECOLOR choosecolor;
72 extern OPENFILENAME ofn;
73 extern OPENFILENAME sfn;
74 extern HICON hNontranspIcon;
75 extern HICON hTranspIcon;
76
77 extern HCURSOR hCurFill;
78 extern HCURSOR hCurColor;
79 extern HCURSOR hCurZoom;
80 extern HCURSOR hCurPen;
81 extern HCURSOR hCurAirbrush;
82
83 extern HWND hToolBtn[16];
84
85 extern HINSTANCE hProgInstance;
86
87 extern TCHAR filename[256];
88 extern TCHAR filepathname[1000];
89 extern BOOL isAFile;
90 extern int fileSize;
91 extern int fileHPPM;
92 extern int fileVPPM;
93 extern SYSTEMTIME fileTime;
94
95 extern BOOL showGrid;
96 extern BOOL showMiniature;
97
98 class CMainWindow;
99 class CMiniatureWindow;
100 class CToolSettingsWindow;
101 class CPaletteWindow;
102 class CScrollboxWindow;
103 class CSelectionWindow;
104 class CImgAreaWindow;
105 class CSizeboxWindow;
106 class CTextEditWindow;
107
108 extern CMainWindow mainWindow;
109 extern CMiniatureWindow miniature;
110 extern CMainWindow toolBoxContainer;
111 extern CToolSettingsWindow toolSettingsWindow;
112 extern CPaletteWindow paletteWindow;
113 extern CScrollboxWindow scrollboxWindow;
114 extern CScrollboxWindow scrlClientWindow;
115 extern CSelectionWindow selectionWindow;
116 extern CImgAreaWindow imageArea;
117 extern CSizeboxWindow sizeboxLeftTop;
118 extern CSizeboxWindow sizeboxCenterTop;
119 extern CSizeboxWindow sizeboxRightTop;
120 extern CSizeboxWindow sizeboxLeftCenter;
121 extern CSizeboxWindow sizeboxRightCenter;
122 extern CSizeboxWindow sizeboxLeftBottom;
123 extern CSizeboxWindow sizeboxCenterBottom;
124 extern CSizeboxWindow sizeboxRightBottom;
125 extern CTextEditWindow textEditWindow;
126
127 /* VARIABLES declared in mouse.c ************************************/
128
129 extern POINT pointStack[256];
130 extern short pointSP;
131 extern POINT *ptStack;
132 extern int ptSP;