Dillo v3.1.1-46-g8a360e32
Loading...
Searching...
No Matches
dw::oof::OutOfFlowMgr Class Referenceabstract

Represents additional data for OOF containers. More...

#include <outofflowmgr.hh>

Public Member Functions

 OutOfFlowMgr ()
 
virtual ~OutOfFlowMgr ()
 
virtual void sizeAllocateStart (OOFAwareWidget *caller, core::Allocation *allocation)=0
 
virtual void sizeAllocateEnd (OOFAwareWidget *caller)=0
 
virtual void containerSizeChangedForChildren ()=0
 
virtual void draw (core::View *view, core::Rectangle *area, core::DrawingContext *context)=0
 
virtual void markSizeChange (int ref)=0
 
virtual void markExtremesChange (int ref)=0
 
virtual core::WidgetgetWidgetAtPoint (int x, int y, core::GettingWidgetAtPointContext *context)=0
 
virtual void addWidgetInFlow (OOFAwareWidget *widget, OOFAwareWidget *parent, int externalIndex)=0
 
virtual int addWidgetOOF (core::Widget *widget, OOFAwareWidget *generator, int externalIndex)=0
 
virtual void calcWidgetRefSize (core::Widget *widget, core::Requisition *size)=0
 
virtual void moveExternalIndices (OOFAwareWidget *generator, int oldStartIndex, int diff)=0
 
virtual void tellPosition1 (core::Widget *widget, int x, int y)=0
 Called before tellPosition2, see there for more.
 
virtual void tellPosition2 (core::Widget *widget, int x, int y)=0
 Called after tellPosition1.
 
virtual void tellIncompletePosition1 (core::Widget *generator, core::Widget *widget, int x, int y)=0
 
virtual void tellIncompletePosition2 (core::Widget *generator, core::Widget *widget, int x, int y)=0
 
virtual void getSize (core::Requisition *containerReq, int *oofWidth, int *oofHeight)=0
 
virtual bool containerMustAdjustExtraSpace ()=0
 
virtual void getExtremes (core::Extremes *containerExtr, int *oofMinWidth, int *oofMaxWidth)=0
 
virtual int getLeftBorder (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex)=0
 Get the left border for the vertical position of y, for a height of h", based on floats; relative to the *container.
 
virtual int getRightBorder (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex)=0
 Get the right border for the vertical position of y, for a height of h, based on floats; relative to the container.
 
virtual bool hasFloatLeft (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex)=0
 Return whether there is a float on the left side.
 
virtual bool hasFloatRight (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex)=0
 Return whether there is a float on the right side.
 
virtual int getLeftFloatHeight (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex)=0
 Assuming there is a float on the left side, return the rest height of it.
 
virtual int getRightFloatHeight (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex)=0
 Assuming there is a float on the right side, return the rest height of it.
 
virtual bool affectsLeftBorder (core::Widget *widget)=0
 
virtual bool affectsRightBorder (core::Widget *widget)=0
 
virtual bool mayAffectBordersAtAll ()=0
 
virtual int getClearPosition (OOFAwareWidget *widget)=0
 Return value is relative to the calling generator (not container).
 
virtual bool dealingWithSizeOfChild (core::Widget *child)=0
 
virtual int getAvailWidthOfChild (core::Widget *child, bool forceValue)=0
 
virtual int getAvailHeightOfChild (core::Widget *child, bool forceValue)=0
 
virtual int getNumWidgets ()=0
 
virtual core::WidgetgetWidget (int i)=0
 

Detailed Description

Represents additional data for OOF containers.

Definition at line 18 of file outofflowmgr.hh.

Constructor & Destructor Documentation

◆ OutOfFlowMgr()

dw::oof::OutOfFlowMgr::OutOfFlowMgr ( )

Definition at line 30 of file outofflowmgr.cc.

◆ ~OutOfFlowMgr()

dw::oof::OutOfFlowMgr::~OutOfFlowMgr ( )
virtual

Definition at line 34 of file outofflowmgr.cc.

Member Function Documentation

◆ addWidgetInFlow()

