Ruler Object Library: 4.5 Managing Rulers: Other Mouse Constraints

Up: GEOS SDK TechDocs | Up | Prev: 4.4 Guide Constraints and Guidelines | Next: 4.6 Esoteric Messages

Up until now, we have discussed various ways to constrain mouse movement to grid- or guide-lines. However, other constraints are possible, and may be accessed through the following messages.

MSG_VIS_RULER_CONSTRAIN_TO_AXES

void MSG_VIS_RULER_CONSTRAIN_TO_AXES(
        PointDWFixed _far* point);

Use this message to constrain the mouse to the axes; that is to force it to be in line either horizontally or vertically with the reference point (the point stored in VRI_reference ).

MSG_VIS_RULER_CONSTRAIN_TO_HORIZONTAL_AXIS

void MSG_VIS_RULER_CONSTRAIN_TO_HORIZONTAL_AXIS(
        PointDWFixed _far* point);

Use this message to constrain the mouse horizontally, forcing it to be in line horizontally with the reference point (the point stored in VRI_reference ).

MSG_VIS_RULER_CONSTRAIN_TO_VERTICAL_AXIS

void MSG_VIS_RULER_CONSTRAIN_TO_VERTICAL_AXIS(
        PointDWFixed _far* point);

Use this message to constrain the mouse vertically, forcing it to be in line vertically with the reference point (the point stored in VRI_reference ).

MSG_VIS_RULER_CONSTRAIN_TO_DIAGONALS

void MSG_VIS_RULER_CONSTRAIN_TO_DIAGONALS(
        PointDWFixed _far* point);

Use this message to constrain the mouse to the diagonal axes; that is to force it to be on a line 45 degrees through the reference point (the point stored in VRI_reference ).

MSG_VIS_RULER_SET_CONSTRAIN_TRANSFORM

void MSG_VIS_RULER_SET_CONSTRAIN_TRANSFORM(
        TransMatrix* tm)

Use this message to impose a transformation on the coordinate system used to constrain the mouse. You can see this at work in GeoDraw when resizing an object which has been rotated or skewed.

MSG_VIS_RULER_CLEAR_CONSTRAIN_TRANSFORM

void MSG_VIS_RULER_CLEAR_CONSTRAIN_TRANSFORM();

Use this message to remove any transformation on the coordinate system used to constrain the mouse.

MSG_VIS_RULER_CONSTRAIN_X_TO_UNITY_SLOPE_AXIS

void MSG_VIS_RULER_CONSTRAIN_X_TO_UNITY_SLOPE_AXIS(
        PointDWFixed _far* point);

Use this message to determine the coordinates resulting from horizontally snapping a given point to the Northeast diagonal line passing through the reference point.

MSG_VIS_RULER_CONSTRAIN_Y_TO_UNITY_SLOPE_AXIS

void MSG_VIS_RULER_CONSTRAIN_Y_TO_UNITY_SLOPE_AXIS(
        PointDWFixed _far* point);

Use this message to determine the coordinates resulting from vertically snapping a given point to the Northeast diagonal line passing through the reference point.

MSG_VIS_RULER_CONSTRAIN_X_TO_NEGATIVE_SLOPE_AXIS

void MSG_VIS_RULER_CONSTRAIN_X_TO_NEGATIVE_SLOPE_AXIS(
        PointDWFixed _far* point);

Use this message to determine the coordinates resulting from horizontally snapping a given point to the Southeast diagonal line passing through the reference point.

MSG_VIS_RULER_CONSTRAIN_Y_TO_NEGATIVE_SLOPE_AXIS

void MSG_VIS_RULER_CONSTRAIN_Y_TO_NEGATIVE_SLOPE_AXIS(
        PointDWFixed _far* point);

Use this message to determine the coordinates resulting from horizontally snapping a given point to the Southeast diagonal line passing through the reference point.

MSG_VIS_RULER_CONSTRAIN_TO_VECTOR

@message void MSG_VIS_RULER_CONSTRAIN_TO_VECTOR(
        PointDWFixed _far* point);

This message computes the point resulting from constraining the passed point using vector constraint. This means that the mouse's constrained location will end up at a certain angle from the reference angle. This angle is determined by means of a point set up my MSG_VIS_RULER_SET_VECTOR . This constraint will constrain the point either to the vector line or to that line's reflection.

MSG_VIS_RULER_CONSTRAIN_X_TO_VECTOR

@message void MSG_VIS_RULER_CONSTRAIN_X_TO_VECTOR(
        PointDWFixed _far* point);

This message computes the point resulting from horizontally constraining the passed point to the line going through the reference point with the present vector slope.

MSG_VIS_RULER_CONSTRAIN_X_TO_VECTOR_REFLECTION

@message void MSG_VIS_RULER_CONSTRAIN_X_TO_VECTOR_REFLECTION(
        PointDWFixed _far* point);

This message computes the point resulting from horizontally constraining the passed point to the line going through the reference point with the negative of the present vector slope.

MSG_VIS_RULER_CONSTRAIN_Y_TO_VECTOR

@message void MSG_VIS_RULER_CONSTRAIN_Y_TO_VECTOR(
        PointDWFixed _far* point);

This message computes the point resulting from vertically constraining the passed point to the line going through the reference point with the present vector slope.

MSG_VIS_RULER_CONSTRAIN_Y_TO_VECTOR_REFLECTION

@message void MSG_VIS_RULER_CONSTRAIN_Y_TO_VECTOR_REFLECTION(
        PointDWFixed _far* point);

This message computes the point resulting from vertically constraining the passed point to the line going through the reference point with the negative of the present vector slope.


Up: GEOS SDK TechDocs | Up | Prev: 4.4 Guide Constraints and Guidelines | Next: 4.6 Esoteric Messages