[ENH] CropMorphOrGrabRect

squeak-dev at lists.squeakfoundation.org squeak-dev at lists.squeakfoundation.org
Sun Oct 20 15:01:45 UTC 2002


--==CelesteAttachment72071==

I recently started using Squeak to modify grpahic images.  Along the way
I realized I needed
2 features implemented here.  The ability to select and arbitrary
portion of the World and
export to GIF has been in Squeak for a while but I wanted the ability to
adjust the selected
rectangle in position and dimension.  I verified this works in MVC too.

It was a simple matter to graft this ability to sketch morphs so they
could now be cropped.

The change set is included here and can also be found with my other
Squeak enhancements
at http://w3.one.net/~swessels/pages/steve/squeak/index.html.

There is a snapshot picture of this enhancement in action you can see
there.
 - Steve

from preamble:

"Change Set:		CropMorphOrGrab
Date:			30 September 2002
Author:			Stephan B Wessels

Provides a menu option to allow crop operation on an existing
SketchMorph.
Very handy for modifying a SketchMorph on your desktop.
Also provides basic change to how a rectangle is grabbed from the
screen.
A new crop/grab UI design is used.  Here's how you use it:
	- Either select 'crop' from the menu (red) halo or use a
	  Utility method to grab part of the screen.
	- The entire desktop becomes a translucent white.
	- Click where you want to begin the crop/grab origin.
	- Drag until you have a corner of your new rect.  The
	  UI will show the cropped/grabbed rectangle in clear view.
	- When you release the mouse you can then perform either of
	  3 actions.

		If you click inside the rectangle you can drag the
		rectangle to a new position on the screen.

		If you click outside the rectangle you are telling Squeak
		you are done.

		If you grab an edge or corner you can resize the rectangle.

Two new Utility methods were added and one was re-grouped.  The new
Utilities grabScreenAndSaveOnDiskAsJpeg will save the grabbed rectangle
as a JPEG file.  It also prompts you for the output file name.  A
default
file name is provided.
"!
--==CelesteAttachment72071==
Content-type: application/octet-stream
Content-transfer-encoding: base64
Content-disposition: attachment;filename="CropMorphOrGrabRect.cs.gz"

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

--==CelesteAttachment72071==--



More information about the Squeak-dev mailing list