reactos/base/applications/mspaint/toolsmodel.h
2017-12-09 13:36:45 +01:00

48 lines
1.1 KiB
C++

/*
* PROJECT: PAINT for ReactOS
* LICENSE: LGPL
* FILE: base/applications/mspaint/toolsmodel.h
* PURPOSE: Keep track of tool parameters, notify listeners
* PROGRAMMERS: Benedikt Freisen
*/
#pragma once
/* CLASSES **********************************************************/
class ToolsModel
{
private:
int m_lineWidth;
int m_shapeStyle;
int m_brushStyle;
int m_activeTool;
int m_airBrushWidth;
int m_rubberRadius;
BOOL m_transpBg;
int m_zoom;
void NotifyToolChanged();
void NotifyToolSettingsChanged();
void NotifyZoomChanged();
public:
ToolsModel();
int GetLineWidth();
void SetLineWidth(int nLineWidth);
int GetShapeStyle();
void SetShapeStyle(int nShapeStyle);
int GetBrushStyle();
void SetBrushStyle(int nBrushStyle);
int GetActiveTool();
void SetActiveTool(int nActiveTool);
int GetAirBrushWidth();
void SetAirBrushWidth(int nAirBrushWidth);
int GetRubberRadius();
void SetRubberRadius(int nRubberRadius);
BOOL IsBackgroundTransparent();
void SetBackgroundTransparent(BOOL bTransparent);
int GetZoom();
void SetZoom(int nZoom);
};