f08b3b112f9455a5508dc618dc57ef9f74b6ab5c
2 * PROJECT: PAINT for ReactOS
4 * FILE: base/applications/paint/selection.c
5 * PURPOSE: Window procedure of the selection window
6 * PROGRAMMERS: Benedikt Freisen
9 /* INCLUDES *********************************************************/
12 #include "globalvar.h"
17 /* FUNCTIONS ********************************************************/
24 SelectionWinProc(HWND hwnd
, UINT message
, WPARAM wParam
, LPARAM lParam
)
32 HDC hDC
= GetDC(hwnd
);
33 DefWindowProc(hwnd
, message
, wParam
, lParam
);
34 SelectionFrame(hDC
, 1, 1, rectSel_dest
[2] * zoom
/ 1000 + 5,
35 rectSel_dest
[3] * zoom
/ 1000 + 5);
41 xPos
= LOWORD(lParam
);
42 yPos
= HIWORD(lParam
);
50 rectSel_dest
[0] += (short)LOWORD(lParam
) - xPos
;
51 rectSel_dest
[1] += (short)HIWORD(lParam
) - yPos
;
53 Rect(hDrawingDC
, rectSel_src
[0], rectSel_src
[1], rectSel_src
[0] + rectSel_src
[2],
54 rectSel_src
[1] + rectSel_src
[3], bgColor
, bgColor
, 0, TRUE
);
56 BitBlt(hDrawingDC
, rectSel_dest
[0], rectSel_dest
[1], rectSel_dest
[2], rectSel_dest
[3],
57 hSelDC
, 0, 0, SRCCOPY
);
59 BitBlt(hDrawingDC
, rectSel_dest
[0], rectSel_dest
[1], rectSel_dest
[2], rectSel_dest
[3],
60 hSelDC
, 0, 0, SRCAND
);
61 //TransparentBlt(hDrawingDC, rectSel_dest[0], rectSel_dest[1], rectSel_dest[2], rectSel_dest[3],
62 // hSelDC, 0, 0, rectSel_dest[2], rectSel_dest[3], bgColor);
63 SendMessage(hImageArea
, WM_PAINT
, 0, 0);
64 xPos
= LOWORD(lParam
);
65 yPos
= HIWORD(lParam
);
66 //SendMessage(hwnd, WM_PAINT, 0, 0);
75 ShowWindow(hSelection
, SW_HIDE
);
76 ShowWindow(hSelection
, SW_SHOW
);
80 return DefWindowProc(hwnd
, message
, wParam
, lParam
);