diff -r e9655ba452c7 -r ed003c06c33b ImageEditor.st --- a/ImageEditor.st Tue Sep 05 16:46:03 2017 +0200 +++ b/ImageEditor.st Mon Sep 11 09:08:17 2017 +0200 @@ -3879,6 +3879,7 @@ "Do not manually edit this!! If it is corrupted, the MenuEditor may not be able to read the specification." + " MenuEditor new openOnClass:ImageEditor andSelector:#previewMenu (Menu new fromLiteralArrayEncoding:(ImageEditor previewMenu)) startUp @@ -3891,7 +3892,6 @@ ( (MenuItem label: 'TileMode' - translateLabel: true indication: tileModeHolder ) (MenuItem @@ -3899,25 +3899,20 @@ ) (MenuItem label: 'Background Color' - translateLabel: true submenu: (Menu ( (MenuItem label: 'Gray' - translateLabel: true choice: previewBackgroundColorHolder - choiceValue: nil ) (MenuItem label: 'Black' - translateLabel: true choice: previewBackgroundColorHolder choiceValue: black ) (MenuItem label: 'White' - translateLabel: true choice: previewBackgroundColorHolder choiceValue: white ) @@ -3926,19 +3921,16 @@ ) (MenuItem label: 'Red' - translateLabel: true choice: previewBackgroundColorHolder choiceValue: red ) (MenuItem label: 'Green' - translateLabel: true choice: previewBackgroundColorHolder choiceValue: green ) (MenuItem label: 'Blue' - translateLabel: true choice: previewBackgroundColorHolder choiceValue: blue ) @@ -3947,12 +3939,62 @@ nil ) ) + (MenuItem + label: '-' + ) + (MenuItem + label: 'Magnification' + submenu: + (Menu + ( + (MenuItem + label: '0.1' + choice: previewMagnificationHolder + choiceValue: 0.1 + ) + (MenuItem + label: '0.25' + choice: previewMagnificationHolder + choiceValue: 0.25 + ) + (MenuItem + label: '0.5' + choice: previewMagnificationHolder + choiceValue: 0.5 + ) + (MenuItem + label: '1' + choice: previewMagnificationHolder + choiceValue: 1 + ) + (MenuItem + label: '2' + choice: previewMagnificationHolder + choiceValue: 2 + ) + (MenuItem + label: '4' + choice: previewMagnificationHolder + choiceValue: 4 + ) + (MenuItem + label: '-' + ) + (MenuItem + label: 'Choose...' + itemValue: changePreviewImageMagnification + ) + ) + nil + nil + ) + ) ) nil nil ) - "Modified: / 04-07-2010 / 10:20:09 / cg" + "Modified: / 10-09-2017 / 14:54:41 / cg" ! toolsMenuToolbar @@ -4780,6 +4822,18 @@ "Created: / 04-07-2010 / 10:19:34 / cg" ! +previewMagnificationHolder + |holder| + + (holder := builder bindingAt:#previewMagnificationHolder) isNil ifTrue:[ + builder aspectAt:#previewMagnificationHolder put:(holder := 1 asValue). + holder addDependent:self. + ]. + ^ holder + + "Created: / 10-09-2017 / 14:10:07 / cg" +! + readOnly ^ false ! @@ -4849,6 +4903,19 @@ !ImageEditor methodsFor:'change & update'! +changePreviewImageMagnification + |mag| + + mag := Dialog request:'Magnification?' initialAnswer:self imagePreView magnificationFactor. + mag isEmptyOrNil ifTrue:[^ self]. + mag := Number readFrom:mag onError:nil. + mag isNil ifTrue:[^ self]. + + self previewMagnificationHolder value:mag + + "Created: / 10-09-2017 / 14:52:52 / cg" +! + colorCropTabSelectionIndexChanged |selIndex sym| @@ -4974,6 +5041,7 @@ invalidate. ^ self ]. + changedObject == self previewBackgroundColorHolder ifTrue:[ clr := changedObject value isNil ifTrue:[imageEditView viewBackground] @@ -4984,7 +5052,15 @@ invalidate. ^ self ]. - + changedObject == self previewMagnificationHolder ifTrue:[ + imagePreView + magnificationFactor:(self previewMagnificationHolder value); + clear; + invalidate; + yourself. + ^ self. + ]. + changedObject == self listOfColors ifTrue:[ something == #at: ifTrue:[ "/ colormap entry changed at aParameter @@ -5073,7 +5149,7 @@ super update:something with:aParameter from:changedObject - "Modified: / 05-09-2017 / 09:04:21 / cg" + "Modified: / 10-09-2017 / 14:56:00 / cg" ! updateAfterImageChange @@ -5383,10 +5459,11 @@ view == self imagePreView ifTrue:[ ((anEvent isButtonPressEvent and:[ anEvent button == 1 ]) or:[ anEvent isButtonMotionEvent and:[ anEvent hasButton1 ]]) ifTrue:[ - p := anEvent x @ anEvent y. + p := anEvent x @ anEvent y. (transformation := view transformation) notNil ifTrue:[ p := transformation applyInverseTo:p. ]. + p := p / self previewMagnificationHolder value. self imageEditView scrollToMakeVisible:p. ^ true. ]. @@ -5408,8 +5485,7 @@ ]. ^ false. - "Modified: / 04-04-2011 / 13:50:09 / cg" - "Modified (format): / 16-02-2017 / 09:54:01 / cg" + "Modified: / 10-09-2017 / 16:40:13 / cg" ! ! !ImageEditor methodsFor:'help'!