ReleaseDC(hImageArea, hdc);
}
+void
+alignChildrenToMainWindow()
+{
+ int x, y, w, h;
+ RECT clientRect;
+ GetClientRect(hMainWnd, &clientRect);
+
+ if (IsWindowVisible(hToolBoxContainer))
+ {
+ x = 56;
+ w = clientRect.right - 56;
+ }
+ else
+ {
+ x = 0;
+ w = clientRect.right;
+ }
+ if (IsWindowVisible(hPalWin))
+ {
+ y = 49;
+ h = clientRect.bottom - 49;
+ }
+ else
+ {
+ y = 3;
+ h = clientRect.bottom - 3;
+ }
+
+ MoveWindow(hScrollbox, x, y, w, IsWindowVisible(hStatusBar) ? h - 23 : h, TRUE);
+ MoveWindow(hPalWin, x, 9, 255, 32, TRUE);
+}
+
BOOL drawing;
LRESULT CALLBACK
}
break;
case 1:
- if (undoSteps > 0)
- EnableMenuItem(GetMenu(hMainWnd), IDM_EDITUNDO, MF_ENABLED | MF_BYCOMMAND);
- else
- EnableMenuItem(GetMenu(hMainWnd), IDM_EDITUNDO, MF_GRAYED | MF_BYCOMMAND);
- if (redoSteps > 0)
- EnableMenuItem(GetMenu(hMainWnd), IDM_EDITREDO, MF_ENABLED | MF_BYCOMMAND);
- else
- EnableMenuItem(GetMenu(hMainWnd), IDM_EDITREDO, MF_GRAYED | MF_BYCOMMAND);
+ EnableMenuItem(GetMenu(hMainWnd), IDM_EDITUNDO,
+ (undoSteps > 0) ? (MF_ENABLED | MF_BYCOMMAND) : (MF_GRAYED | MF_BYCOMMAND));
+ EnableMenuItem(GetMenu(hMainWnd), IDM_EDITREDO,
+ (redoSteps > 0) ? (MF_ENABLED | MF_BYCOMMAND) : (MF_GRAYED | MF_BYCOMMAND));
if (IsWindowVisible(hSelection))
{
EnableMenuItem(GetMenu(hMainWnd), IDM_EDITCUT, MF_ENABLED | MF_BYCOMMAND);
(MF_CHECKED | MF_BYCOMMAND) : (MF_UNCHECKED | MF_BYCOMMAND));
break;
}
- if (IsWindowVisible(hStatusBar))
- CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWSTATUSBAR, MF_CHECKED | MF_BYCOMMAND);
- else
- CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWSTATUSBAR, MF_UNCHECKED | MF_BYCOMMAND);
+ CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWTOOLBOX,
+ IsWindowVisible(hToolBoxContainer) ?
+ (MF_CHECKED | MF_BYCOMMAND) : (MF_UNCHECKED | MF_BYCOMMAND));
+ CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWCOLORPALETTE,
+ IsWindowVisible(hPalWin) ?
+ (MF_CHECKED | MF_BYCOMMAND) : (MF_UNCHECKED | MF_BYCOMMAND));
+ CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWSTATUSBAR,
+ IsWindowVisible(hStatusBar) ?
+ (MF_CHECKED | MF_BYCOMMAND) : (MF_UNCHECKED | MF_BYCOMMAND));
CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWSHOWGRID,
showGrid ? (MF_CHECKED | MF_BYCOMMAND) : (MF_UNCHECKED | MF_BYCOMMAND));
{
int test[] = { LOWORD(lParam) - 260, LOWORD(lParam) - 140, LOWORD(lParam) - 20 };
SendMessage(hStatusBar, WM_SIZE, wParam, lParam);
- SendMessage(hStatusBar, SB_SETPARTS, 3, (int)&test);
- MoveWindow(hScrollbox, 56, 49, LOWORD(lParam) - 56, HIWORD(lParam) - 72, TRUE);
- //InvalidateRect(hwnd, NULL, TRUE);
+ SendMessage(hStatusBar, SB_SETPARTS, 3, (LPARAM)&test);
+ alignChildrenToMainWindow();
}
if (hwnd == hImageArea)
{
CloseClipboard();
break;
case IDM_EDITDELETESELECTION:
- ShowWindow(hSelection, SW_HIDE);
+ {
+ /* remove selection window and already painted content using undo(),
+ paint Rect for rectangular selections and nothing for freeform selections */
+ undo();
+ if (activeTool == 2)
+ {
+ newReversible();
+ Rect(hDrawingDC, rectSel_dest[0], rectSel_dest[1], rectSel_dest[2] + rectSel_dest[0],
+ rectSel_dest[3] + rectSel_dest[1], bgColor, bgColor, 0, TRUE);
+ }
break;
+ }
case IDM_EDITSELECTALL:
if (activeTool == 2)
{
updateCanvasAndScrollbars();
break;
+ case IDM_VIEWTOOLBOX:
+ ShowWindow(hToolBoxContainer, IsWindowVisible(hToolBoxContainer) ? SW_HIDE : SW_SHOW);
+ alignChildrenToMainWindow();
+ break;
+ case IDM_VIEWCOLORPALETTE:
+ ShowWindow(hPalWin, IsWindowVisible(hPalWin) ? SW_HIDE : SW_SHOW);
+ alignChildrenToMainWindow();
+ break;
case IDM_VIEWSTATUSBAR:
ShowWindow(hStatusBar, IsWindowVisible(hStatusBar) ? SW_HIDE : SW_SHOW);
+ alignChildrenToMainWindow();
break;
case IDM_VIEWSHOWGRID: