adjustxy(
RECTANGLE
,
BOUNDARY
,
DELTAV
,
DELTAH
)
The adjustxy( function adjusts the four corners of a rectangle. However, only corners
that are inside a boundary are adjusted. Corners outside the boundary are left alone.
Parameters
This function has four parameters:
rectangle – is the rectangle that is being adjusted.
boundary – is a rectangle describing the area to be adjusted. Only points inside this rectangle will be adjusted.
deltav – is the vertical distance each corner inside the boundary should be adjusted.
deltah – is the horizontal distance each corner inside the boundary should be adjusted.
Description
The procedure below uses adjustxy to help move a slider on a form. This procedure is designed to be triggered by a button with the Click/Release option turned off.
local drag,dragstart,deltaV,deltaH,slider,slidebox
drag=info("buttonrectangle")
dragstart=drag
slider=xytoxy(drag,"s","f")
slider=rectangleadjust(slider,0,0,1,1)
selectobjects intersectionrectangle(xytoxy(drag,"s","f"),
objectinfo("rectangle") <> rectangle(0,0,0,0))
slidebox=xytoxy( objectinfo("boundary"),"f","s")
slidebox=rectangleadjust(insidewindow,0,16,0,-16)
draggraybox drag,slidebox,info("windowrectangle"),1
if drag="" stop endif
deltaV=rtop(drag)-rtop(dragstart)
deltaH=rleft(drag)-rleft(dragstart)
changeobjects "rectangle",
adjustxy(objectinfo("rectangle"),slider,deltaV,deltaH)
See Also
- bestfitrectangle -- fits a rectangle within a boundary rectangle, enlarging or reducing as necessary to produce the best fit without changing the proportions.
- bestfitrectangle( -- fits a rectangle within a boundary rectangle, enlarging or reducing as necessary to produce the best fit without changing the proportions.
- calcenclosingrectangle -- will calculate the rectangle surrounding all of the specified objects.
- getbutton -- retrieves the coordinates of the last button that was pressed (in global screen co-ordinates).
- getclick -- returns the location of the mouse in global coordinates (coordinates from the top left corner of the screen).
- getinternalbutton -- retrieves the coordinates of the last button that was pressed (in form relative coordinates).
- getlocalbutton -- retrieves the coordinates of the last button that was pressed (in window relative coordinates).
- getlocalclick -- returns the location of the most recent mouse click in local coordinates (coordinates from the top left corner of the current form).
- h( -- extracts the horizontal position from a point (see point(, Graphic Coordinates).
- info("availablescreenrectangle") -- returns a rectangle defining the edges of the main screen, after deducting for the space of the menu bar and dock (if visible).
- info("formxy") -- returns a point that indicates how much the current form is scrolled (if at all).
- info("screenrectangle") -- returns a rectangle defining the edges of the main screen.
- inrectangle( -- checks to see if a point is inside a rectangle.
- integralpoint( -- converts point coordinates to integers.
- integralrectangle( -- converts rectangle coordinates to integers.
- intersectionrectangle( -- creates a rectangle by combining two rectangles. The new rectangle is the area where the two rectangles overlap (if any).
- maprectangle( -- maps the position and size of a rectangle within a template rectangle into the same relative position and size within a goal rectangle.
- Modifiable Object Properties -- describes the properties of graphic objects that can be modified by a program (dimensions, color, font, title, etc.).
- moveobjects -- will move an object or group of objects up, down, left or right on the form.
- nsrect( -- defines a rectangle using the same parameter order as the Cocoa NSMakeRect( function.
- nsrectstr( -- converts a rectangle into text in the format x,y,width,height
- pinrectangle( -- pins a rectangle within the bounds of a larger rectangle.
- point( -- combines vertical and horizontal co-ordinates into a single binary value that describes the position of a point (see Graphic Coordinates).
- pointstr( -- converts a point value into text in the format v,h (for example 34,56).
- rbottom( -- extracts the position of the bottom edge of a rectangle (see rectangle(, Graphic Coordinates).
- rectangle( -- defines a rectangle from four dimensions.
- rectangleadjust( -- adjusts all four edges of a rectangle independently
- rectanglealign( -- aligns a small rectangle at one of nine positions within a larger rectangle.
- rectanglecenter( -- adjusts a rectangle so that it is centered inside of another rectangle.
- rectangleinset( -- insets a rectangle by a specified amount.
- rectangleoffset( -- offsets a rectangle to a new position.
- rectanglesize( -- defines a rectangle from its upper left hand corner and its height and width.
- rectanglesizestr( -- converts a rectangle into text in the format *top,left,height,width*.
- rectanglestr( -- converts a rectangle into text in the format *top,left,bottom,right*.
- rectangletweak( -- transforms a rectangle by changing its position and/or size.
- rheight( -- extracts the height of a rectangle (see rectangle(, Graphic Coordinates).
- rleft( -- extracts the position of the left edge of a rectangle (see rectangle(, Graphic Coordinates).
- rright( -- extracts the position of the right edge of a rectangle (see rectangle(, Graphic Coordinates).
- rtop( -- extracts the position of the top edge of a rectangle (see rectangle(, Graphic Coordinates).
- rwidth( -- extracts the width of a rectangle (see rectangle(, Graphic Coordinates).
- setrectangleheight( -- changes the height of a rectangle, leaving the width unchanged.
- setrectanglesize( -- changes the height and width of a rectangle, leaving the position of the top left hand corner unchanged.
- setrectanglewidth( -- changes the width of a rectangle, leaving the height unchanged.
- setrectedges -- changes the edges of the specified rectangle.
- tweakobject -- tweaks the dimensions of an object (or multiple objects).
- unionrectangle( -- creates a rectangle by combining two rectangles. The new rectangle is large enough to exactly cover both of the input rectangles.
- v( -- returns the vertical position of a point (see point(, Graphic Coordinates).
- xytoxy( -- converts a point or rectangle from one co-ordinate system to another.
History
10.0 | No Change | Carried over from Panorama 6.0 |