1275dee5b4e786ea2075f781bbe96308d661bb05
[reactos.git] / reactos / base / applications / mspaint / toolsmodel.h
1 /*
2 * PROJECT: PAINT for ReactOS
3 * LICENSE: LGPL
4 * FILE: base/applications/mspaint_new/toolsmodel.h
5 * PURPOSE: Keep track of tool parameters, notify listeners
6 * PROGRAMMERS: Benedikt Freisen
7 */
8
9 /* CLASSES **********************************************************/
10
11 class ToolsModel
12 {
13 private:
14 int m_lineWidth;
15 int m_shapeStyle;
16 int m_brushStyle;
17 int m_activeTool;
18 int m_airBrushWidth;
19 int m_rubberRadius;
20 BOOL m_transpBg;
21 int m_zoom;
22
23 void NotifyToolChanged();
24 void NotifyToolSettingsChanged();
25 void NotifyZoomChanged();
26
27 public:
28 ToolsModel();
29 int GetLineWidth();
30 void SetLineWidth(int nLineWidth);
31 int GetShapeStyle();
32 void SetShapeStyle(int nShapeStyle);
33 int GetBrushStyle();
34 void SetBrushStyle(int nBrushStyle);
35 int GetActiveTool();
36 void SetActiveTool(int nActiveTool);
37 int GetAirBrushWidth();
38 void SetAirBrushWidth(int nAirBrushWidth);
39 int GetRubberRadius();
40 void SetRubberRadius(int nRubberRadius);
41 BOOL IsBackgroundTransparent();
42 void SetBackgroundTransparent(BOOL bTransparent);
43 int GetZoom();
44 void SetZoom(int nZoom);
45 };