JX Application Framework
Loading...
Searching...
No Matches
Macros | Functions
JXContainer.cpp File Reference
#include "JXContainer.h"
#include "JXDisplay.h"
#include "JXWindow.h"
#include "JXWindowPainter.h"
#include "JXCursorAnimator.h"
#include "JXFunctionTask.h"
#include "JXDNDManager.h"
#include "JXHintManager.h"
#include "JXFTCCell.h"
#include "jXUtil.h"
#include "jXGlobals.h"
#include <jx-af/jcore/JListUtil.h>
#include <sstream>
#include <jx-af/jcore/jAssert.h>
#include <jx-af/jcore/JRange.h>
Include dependency graph for JXContainer.cpp:

Macros

#define ftcReparentCell(cell, newParent)
 

Functions

JIntRange ftcGetInterval (const JRect &r, const bool horizontal)
 

Macro Definition Documentation

◆ ftcReparentCell

#define ftcReparentCell (   cell,
  newParent 
)
Value:
cell->itsEnclosure->RemoveEnclosedObject(cell); \
cell->itsEnclosure = newParent; \
cell->itsEnclosure->AddEnclosedObject(cell)

Function Documentation

◆ ftcGetInterval()

JIntRange ftcGetInterval ( const JRect r,
const bool  horizontal 
)
inline

Finds all other objects that align horizontally or vertically with the given object. Creates a cell for each one (if necesssary) and returns a container cell for the created cells.

1) Iterates over unprocessed objects to find matches.

a) If exact, relevant position & dimension must match.

b) Otherwise, there must be some overlap and the containing
   rectangle must not overlap other, unmatched objects.
   Objects must be sorted by position from smallest to largest
   to ensure that the closest objects are processed first.
   Otherwise, one could get an incorrect "overlaps unmatched"
   result.

2) For exact match, iterates over all unmatched objects to find "blocking" objects that break up the expanse of matched objects.