Cicode Programming Reference > Cicode Function Categories > Display Functions Introduction > DspRubStart

DspRubStart

Starts the rubber band selection. Call this function when the left mouse button is pressed - the rubber band is displayed at the starting position. Call the DspRubEnd() function to end the selection, when the mouse button is released. The DspRubMove() function moves the selection to the new position.

This function is used by the trend templates for the trend zoom function. Use the rubber band functions whenever you want the operator to select a region on the screen or display a dynamic rectangle on the screen.

You can only display one rubber band per page. If you display a second rubber band, the first rubber band is erased. To move a rubber band with the mouse, use the OnEvent() function to get notification of the mouse movement, and then the DspRubMove() function. Because these are generic rubber-band display functions, you can get input from the keyboard, Cicode variables, the I/O device, and the mouse.

Syntax

DspRubStart(x, y, nMode)

x,y:

The x and y coordinates of the current position.

nMode:

The mode of the rubber banding operation:

0 - cx,cy as absolute pixel positions

1 - cx,cy in pixels relative to x,y

2 - (x,y) the distance from top left to (cx,cy)

4 - enable the rubber band selection using the clipping region defined by DspRubSetClip().

Return Value

0 (zero) if successful, otherwise an error is returned.

Related Functions

DspRubEnd, DspRubMove, DspRubSetClip, OnEvent

Example

See also the ZOOM.CI file in the Include project for details.

INT xRub,yRub,cxRub,cyRub;
/* Call this function on left mouse button down. */
FUNCTION
StartSelection()
INT x,y;
DspGetMouse(x,y); ! Get the current mouse position
DspRubStart(x,y,0); ! Start the rubber banding
OnEvent(0,MouseEvent); ! Attach mouse move event
END
/* Call this function on left mouse button up. */
FUNCTION
EndSelection()
! Stop the rubber banding and get sizes into the ..Rub variables
DspRubEnd(xRub,yRub,cxRub,cyRub);
OnEvent(0,0); ! Stop mouse move event
END
INT
FUNCTION
MouseEvent()
INT x,y;
DspGetMouse(x,y); ! Get mouse position
DspRubMove(x,y); ! Move the rubber band
RETURN 0
END

See Also

Display Functions