Paint:
authorBenedikt Freisen <b.freisen@gmx.net>
Wed, 1 Jul 2009 19:24:17 +0000 (19:24 +0000)
committerBenedikt Freisen <b.freisen@gmx.net>
Wed, 1 Jul 2009 19:24:17 +0000 (19:24 +0000)
- 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

22 files changed:
reactos/base/applications/paint/definitions.h
reactos/base/applications/paint/globalvar.h
reactos/base/applications/paint/lang/cs-CZ.rc
reactos/base/applications/paint/lang/de-DE.rc
reactos/base/applications/paint/lang/en-GB.rc
reactos/base/applications/paint/lang/en-US.rc
reactos/base/applications/paint/lang/es-ES.rc
reactos/base/applications/paint/lang/fr-FR.rc
reactos/base/applications/paint/lang/it-IT.rc
reactos/base/applications/paint/lang/nl-NL.rc
reactos/base/applications/paint/lang/no-NO.rc
reactos/base/applications/paint/lang/pl-PL.rc
reactos/base/applications/paint/lang/pt-BR.rc
reactos/base/applications/paint/lang/pt-PT.rc
reactos/base/applications/paint/lang/ro-RO.rc
reactos/base/applications/paint/lang/ru-RU.rc
reactos/base/applications/paint/lang/sk-SK.rc
reactos/base/applications/paint/lang/uk-UA.rc
reactos/base/applications/paint/main.c
reactos/base/applications/paint/palette.c
reactos/base/applications/paint/rsrc.rc
reactos/base/applications/paint/winproc.c

index ca47a03..22a553c 100644 (file)
@@ -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
 #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
index d039db4..1641af5 100644 (file)
@@ -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;
index e2db3f5..370eba4 100644 (file)
@@ -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 Malování je dostupné pod licencí GNU Lesser General Public License (LGPL) verze 3 (viz. www.gnu.org)"
     IDS_SAVEPROMPTTEXT, "Chcete ulo\9eit provedené zmìny v %s?"
     IDS_DEFAULTFILENAME, "Bez názvu.bmp"
+    IDS_MINIATURETITLE, "Miniature"
     IDS_TOOLTIP1, "Volný výbìr"
     IDS_TOOLTIP2, "Výbìr"
     IDS_TOOLTIP3, "Guma"
index 4a54906..0cfd352 100644 (file)
@@ -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 für ReactOS steht unter der GNU Lesser General Public License (LGPL) Version 3. (siehe www.gnu.org)"
     IDS_SAVEPROMPTTEXT, "Möchten Sie die Änderungen an %s speichern?"
     IDS_DEFAULTFILENAME, "Unbenannt.bmp"
+    IDS_MINIATURETITLE, "Miniaturansicht"
     IDS_TOOLTIP1, "Freie Auswahl"
     IDS_TOOLTIP2, "Auswahl"
     IDS_TOOLTIP3, "Radierer"
index 2c1bce9..3f582aa 100644 (file)
@@ -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"
index ca60817..756f415 100644 (file)
@@ -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"
index c9d2c35..8263e44 100644 (file)
@@ -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"
index 596a1ad..ed31d2c 100644 (file)
@@ -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 générale limitée 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, "Sélection libre"
     IDS_TOOLTIP2, "Sélection"
     IDS_TOOLTIP3, "Gomme"
index 2e50194..3d63c4a 100644 (file)
@@ -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"
index 190b490..ad11347 100644 (file)
@@ -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"
index 602f49e..a26ca00 100644 (file)
@@ -46,13 +46,19 @@ BEGIN
         MENUITEM SEPARATOR
         POPUP "Forstørre"
         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, "Frihåndmerking"
     IDS_TOOLTIP2, "Merk"
     IDS_TOOLTIP3, "Viskelær"
index 7c5317c..01e7dd0 100644 (file)
@@ -46,13 +46,19 @@ BEGIN
         MENUITEM SEPARATOR
         POPUP "Powiêkszenie"
         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³ny ekran\tCtrl+F", IDM_VIEWFULLSCREEN
     END
@@ -172,6 +178,7 @@ BEGIN
     IDS_INFOTEXT, "Paint dla ReactOS jest dostêpny 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"
index b33b213..63b882c 100644 (file)
@@ -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á disponível sob a licença GNU Lesser General Public License (LGPL) versão 3 (visite www.gnu.org)"
     IDS_SAVEPROMPTTEXT, "Salvar as alterações em %s?"
     IDS_DEFAULTFILENAME, "Imagem.bmp"
+    IDS_MINIATURETITLE, "Miniature"
     IDS_TOOLTIP1, "Selecionar forma livre"
     IDS_TOOLTIP2, "Selecionar"
     IDS_TOOLTIP3, "Apagador/Apagador de cor"
index 3ebd277..e7caa6f 100644 (file)
@@ -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á disponível sob a licença GNU Lesser General Public License (LGPL) versão 3 (visite www.gnu.org)"
     IDS_SAVEPROMPTTEXT, "Pretende guardar as alterações a %s?"
     IDS_DEFAULTFILENAME, "Imagem.bmp"
+    IDS_MINIATURETITLE, "Miniature"
     IDS_TOOLTIP1, "Selecionar forma livre"
     IDS_TOOLTIP2, "Selecionar"
     IDS_TOOLTIP3, "Borracha/Apagar cor"
index 36b9f43..4fa4714 100644 (file)
@@ -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 licenþa GNU Lesser General Public versiunea 3 (vedeþi www.gnu.org)"
     IDS_SAVEPROMPTTEXT, "Vreþi sã salvaþi schimbãrile la %s?"
     IDS_DEFAULTFILENAME, "FãrãNume.bmp"
+    IDS_MINIATURETITLE, "Miniature"
     IDS_TOOLTIP1, "Golire selecþie"
     IDS_TOOLTIP2, "Selecþie"
     IDS_TOOLTIP3, "Radierã"
index bdc87fc..e6ede84 100644 (file)
@@ -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, "Ëàñòèê"
index db77f86..70618cf 100644 (file)
@@ -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, "Skicár systému ReactOS je dostupný za podmienok GNU Lesser General Public License (LGPL) verzia 3 (viï www.gnu.org)"
     IDS_SAVEPROMPTTEXT, "Chcete ulo\9ei\9d vykonané zmeny do %s?"
     IDS_DEFAULTFILENAME, "Bez názvu.bmp"
+    IDS_MINIATURETITLE, "Miniature"
     IDS_TOOLTIP1, "Vo¾ný výber"
     IDS_TOOLTIP2, "Výber"
     IDS_TOOLTIP3, "Guma"
index 6b2991e..959c87c 100644 (file)
@@ -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, "Ëàñòèê"
index 20bf58b..90edfe6 100644 (file)
@@ -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));
index c8e07f1..8e87304 100644 (file)
@@ -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));
                 }
index 512be8c..7b2e171 100644 (file)
@@ -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
index 290bdd7..b9873e9 100644 (file)
@@ -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);