virtual void dw::oof::OutOfFlowMgr::addWidgetInFlow ( OOFAwareWidget widget,
OOFAwareWidget parent,
int  externalIndex 
)
pure virtual

◆ addWidgetOOF()

virtual int dw::oof::OutOfFlowMgr::addWidgetOOF ( core::Widget widget,
OOFAwareWidget generator,
int  externalIndex 
)
pure virtual

◆ affectsLeftBorder()

virtual bool dw::oof::OutOfFlowMgr::affectsLeftBorder ( core::Widget widget)
pure virtual

◆ affectsRightBorder()

virtual bool dw::oof::OutOfFlowMgr::affectsRightBorder ( core::Widget widget)
pure virtual

◆ calcWidgetRefSize()

virtual void dw::oof::OutOfFlowMgr::calcWidgetRefSize ( core::Widget widget,
core::Requisition size 
)
pure virtual

◆ containerMustAdjustExtraSpace()

virtual bool dw::oof::OutOfFlowMgr::containerMustAdjustExtraSpace ( )
pure virtual

◆ containerSizeChangedForChildren()

virtual void dw::oof::OutOfFlowMgr::containerSizeChangedForChildren ( )
pure virtual

◆ dealingWithSizeOfChild()

virtual bool dw::oof::OutOfFlowMgr::dealingWithSizeOfChild ( core::Widget child)
pure virtual

◆ draw()

virtual void dw::oof::OutOfFlowMgr::draw ( core::View view,
core::Rectangle area,
core::DrawingContext context 
)
pure virtual

◆ getAvailHeightOfChild()

virtual int dw::oof::OutOfFlowMgr::getAvailHeightOfChild ( core::Widget child,
bool  forceValue 
)
pure virtual

◆ getAvailWidthOfChild()

virtual int dw::oof::OutOfFlowMgr::getAvailWidthOfChild ( core::Widget child,
bool  forceValue 
)
pure virtual

◆ getClearPosition()

virtual int dw::oof::OutOfFlowMgr::getClearPosition ( OOFAwareWidget widget)
pure virtual

Return value is relative to the calling generator (not container).

Implemented in dw::oof::OOFFloatsMgr, and dw::oof::OOFPositionedMgr.

◆ getExtremes()

virtual void dw::oof::OutOfFlowMgr::getExtremes ( core::Extremes containerExtr,
int *  oofMinWidth,
int *  oofMaxWidth 
)
pure virtual

◆ getLeftBorder()

virtual int dw::oof::OutOfFlowMgr::getLeftBorder ( int  y,
int  h,
OOFAwareWidget lastGen,
int  lastExtIndex 
)
pure virtual

Get the left border for the vertical position of y, for a height of h", based on floats; relative to the *container.

The border includes marging/border/padding of the calling textblock but is 0 if there is no float, so a caller should also consider other borders.

Implemented in dw::oof::OOFFloatsMgr, and dw::oof::OOFPositionedMgr.

Referenced by dw::Textblock::calcBorders().

◆ getLeftFloatHeight()

virtual int dw::oof::OutOfFlowMgr::getLeftFloatHeight ( int  y,
int  h,
OOFAwareWidget lastGen,
int  lastExtIndex 
)
pure virtual

Assuming there is a float on the left side, return the rest height of it.

y is relative to the container.

See also getLeftBorder().

Implemented in dw::oof::OOFFloatsMgr, and dw::oof::OOFPositionedMgr.

Referenced by dw::Textblock::calcBorders().

◆ getNumWidgets()

virtual int dw::oof::OutOfFlowMgr::getNumWidgets ( )
pure virtual

◆ getRightBorder()

virtual int dw::oof::OutOfFlowMgr::getRightBorder ( int  y,
int  h,
OOFAwareWidget lastGen,
int  lastExtIndex 
)
pure virtual

Get the right border for the vertical position of y, for a height of h, based on floats; relative to the container.

See also getLeftBorder().

Implemented in dw::oof::OOFFloatsMgr, and dw::oof::OOFPositionedMgr.

Referenced by dw::Textblock::calcBorders().

◆ getRightFloatHeight()

