Raxol.Terminal.Buffer.DamageTracker (Raxol v0.4.0)
View SourceManages damage tracking for terminal buffers.
Handles marking regions as damaged and merging overlapping regions for efficient redrawing.
Summary
Functions
Clears all tracked damage regions.
Gets the list of distinct damaged regions.
Marks a rectangular region as damaged.
Creates a new, empty damage tracker.
Types
@type region() :: {non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer()}
@type t() :: %Raxol.Terminal.Buffer.DamageTracker{regions: [region()]}
Functions
Clears all tracked damage regions.
Gets the list of distinct damaged regions.
@spec mark_damaged( t(), non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer() ) :: t()
Marks a rectangular region as damaged.
Merges the new region with any existing overlapping regions.
@spec new() :: t()
Creates a new, empty damage tracker.