[BTRFS]
[reactos.git] / reactos / base / applications / mspaint / fullscreen.cpp
1 /*
2 * PROJECT: PAINT for ReactOS
3 * LICENSE: LGPL
4 * FILE: base/applications/mspaint/fullscreen.cpp
5 * PURPOSE: Window for fullscreen view
6 * PROGRAMMERS: Benedikt Freisen
7 */
8
9 /* INCLUDES *********************************************************/
10
11 #include "precomp.h"
12
13 /* FUNCTIONS ********************************************************/
14
15 LRESULT CFullscreenWindow::OnCreate(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
16 {
17 SendMessage(WM_SETICON, ICON_BIG, (LPARAM) LoadIcon(hProgInstance, MAKEINTRESOURCE(IDI_APPICON)));
18 SendMessage(WM_SETICON, ICON_SMALL, (LPARAM) LoadIcon(hProgInstance, MAKEINTRESOURCE(IDI_APPICON)));
19 return 0;
20 }
21
22 LRESULT CFullscreenWindow::OnCloseOrKeyDownOrLButtonDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
23 {
24 mainWindow.ShowWindow(SW_SHOW);
25 ShowWindow(SW_HIDE);
26 return 0;
27 }
28
29 LRESULT CFullscreenWindow::OnPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
30 {
31 PAINTSTRUCT ps;
32 HDC hDC = BeginPaint(&ps);
33 RECT rcWnd;
34 GetWindowRect(&rcWnd);
35 INT cxDest = imageModel.GetWidth();
36 INT cyDest = imageModel.GetHeight();
37 INT xDest = (rcWnd.right - rcWnd.left - cxDest) / 2;
38 INT yDest = (rcWnd.bottom - rcWnd.top - cyDest) / 2;
39 BitBlt(hDC, xDest, yDest, cxDest, cyDest, imageModel.GetDC(), 0, 0, SRCCOPY);
40 EndPaint(&ps);
41 return 0;
42 }
43
44 LRESULT CFullscreenWindow::OnSize(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
45 {
46 Invalidate(TRUE);
47 return 0;
48 }
49
50 LRESULT CFullscreenWindow::OnSetCursor(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
51 {
52 SetCursor(LoadCursor(NULL, IDC_ARROW));
53 bHandled = FALSE;
54 return 0;
55 }
56
57 LRESULT CFullscreenWindow::OnGetText(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
58 {
59 // return caption of the main window, instead
60 return mainWindow.SendMessage(nMsg, wParam, lParam);
61 }