Class VerticalRuler
java.lang.Object
com.amalgamasimulation.graphicaleditor.views.Ruler
com.amalgamasimulation.graphicaleditor.views.VerticalRuler
Implements a vertical ruler component that displays:
- Model-space coordinate markings
- Major and minor tick marks with rotated labels
- Dynamic scaling based on canvas zoom level
Key characteristics:
- Position: Fixed at left side of content area
- Orientation: Labels rotate 90° counter-clockwise
- Coordinate System: Values increase downward (screen coordinates)
- Palette Awareness: Accounts for left-side palette offset
Rendering details:
- Major ticks display labeled values
- Minor ticks appear between major ticks
- Vertical text rendering with collision detection
- Coordinates reflect model-space values
- See Also:
-
Field Summary
Fields inherited from class com.amalgamasimulation.graphicaleditor.views.Ruler
BACKGROUND_COLOR, canvas, infiniteCanvas, MAJOR_TICK_LENGTH, MIN_TICK_DISTANCE, MINOR_TICK_LENGTH, RULER_SIZE, VERTICAL_OFFSET -
Method Summary
Modifier and TypeMethodDescriptionvoidupdate()Updates ruler rendering based on current: Canvas viewport position Zoom level Content dimensionsMethods inherited from class com.amalgamasimulation.graphicaleditor.views.Ruler
calculateStep, getCanvas
-
Method Details
-
update
public void update()Description copied from class:RulerUpdates ruler rendering based on current:- Canvas viewport position
- Zoom level
- Content dimensions
Rendering workflow:
- Clears existing ruler graphics
- Draws baseline along ruler bottom edge
- Calculates tick positions using
Ruler.calculateStep(double, double) - Draws major/minor ticks with labels
- Applies label collision avoidance
Coordinate notes:
- Uses model-space coordinates from parent canvas
- Accounts for palette offset via adjusted coordinates
-