2 * PROJECT: PAINT for ReactOS
4 * FILE: base/applications/mspaint/common.h
5 * PURPOSE: Commonly used functions and definitions
6 * PROGRAMMERS: Benedikt Freisen
17 #define MAX_LONG_PATH 512
19 #define WM_TOOLSMODELTOOLCHANGED (WM_APP + 0)
20 #define WM_TOOLSMODELSETTINGSCHANGED (WM_APP + 1)
21 #define WM_TOOLSMODELZOOMCHANGED (WM_APP + 2)
22 #define WM_PALETTEMODELCOLORCHANGED (WM_APP + 3)
23 #define WM_PALETTEMODELPALETTECHANGED (WM_APP + 4)
24 #define WM_IMAGEMODELDIMENSIONSCHANGED (WM_APP + 5)
25 #define WM_IMAGEMODELIMAGECHANGED (WM_APP + 6)
26 #define WM_SELECTIONMODELREFRESHNEEDED (WM_APP + 7)
28 /* width of the rectangle defined by a RECT structure */
29 #define RECT_WIDTH(a) ((a).right - (a).left)
31 /* height of the rectangle defined by a RECT structure */
32 #define RECT_HEIGHT(a) ((a).bottom - (a).top)
34 /* this simplifies checking and unchecking menu items */
35 #define CHECKED_IF(a) ((a) ? (MF_CHECKED | MF_BYCOMMAND) : (MF_UNCHECKED | MF_BYCOMMAND))
37 /* this simplifies enabling or graying menu items */
38 #define ENABLED_IF(a) ((a) ? (MF_ENABLED | MF_BYCOMMAND) : (MF_GRAYED | MF_BYCOMMAND))
40 enum CANVAS_HITTEST
// hit
42 HIT_NONE
= 0, // Nothing hit or outside
55 /* FUNCTIONS ********************************************************/
57 BOOL
zoomTo(int newZoom
, int mouseX
, int mouseY
);
58 BOOL
nearlyEqualPoints(INT x0
, INT y0
, INT x1
, INT y1
);
59 void updateStartAndLast(LONG x
, LONG y
);
60 void updateLast(LONG x
, LONG y
);