[MSPAINT_NEW] manage palette and tools data in a PaletteModel and ToolsModel class...
[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
44 class ToolsModel;
45 extern ToolsModel toolsModel;
46
47 extern RECT rectSel_src;
48 extern RECT rectSel_dest;
49 extern HBITMAP hSelBm;
50 extern HBITMAP hSelMask;
51 extern HWND hwndEditCtl;
52 extern LOGFONT lfTextFont;
53 extern HFONT hfontTextFont;
54 extern LPTSTR textToolText;
55 extern int textToolTextMaxLen;
56
57 class PaletteModel;
58 extern PaletteModel paletteModel;
59
60 extern HWND hStatusBar;
61 extern HWND hTrackbarZoom;
62 extern CHOOSECOLOR choosecolor;
63 extern OPENFILENAME ofn;
64 extern OPENFILENAME sfn;
65 extern HICON hNontranspIcon;
66 extern HICON hTranspIcon;
67
68 extern HCURSOR hCurFill;
69 extern HCURSOR hCurColor;
70 extern HCURSOR hCurZoom;
71 extern HCURSOR hCurPen;
72 extern HCURSOR hCurAirbrush;
73
74 extern HWND hToolBtn[16];
75
76 extern HINSTANCE hProgInstance;
77
78 extern TCHAR filename[256];
79 extern TCHAR filepathname[1000];
80 extern BOOL isAFile;
81 extern int fileSize;
82 extern int fileHPPM;
83 extern int fileVPPM;
84 extern SYSTEMTIME fileTime;
85
86 extern BOOL showGrid;
87 extern BOOL showMiniature;
88
89 class CMainWindow;
90 class CMiniatureWindow;
91 class CToolSettingsWindow;
92 class CPaletteWindow;
93 class CScrollboxWindow;
94 class CSelectionWindow;
95 class CImgAreaWindow;
96 class CSizeboxWindow;
97 class CTextEditWindow;
98
99 extern CMainWindow mainWindow;
100 extern CMiniatureWindow miniature;
101 extern CMainWindow toolBoxContainer;
102 extern CToolSettingsWindow toolSettingsWindow;
103 extern CPaletteWindow paletteWindow;
104 extern CScrollboxWindow scrollboxWindow;
105 extern CScrollboxWindow scrlClientWindow;
106 extern CSelectionWindow selectionWindow;
107 extern CImgAreaWindow imageArea;
108 extern CSizeboxWindow sizeboxLeftTop;
109 extern CSizeboxWindow sizeboxCenterTop;
110 extern CSizeboxWindow sizeboxRightTop;
111 extern CSizeboxWindow sizeboxLeftCenter;
112 extern CSizeboxWindow sizeboxRightCenter;
113 extern CSizeboxWindow sizeboxLeftBottom;
114 extern CSizeboxWindow sizeboxCenterBottom;
115 extern CSizeboxWindow sizeboxRightBottom;
116 extern CTextEditWindow textEditWindow;
117
118 /* VARIABLES declared in mouse.c ************************************/
119
120 extern POINT pointStack[256];
121 extern short pointSP;
122 extern POINT *ptStack;
123 extern int ptSP;