About WindowShape

Chipp Walters chipp at chipp.com
Tue Jun 3 00:24:01 EDT 2003


Hi Scott and Tuviah,

I've spent a little time thinking about this.

Perhaps the easiest solution is to create a 'dragRect' function in the MC
engine. This would essentially create a 'dotted' rect which the user could
drag the botRight of (could be useful for a lot of other things as well.)

So, to resize a stack, a button is placed in the botright and when
clicked....

on mouseDown
	--if DragRect sees a tStartPoint, then it only looks for the mouseUp
endpoint
	put the topLeft of this stack into tStartPoint

	-- User drags the dottedline rect
	put dragRect(tStartPoint) into tEndPoint

	-- Do the math to calculate the new width and height of the stack
	-- Basically subtract the X and Y values of tStartPoint from tEndPoint
	-- then you now have a new window size
	-- Now you can dynamically build a trans GIF or PNG quickly to set the
windowShape to

end mouseDown

Another easy way to do this without a DragRect XFCN is ON MOUSEDOWN  set the
windowShape to empty (I assume this results in a default window), drag it to
the size you want, then ON MOUSEUP (finished dragging -- I know use
mouseMove!) recalculate the WindowShape mask and apply. I haven't tried
this, but it seems like it should work.

best,

Chipp





More information about the use-livecode mailing list