2 * PROJECT: PAINT for ReactOS
4 * FILE: base/applications/mspaint/selectionmodel.h
5 * PURPOSE: Keep track of selection parameters, notify listeners
6 * PROGRAMMERS: Benedikt Freisen
22 CRect m_rc
; // in image pixel coordinates
23 POINT m_ptHit
; // in image pixel coordinates
29 void PushToPtStack(POINT pt
);
30 int PtStackSize() const;
31 void SetRectFromPoints(const POINT
& ptFrom
, const POINT
& ptTo
);
32 void BuildMaskFromPtStack();
37 HBITMAP
GetBitmap() const;
38 void GetSelectionContents(HDC hDCImage
);
39 void DrawFramePoly(HDC hDCImage
);
40 void DrawBackgroundPoly(HDC hDCImage
, COLORREF crBg
);
41 void DrawBackgroundRect(HDC hDCImage
, COLORREF crBg
);
42 void DrawSelection(HDC hDCImage
, LPCRECT prc
, COLORREF crBg
= 0, BOOL bBgTransparent
= FALSE
);
43 void InsertFromHBITMAP(HBITMAP hBm
, INT x
= 0, INT y
= 0);
46 void FlipHorizontally();
47 void FlipVertically();
48 void RotateNTimes90Degrees(int iN
);
49 void StretchSkew(int nStretchPercentX
, int nStretchPercentY
, int nSkewDegX
, int nSkewDegY
);
51 void CancelSelection();
52 void NotifyRefreshNeeded();
53 void Dragging(CANVAS_HITTEST hit
, POINT pt
);
58 SelectionModel(const SelectionModel
&);
59 SelectionModel
& operator=(const SelectionModel
&);
61 void ShiftPtStack(BOOL bPlus
);