virtual int dw::oof::OutOfFlowMgr::getRightFloatHeight ( int  y,
int  h,
OOFAwareWidget lastGen,
int  lastExtIndex 
)
pure virtual

Assuming there is a float on the right side, return the rest height of it.

y is relative to the container.

See also getLeftFloatHeight(), getLeftBorder().

Implemented in dw::oof::OOFFloatsMgr, and dw::oof::OOFPositionedMgr.

Referenced by dw::Textblock::calcBorders().

◆ getSize()

virtual void dw::oof::OutOfFlowMgr::getSize ( core::Requisition containerReq,
int *  oofWidth,
int *  oofHeight 
)
pure virtual

◆ getWidget()

◆ getWidgetAtPoint()

virtual core::Widget * dw::oof::OutOfFlowMgr::getWidgetAtPoint ( int  x,
int  y,
core::GettingWidgetAtPointContext context 
)
pure virtual

◆ hasFloatLeft()

virtual bool dw::oof::OutOfFlowMgr::hasFloatLeft ( int  y,
int  h,
OOFAwareWidget lastGen,
int  lastExtIndex 
)
pure virtual

Return whether there is a float on the left side.

y is relative to the container.

See also getLeftBorder().

Implemented in dw::oof::OOFFloatsMgr, and dw::oof::OOFPositionedMgr.

Referenced by dw::Textblock::calcBorders().

◆ hasFloatRight()

virtual bool dw::oof::OutOfFlowMgr::hasFloatRight ( int  y,
int  h,
OOFAwareWidget lastGen,
int  lastExtIndex 
)
pure virtual

Return whether there is a float on the right side.

y is relative to the container.

See also hasFloatLeft(), getLeftBorder();

Implemented in dw::oof::OOFFloatsMgr, and dw::oof::OOFPositionedMgr.

Referenced by dw::Textblock::calcBorders().

◆ markExtremesChange()

virtual void dw::oof::OutOfFlowMgr::markExtremesChange ( int  ref)
pure virtual

◆ markSizeChange()

virtual void dw::oof::OutOfFlowMgr::markSizeChange ( int  ref)
pure virtual

◆ mayAffectBordersAtAll()

virtual bool dw::oof::OutOfFlowMgr::mayAffectBordersAtAll ( )
pure virtual

◆ moveExternalIndices()

virtual void dw::oof::OutOfFlowMgr::moveExternalIndices ( OOFAwareWidget generator,
int  oldStartIndex,
int  diff 
)
pure virtual

◆ sizeAllocateEnd()

virtual void dw::oof::OutOfFlowMgr::sizeAllocateEnd ( OOFAwareWidget caller)
pure virtual

◆ sizeAllocateStart()

virtual void dw::oof::OutOfFlowMgr::sizeAllocateStart ( OOFAwareWidget caller,
core::Allocation allocation 
)
pure virtual

◆ tellIncompletePosition1()

virtual void dw::oof::OutOfFlowMgr::tellIncompletePosition1 ( core::Widget generator,
core::Widget widget,
int  x,
int  y 
)
pure virtual

◆ tellIncompletePosition2()

virtual void dw::oof::OutOfFlowMgr::tellIncompletePosition2 ( core::Widget generator,
core::Widget widget,
int  x,
int  y 
)
pure virtual

◆ tellPosition1()

virtual void dw::oof::OutOfFlowMgr::tellPosition1 ( core::Widget widget,
int  x,
int  y 
)
pure virtual

Called before tellPosition2, see there for more.

Implemented in dw::oof::OOFFloatsMgr, and dw::oof::OOFPositionedMgr.

Referenced by dw::Textblock::wrapWordInFlow(), and dw::Textblock::wrapWordOofRef().

◆ tellPosition2()

virtual void dw::oof::OutOfFlowMgr::tellPosition2 ( core::Widget widget,
int  x,
int  y 
)
pure virtual

Called after tellPosition1.

An implementation should only implement either tellPosition1 or tellPosition2. Coordinates are relative to the container.

Implemented in dw::oof::OOFFloatsMgr, and dw::oof::OOFPositionedMgr.

Referenced by dw::Textblock::addLine().


The documentation for this class was generated from the following files: