ImageEditor.st
changeset 1598 d748419672a3
parent 1597 b670ad8c30e1
child 1603 fda6d834bb40
--- a/ImageEditor.st	Wed Sep 04 21:52:58 2002 +0200
+++ b/ImageEditor.st	Thu Sep 05 14:22:02 2002 +0200
@@ -1595,22 +1595,32 @@
                   #enabled: #hasColormap
                 )
                #(#MenuItem
-                  #label: 'Clear Masked Pixels'
+                  #label: 'Reduce Number of Colors...'
                   #translateLabel: true
-                  #value: #clearMaskedPixels
+                  #value: #reduceNumberOfColors
                 )
                #(#MenuItem
                   #label: '-'
                 )
                #(#MenuItem
-                  #label: 'Reduce Number of Colors...'
+                  #label: 'Make GrayScale'
                   #translateLabel: true
-                  #value: #reduceNumberOfColors
+                  #value: #makeGrayScale
                 )
                #(#MenuItem
-                  #label: 'Make GrayScale Image'
+                  #label: 'Make Brighter'
+                  #translateLabel: true
+                  #value: #makeBrighter
+                )
+               #(#MenuItem
+                  #label: 'Make Darker'
                   #translateLabel: true
-                  #value: #makeGrayScale
+                  #value: #makeDarker
+                )
+               #(#MenuItem
+                  #label: 'Make Inverse'
+                  #translateLabel: true
+                  #value: #makeInverse
                 )
                #(#MenuItem
                   #label: '-'
@@ -1629,6 +1639,11 @@
                   #activeHelpKey: #pasteMask
                   #enabled: #hasMask
                 )
+               #(#MenuItem
+                  #label: 'Clear Masked Pixels'
+                  #translateLabel: true
+                  #value: #clearMaskedPixels
+                )
                )
               nil
               nil
@@ -2432,6 +2447,14 @@
 
 !ImageEditor methodsFor:'private'!
 
+updateImage
+    |img|
+
+    img := imageEditView image.
+    imageEditView image:img.
+    self fetchImageData.
+!
+
 updateImagePreView
     self tileModeHolder value ifTrue:[
         self imagePreView tileMode:true tileOffset:(self image extent).
@@ -2993,17 +3016,54 @@
     (img colorFromValue:clrIndex-1) inspect
 !
 
+makeBrighter
+    | anyChange|
+
+    self withExecuteCursorDo:[
+        anyChange := imageEditView makeBrighter.
+        anyChange ifFalse:[
+            Dialog warn:'Image unchanged'.
+        ] ifTrue:[
+            self updateImage.
+        ]
+    ].
+!
+
+makeDarker
+    | anyChange|
+
+    self withExecuteCursorDo:[
+        anyChange := imageEditView makeDarker.
+        anyChange ifFalse:[
+            Dialog warn:'Image unchanged'.
+        ] ifTrue:[
+            self updateImage.
+        ]
+    ].
+!
+
 makeGrayScale
-    |anyChange img|
+    |anyChange|
 
     self withExecuteCursorDo:[
         anyChange := imageEditView makeGrayScale.
         anyChange ifFalse:[
             Dialog warn:'Image unchanged'.
         ] ifTrue:[
-            img := imageEditView image.
-            imageEditView image:img.
-            self fetchImageData.
+            self updateImage.
+        ]
+    ].
+!
+
+makeInverse
+    | anyChange|
+
+    self withExecuteCursorDo:[
+        anyChange := imageEditView makeInverse.
+        anyChange ifFalse:[
+            Dialog warn:'Image unchanged'.
+        ] ifTrue:[
+            self updateImage.
         ]
     ].
 !
@@ -3448,6 +3508,10 @@
 doNegativeImage
     "negates current image by negating the color map"
 
+    self image depth ~~ 1 ifTrue:[
+        Dialog warn:'Only useful for depth 1 images'.
+        ^ self
+    ].
     imageEditView negativeImage.
     self listOfColors removeAll.
     self findColorMapMode.