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