Class VerticalRuler

java.lang.Object
com.amalgamasimulation.graphicaleditor.views.Ruler
com.amalgamasimulation.graphicaleditor.views.VerticalRuler

public class VerticalRuler extends Ruler
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:
  • Method Details

    • update

      public void update()
      Description copied from class: Ruler
      Updates ruler rendering based on current:
      • Canvas viewport position
      • Zoom level
      • Content dimensions

      Rendering workflow:

      1. Clears existing ruler graphics
      2. Draws baseline along ruler bottom edge
      3. Calculates tick positions using Ruler.calculateStep(double, double)
      4. Draws major/minor ticks with labels
      5. Applies label collision avoidance

      Coordinate notes:

      • Uses model-space coordinates from parent canvas
      • Accounts for palette offset via adjusted coordinates
      Specified by:
      update in class Ruler