Isle
|
[AI] Cursor object suitable for traversing all rectangles covered by an MxRegion. More...
#include <mxregion.h>
Public Member Functions | |
MxRegionCursor (MxRegion *p_region) | |
[AI] Constructs a traversal cursor for the specified region. More... | |
~MxRegionCursor () override | |
[AI] Destructor; releases ownership of current rectangle and cursors. More... | |
virtual MxRect32 * | Head () |
[AI] Seeks to and returns the first (topmost, leftmost) rectangle covered by the region. More... | |
virtual MxRect32 * | Tail () |
[AI] Seeks to and returns the last (bottommost, rightmost) rectangle covered by the region. More... | |
virtual MxRect32 * | Next () |
[AI] Advances to and returns the next rectangle in region sequence. More... | |
virtual MxRect32 * | Prev () |
[AI] Steps backward to and returns the previous rectangle in region sequence. More... | |
virtual MxRect32 * | Head (MxRect32 &p_rect) |
[AI] Filtered: Places at the first rectangle overlapping p_rect and returns it. More... | |
virtual MxRect32 * | Tail (MxRect32 &p_rect) |
[AI] Filtered: Steps to last rectangle intersecting p_rect. More... | |
virtual MxRect32 * | Next (MxRect32 &p_rect) |
[AI] Filtered: Advances to next rectangle intersecting p_rect. More... | |
virtual MxRect32 * | Prev (MxRect32 &p_rect) |
[AI] Filtered: Steps to previous rectangle intersecting p_rect. More... | |
virtual MxRect32 * | GetRect () |
[AI] Returns a pointer to the currently referenced rectangle. More... | |
virtual MxBool | Valid () |
[AI] Checks if the cursor is currently referencing a valid rectangle (not at end). More... | |
virtual void | Reset () |
[AI] Resets the cursor(s) to the initial (uninitialized) state. More... | |
![]() | |
MxCore () | |
[AI] Constructs a new MxCore object and assigns it a unique id. More... | |
virtual | ~MxCore () |
[AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes. More... | |
virtual MxLong | Notify (MxParam &p_param) |
[AI] Virtual callback notification mechanism. More... | |
virtual MxResult | Tickle () |
[AI] Called by tickle managers to allow the object to update itself. More... | |
virtual const char * | ClassName () const |
[AI] Returns the runtime class name of this object. More... | |
virtual MxBool | IsA (const char *p_name) const |
[AI] Checks whether this object's class type or parents match the given name. More... | |
MxU32 | GetId () |
[AI] Gets the unique (per-process) id assigned to this object instance. More... | |
Protected Member Functions | |
void | CreateSegmentListCursor (MxSegmentList *p_segList) |
[AI] Allocates a segment list cursor for the given segment list, replacing any previous segment cursor. More... | |
void | SetRect (MxS32 p_left, MxS32 p_top, MxS32 p_right, MxS32 p_bottom) |
[AI] Initializes or updates m_rect with the specified coordinates. More... | |
void | NextSpan (MxRect32 &p_rect) |
[AI] Step to the next span which overlaps p_rect (for filtered/region-clip traversal). More... | |
void | PrevSpan (MxRect32 &p_rect) |
[AI] Step to the previous span (reverse traversal) intersecting p_rect. More... | |
Protected Attributes | |
MxRegion * | m_region |
[AI] The region being traversed. [AI] More... | |
MxRect32 * | m_rect |
[AI] Current rectangle being referenced. [AI] More... | |
MxSpanListCursor * | m_spanListCursor |
[AI] Cursor for moving through the span list. [AI] More... | |
MxSegmentListCursor * | m_segListCursor |
[AI] Cursor for the current segment list. [AI] More... | |
[AI] Cursor object suitable for traversing all rectangles covered by an MxRegion.
Supports both sequential and filtered (clipped) traversal. Can return rectangles in scanline order.
Definition at line 389 of file mxregion.h.
MxRegionCursor::MxRegionCursor | ( | MxRegion * | p_region | ) |
[AI] Constructs a traversal cursor for the specified region.
p_region | The region to be traversed. [AI] |
Definition at line 112 of file mxregion.cpp.
|
override |
[AI] Destructor; releases ownership of current rectangle and cursors.
Definition at line 121 of file mxregion.cpp.
|
protected |
[AI] Allocates a segment list cursor for the given segment list, replacing any previous segment cursor.
p_segList | Segment list to navigate. [AI] |
Definition at line 311 of file mxregion.cpp.
|
inlinevirtual |
[AI] Returns a pointer to the currently referenced rectangle.
Definition at line 491 of file mxregion.h.
|
virtual |
[AI] Seeks to and returns the first (topmost, leftmost) rectangle covered by the region.
Definition at line 137 of file mxregion.cpp.
[AI] Filtered: Places at the first rectangle overlapping p_rect and returns it.
p_rect | Rectangle defining the filter/clipping region. [AI] |
Definition at line 229 of file mxregion.cpp.
|
virtual |
[AI] Advances to and returns the next rectangle in region sequence.
Definition at line 179 of file mxregion.cpp.
[AI] Filtered: Advances to next rectangle intersecting p_rect.
p_rect | Filter/clipping rectangle. [AI] |
Definition at line 245 of file mxregion.cpp.
|
protected |
[AI] Step to the next span which overlaps p_rect (for filtered/region-clip traversal).
p_rect | Rectangle defining the filter window for the next span. [AI] |
Definition at line 334 of file mxregion.cpp.
|
virtual |
[AI] Steps backward to and returns the previous rectangle in region sequence.
Definition at line 204 of file mxregion.cpp.
[AI] Filtered: Steps to previous rectangle intersecting p_rect.
p_rect | Rectangle for filtering. [AI] |
Definition at line 270 of file mxregion.cpp.
|
protected |
[AI] Step to the previous span (reverse traversal) intersecting p_rect.
p_rect | Rectangle used for calculating intersection. [AI] |
Definition at line 365 of file mxregion.cpp.
|
virtual |
[AI] Resets the cursor(s) to the initial (uninitialized) state.
All internal cursors are reset, and no rectangle is selected.
Definition at line 295 of file mxregion.cpp.
[AI] Initializes or updates m_rect with the specified coordinates.
p_left | Left boundary. [AI] |
p_top | Top boundary. [AI] |
p_right | Right boundary. [AI] |
p_bottom | Bottom boundary. [AI] |
Definition at line 321 of file mxregion.cpp.
|
virtual |
[AI] Seeks to and returns the last (bottommost, rightmost) rectangle covered by the region.
Definition at line 158 of file mxregion.cpp.
[AI] Filtered: Steps to last rectangle intersecting p_rect.
p_rect | Rectangle to limit the search to. [AI] |
Definition at line 237 of file mxregion.cpp.
|
inlinevirtual |
[AI] Checks if the cursor is currently referencing a valid rectangle (not at end).
Definition at line 497 of file mxregion.h.
|
protected |
[AI] Current rectangle being referenced. [AI]
Definition at line 392 of file mxregion.h.
|
protected |
[AI] The region being traversed. [AI]
Definition at line 391 of file mxregion.h.
|
protected |
[AI] Cursor for the current segment list. [AI]
Definition at line 394 of file mxregion.h.
|
protected |
[AI] Cursor for moving through the span list. [AI]
Definition at line 393 of file mxregion.h.