2 * PROJECT: PAINT for ReactOS
4 * FILE: base/applications/mspaint/toolsmodel.cpp
5 * PURPOSE: Keep track of tool parameters, notify listeners
6 * PROGRAMMERS: Benedikt Freisen
9 /* INCLUDES *********************************************************/
13 /* FUNCTIONS ********************************************************/
15 ToolsModel::ToolsModel()
20 m_activeTool
= TOOL_PEN
;
27 int ToolsModel::GetLineWidth()
32 void ToolsModel::SetLineWidth(int nLineWidth
)
34 m_lineWidth
= nLineWidth
;
35 NotifyToolSettingsChanged();
38 int ToolsModel::GetShapeStyle()
43 void ToolsModel::SetShapeStyle(int nShapeStyle
)
45 m_shapeStyle
= nShapeStyle
;
46 NotifyToolSettingsChanged();
49 int ToolsModel::GetBrushStyle()
54 void ToolsModel::SetBrushStyle(int nBrushStyle
)
56 m_brushStyle
= nBrushStyle
;
57 NotifyToolSettingsChanged();
60 int ToolsModel::GetActiveTool()
65 void ToolsModel::SetActiveTool(int nActiveTool
)
67 m_activeTool
= nActiveTool
;
71 int ToolsModel::GetAirBrushWidth()
73 return m_airBrushWidth
;
76 void ToolsModel::SetAirBrushWidth(int nAirBrushWidth
)
78 m_airBrushWidth
= nAirBrushWidth
;
79 NotifyToolSettingsChanged();
82 int ToolsModel::GetRubberRadius()
84 return m_rubberRadius
;
87 void ToolsModel::SetRubberRadius(int nRubberRadius
)
89 m_rubberRadius
= nRubberRadius
;
90 NotifyToolSettingsChanged();
93 BOOL
ToolsModel::IsBackgroundTransparent()
98 void ToolsModel::SetBackgroundTransparent(BOOL bTransparent
)
100 m_transpBg
= bTransparent
;
101 NotifyToolSettingsChanged();
104 int ToolsModel::GetZoom()
109 void ToolsModel::SetZoom(int nZoom
)
115 void ToolsModel::NotifyToolChanged()
117 toolBoxContainer
.SendMessage(WM_TOOLSMODELTOOLCHANGED
, m_activeTool
);
118 toolSettingsWindow
.SendMessage(WM_TOOLSMODELTOOLCHANGED
, m_activeTool
);
119 textEditWindow
.SendMessage(WM_TOOLSMODELTOOLCHANGED
, m_activeTool
);
122 void ToolsModel::NotifyToolSettingsChanged()
124 toolSettingsWindow
.SendMessage(WM_TOOLSMODELSETTINGSCHANGED
);
125 selectionWindow
.SendMessage(WM_TOOLSMODELSETTINGSCHANGED
);
128 void ToolsModel::NotifyZoomChanged()
130 toolSettingsWindow
.SendMessage(WM_TOOLSMODELZOOMCHANGED
);