ReactOS 0.4.15-dev-6057-gd708c79
canvas.h
Go to the documentation of this file.
1/*
2 * PROJECT: PAINT for ReactOS
3 * LICENSE: LGPL
4 * FILE: base/applications/mspaint/canvas.h
5 * PURPOSE: Providing the canvas window class
6 * PROGRAMMERS: Benedikt Freisen
7 */
8
9#pragma once
10
11class CCanvasWindow : public CWindowImpl<CCanvasWindow>
12{
13public:
15
36
38
40
43 VOID Update(HWND hwndFrom);
44
47 VOID CanvasToImage(POINT& pt, BOOL bZoomed = FALSE);
48 VOID CanvasToImage(RECT& rc, BOOL bZoomed = FALSE);
50
51protected:
54 POINT m_ptOrig; // The origin of drag start
56
59 VOID DoDraw(HDC hDC, RECT& rcClient, RECT& rcPaint);
61 VOID drawZoomFrame(INT mouseX, INT mouseY);
62
65 VOID SelectionDragging(POINT ptUnZoomed);
66 VOID EndSelectionDrag(POINT ptUnZoomed);
67
68 LRESULT OnSize(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
72 LRESULT OnPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
86
87 LRESULT OnLRButtonDown(BOOL bLeftButton, UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
88 LRESULT OnLRButtonDblClk(BOOL bLeftButton, UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
89 LRESULT OnLRButtonUp(BOOL bLeftButton, UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
90};
static HDC hDC
Definition: 3dtext.c:33
CANVAS_HITTEST
Definition: common.h:41
@ Update
Definition: registry.c:565
VOID OnHVScroll(WPARAM wParam, INT fnBar)
Definition: canvas.cpp:210
VOID DoDraw(HDC hDC, RECT &rcClient, RECT &rcPaint)
Definition: canvas.cpp:94
BOOL m_drawing
Definition: canvas.h:39
LRESULT OnEraseBkgnd(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:700
CANVAS_HITTEST m_hitSelection
Definition: canvas.h:52
VOID finishDrawing()
Definition: canvas.cpp:727
LRESULT OnLButtonDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:314
LRESULT OnKeyDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:666
LRESULT OnRButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:613
LRESULT OnCaptureChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:694
LRESULT OnVScroll(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:246
LRESULT OnSetCursor(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:618
LRESULT OnLRButtonDown(BOOL bLeftButton, UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:252
CANVAS_HITTEST SelectionHitTest(POINT ptZoomed)
Definition: canvas.cpp:734
VOID ImageToCanvas(POINT &pt)
Definition: canvas.cpp:45
LRESULT OnSize(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:202
LRESULT OnPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:705
LRESULT OnLButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:608
LRESULT OnCancelMode(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:680
VOID CanvasToImage(POINT &pt, BOOL bZoomed=FALSE)
Definition: canvas.cpp:62
VOID StartSelectionDrag(CANVAS_HITTEST hit, POINT ptUnZoomed)
Definition: canvas.cpp:747
VOID cancelDrawing()
Definition: canvas.cpp:717
LRESULT OnLButtonDblClk(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:338
LRESULT OnHScroll(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:240
VOID EndSelectionDrag(POINT ptUnZoomed)
Definition: canvas.cpp:763
LRESULT OnRButtonDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:319
VOID GetImageRect(RECT &rc)
Definition: canvas.cpp:83
POINT m_ptOrig
Definition: canvas.h:54
VOID SelectionDragging(POINT ptUnZoomed)
Definition: canvas.cpp:757
CRect m_rcNew
Definition: canvas.h:55
LRESULT OnLRButtonUp(BOOL bLeftButton, UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:540
LRESULT OnMouseMove(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:348
RECT GetBaseRect()
Definition: canvas.cpp:36
LRESULT OnCtlColorEdit(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:770
VOID drawZoomFrame(INT mouseX, INT mouseY)
Definition: canvas.cpp:24
LRESULT OnRButtonDblClk(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:343
CANVAS_HITTEST CanvasHitTest(POINT pt)
Definition: canvas.cpp:88
CANVAS_HITTEST m_whereHit
Definition: canvas.h:53
LRESULT OnMouseWheel(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:689
LRESULT OnLRButtonDblClk(BOOL bLeftButton, UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: canvas.cpp:324
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define FALSE
Definition: types.h:117
#define pt(x, y)
Definition: drawing.c:79
unsigned int BOOL
Definition: ntddk_ex.h:94
#define MESSAGE_HANDLER(msg, func)
Definition: atlwin.h:1920
#define BEGIN_MSG_MAP(theClass)
Definition: atlwin.h:1892
#define END_MSG_MAP()
Definition: atlwin.h:1911
#define DECLARE_WND_CLASS_EX(WndClassName, style, bkgnd)
Definition: atlwin.h:1998
static HDC
Definition: imagelist.c:92
unsigned int UINT
Definition: ndis.h:50
#define WM_MOUSEWHEEL
Definition: treelist.c:96
int32_t INT
Definition: typedefs.h:58
#define _T(x)
Definition: vfdio.h:22
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
#define WM_PAINT
Definition: winuser.h:1610
#define WM_ERASEBKGND
Definition: winuser.h:1615
#define WM_HSCROLL
Definition: winuser.h:1733
#define WM_CAPTURECHANGED
Definition: winuser.h:1798
#define WM_VSCROLL
Definition: winuser.h:1734
#define WM_SIZE
Definition: winuser.h:1601
#define WM_CANCELMODE
Definition: winuser.h:1625
#define WM_LBUTTONDBLCLK
Definition: winuser.h:1768
#define WM_RBUTTONUP
Definition: winuser.h:1770
#define WM_RBUTTONDBLCLK
Definition: winuser.h:1771
#define WM_MOUSEMOVE
Definition: winuser.h:1765
#define CS_DBLCLKS
Definition: winuser.h:646
#define WM_LBUTTONDOWN
Definition: winuser.h:1766
#define WM_RBUTTONDOWN
Definition: winuser.h:1769
#define COLOR_APPWORKSPACE
Definition: winuser.h:919
#define WM_LBUTTONUP
Definition: winuser.h:1767
#define WM_SETCURSOR
Definition: winuser.h:1626
#define WM_KEYDOWN
Definition: winuser.h:1705
#define WM_CTLCOLOREDIT
Definition: winuser.h:1757