12 "{ Package: 'stx:libtool2' }" |
12 "{ Package: 'stx:libtool2' }" |
13 |
13 |
14 ResourceSpecEditor subclass:#ImageEditor |
14 ResourceSpecEditor subclass:#ImageEditor |
15 instanceVariableNames:'imageEditView colorMapMode editMode mouseKeyColorMode |
15 instanceVariableNames:'imageEditView colorMapMode editMode mouseKeyColorMode |
16 selectedColorIndex postOpenAction imageSeqNr drawingColormap |
16 selectedColorIndex postOpenAction imageSeqNr drawingColormap |
17 lastShiftUsedWrap' |
17 lastShiftUsedWrap lastGrabbedScreenArea' |
18 classVariableNames:'LastDirectory LastSizeString MaskClipboard LastColormapMode |
18 classVariableNames:'LastDirectory LastSizeString MaskClipboard LastColormapMode |
19 DefaultRelativeSizes' |
19 DefaultRelativeSizes' |
20 poolDictionaries:'' |
20 poolDictionaries:'' |
21 category:'Interface-UIPainter' |
21 category:'Interface-UIPainter' |
22 ! |
22 ! |
2336 label: 'Load from File...' |
2336 label: 'Load from File...' |
2337 itemValue: doLoadFromFile |
2337 itemValue: doLoadFromFile |
2338 translateLabel: true |
2338 translateLabel: true |
2339 ) |
2339 ) |
2340 (MenuItem |
2340 (MenuItem |
2341 activeHelpKey: fileGrabImageFromScreen |
2341 label: 'Grab' |
2342 label: 'Grab from Screen...' |
2342 translateLabel: true |
2343 itemValue: grabScreenImage |
2343 submenu: |
2344 translateLabel: true |
2344 (Menu |
2345 ) |
2345 ( |
2346 (MenuItem |
2346 (MenuItem |
2347 activeHelpKey: fileGrabImageFromWindow |
2347 activeHelpKey: fileGrabImageFromWindow |
2348 label: 'Grab from Window...' |
2348 label: 'Grab from Window...' |
2349 itemValue: grabWindowImage |
2349 itemValue: grabWindowImage |
2350 translateLabel: true |
2350 translateLabel: true |
|
2351 ) |
|
2352 (MenuItem |
|
2353 activeHelpKey: fileGrabImageFromScreen |
|
2354 label: 'Grab from Screen...' |
|
2355 itemValue: grabScreenImage |
|
2356 translateLabel: true |
|
2357 ) |
|
2358 (MenuItem |
|
2359 activeHelpKey: fileGrabImageFromScreen |
|
2360 enabled: hasLastGrabScreenArea |
|
2361 label: 'Grab Again from same Screen Area' |
|
2362 itemValue: grabScreenImageFromLastArea |
|
2363 translateLabel: true |
|
2364 ) |
|
2365 ) |
|
2366 nil |
|
2367 nil |
|
2368 ) |
2351 ) |
2369 ) |
2352 (MenuItem |
2370 (MenuItem |
2353 enabled: imageHasNextImage |
2371 enabled: imageHasNextImage |
2354 label: 'Next in Sequence' |
2372 label: 'Next in Sequence' |
2355 itemValue: nextImageInSequence |
2373 itemValue: nextImageInSequence |
3964 ]. |
3982 ]. |
3965 self imagePreView setImage:(self image) scroll:false invalidate:true. |
3983 self imagePreView setImage:(self image) scroll:false invalidate:true. |
3966 ! ! |
3984 ! ! |
3967 |
3985 |
3968 !ImageEditor methodsFor:'queries'! |
3986 !ImageEditor methodsFor:'queries'! |
|
3987 |
|
3988 hasLastGrabScreenArea |
|
3989 ^ [ lastGrabbedScreenArea notNil ] |
|
3990 ! |
3969 |
3991 |
3970 hasMask |
3992 hasMask |
3971 ^ colorMapMode value notNil and:[colorMapMode value startsWith:'mask'] |
3993 ^ colorMapMode value notNil and:[colorMapMode value startsWith:'mask'] |
3972 |
3994 |
3973 "Created: / 18.8.1998 / 17:17:38 / cg" |
3995 "Created: / 18.8.1998 / 17:17:38 / cg" |
5923 ! |
5945 ! |
5924 |
5946 |
5925 grabScreenImage |
5947 grabScreenImage |
5926 "let user choose an area and grab that are for editing" |
5948 "let user choose an area and grab that are for editing" |
5927 |
5949 |
5928 self grabScreenImageUsing:[ Image fromUser ]. |
5950 self grabScreenImageUsing:[ |
|
5951 |r| |
|
5952 |
|
5953 [Screen current leftButtonPressed] whileTrue:[Delay waitForSeconds:0.05]. |
|
5954 r := Rectangle fromUser. |
|
5955 r width == 0 ifTrue:[^ nil]. |
|
5956 r height == 0 ifTrue:[^ nil]. |
|
5957 lastGrabbedScreenArea := r. |
|
5958 ^ Image fromScreen:r |
|
5959 ]. |
|
5960 ! |
|
5961 |
|
5962 grabScreenImageFromLastArea |
|
5963 "grab again from the previous area for editing" |
|
5964 |
|
5965 self grabScreenImageUsing:[ |
|
5966 ^ Image fromScreen:lastGrabbedScreenArea |
|
5967 ]. |
5929 ! |
5968 ! |
5930 |
5969 |
5931 grabScreenImageUsing:aBlock |
5970 grabScreenImageUsing:aBlock |
5932 "let user choose an area and grab that are for editing" |
5971 "let user choose an area and grab that are for editing" |
5933 |
5972 |