Commit graph

278 commits

Author SHA1 Message Date
Katayama Hirofumi MZ 62eeb158a5
[MSPAINT] Improve Zoom tool (#5781)
- Delete CCanvasWindow::drawZoomFrame.
- Invalidate the canvas on mouse move when
  the active tool is Zoom tool.
- Add ZoomTool::OnDrawOverlayOnCanvas to
  draw the zoom rectangle without flickering.
- Improve the zoom trackbar position.
- Display the zoom rate on changing the value
  of the zoom trackbar.
- Reverse the direction of the zoom trackbar.
- Don't draw the focus rectangle.
CORE-19215, CORE-19216
2023-10-10 10:59:29 +09:00
Katayama Hirofumi MZ 0c164f081a
[MSPAINT] Check out of image in updating status bar (#5779)
Check out of the image by using ::PtInRect and CCanvasWindow::GetImageRect.
If out, then don't show the status bar text.
CORE-19219
2023-10-09 08:39:31 +09:00
Katayama Hirofumi MZ 611d89eb8b
[MSPAINT] Add border width to tool box (#5780)
Make tool box pixel-perfect. Add two border widths to the tool box.
CORE-19217
2023-10-09 08:37:31 +09:00
Katayama Hirofumi MZ 8d8f4d328c
[MSPAINT] Zoom tool shouldn't use undo buffer (#5778)
Remove PushImageForUndo call in Zoom tool. CORE-19214
2023-10-09 08:07:02 +09:00
Katayama Hirofumi MZ 1a90009bb9
[MSPAINT] Update scroll info on loading file (#5761)
The scroll info was not updated when the file is loading.
- Rename CCanvasWindow::Update as CCanvasWindow::updateScrollInfo.
- Update scroll info on ImageModel::NotifyImageChanged.
- Improve ImageModel::ClearHistory.
CORE-19094
2023-10-05 20:01:41 +09:00
Katayama Hirofumi MZ 3579ea7888
[MSPAINT] Fix assertion failure on text tool (#5762)
Kill the assertion failure on choosing text tool.
Check whether textEditWindow is not null by using IsWindowVisible.
CORE-19094
2023-10-05 19:51:36 +09:00
Katayama Hirofumi MZ 945ee4b2a4
[MSPAINT] Larger/smaller Rubber/AirBrush on Ctrl+Plus/Minus (#5740)
- Enable changing rubber/airbrush thickness by Ctrl+Plus / Ctrl+Minus
  key combination in TOOL_AIRBRUSH and TOOL_RUBBER.
CORE-19094
2023-09-28 21:54:32 +09:00
Katayama Hirofumi MZ 8a4787b384
[MSPAINT] Larger/smaller brush nib on Ctrl+Plus/Minus (#5739)
- Introduce the concept of "brush width" to the
  tools model.
- Enable changing the brush width by Ctrl+Plus/Minus
  key combination in TOOL_BRUSH.
- Re-define brush styles.
CORE-19094
2023-09-28 21:30:34 +09:00
Katayama Hirofumi MZ f2a012240f
[MSPAINT] Larger/smaller pen nib on Ctrl+Plus/Minus (#5738)
- Introduce the concept of pen width (not line width) to the tools model.
- Enable changing pen/line width by Ctrl+Plus/Minus key combination in TOOL_PEN,
  TOOL_LINE, TOOL_BEZIER, TOOL_RECT, TOOL_SHAPE, TOO_ELLIPSE, and
  TOOL_RRECT tools.
CORE-19094
2023-09-28 16:32:36 +09:00
Katayama Hirofumi MZ cbc63d876c
[MSPAINT] "Selection Clone" and "Selection Brush" (#5734)
- Stamp the image of the selection when the user clicks on
  the selection while holding down the Ctrl key.
- Draw the image of the selection continuously when the user
  starts dragging the selection while holding down the Shift key.
CORE-19094
2023-09-28 07:34:25 +09:00
Katayama Hirofumi MZ 389d04650f
[MSPAINT] Restrict drawing direction on Shift key (#5726)
- While holding down the Shift key, drawing lines with the
  pen/brush is limited to either of 8 directions (horizontal/vertical/diagonal).
- s/abs/labs/
CORE-19094
2023-09-26 22:47:23 +09:00
Katayama Hirofumi MZ ed9973f876
[MSPAINT] Introduce Ctrl+Plus / Ctrl+Minus (#5717)
- Add Ctrl+Plus and Ctrl+Minus accelerators.
- Add IDM_CTRL_PLUS and IDM_CTRL_MINUS
  commands.
- Stretch the selection area on IDM_CTRL_PLUS
  and IDM_CTRL_MINUS actions.
CORE-19094
2023-09-23 09:26:11 +09:00
Katayama Hirofumi MZ bbb33a6ed5
[MSPAINT] Don't show error message twice (#5715)
- Reduce display of error message on IDM_EDITCOPYTO and IDM_EDITPASTEFROM.
- Introduce LockBitmap/UnlockBitmap mechanism for ImageModel and SelectionModel.
CORE-19181, CORE-19182
2023-09-22 10:48:13 +09:00
Katayama Hirofumi MZ 98050f9139
[MSPAINT] Don't copy bits on resizing (#5716)
- Fix the graphical glitches on resizing and moving toolbars.
- Add SWP_NOCOPYBITS flag on positioning controls on resizing of main window.
CORE-19137
2023-09-22 07:35:03 +09:00
Katayama Hirofumi MZ ea5d2c5f7a
[MSPAINT][SDK] Add <ui/CWaitCursor.h> (#5680)
CORE-19094
2023-09-12 05:39:08 +09:00
Katayama Hirofumi MZ e4512e6af2 [MSPAINT] IDM_IMAGEROTATEMIRROR: Fix indent
Follow-up to #5660. CORE-19094
2023-09-11 07:44:39 +09:00
Katayama Hirofumi MZ 993a45024e
[MSPAINT] Use wait cursor (#5660)
- Implement CWaitCursor class in newly-added "waitcursor.h".
- Use CWaitCursor to manage the wait cursor.
- Improve WM_SETCURSOR handlings.
CORE-19094
2023-09-10 22:28:28 +09:00
Tibor Lajos Füzi 3068422d51
[TRANSLATION] Update hungarian translation for mspaint, notepad, taskmgr, explorer, appwiz, browseui, msgina, shell32 (#5645) 2023-09-03 17:46:38 +02:00
Stanislav Motylkov dafa00b554 [MSPAINT] Sync translations between the main and popup menus
Also some minor corrections and fixes for mnemonic keys.
2023-08-20 12:06:08 +03:00
Katayama Hirofumi MZ 455c1fe1b9
[MSPAINT] Speed up for black and white (#5563)
Follow-up to #5554.
- Speed up ImageModel::PushBlackAndWhite
  by using GetDIBits and SetDIBits.
CORE-19094
2023-08-20 16:46:18 +09:00
Andrei Miloiu 9293388c61
[MSPAINT] Update Romanian (ro-RO) translation (#5564) 2023-08-18 13:04:31 +03:00
Katayama Hirofumi MZ c763713475 [MSPAINT] Update Japanese (ja-JP) translation
CORE-18706
2023-08-13 10:09:18 +09:00
Stanislav Motylkov a970c50a83 [MSPAINT] Update Russian (ru-RU) translation
Addendum to ba53f72a87 and e6c23361a1.
2023-08-11 15:52:46 +03:00
Katayama Hirofumi MZ e6c23361a1
[MSPAINT] Support converting to black and white (#5554)
- Add ImageModel::IsBlackAndWhite and ImageModel::PushBlackAndWhite
  helper functions.
- Add CAttributesDialog::m_bBlackAndWhite.
- If IDD_ATTRIBUTESRB4 is checked, then make
  the bitmap black and white.
- Add IDS_LOSECOLOR to show message.
CORE-19094
2023-08-11 20:27:12 +09:00
Katayama Hirofumi MZ 893715b722
[MSPAINT] Fix focus and radiobuttons of some dialogs (#5537)
- Return TRUE on WM_INITDIALOG handling to set focus.
- Check if the radiobutton is checked on the radiobutton action
  (considering BN_SETFOCUS etc.).
CORE-18011
2023-08-10 08:20:55 +09:00
Katayama Hirofumi MZ ba53f72a87
[MSPAINT] Send mail with image (retry) (#5404)
- Add OpenMailer function.
- Add IDS_CANTSENDMAIL.
- Send a mail by using mapi32!MAPISendMail/W.
- Extend SaveDIBToFile function by adding a
  parameter.
CORE-19094
2023-08-09 23:59:34 +09:00
Serge Gautherie 016acd170d
[REACTOS] Do not free shared icon for ShellAbout() calls (#5519)
CORE-18369
2023-08-09 11:53:13 +02:00
Andrew Dent 815d55c378
[REACTOS] British English spellings (#5533)
Fix spellings for en-GB:
- Centre.
- Colour.
- Customise.
- Unauthorise.
2023-08-09 11:48:59 +02:00
Katayama Hirofumi MZ 70e05170cf
[MSPAINT][ATL] Delete deprecated functions (#5542)
- Rewrite CImageDx to reduce improper dependency with CImage.
- Check if the filename extension is supported before saving the files.
- Delete deprecated functions in CImage.
CORE-19094
2023-08-09 08:17:07 +09:00
Andrew Dent 8f3a09722e
[MSPAINT] Optimize images for help docs (#5486)
Lossless optimization of png images using `pngslim`.

Saves some bytes. No code changes.
2023-07-26 19:58:29 +03:00
Katayama Hirofumi MZ a1f7b3f2dd [MSPAINT] s/IsGuidEqual/::IsEqualGUID/
CORE-18867
2023-07-06 08:24:46 +09:00
Stanislav Motylkov af18a970a9 [MSPAINT] Update Russian (ru-RU) translation 2023-07-06 01:04:13 +03:00
Stanislav Motylkov fa4c72b79e [MSPAINT] Improve wording of IDS_SAVEERROR
Addendum to 3e23cdf9e. CORE-18867
2023-07-06 01:02:33 +03:00
Katayama Hirofumi MZ 3e23cdf9ee
[MSPAINT] Some bug fixes on loading/saving files (#5385)
- Display a correct error message on failing to save a file.
- Don't confuse the main file info and the non-main file info.
- Rename ShowFileLoadError as ShowError, and strengthen and move it to dialogs.cpp.
- Add SetFileInfo and InitializeImage helper functions.
- Add IDS_SAVEERROR resource string.
- Modify SaveDIBToFile, SetBitmapAndInfo, and DoLoadImageFile functions.
CORE-18867
2023-07-05 12:06:22 +09:00
Piotr Hetnarowicz 4c7ef7b1a2
[MSPAINT] Update Polish (pl-PL) translation (#5368) 2023-07-03 15:28:38 +03:00
Andrei Miloiu e369caef4e
[MSPAINT] Update Romanian (ro-RO) translation (#5353) 2023-07-03 15:24:21 +03:00
Stanislav Motylkov f5200e6c25 [MSPAINT] Update copyright years for the C++ code
According to Benedikt Freisen, he didn't port the code base to C++
until 2015. Addendum to 8f1f1c7a5a. CORE-18867
2023-06-27 21:22:21 +03:00
Katayama Hirofumi MZ cb98e91b55
[MSPAINT] Rename some identifiers (#5362)
- s/CANVAS_HITTEST/HITTEST/
- s/m_whereHit/m_hitCanvasSizeBox/
- s/m_rcNew/m_rcResizing/
- Add comments to CCanvasWindow.
CORE-18867
2023-06-24 19:39:07 +09:00
Stanislav Motylkov ec09fffbfc [MSPAINT] Update and improve Russian (ru-RU) translation 2023-06-23 20:54:02 +03:00
Stanislav Motylkov b6c4222f25 [MSPAINT] Make Attributes dialog layout consistent between languages
- Add missing mnemonic keys
- Remove unneeded mnemonic keys
- Fix some translated strings being too long
- Fix mispositioned elements
- Reposition overlapping elements

Validated the changes with Resource Hacker. CORE-18867
2023-06-23 20:51:45 +03:00
Stanislav Motylkov 8f1f1c7a5a [MSPAINT] Update copyright headers
Use LGPL-2.0-or-later as the first available LGPL version on SPDX
taking into account 530512f17e commit message.

CORE-18867
2023-06-23 20:49:28 +03:00
Katayama Hirofumi MZ d04e049284 [MSPAINT] s/Bound/Clamp/
CORE-18867
2023-06-22 07:57:36 +09:00
Katayama Hirofumi MZ ec53d42278 [MSPAINT] s/pointSP/s_pointSP/ and s/pointStack/s_pointStack/
CORE-18867
2023-06-22 07:28:15 +09:00
Katayama Hirofumi MZ 3fa6d74a01
[MSPAINT] Fix ShapeTool with Shift key (#5358)
Fix the behavior of the ShapeTool in pressing Shift key. CORE-18867
2023-06-22 07:19:48 +09:00
Katayama Hirofumi MZ bc19bbe408 [MSPAINT] Add CMainWindow::CanPaste
CORE-18867
2023-06-19 18:59:00 +09:00
Katayama Hirofumi MZ 19d8862851
[MSPAINT] Fix CMainWindow::GetSaveFileName (#5356)
Fix filename extension cases and "File Type" field. If no filename extension on save, then append ".png" to the filename.
CORE-18867
2023-06-19 14:15:18 +09:00
Katayama Hirofumi MZ 64ef3ced9c
[MSPAINT] Add CMainWindow::CanUndo/CanRedo (#5355)
- Add CMainWindow::CanUndo and CMainWindow::CanRedo and use them.
- Fix wrongly-disabled Undo/Redo in some cases.
CORE-18867
2023-06-19 14:13:43 +09:00
Katayama Hirofumi MZ b5335fb90b [MSPAINT] Simplify SelectionModel::StretchSkew
...and omit cloning HBITMAP in SelectionModel::InsertFromHBITMAP. CORE-18867
2023-06-19 14:11:16 +09:00
Katayama Hirofumi MZ 7bb0561c2d [MSPAINT] Delete useless CTextEditWindow::m_nAppIsMovingOrSizing
CORE-18867
2023-06-19 13:47:24 +09:00
Katayama Hirofumi MZ fdba69be7c [MSPAINT] Follow-up Part 2 of Realize Masked Skew (96d3883)
CORE-18867
2023-06-19 10:11:35 +09:00
Katayama Hirofumi MZ 2661b2db61 [MSPAINT] Improve Japanese (ja-JP) translation (IDS_CANTPASTE)
CORE-18867
2023-06-19 10:08:04 +09:00
Katayama Hirofumi MZ 96d3883686 [MSPAINT] Follow-up of Realize Masked Skew (9afcbea)
CORE-18867
2023-06-19 10:00:39 +09:00
Katayama Hirofumi MZ 9afcbea24e [MSPAINT] Realize Masked Skew
- Add CreateMonoBitmap and CopyMonoImage functions to dib.cpp.
- Add bMono parameter to SkewDIB function.
- Add hbmMask parameter to InsertFromHBITMAP function.
- Add ToolsModel::IsSelection.
CORE-18867
2023-06-19 09:56:02 +09:00
Katayama Hirofumi MZ f6bd638b4d [MSPAINT] Don't show canvas size boxes if textEditWindow is shown
CORE-18867
2023-06-19 08:36:45 +09:00
Katayama Hirofumi MZ 17bdf55474 [MSPAINT] Smartly restrict CTextEditWindow's size and position
...by using WM_SIZING and WM_MOVING. CORE-18867
2023-06-19 08:25:23 +09:00
Katayama Hirofumi MZ 7aadc1e1fe
[MSPAINT] Realize context menu on canvas (#5352)
- Add actions on Right-Click.
- Add ID_POPUPMENU resource menu.
- Use TrackPopupMenu to show the context menu.
- Improve CMainWindow::OnInitMenuPopup to display context menu.
- Add SelectionModel::m_bContentChanged flag to indicate whether the selection content is changed.
- Fix IDM_IMAGEINVERTCOLORS and IDM_IMAGEROTATEMIRROR commands.
CORE-18867
2023-06-19 07:51:19 +09:00
Stanislav Motylkov 89ecf32e0b [MSPAINT] Improve wording of IDS_CANTPASTE message
Follow-up of #5349 (9f56e67). CORE-18867
2023-06-18 19:16:17 +03:00
Katayama Hirofumi MZ 8ba330ead2 [MSPAINT] Follow-up of #5349 (9f56e67); Avoid assertion failure
CORE-18867
2023-06-18 20:34:49 +09:00
Katayama Hirofumi MZ 9f56e67bc2
[MSPAINT] Use CF_DIB instead of CF_BITMAP (#5349)
CF_BITMAP is not recommended format for copying. In fact, Win10 won't accept it.
- Use CF_DIB clipboard format instead of CF_BITMAP in copying.
- Use CF_ENHMETAFILE, CF_DIB, or CF_BITMAP in pasting.
- Add BitmapToClipboardDIB, BitmapFromClipboardDIB, and BitmapFromHEMF helper functions to dib.cpp.
- Re-enable paste by fixing the bug that is embugged in the previous commit.
- Enable Cut, Copy, Paste, and Delete on text editing box by modifying OnInitMenuPopup.
- Add IDS_CANTPASTE resource string to show message on paste failure.
CORE-18867
2023-06-18 19:48:20 +09:00
Katayama Hirofumi MZ e8c7e30030
[MSPAINT] Establish Undo/Redo management (#5347)
- Painting the canvas is done by overlaying the multiple layers.
- Drawing each overlay is implemented as polymorphism of OOP.
- Refine the Undo/Redo mechanism.
- Some adjustments.
CORE-17969
2023-06-17 21:15:35 +09:00
Katayama Hirofumi MZ 2f856f6f0d [MSPAINT] Add CachedBufferDIB function and use it
We do caching on buffering paint.
This will improve performance a little.
CORE-18867
2023-06-16 08:05:23 +09:00
Katayama Hirofumi MZ ad61c574f4 [MSPAINT] Fix two handle leaks
CORE-18867
2023-06-15 10:55:59 +09:00
Katayama Hirofumi MZ 5675604d28 [MSPAINT] CMiniatureWindow: Avoid too small
CORE-18867
2023-06-14 20:17:49 +09:00
Katayama Hirofumi MZ bfd42c67a1
[MSPAINT] Improve CMiniatureWindow (#5337)
- Save the position and size of the miniature window.
- Improve drawing of the miniature window.
- Sync with the canvas.
CORE-18867
2023-06-14 18:51:40 +09:00
Katayama Hirofumi MZ 318b2e786d [MSPAINT] Trivial improvements
- Use SetPixelV instead of SetPixel.
- BI_RGB is zero.
- Use CS_HREDRAW and CS_VREDRAW.
CORE-18867
2023-06-14 17:42:21 +09:00
Katayama Hirofumi MZ 3b4422b41b [MSPAINT] drawing.cpp: Refactor Erase, Replace and Airbrush 3
CORE-18867
2023-06-14 17:14:41 +09:00
Katayama Hirofumi MZ 0334498068 [MSPAINT] drawing.cpp: Refactor Erase, Replace and Airbrush 2
CORE-18867
2023-06-14 17:03:22 +09:00
Katayama Hirofumi MZ 78c8df8393 [MSPAINT] drawing.cpp: Refactor Erase, Replace and Airbrush
CORE-18867
2023-06-14 16:44:54 +09:00
Katayama Hirofumi MZ 6d9b7f77ad [MSPAINT] mouse.cpp: Use override keywords
CORE-18867
2023-06-14 16:01:10 +09:00
Katayama Hirofumi MZ 2b623c1d04
[MSPAINT] Refactor ImageModel (#5335)
- Unify ImageModel::Insert and ImageModel::CopyPrevious to ImageModel::PushImageForUndo.
- Delete useless stuffs.
- Fix some memory leaks.
- Fix IDM_IMAGECROP.
CORE-17969, CORE-18867
2023-06-13 23:23:48 +09:00
Katayama Hirofumi MZ fa4c3bd560 [MSPAINT] s/HasUndoSteps/CanUndo/ and s/HasRedoSteps/CanRedo/
CORE-18867
2023-06-13 18:24:42 +09:00
Katayama Hirofumi MZ 1a88607387
[MSPAINT] Move selection by arrow keys (#5334)
Improve keyboard usability.
- Add CCanvasWindow::MoveSelection.
- Modify CMainWindow::OnKeyDown.
- If Esc key is pressed, then the selection will land to canvas.
- If any arrow key is pressed, then the selection will move a bit.
CORE-18867
2023-06-13 16:31:18 +09:00
Katayama Hirofumi MZ 0087ea6597 [MSPAINT] Set CC_RGBINIT to CMainWindow::ChooseColor
It had failed to set initial color. CORE-18867
2023-06-13 15:51:52 +09:00
Katayama Hirofumi MZ cb245ff711 [MSPAINT] Scrolled canvas has defects in dragging a selection
CORE-18990, CORE-18867
2023-06-13 14:57:59 +09:00
Katayama Hirofumi MZ 62b6859a67 [MSPAINT] Follow-up of #5332 (9ff9580)
Simplify the epilogue code of CCanvasWindow::OnSetCursor by using bHandle variable. CORE-18867
2023-06-13 14:18:12 +09:00
Jose Carlos Jesus 9ff9580fb0
[MSPAINT] Fix the type of cursor displayed when overlaying scrollbars (#5332)
When the window size is smaller than the image size in both directions, the wrong cursor is displayed when hovering the mouse over the scrollbars.

Readjust position for file date and file size objects, to fit all text.

CORE-18867
2023-06-13 13:01:39 +09:00
Katayama Hirofumi MZ 83762575e1 [MSPAINT] Add (CS_HREDRAW | CS_VREDRAW) style to CCanvasWindow
Reduce repainting defects. CORE-18867
2023-06-12 21:12:37 +09:00
Jose Carlos Jesus ed22908780
[MSPAINT] Update Portuguese (pt-PT) translation (#5319) 2023-06-10 16:21:54 +00:00
Katayama Hirofumi MZ d708c7947b
[MSPAINT] Use better units for image resolution (#5301)
Our paint program used the pixels per meter (PPM)
unit but this unit is hardly used in the world.
Let's use DPI (dots per inch) and/or pixels per
centimeter (PPCM). CORE-18867
2023-06-04 11:24:00 +09:00
Katayama Hirofumi MZ 36cdd34814 [MSPAINT] Use black and R2_NOTXORPEN instead of white and R2_XORPEN
Workaround. CORE-18867, CORE-18921
2023-05-31 17:00:05 +09:00
Katayama Hirofumi MZ bddd8b058c [MSPAINT] Minor adjustment on drawing text on TOOL_TEXT
CORE-18867
2023-05-31 13:31:50 +09:00
Katayama Hirofumi MZ aeffa57ec7 [MSPAINT] Fix textbox background by using WM_CTLCOLOREDIT
CORE-18867
2023-05-31 13:21:01 +09:00
Katayama Hirofumi MZ a9284b5664 [MSPAINT] Fix handle leaks about memory bitmap
This fixes CORE-18919. CORE-18867
2023-04-09 11:17:17 +09:00
Katayama Hirofumi MZ 96c7fe4ccd [MSPAINT] Fix Copy and Paste
Call GetSelectionContents in SelectionModel::GetBitmap.
CORE-18920, CORE-18867
2023-04-09 09:14:32 +09:00
Katayama Hirofumi MZ 639739a7cd [MSPAINT] Fix SelectionModel::InsertFromHBITMAP bug
CORE-18867, CORE-18920
2023-04-09 09:01:14 +09:00
Katayama Hirofumi MZ f45d80adc9 [MSPAINT] Canvas: Don't draw new frame if HIT_NONE
CORE-18867
2023-04-09 08:49:18 +09:00
Katayama Hirofumi MZ 132f482de2 [MSPAINT] imageSaved = FALSE after image size change
...and redraw canvas after image resizing is canceled.
CORE-18867
2023-04-09 08:23:44 +09:00
Katayama Hirofumi MZ efe7368c46
[MSPAINT] Make imageArea window-less (#5215)
- Move imageArea code into canvasWindow.
- Delete imgarea.cpp, imgarea.h, and imageArea.
- Add CCanvasWindow::ImageToCanvas and CCanvasWindow::CanvasToImage to convert the coordinates.
- Realize drawing of resizing image area.
CORE-18867
2023-04-08 22:25:27 +09:00
Katayama Hirofumi MZ d0c657074d
[MSPAINT] Allow paletteWindow to be bottom-aligned (#5216)
The user will be able to move the palette window to bottom by dragging.
- Add Bar1ID registry setting.
- Move paletteWindow to top or bottom in mainWindow's WM_SIZE handling.
- Track the mouse dragging on paletteWindow.
- If the dragging is beyond the center point, then move paletteWindow.
CORE-18867
2023-04-04 19:06:06 +09:00
Katayama Hirofumi MZ 83e83bfd2c
[MSPAINT] Allow ToolBox to be right-aligned (#5213)
The user will be able to move ToolBox in the main window by dragging.
- Add Bar2ID registry setting.
- Add CPaintToolBar class to encapsulate the toolbar code.
- Capture and track the mouse dragging in CToolBox.
- Move the ToolBox if dragging is beyond the center position.
CORE-18867
2023-04-03 14:34:56 +09:00
Katayama Hirofumi MZ aac89519ec
[MSPAINT] Make selection window-less (#5208)
- Delete selection.cpp and selection.h and selectionWindow.
- Extend ColorKeyedMaskBlt function.
- Implement selection resizing.
CORE-18867
2023-04-01 22:01:04 +09:00
Katayama Hirofumi MZ 29e147beca
[MSPAINT][ATL] Encapsulation: mainWindow (#5178)
- Add DoCreate methods to CFullscreenWindow, CMiniatureWindow, and CMainWindow classes.
- Do encapsulation around mainWindow and _tWinMain.
- Add GetOpenFileName, GetSaveFileName, and ChooseColor helper methods to CMainWindow class.
- Move some code in WinMain into CMainWindow::OnCreate.
- Delay creation of CFullscreenWindow and CMiniatureWindow.
- Extend ATL CImage class as CImageDx in newly-created atlimagedx.h of mspaint.
CORE-18867
2023-03-28 22:31:26 +09:00
Katayama Hirofumi MZ 5c8d578a15 [MSPAINT] Simplify OFNHookProc and FileExtFromFilter
... by using PathFindExtension and PathFindFileName.
CORE-18867
2023-03-22 10:42:21 +09:00
Katayama Hirofumi MZ 68e6820ddf [MSPAINT] Improve CMiniatureWindow::OnPaint
CORE-18867
2023-03-22 08:10:26 +09:00
Katayama Hirofumi MZ cb454ef9ed
[MSPAINT] Simplify TextEdit by using SizeBox (#5177)
Reduce source code. CORE-18867
2023-03-21 13:15:08 +09:00
Katayama Hirofumi MZ 57891b5f34
[MSPAINT] Tool settings: Reduce magic numbers (#5168)
Many coordinates are dynamically calculated. It is adjustable against client area change.
- Fix some brush/eraser shapes for pixel perfection.
- Reduce magic numbers in toolssettings.cpp.
- Refactoring.
CORE-18867
2023-03-21 13:13:53 +09:00
Katayama Hirofumi MZ ed03768b1b [MSPAINT] Move '#include <crtdbg.h>' and add _CRTDBG_MAP_ALLOC
CORE-18867
2023-03-20 22:59:05 +09:00
Katayama Hirofumi MZ 6b6a045766
[MSPAINT] Make sizeboxes window-less (#5166)
Reduce window controls and integrate to the canvas window.
- The sizeboxes are absorbed by canvasWindow.
- class CSizeboxWindow is deleted.
- Add enum CANVAS_HITTEST.
- Add getSizeBoxRect, getSizeBoxHitTest, and drawSizeBoxes helper functions in sizebox.cpp.
CORE-18867
2023-03-19 10:42:10 +09:00
Katayama Hirofumi MZ 1c7c0fa7a7 [MSPAINT] Save ToolBox visibility (#5167)
According to my registry analysis, the target value is HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Paint\General-Bar3:Visible.
- Add ShowToolBox registry setting.
CORE-18867
2023-03-18 17:20:43 +09:00
Katayama Hirofumi MZ 5ed7db5acb
[MSPAINT] Save paletteWindow visibility (#5167)
According to my registry analysis, HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Paint\General-Bar4:Visible is the target value.
- Improve ReadDWORD helper function.
- Add ShowPalette registry setting.
- Simplify RegistrySettings::Load and RegistrySettings::Store.
CORE-18867
2023-03-18 17:12:28 +09:00