From 18bef83e69f78955fdb00a74eeb8d837c3c129f3 Mon Sep 17 00:00:00 2001 From: Benedikt Freisen Date: Wed, 1 Jul 2009 19:24:17 +0000 Subject: [PATCH] Paint: - Fixed new bug in palette drawing (replacing a + by a -) - Added "Show grid" and "Show miniature" functions - Therefore changed the menus -> please check translations svn path=/trunk/; revision=41728 --- reactos/base/applications/paint/definitions.h | 3 + reactos/base/applications/paint/globalvar.h | 5 ++ reactos/base/applications/paint/lang/cs-CZ.rc | 21 +++-- reactos/base/applications/paint/lang/de-DE.rc | 21 +++-- reactos/base/applications/paint/lang/en-GB.rc | 21 +++-- reactos/base/applications/paint/lang/en-US.rc | 21 +++-- reactos/base/applications/paint/lang/es-ES.rc | 21 +++-- reactos/base/applications/paint/lang/fr-FR.rc | 21 +++-- reactos/base/applications/paint/lang/it-IT.rc | 21 +++-- reactos/base/applications/paint/lang/nl-NL.rc | 21 +++-- reactos/base/applications/paint/lang/no-NO.rc | 21 +++-- reactos/base/applications/paint/lang/pl-PL.rc | 21 +++-- reactos/base/applications/paint/lang/pt-BR.rc | 21 +++-- reactos/base/applications/paint/lang/pt-PT.rc | 21 +++-- reactos/base/applications/paint/lang/ro-RO.rc | 21 +++-- reactos/base/applications/paint/lang/ru-RU.rc | 21 +++-- reactos/base/applications/paint/lang/sk-SK.rc | 21 +++-- reactos/base/applications/paint/lang/uk-UA.rc | 21 +++-- reactos/base/applications/paint/main.c | 8 ++ reactos/base/applications/paint/palette.c | 2 +- reactos/base/applications/paint/rsrc.rc | 1 - reactos/base/applications/paint/winproc.c | 81 +++++++++++++++++++ 22 files changed, 322 insertions(+), 114 deletions(-) diff --git a/reactos/base/applications/paint/definitions.h b/reactos/base/applications/paint/definitions.h index ca47a0345ee..22a553ce853 100644 --- a/reactos/base/applications/paint/definitions.h +++ b/reactos/base/applications/paint/definitions.h @@ -60,6 +60,8 @@ #define IDM_VIEWZOOM400 239 #define IDM_VIEWZOOM800 240 #define IDM_VIEWFULLSCREEN 241 +#define IDM_VIEWSHOWGRID 242 +#define IDM_VIEWSHOWMINIATURE 243 #define IDM_IMAGEROTATEMIRROR 250 #define IDM_IMAGECHANGESIZE 251 @@ -140,6 +142,7 @@ #define IDS_INFOTEXT 903 #define IDS_SAVEPROMPTTEXT 904 #define IDS_DEFAULTFILENAME 905 +#define IDS_MINIATURETITLE 906 #define IDS_TOOLTIP1 910 #define IDS_TOOLTIP2 911 #define IDS_TOOLTIP3 912 diff --git a/reactos/base/applications/paint/globalvar.h b/reactos/base/applications/paint/globalvar.h index d039db4280c..1641af5cc33 100644 --- a/reactos/base/applications/paint/globalvar.h +++ b/reactos/base/applications/paint/globalvar.h @@ -71,3 +71,8 @@ extern HINSTANCE hProgInstance; extern TCHAR filename[256]; extern TCHAR filepathname[1000]; extern BOOL isAFile; + +extern BOOL showGrid; +extern BOOL showMiniature; + +extern HWND hwndMiniature; diff --git a/reactos/base/applications/paint/lang/cs-CZ.rc b/reactos/base/applications/paint/lang/cs-CZ.rc index e2db3f5702f..370eba4b6b8 100644 --- a/reactos/base/applications/paint/lang/cs-CZ.rc +++ b/reactos/base/applications/paint/lang/cs-CZ.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Lupa" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Cel obrazovka\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "ReactOS Malovn je dostupn pod licenc GNU Lesser General Public License (LGPL) verze 3 (viz. www.gnu.org)" IDS_SAVEPROMPTTEXT, "Chcete uloit proveden zmny v %s?" IDS_DEFAULTFILENAME, "Bez nzvu.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Voln vbr" IDS_TOOLTIP2, "Vbr" IDS_TOOLTIP3, "Guma" diff --git a/reactos/base/applications/paint/lang/de-DE.rc b/reactos/base/applications/paint/lang/de-DE.rc index 4a54906e35b..0cfd3523186 100644 --- a/reactos/base/applications/paint/lang/de-DE.rc +++ b/reactos/base/applications/paint/lang/de-DE.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Zoom" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "Benutzerdefiniert" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Raster anzeigen", IDM_VIEWSHOWGRID + MENUITEM "Miniaturansicht anzeigen", IDM_VIEWSHOWMINIATURE END MENUITEM "Gesamtbild\tStrg+G", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint fr ReactOS steht unter der GNU Lesser General Public License (LGPL) Version 3. (siehe www.gnu.org)" IDS_SAVEPROMPTTEXT, "Mchten Sie die nderungen an %s speichern?" IDS_DEFAULTFILENAME, "Unbenannt.bmp" + IDS_MINIATURETITLE, "Miniaturansicht" IDS_TOOLTIP1, "Freie Auswahl" IDS_TOOLTIP2, "Auswahl" IDS_TOOLTIP3, "Radierer" diff --git a/reactos/base/applications/paint/lang/en-GB.rc b/reactos/base/applications/paint/lang/en-GB.rc index 2c1bce95a50..3f582aa1e7f 100644 --- a/reactos/base/applications/paint/lang/en-GB.rc +++ b/reactos/base/applications/paint/lang/en-GB.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Zoom" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Full screen\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint for ReactOS is available under the GNU Lesser General Public License (LGPL) version 3 (see www.gnu.org)" IDS_SAVEPROMPTTEXT, "Do you want to save the changes to %s?" IDS_DEFAULTFILENAME, "Unnamed.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Free selection" IDS_TOOLTIP2, "Selection" IDS_TOOLTIP3, "Rubber" diff --git a/reactos/base/applications/paint/lang/en-US.rc b/reactos/base/applications/paint/lang/en-US.rc index ca60817f976..756f415d23a 100644 --- a/reactos/base/applications/paint/lang/en-US.rc +++ b/reactos/base/applications/paint/lang/en-US.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Zoom" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Full screen\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint for ReactOS is available under the GNU Lesser General Public License (LGPL) version 3 (see www.gnu.org)" IDS_SAVEPROMPTTEXT, "Do you want to save the changes to %s?" IDS_DEFAULTFILENAME, "Unnamed.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Free selection" IDS_TOOLTIP2, "Selection" IDS_TOOLTIP3, "Rubber" diff --git a/reactos/base/applications/paint/lang/es-ES.rc b/reactos/base/applications/paint/lang/es-ES.rc index c9d2c3511e1..8263e448ee6 100644 --- a/reactos/base/applications/paint/lang/es-ES.rc +++ b/reactos/base/applications/paint/lang/es-ES.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Zoom" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Ver en pantalla completa\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint for ReactOS is available under the GNU Lesser General Public License (LGPL) version 3 (see www.gnu.org)" IDS_SAVEPROMPTTEXT, "Do you want to save the changes to %s?" IDS_DEFAULTFILENAME, "Unnamed.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Free selection" IDS_TOOLTIP2, "Selection" IDS_TOOLTIP3, "Rubber" diff --git a/reactos/base/applications/paint/lang/fr-FR.rc b/reactos/base/applications/paint/lang/fr-FR.rc index 596a1ad540b..ed31d2cb9d5 100644 --- a/reactos/base/applications/paint/lang/fr-FR.rc +++ b/reactos/base/applications/paint/lang/fr-FR.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Zoom" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Plein cran\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint pour ReactOS est mise disposition sous la Licence publique gnrale limite GNU (LGPL) version 3 (voir www.gnu.org)" IDS_SAVEPROMPTTEXT, "Voulez-vous enregistrer les modifications de %s?" IDS_DEFAULTFILENAME, "Sans titre.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Slection libre" IDS_TOOLTIP2, "Slection" IDS_TOOLTIP3, "Gomme" diff --git a/reactos/base/applications/paint/lang/it-IT.rc b/reactos/base/applications/paint/lang/it-IT.rc index 2e5019431c5..3d63c4af5fd 100644 --- a/reactos/base/applications/paint/lang/it-IT.rc +++ b/reactos/base/applications/paint/lang/it-IT.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Zoom" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Visualizza a schermo intero\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint per ReactOS is available under the GNU Lesser General Public License (LGPL) version 3 (see www.gnu.org)" IDS_SAVEPROMPTTEXT, "Volete salvare le modifiche a %s?" IDS_DEFAULTFILENAME, "SenzaNome.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Selezione libera" IDS_TOOLTIP2, "Selezione" IDS_TOOLTIP3, "Gomma" diff --git a/reactos/base/applications/paint/lang/nl-NL.rc b/reactos/base/applications/paint/lang/nl-NL.rc index 190b49051cf..ad11347bfbb 100644 --- a/reactos/base/applications/paint/lang/nl-NL.rc +++ b/reactos/base/applications/paint/lang/nl-NL.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "In-/uitzoomen" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Volledig scherm\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint for ReactOS is available under the GNU Lesser General Public License (LGPL) version 3 (see www.gnu.org)" IDS_SAVEPROMPTTEXT, "Wilt u de wijzigingen die zijn aangebracht in %s opslaan?" IDS_DEFAULTFILENAME, "Naamloos.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Vrij selecteren" IDS_TOOLTIP2, "Selecteren" IDS_TOOLTIP3, "Gum" diff --git a/reactos/base/applications/paint/lang/no-NO.rc b/reactos/base/applications/paint/lang/no-NO.rc index 602f49e313d..a26ca00820c 100644 --- a/reactos/base/applications/paint/lang/no-NO.rc +++ b/reactos/base/applications/paint/lang/no-NO.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Forstrre" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Full skjerm\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint for ReactOS er n tilgjengelig under GNU Lesser General Public License (LGPL) versjon 3 (se http://www.gnu.org/home.nb.html)" IDS_SAVEPROMPTTEXT, "Vil du lagre endringene til %s?" IDS_DEFAULTFILENAME, "Utennavn.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Frihndmerking" IDS_TOOLTIP2, "Merk" IDS_TOOLTIP3, "Viskelr" diff --git a/reactos/base/applications/paint/lang/pl-PL.rc b/reactos/base/applications/paint/lang/pl-PL.rc index 7c5317c2ed1..01e7dd093c3 100644 --- a/reactos/base/applications/paint/lang/pl-PL.rc +++ b/reactos/base/applications/paint/lang/pl-PL.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Powikszenie" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Peny ekran\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint dla ReactOS jest dostpny na licencji GNU Lesser General Public License (LGPL) wersja 3 (www.gnu.org)" IDS_SAVEPROMPTTEXT, "Czy chcesz zapisa zmiany do %s?" IDS_DEFAULTFILENAME, "Nienazwany.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Zaznaczenie dowolne" IDS_TOOLTIP2, "Zaznaczenie" IDS_TOOLTIP3, "Gumka" diff --git a/reactos/base/applications/paint/lang/pt-BR.rc b/reactos/base/applications/paint/lang/pt-BR.rc index b33b213e0a4..63b882c777f 100644 --- a/reactos/base/applications/paint/lang/pt-BR.rc +++ b/reactos/base/applications/paint/lang/pt-BR.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "&Zoom" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "E&xibir bitmap\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint para ReactOS est disponvel sob a licena GNU Lesser General Public License (LGPL) verso 3 (visite www.gnu.org)" IDS_SAVEPROMPTTEXT, "Salvar as alteraes em %s?" IDS_DEFAULTFILENAME, "Imagem.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Selecionar forma livre" IDS_TOOLTIP2, "Selecionar" IDS_TOOLTIP3, "Apagador/Apagador de cor" diff --git a/reactos/base/applications/paint/lang/pt-PT.rc b/reactos/base/applications/paint/lang/pt-PT.rc index 3ebd277c5dd..e7caa6f8720 100644 --- a/reactos/base/applications/paint/lang/pt-PT.rc +++ b/reactos/base/applications/paint/lang/pt-PT.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "&Zoom" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "&Ver mapa de bits\tCtrl+B", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint para ReactOS est disponvel sob a licena GNU Lesser General Public License (LGPL) verso 3 (visite www.gnu.org)" IDS_SAVEPROMPTTEXT, "Pretende guardar as alteraes a %s?" IDS_DEFAULTFILENAME, "Imagem.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Selecionar forma livre" IDS_TOOLTIP2, "Selecionar" IDS_TOOLTIP3, "Borracha/Apagar cor" diff --git a/reactos/base/applications/paint/lang/ro-RO.rc b/reactos/base/applications/paint/lang/ro-RO.rc index 36b9f43aaad..4fa4714829a 100644 --- a/reactos/base/applications/paint/lang/ro-RO.rc +++ b/reactos/base/applications/paint/lang/ro-RO.rc @@ -46,13 +46,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Panoramare" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Pe tot ecranul\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -172,6 +178,7 @@ BEGIN IDS_INFOTEXT, "Paint pentru ReactOS este disponibil sub licena GNU Lesser General Public versiunea 3 (vedei www.gnu.org)" IDS_SAVEPROMPTTEXT, "Vrei s salvai schimbrile la %s?" IDS_DEFAULTFILENAME, "FrNume.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Golire selecie" IDS_TOOLTIP2, "Selecie" IDS_TOOLTIP3, "Radier" diff --git a/reactos/base/applications/paint/lang/ru-RU.rc b/reactos/base/applications/paint/lang/ru-RU.rc index bdc87fc9de2..e6ede843c62 100644 --- a/reactos/base/applications/paint/lang/ru-RU.rc +++ b/reactos/base/applications/paint/lang/ru-RU.rc @@ -41,13 +41,19 @@ BEGIN MENUITEM SEPARATOR POPUP "&" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM " \tCtrl+F", IDM_VIEWFULLSCREEN END @@ -167,6 +173,7 @@ BEGIN IDS_INFOTEXT, "Paint ReactOS GNU Lesser General Public License (LGPL) 3 (see www.gnu.org)" IDS_SAVEPROMPTTEXT, " %s?" IDS_DEFAULTFILENAME, "_.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, " " IDS_TOOLTIP2, "" IDS_TOOLTIP3, "" diff --git a/reactos/base/applications/paint/lang/sk-SK.rc b/reactos/base/applications/paint/lang/sk-SK.rc index db77f8625e2..70618cfd1fc 100644 --- a/reactos/base/applications/paint/lang/sk-SK.rc +++ b/reactos/base/applications/paint/lang/sk-SK.rc @@ -47,13 +47,19 @@ BEGIN MENUITEM SEPARATOR POPUP "Lupa" //Zoom BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM "Cel obrazovka\tCtrl+F", IDM_VIEWFULLSCREEN END @@ -173,6 +179,7 @@ BEGIN IDS_INFOTEXT, "Skicr systmu ReactOS je dostupn za podmienok GNU Lesser General Public License (LGPL) verzia 3 (vi www.gnu.org)" IDS_SAVEPROMPTTEXT, "Chcete uloi vykonan zmeny do %s?" IDS_DEFAULTFILENAME, "Bez nzvu.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, "Von vber" IDS_TOOLTIP2, "Vber" IDS_TOOLTIP3, "Guma" diff --git a/reactos/base/applications/paint/lang/uk-UA.rc b/reactos/base/applications/paint/lang/uk-UA.rc index 6b2991e2720..959c87cf72e 100644 --- a/reactos/base/applications/paint/lang/uk-UA.rc +++ b/reactos/base/applications/paint/lang/uk-UA.rc @@ -47,13 +47,19 @@ BEGIN MENUITEM SEPARATOR POPUP "" BEGIN - MENUITEM "12,5%", IDM_VIEWZOOM125 - MENUITEM "25%", IDM_VIEWZOOM25 - MENUITEM "50%", IDM_VIEWZOOM50 - MENUITEM "100%", IDM_VIEWZOOM100 - MENUITEM "200%", IDM_VIEWZOOM200 - MENUITEM "400%", IDM_VIEWZOOM400 - MENUITEM "800%", IDM_VIEWZOOM800 + POPUP "User defined" + BEGIN + MENUITEM "12,5%", IDM_VIEWZOOM125 + MENUITEM "25%", IDM_VIEWZOOM25 + MENUITEM "50%", IDM_VIEWZOOM50 + MENUITEM "100%", IDM_VIEWZOOM100 + MENUITEM "200%", IDM_VIEWZOOM200 + MENUITEM "400%", IDM_VIEWZOOM400 + MENUITEM "800%", IDM_VIEWZOOM800 + END + MENUITEM SEPARATOR + MENUITEM "Show grid", IDM_VIEWSHOWGRID + MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE END MENUITEM " \tCtrl+F", IDM_VIEWFULLSCREEN END @@ -173,6 +179,7 @@ BEGIN IDS_INFOTEXT, "Paint for ReactOS is available under the GNU Lesser General Public License (LGPL) version 3 (see www.gnu.org)" IDS_SAVEPROMPTTEXT, " %s?" IDS_DEFAULTFILENAME, "_.bmp" + IDS_MINIATURETITLE, "Miniature" IDS_TOOLTIP1, " " IDS_TOOLTIP2, "" IDS_TOOLTIP3, "" diff --git a/reactos/base/applications/paint/main.c b/reactos/base/applications/paint/main.c index 20bf58b6b18..90edfe6d610 100644 --- a/reactos/base/applications/paint/main.c +++ b/reactos/base/applications/paint/main.c @@ -102,6 +102,11 @@ TCHAR filename[256]; TCHAR filepathname[1000]; BOOL isAFile = FALSE; +BOOL showGrid = FALSE; +BOOL showMiniature = FALSE; + +HWND hwndMiniature; + int WINAPI _tWinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPTSTR lpszArgument, int nFunsterStil) { HWND hwnd; /* This is the handle for our window */ @@ -214,12 +219,15 @@ int WINAPI _tWinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPTSTR l LoadString(hThisInstance, IDS_DEFAULTFILENAME, filename, SIZEOF(filename)); LoadString(hThisInstance, IDS_WINDOWTITLE, resstr, SIZEOF(resstr)); _stprintf(progtitle, resstr, filename); + TCHAR miniaturetitle[100]; + LoadString(hThisInstance, IDS_MINIATURETITLE, miniaturetitle, SIZEOF(miniaturetitle)); /* create main window */ hwnd = CreateWindowEx (0, _T("WindowsApp"), progtitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 544, 375, HWND_DESKTOP, NULL, hThisInstance, NULL); hMainWnd = hwnd; + hwndMiniature = CreateWindowEx(WS_EX_PALETTEWINDOW, _T("WindowsApp"), miniaturetitle, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME, 180, 200, 120, 100, hwnd, NULL, hThisInstance, NULL); /* loading and setting the window menu from resource */ menu = LoadMenu(hThisInstance, MAKEINTRESOURCE(ID_MENU)); diff --git a/reactos/base/applications/paint/palette.c b/reactos/base/applications/paint/palette.c index c8e07f19de1..8e873041327 100644 --- a/reactos/base/applications/paint/palette.c +++ b/reactos/base/applications/paint/palette.c @@ -57,7 +57,7 @@ LRESULT CALLBACK PalWinProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lPar DrawEdge(hDC, &rc, BDR_SUNKENOUTER, BF_RECT); oldPen = SelectObject(hDC, CreatePen(PS_NULL, 0, 0)); oldBrush = SelectObject(hDC, CreateSolidBrush(palColors[i])); - Rectangle(hDC, rc.left + 2,rc.top + 2,rc.right + 1, rc.bottom - 1); + Rectangle(hDC, rc.left + 2,rc.top + 2,rc.right - 1, rc.bottom - 1); DeleteObject(SelectObject(hDC, oldBrush)); DeleteObject(SelectObject(hDC, oldPen)); } diff --git a/reactos/base/applications/paint/rsrc.rc b/reactos/base/applications/paint/rsrc.rc index 512be8c0830..7b2e17170ef 100644 --- a/reactos/base/applications/paint/rsrc.rc +++ b/reactos/base/applications/paint/rsrc.rc @@ -33,7 +33,6 @@ #include "lang/ru-RU.rc" #include "lang/uk-UA.rc" - // // SUPPORT FOR WINDOWS XP THEMES: // THIS WILL MAKE THE PROGRAM USE THE COMMON CONTROLS diff --git a/reactos/base/applications/paint/winproc.c b/reactos/base/applications/paint/winproc.c index 290bdd73365..b9873e953a4 100644 --- a/reactos/base/applications/paint/winproc.c +++ b/reactos/base/applications/paint/winproc.c @@ -60,6 +60,12 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM PostQuitMessage (0); /* send a WM_QUIT to the message queue */ break; case WM_CLOSE: + if (hwnd==hwndMiniature) + { + ShowWindow(hwndMiniature, SW_HIDE); + showMiniature = FALSE; + break; + } if (undoSteps>0) { TCHAR programname[20]; @@ -144,6 +150,44 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM CheckMenuItem(GetMenu(hMainWnd), IDM_IMAGEDRAWOPAQUE, MF_UNCHECKED | MF_BYCOMMAND); break; } + if (showGrid) + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWSHOWGRID, MF_CHECKED | MF_BYCOMMAND); + else + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWSHOWGRID, MF_UNCHECKED | MF_BYCOMMAND); + if (showMiniature) + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWSHOWMINIATURE, MF_CHECKED | MF_BYCOMMAND); + else + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWSHOWMINIATURE, MF_UNCHECKED | MF_BYCOMMAND); + + if (zoom==125) + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM125, MF_CHECKED | MF_BYCOMMAND); + else + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM125, MF_UNCHECKED | MF_BYCOMMAND); + if (zoom==250) + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM25, MF_CHECKED | MF_BYCOMMAND); + else + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM25, MF_UNCHECKED | MF_BYCOMMAND); + if (zoom==500) + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM50, MF_CHECKED | MF_BYCOMMAND); + else + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM50, MF_UNCHECKED | MF_BYCOMMAND); + if (zoom==1000) + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM100, MF_CHECKED | MF_BYCOMMAND); + else + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM100, MF_UNCHECKED | MF_BYCOMMAND); + if (zoom==2000) + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM200, MF_CHECKED | MF_BYCOMMAND); + else + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM200, MF_UNCHECKED | MF_BYCOMMAND); + if (zoom==4000) + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM400, MF_CHECKED | MF_BYCOMMAND); + else + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM400, MF_UNCHECKED | MF_BYCOMMAND); + if (zoom==8000) + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM800, MF_CHECKED | MF_BYCOMMAND); + else + CheckMenuItem(GetMenu(hMainWnd), IDM_VIEWZOOM800, MF_UNCHECKED | MF_BYCOMMAND); + break; case WM_SIZE: if (hwnd==hMainWnd) @@ -218,8 +262,34 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM { HDC hdc = GetDC(hImageArea); StretchBlt(hdc, 0, 0, imgXRes*zoom/1000, imgYRes*zoom/1000, hDrawingDC, 0, 0, imgXRes, imgYRes, SRCCOPY); + if (showGrid && (zoom>=4000)) + { + HPEN oldPen = SelectObject(hdc, CreatePen(PS_SOLID, 1, 0x00a0a0a0)); + int counter; + for (counter = 0; counter <= imgYRes; counter++) + { + MoveToEx(hdc, 0, counter*zoom/1000, NULL); + LineTo(hdc, imgXRes*zoom/1000, counter*zoom/1000); + } + for (counter = 0; counter <= imgXRes; counter++) + { + MoveToEx(hdc, counter*zoom/1000, 0, NULL); + LineTo(hdc, counter*zoom/1000, imgYRes*zoom/1000); + } + DeleteObject(SelectObject(hdc, oldPen)); + } ReleaseDC(hImageArea, hdc); SendMessage(hSelection, WM_PAINT, 0, 0); + SendMessage(hwndMiniature, WM_PAINT, 0, 0); + }else + if (hwnd==hwndMiniature) + { + long mclient[4]; + GetClientRect(hwndMiniature, (LPRECT)&mclient); + HDC hdc = GetDC(hwndMiniature); + BitBlt(hdc, 0, 0, imgXRes, imgYRes, hDrawingDC, min(imgXRes*GetScrollPos(hScrollbox, SB_HORZ)/10000, imgXRes-mclient[2]), + min(imgYRes*GetScrollPos(hScrollbox, SB_VERT)/10000, imgYRes-mclient[3]), SRCCOPY); + ReleaseDC(hwndMiniature, hdc); } break; @@ -546,6 +616,17 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM insertReversible(CopyImage(hSelBm, IMAGE_BITMAP, 0, 0, LR_COPYRETURNORG)); updateCanvasAndScrollbars(); break; + + case IDM_VIEWSHOWGRID: + showGrid = !showGrid; + break; + case IDM_VIEWSHOWMINIATURE: + showMiniature = !showMiniature; + if (showMiniature) + ShowWindow(hwndMiniature, SW_SHOW); + else + ShowWindow(hwndMiniature, SW_HIDE); + break; case IDM_VIEWZOOM125: ZoomTo(125);