[MSPAINT_NEW] refactoring: move selection management to a dedicated SelectionModel...
[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 int *bmAddress;
25 extern BITMAPINFO bitmapinfo;
26
27 extern int widthSetInDlg;
28 extern int heightSetInDlg;
29
30 extern STRETCHSKEW stretchSkew;
31
32 class ImageModel;
33 extern ImageModel imageModel;
34
35 extern POINT start;
36 extern POINT last;
37
38 class ToolsModel;
39 extern ToolsModel toolsModel;
40
41 class SelectionModel;
42 extern SelectionModel selectionModel;
43
44 extern HWND hwndEditCtl;
45 extern LOGFONT lfTextFont;
46 extern HFONT hfontTextFont;
47 extern LPTSTR textToolText;
48 extern int textToolTextMaxLen;
49
50 class PaletteModel;
51 extern PaletteModel paletteModel;
52
53 extern HWND hStatusBar;
54 extern CHOOSECOLOR choosecolor;
55 extern OPENFILENAME ofn;
56 extern OPENFILENAME sfn;
57 extern HICON hNontranspIcon;
58 extern HICON hTranspIcon;
59
60 extern HCURSOR hCurFill;
61 extern HCURSOR hCurColor;
62 extern HCURSOR hCurZoom;
63 extern HCURSOR hCurPen;
64 extern HCURSOR hCurAirbrush;
65
66 extern HWND hToolBtn[16];
67
68 extern HINSTANCE hProgInstance;
69
70 extern TCHAR filename[256];
71 extern TCHAR filepathname[1000];
72 extern BOOL isAFile;
73 extern int fileSize;
74 extern int fileHPPM;
75 extern int fileVPPM;
76 extern SYSTEMTIME fileTime;
77
78 extern BOOL showGrid;
79 extern BOOL showMiniature;
80
81 class CMainWindow;
82 class CMiniatureWindow;
83 class CToolBox;
84 class CToolSettingsWindow;
85 class CPaletteWindow;
86 class CScrollboxWindow;
87 class CSelectionWindow;
88 class CImgAreaWindow;
89 class CSizeboxWindow;
90 class CTextEditWindow;
91
92 extern CMainWindow mainWindow;
93 extern CMiniatureWindow miniature;
94 extern CToolBox toolBoxContainer;
95 extern CToolSettingsWindow toolSettingsWindow;
96 extern CPaletteWindow paletteWindow;
97 extern CScrollboxWindow scrollboxWindow;
98 extern CScrollboxWindow scrlClientWindow;
99 extern CSelectionWindow selectionWindow;
100 extern CImgAreaWindow imageArea;
101 extern CSizeboxWindow sizeboxLeftTop;
102 extern CSizeboxWindow sizeboxCenterTop;
103 extern CSizeboxWindow sizeboxRightTop;
104 extern CSizeboxWindow sizeboxLeftCenter;
105 extern CSizeboxWindow sizeboxRightCenter;
106 extern CSizeboxWindow sizeboxLeftBottom;
107 extern CSizeboxWindow sizeboxCenterBottom;
108 extern CSizeboxWindow sizeboxRightBottom;
109 extern CTextEditWindow textEditWindow;
110
111 /* VARIABLES declared in mouse.c ************************************/
112
113 extern POINT pointStack[256];
114 extern short pointSP;