Dillo v3.1.1-119-g140d9ebd
|
A Widget for rendering text blocks, i.e. More...
#include <textblock.hh>
Classes | |
struct | Anchor |
class | BadnessAndPenalty |
struct | DivChar |
struct | Line |
struct | Paragraph |
class | SpaceImgRenderer |
class | TextblockIterator |
struct | Word |
class | WordImgRenderer |
Implementation used for words. More... | |
Public Member Functions | |
Textblock (bool limitTextWidth, bool treatAsInline=false) | |
~Textblock () | |
core::Iterator * | iterator (core::Content::Type mask, bool atEnd) |
Return an iterator for this widget. | |
void | flush () |
void | addText (const char *text, size_t len, core::style::Style *style) |
Add a word to the page structure. | |
void | addText (const char *text, core::style::Style *style) |
void | addWidget (core::Widget *widget, core::style::Style *style) |
Add a widget (word type) to the page. | |
bool | addAnchor (const char *name, core::style::Style *style) |
Add an anchor to the page. | |
void | addSpace (core::style::Style *style) |
? | |
void | addBreakOption (core::style::Style *style, bool forceBreak) |
Add a break option (see setBreakOption() for details). | |
void | addParbreak (int space, core::style::Style *style) |
Cause a paragraph break. | |
void | addLinebreak (core::style::Style *style) |
void | handOverBreak (core::style::Style *style) |
This function "hands" the last break of a page "over" to a parent page. | |
void | changeLinkColor (int link, int newColor) |
void | changeWordStyle (int from, int to, core::style::Style *style, bool includeFirstSpace, bool includeLastSpace) |
void | updateReference (int ref) |
Update content in flow, down from ref . | |
void | widgetRefSizeChanged (int externalIndex) |
Called by an implementation of dw::oof::OutOfFlowMgr (actually only OOFPosRelMgr) for the generator of a widget out of flow, when the reference size has changed. | |
void | oofSizeChanged (bool extremesChanged) |
Called by an implementation of dw::oof::OutOfFlowMgr when the size of the container has changed, typically in sizeAllocateEnd. | |
int | getGeneratorX (int oofmIndex) |
Return position relative to container, not regarding margin/border/padding, Called by OOFFloatsMgr to position floats. | |
int | getGeneratorY (int oofmIndex) |
Return position relative to container, not regarding margin/border/padding, Called by OOFFloatsMgr to position floats. | |
int | getGeneratorWidth () |
Return width including margin/border/padding Called by OOFFloatsMgr to position floats. | |
int | getMaxGeneratorWidth () |
bool | usesMaxGeneratorWidth () |
bool | isPossibleOOFContainer (int oofmIndex) |
bool | isPossibleOOFContainerParent (int oofmIndex) |
Public Member Functions inherited from dw::RegardingBorder | |
RegardingBorder () | |
~RegardingBorder () | |
Public Member Functions inherited from dw::oof::OOFAwareWidget | |
OOFAwareWidget () | |
~OOFAwareWidget () | |
core::Requisition * | getRequisitionWithoutOOF () |
bool | doesWidgetOOFInterruptDrawing (Widget *widget) |
void | draw (core::View *view, core::Rectangle *area, core::DrawingContext *context) |
Area is given in widget coordinates. | |
Public Member Functions inherited from dw::core::Widget | |
void | setDeleteCallback (DW_Callback_t func, void *data) |
Widget () | |
~Widget () | |
bool | resizeQueued () |
bool | extremesQueued () |
bool | needsResize () |
bool | needsAllocate () |
bool | allocateQueued () |
bool | extremesChanged () |
bool | wasAllocated () |
void | setParent (Widget *parent) |
void | setQuasiParent (Widget *quasiParent) |
void | setGenerator (Widget *generator) |
style::Style * | getStyle () |
Allocation * | getAllocation () |
bool | inAllocation (int x, int y) |
int | boxOffsetX () |
int | boxRestWidth () |
int | boxDiffWidth () |
int | boxOffsetY () |
int | boxRestHeight () |
int | boxDiffHeight () |
void | sizeRequest (Requisition *requisition, int numPos=0, Widget **references=NULL, int *x=NULL, int *y=NULL) |
This method is a wrapper for Widget::sizeRequestImpl(); it calls the latter only when needed. | |
void | getExtremes (Extremes *extremes, int numPos=0, Widget **references=NULL, int *x=NULL, int *y=NULL) |
Wrapper for Widget::getExtremesImpl(). | |
void | sizeAllocate (Allocation *allocation) |
Wrapper for Widget::sizeAllocateImpl, calls the latter only when needed. | |
void | calcExtraSpace (int numPos, Widget **references, int *x, int *y) |
Calculates dw::core::Widget::extraSpace. | |
int | getAvailWidth (bool forceValue) |
Return available width including margin/border/padding (extraSpace?), not only the content width. | |
int | getAvailHeight (bool forceValue) |
Return available height including margin/border/padding (extraSpace?), not only the content height. | |
virtual bool | getAdjustMinWidth () |
void | correctRequisition (Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseWidth, bool allowDecreaseHeight) |
void | correctExtremes (Extremes *extremes, bool useAdjustmentWidth) |
int | calcWidth (style::Length cssValue, int refWidth, Widget *refWidget, int limitMinWidth, bool forceValue) |
Computes a width value in pixels from cssValue. | |
void | calcFinalWidth (style::Style *style, int refWidth, Widget *refWidget, int limitMinWidth, bool forceValue, int *finalWidth) |
Computes the final width if posible and constraints it by min-width and max-width. | |
int | calcHeight (style::Length cssValue, bool usePercentage, int refHeight, Widget *refWidget, bool forceValue) |
virtual int | applyPerWidth (int containerWidth, style::Length perWidth) |
virtual int | applyPerHeight (int containerHeight, style::Length perHeight) |
int | getMinWidth (Extremes *extremes, bool forceValue) |
Used to evaluate Widget::adjustMinWidth. | |
virtual bool | isPossibleContainer () |
void | containerSizeChanged () |
bool | intersects (Widget *refWidget, Rectangle *area, Rectangle *intersection) |
Calculates the intersection of the visible allocation (i. | |
void | drawInterruption (View *view, Rectangle *area, DrawingContext *context) |
See Interrupted drawing for details. | |
Widget * | getWidgetAtPointInterrupted (int x, int y, GettingWidgetAtPointContext *context) |
bool | buttonPress (EventButton *event) |
bool | buttonRelease (EventButton *event) |
bool | motionNotify (EventMotion *event) |
void | enterNotify (EventCrossing *event) |
void | leaveNotify (EventCrossing *event) |
virtual void | setStyle (style::Style *style) |
Change the style of a widget. | |
void | setBgColor (style::Color *bgColor) |
Set the background "behind" the widget, if it is not the background of the parent widget, e.g. | |
style::Color * | getBgColor () |
Get the actual background of a widget. | |
style::Color * | getFgColor () |
Get the actual foreground color of a widget. | |
void | drawBox (View *view, style::Style *style, Rectangle *area, int x, int y, int width, int height, bool inverse) |
Draw borders and background of a widget part, which allocation is given by (x, y, width, height) (widget coordinates). | |
void | drawWidgetBox (View *view, Rectangle *area, bool inverse) |
Draw borders and background of a widget. | |
void | drawSelected (View *view, Rectangle *area) |
void | setButtonSensitive (bool buttonSensitive) |
bool | isButtonSensitive () |
Widget * | getParent () |
Widget * | getContainer () |
Widget * | getTopLevel () |
Get the widget at the root of the tree, this widget is part from. | |
int | getLevel () |
Get the level of the widget within the tree. | |
int | getGeneratorLevel () |
Get the level of the widget within the tree, regarting the generators, not the parents. | |
Widget * | getNearestCommonAncestor (Widget *otherWidget) |
Get the widget with the highest level, which is a direct ancestor of widget1 and widget2. | |
WidgetReference * | getWidgetReference () |
void | setWidgetReference (WidgetReference *widgetReference) |
Widget * | getGenerator () |
Layout * | getLayout () |
void | scrollTo (HPosition hpos, VPosition vpos, int x, int y, int width, int height) |
void | getMarginArea (int *xMar, int *yMar, int *widthMar, int *heightMar) |
void | getBorderArea (int *xBor, int *yBor, int *widthBor, int *heightBor) |
void | getPaddingArea (int *xPad, int *yPad, int *widthPad, int *heightPad) |
Return the padding area (content plus padding). | |
virtual void | removeChild (Widget *child) |
Public Member Functions inherited from lout::identity::IdentifiableObject | |
IdentifiableObject () | |
void | intoStringBuffer (misc::StringBuffer *sb) |
Store a textual representation of the object in a misc::StringBuffer. | |
int | getClassId () |
Returns the class identifier. | |
const char * | getClassName () |
Return the name, under which the class of this object was registered. | |
bool | instanceOf (int otherClassId) |
Returns, whether this class is an instance of the class, given by otherClassId, or of a sub class of this class. | |
Public Member Functions inherited from lout::object::Object | |
virtual | ~Object () |
The destructor is defined as virtual (but not abstract), so that destruction of Object's works properly. | |
virtual bool | equals (Object *other) |
Returns, whether two objects are equal. | |
virtual int | hashValue () |
Return a hash value for the object. | |
virtual Object * | clone () |
Return an exact copy of the object. | |
const char * | toString () |
Use object::Object::intoStringBuffer to return a textual representation of the object. | |
virtual size_t | sizeOf () |
Return the number of bytes, this object totally uses. | |
Static Public Member Functions | |
static void | setPenaltyHyphen (int penaltyHyphen) |
static void | setPenaltyHyphen2 (int penaltyHyphen2) |
static void | setPenaltyEmDashLeft (int penaltyLeftEmDash) |
static void | setPenaltyEmDashRight (int penaltyRightEmDash) |
static void | setPenaltyEmDashRight2 (int penaltyRightEmDash2) |
static void | setStretchabilityFactor (int stretchabilityFactor) |
static bool | mustAddBreaks (core::style::Style *style) |
Static Public Member Functions inherited from dw::oof::OOFAwareWidget | |
static const char * | stackingLevelText (int level) |
static bool | testStyleFloat (core::style::Style *style) |
static bool | testStyleAbsolutelyPositioned (core::style::Style *style) |
static bool | testStyleFixedlyPositioned (core::style::Style *style) |
static bool | testStyleRelativelyPositioned (core::style::Style *style) |
static bool | testStylePositioned (core::style::Style *style) |
static bool | testStyleOutOfFlow (core::style::Style *style) |
static bool | testWidgetFloat (Widget *widget) |
static bool | testWidgetAbsolutelyPositioned (Widget *widget) |
static bool | testWidgetFixedlyPositioned (Widget *widget) |
static bool | testWidgetRelativelyPositioned (Widget *widget) |
static bool | testWidgetPositioned (Widget *widget) |
static bool | testWidgetOutOfFlow (Widget *widget) |
Static Public Member Functions inherited from dw::core::Widget | |
static void | setAdjustMinWidth (bool adjustMinWidth) |
static void | adjustHeight (int *height, bool allowDecreaseHeight, int ascent, int descent) |
Static Public Attributes | |
static int | CLASS_ID = -1 |
Static Public Attributes inherited from dw::RegardingBorder | |
static int | CLASS_ID = -1 |
Static Public Attributes inherited from dw::oof::OOFAwareWidget | |
static int | CLASS_ID = -1 |
Static Public Attributes inherited from dw::core::Widget | |
static int | CLASS_ID = -1 |
Protected Member Functions | |
void | queueDrawRange (int index1, int index2) |
int | calcVerticalBorder (int widgetPadding, int widgetBorder, int widgetMargin, int lineBorderTotal, int lineMarginTotal) |
void | getWordExtremes (Word *word, core::Extremes *extremes) |
Get the extremes of a word within a textblock. | |
void | justifyLine (Line *line, int diff) |
Line * | addLine (int firstWord, int lastWord, int newLastOofPos, bool temporary, int minHeight) |
void | rewrap () |
Rewrap the page from the line from which this is necessary. | |
void | fillParagraphs () |
Counter part to rewrap(), but for extremes, not size calculation. | |
void | initNewLine () |
void | calcBorders (int lastOofRef, int height) |
void | showMissingLines () |
void | removeTemporaryLines () |
void | decorateText (core::View *view, core::style::Style *style, core::style::Color::Shading shading, int x, int yBase, int width) |
void | drawText (core::View *view, core::style::Style *style, core::style::Color::Shading shading, int x, int y, const char *text, int start, int len, bool isStart, bool isEnd) |
void | drawWord (Line *line, int wordIndex1, int wordIndex2, core::View *view, core::Rectangle *area, int xWidget, int yWidgetBase) |
Draw a word of text. | |
void | drawWord0 (int wordIndex1, int wordIndex2, const char *text, int totalWidth, bool drawHyphen, core::style::Style *style, core::View *view, core::Rectangle *area, int xWidget, int yWidgetBase) |
TODO Comment. | |
void | drawSpace (int wordIndex, core::View *view, core::Rectangle *area, int xWidget, int yWidgetBase) |
void | drawLine (Line *line, core::View *view, core::Rectangle *area, core::DrawingContext *context) |
int | findLineIndex (int y) |
Find the first line index that includes y, which is given in widget coordinates. | |
int | findLineIndexWhenNotAllocated (int y) |
int | findLineIndexWhenAllocated (int y) |
int | findLineIndex (int y, int ascent) |
int | findLineOfWord (int wordIndex) |
Find the line of word wordIndex. | |
int | findParagraphOfWord (int wordIndex) |
Find the paragraph of word wordIndex. | |
Word * | findWord (int x, int y, bool *inSpace) |
Find the index of the word, or -1. | |
Word * | addWord (int width, int ascent, int descent, short flags, core::style::Style *style) |
Add a new word (text, widget etc.) to a page. | |
void | breakAdded () |
Called directly after a (line or paragraph) break has been added. | |
void | initWord (int wordNo) |
Basic initialization, which is neccessary before fillWord. | |
void | cleanupWord (int wordNo) |
void | removeWordImgRenderer (int wordNo) |
void | setWordImgRenderer (int wordNo) |
void | removeSpaceImgRenderer (int wordNo) |
void | setSpaceImgRenderer (int wordNo) |
void | fillWord (int wordNo, int width, int ascent, int descent, short flags, core::style::Style *style) |
void | fillSpace (int wordNo, core::style::Style *style) |
void | setBreakOption (Word *word, core::style::Style *style, int breakPenalty1, int breakPenalty2, bool forceBreak) |
Set a break option, if allowed by the style. | |
bool | isBreakAllowedInWord (Word *word) |
bool | isBreakAllowed (core::style::Style *style) |
int | textWidth (const char *text, int start, int len, core::style::Style *style, bool isStart, bool isEnd) |
void | calcTextSize (const char *text, size_t len, core::style::Style *style, core::Requisition *size, bool isStart, bool isEnd) |
Calculate the size of a text word. | |
bool | calcSizeOfWidgetInFlow (int wordIndex, Widget *widget, core::Requisition *size) |
Calculate the size of a widget, and return whether it has to be positioned at the top of the line. | |
bool | findSizeRequestReference (Widget *reference, int *xRef=NULL, int *yRef=NULL) |
bool | findSizeRequestReference (int oofmIndex, int *xRef=NULL, int *yRef=NULL) |
bool | mustBorderBeRegarded (Line *line) |
Of nested text blocks, only the most inner one must regard the borders of floats. | |
bool | mustBorderBeRegarded (int lineNo) |
int | lineYOffsetWidget (Line *line, core::Allocation *allocation) |
int | lineYOffsetWidget (Line *line) |
int | lineYOffsetCanvas (Line *line, core::Allocation *allocation) |
int | lineYOffsetCanvas (Line *line) |
int | lineYOffsetWidget (int lineIndex) |
int | lineYOffsetWidget (int lineIndex, core::Allocation *allocation) |
int | lineYOffsetCanvas (int lineIndex) |
int | calcPenaltyIndexForNewLine () |
RegardingBorder * | getWidgetRegardingBorderForLine (Line *line) |
RegardingBorder * | getWidgetRegardingBorderForLine (int lineNo) |
RegardingBorder * | getWidgetRegardingBorderForLine (int firstWord, int lastWord) |
int | yOffsetOfLineToBeCreated (int *lastMargin=NULL) |
Includes margin, border, and padding. | |
int | yOffsetOfLineCreated (Line *line) |
Includes margin, border, and padding. | |
bool | sendSelectionEvent (core::SelectionState::EventType eventType, core::MousePositionEvent *event) |
Send event to selection. | |
void | processWord (int wordIndex) |
virtual int | wordWrap (int wordIndex, bool wrapAll) |
int | wrapWordInFlow (int wordIndex, bool wrapAll) |
int | wrapWordOofRef (int wordIndex, bool wrapAll) |
void | balanceBreakPosAndHeight (int wordIndex, int firstIndex, int *searchUntil, bool tempNewLine, int penaltyIndex, bool borderIsCalculated, bool *thereWillBeMoreSpace, bool wrapAll, int *diffWords, int *wordIndexEnd, int *lastFloatPos, bool regardBorder, int *height, int *breakPos) |
int | searchBreakPos (int wordIndex, int firstIndex, int *searchUntil, bool tempNewLine, int penaltyIndex, bool thereWillBeMoreSpace, bool wrapAll, int *diffWords, int *wordIndexEnd, int *addIndex1=NULL) |
int | searchMinBap (int firstWord, int lastWordm, int penaltyIndex, bool thereWillBeMoreSpace, bool correctAtEnd) |
int | considerHyphenation (int firstIndex, int breakPos) |
Suggest a word to hyphenate, when breaking at breakPos is planned. | |
bool | isHyphenationCandidate (Word *word) |
int | calcLinePartHeight (int firstWord, int lastWord) |
void | handleWordExtremes (int wordIndex) |
Counter part to wordWrap(), but for extremes, not size calculation. | |
void | correctLastWordExtremes () |
Called when something changed for the last word (space, hyphens etc.). | |
int | getLineShrinkability (int lastWordIndex) |
int | getLineStretchability (int lastWordIndex) |
int | hyphenateWord (int wordIndex, int *addIndex1=NULL) |
void | moveWordIndices (int wordIndex, int num, int *addIndex1=NULL) |
void | accumulateWordForLine (int lineIndex, int wordIndex) |
void | accumulateWordData (int wordIndex) |
int | calcLineBreakWidth (int lineIndex) |
void | initLine1Offset (int wordIndex) |
void | alignLine (int lineIndex) |
Align the line. | |
void | calcTextOffset (int lineIndex, int totalWidth) |
void | drawLevel (core::View *view, core::Rectangle *area, int level, core::DrawingContext *context) |
Widget * | getWidgetAtPointLevel (int x, int y, int level, core::GettingWidgetAtPointContext *context) |
void | sizeRequestImpl (core::Requisition *requisition, int numPos, Widget **references, int *x, int *y) |
The ascent of a textblock is the ascent of the first line, plus padding/border/margin. | |
int | numSizeRequestReferences () |
See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
Widget * | sizeRequestReference (int index) |
See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
void | getExtremesSimpl (core::Extremes *extremes) |
Simple variant, to be implemented by widgets with extremes not depending on positions. | |
int | numGetExtremesReferences () |
See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
Widget * | getExtremesReference (int index) |
See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
void | notifySetAsTopLevel () |
This method is called after a widget has been set as the top of a widget tree. | |
void | notifySetParent () |
This method is called after a widget has been added to a parent. | |
void | sizeAllocateImpl (core::Allocation *allocation) |
See Sizes of Dillo Widgets. | |
void | calcExtraSpaceImpl (int numPos, Widget **references, int *x, int *y) |
int | getAvailWidthOfChild (core::Widget *child, bool forceValue) |
Computes the content width available of a child widget. | |
int | getAvailHeightOfChild (core::Widget *child, bool forceValue) |
void | containerSizeChangedForChildren () |
bool | affectsSizeChangeContainerChild (Widget *child) |
bool | usesAvailWidth () |
Must be implemengted by a method returning true, when getAvailWidth() is called. | |
void | resizeDrawImpl () |
Called after sizeAllocateImpl() to redraw necessary areas. | |
void | markSizeChange (int ref) |
See Sizes of Dillo Widgets. | |
void | markExtremesChange (int ref) |
See Sizes of Dillo Widgets. | |
bool | isBlockLevel () |
bool | buttonPressImpl (core::EventButton *event) |
bool | buttonReleaseImpl (core::EventButton *event) |
bool | motionNotifyImpl (core::EventMotion *event) |
void | enterNotifyImpl (core::EventCrossing *event) |
void | leaveNotifyImpl (core::EventCrossing *event) |
void | removeChild (Widget *child) |
void | addText0 (const char *text, size_t len, short flags, core::style::Style *style, core::Requisition *size) |
Add a word (without hyphens) to the page structure. | |
void | calcTextSizes (const char *text, size_t textLen, core::style::Style *style, int numBreaks, int *breakPos, core::Requisition *wordSize) |
int | getGeneratorRest (int oofmIndex) |
Protected Member Functions inherited from dw::oof::OOFAwareWidget | |
bool | isParentRefOOF (int parentRef) |
int | makeParentRefInFlow (int inFlowSubRef) |
int | getParentRefInFlowSubRef (int parentRef) |
int | makeParentRefOOF (int oofmIndex, int oofmSubRef) |
int | getParentRefOOFSubRef (int parentRef) |
int | getParentRefOOFIndex (int parentRef) |
oof::OutOfFlowMgr * | getParentRefOutOfFlowMgr (int parentRef) |
bool | isWidgetOOF (Widget *widget) |
int | getWidgetInFlowSubRef (Widget *widget) |
int | getWidgetOOFSubRef (Widget *widget) |
int | getWidgetOOFIndex (Widget *widget) |
oof::OutOfFlowMgr * | getWidgetOutOfFlowMgr (Widget *widget) |
OutOfFlowMgr * | searchOutOfFlowMgr (int oofmIndex) |
void | initOutOfFlowMgrs () |
void | correctRequisitionByOOF (core::Requisition *requisition, void(*splitHeightFun)(int, int *, int *)) |
void | correctExtremesByOOF (core::Extremes *extremes) |
void | sizeAllocateStart (core::Allocation *allocation) |
void | sizeAllocateEnd () |
void | containerSizeChangedForChildrenOOF () |
void | drawOOF (core::View *view, core::Rectangle *area, core::DrawingContext *context) |
Widget * | getWidgetAtPoint (int x, int y, core::GettingWidgetAtPointContext *context) |
Widget * | getWidgetOOFAtPoint (int x, int y, core::GettingWidgetAtPointContext *context) |
void | removeChild (Widget *child) |
virtual bool | adjustExtraSpaceWhenCorrectingRequisitionByOOF () |
Protected Member Functions inherited from dw::core::Widget | |
int | getHeight () |
int | getContentWidth () |
int | getContentHeight () |
StackingContextMgr * | getNextStackingContextMgr () |
void | printFlag (Flags f) |
void | setFlags (Flags f) |
void | unsetFlags (Flags f) |
void | queueDraw () |
void | queueDrawArea (int x, int y, int width, int height) |
void | queueResize (int ref, bool extremesChanged) |
virtual void | sizeRequestImpl (Requisition *requisition, int numPos, Widget **references, int *x, int *y) |
See Sizes of Dillo Widgets. | |
virtual void | sizeRequestSimpl (Requisition *requisition) |
Simple variant, to be implemented by widgets with sizes not depending on positions. | |
virtual void | getExtremesImpl (Extremes *extremes, int numPos, Widget **references, int *x, int *y) |
See Sizes of Dillo Widgets. | |
virtual void | calcExtraSpaceImpl (int numPos, Widget **references, int *x, int *y) |
The actual implementation for calculating dw::core::Widget::extraSpace. | |
virtual void | correctRequisitionOfChild (Widget *child, Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseWidth, bool allowDecreaseHeight) |
void | correctRequisitionViewport (Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseWidth, bool allowDecreaseHeight) |
Corrects a requisition to fit in the viewport. | |
void | correctReqWidthOfChild (Widget *child, Requisition *requisition, bool allowDecreaseWidth) |
Correct a child requisition to fit the parent. | |
void | correctReqHeightOfChild (Widget *child, Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseHeight) |
bool | correctReqAspectRatio (int pass, Widget *child, Requisition *requisition, bool allowDecreaseWidth, bool allowDecreaseHeight, void(*splitHeightFun)(int, int *, int *)) |
Correct a child requisition aspect ratio if needed. | |
virtual void | correctExtremesOfChild (Widget *child, Extremes *extremes, bool useAdjustmentWidth) |
virtual bool | affectedByContainerSizeChange () |
virtual bool | affectsSizeChangeContainerChild (Widget *child) |
virtual bool | usesAvailHeight () |
Must be implemengted by a method returning true, when getAvailHeight() is called. | |
char * | addAnchor (const char *name) |
char * | addAnchor (const char *name, int y) |
void | changeAnchor (char *name, int y) |
void | removeAnchor (char *name) |
void | setCursor (style::Cursor cursor) |
bool | selectionHandleEvent (SelectionState::EventType eventType, Iterator *it, int charPos, int linkNo, MousePositionEvent *event) |
Protected Member Functions inherited from lout::identity::IdentifiableObject | |
void | registerName (const char *className, int *classId) |
This method must be called in the constructor for the sub class. | |
Static Protected Member Functions | |
static int | getSpaceShrinkability (struct Word *word) |
static int | getSpaceStretchability (struct Word *word) |
Static Protected Member Functions inherited from dw::oof::OOFAwareWidget | |
static int | getOOFMIndex (Widget *widget) |
static bool | isOOFContainer (Widget *widget, int oofmIndex) |
Static Protected Attributes | |
static int | penalties [PENALTY_NUM][2] |
The penalties for hyphens and other, multiplied by 100. | |
static int | stretchabilityFactor = 100 |
... | |
Static Protected Attributes inherited from dw::oof::OOFAwareWidget | |
static const char * | OOFM_NAME [NUM_OOFM] |
Private Types | |
enum | { PENALTY_FORCE_BREAK = INT_MIN , PENALTY_PROHIBIT_BREAK = INT_MAX } |
This class encapsulates the badness/penalty calculation, and so (i) makes changes (hopefully) simpler, and (ii) hides the integer arithmetic (floating point arithmetic avoided for performance reasons). More... | |
enum | { PENALTY_HYPHEN , PENALTY_EM_DASH_LEFT , PENALTY_EM_DASH_RIGHT , PENALTY_NUM } |
enum | { NUM_DIV_CHARS = 4 } |
Static Private Attributes | |
static DivChar | divChars [NUM_DIV_CHARS] |
static const char * | hyphenDrawChar = "-" |
The character which is used to draw a hyphen at the end of a line, either caused by automatic hyphenation, or by soft hyphens. | |
Friends | |
class | TextblockIterator |
Additional Inherited Members | |
Public Types inherited from dw::oof::OOFAwareWidget | |
enum | { SL_START , SL_BACKGROUND , SL_SC_BOTTOM , SL_IN_FLOW , SL_OOF_REF , SL_OOF_CONT , SL_SC_TOP , SL_END } |
Public Attributes inherited from dw::core::Widget | |
int | parentRef |
This value is defined by the parent widget, and used for incremential resizing. | |
Protected Types inherited from dw::oof::OOFAwareWidget | |
enum | { OOFM_FLOATS , OOFM_ABSOLUTE , OOFM_RELATIVE , OOFM_FIXED , NUM_OOFM } |
enum | { PARENT_REF_OOFM_BITS = 3 , PARENT_REF_OOFM_MASK = (1 << PARENT_REF_OOFM_BITS) - 1 } |
Protected Types inherited from dw::core::Widget | |
enum | Flags { RESIZE_QUEUED = 1 << 0 , EXTREMES_QUEUED = 1 << 1 , NEEDS_RESIZE = 1 << 2 , NEEDS_ALLOCATE = 1 << 3 , ALLOCATE_QUEUED = 1 << 4 , EXTREMES_CHANGED = 1 << 5 , WAS_ALLOCATED = 1 << 6 } |
A Widget for rendering text blocks, i.e.
paragraphs or sequences of paragraphs.
dw::Textblock uses the signals defined in dw::core::Layout::LinkReceiver, related to links. The coordinates are always -1.
The idea behind this is that every paragraph has a specific vertical space around and that they are combined to one space, according to rules stated below. A paragraph consists either of the lines between two paragraph breaks within a dw::Textblock, or of a dw::Textblock within a dw::Textblock, in a single line; the latter is used for indented boxes and list items.
The rules:
If a paragraph is following by another, the space between them is the maximum of both box spaces:
are combined like this:
a) If one paragraph is the first paragraph within another, the upper space of these paragraphs collapse. b) The analogue is the case for the last box:
If B and C are put into A, the result is:
For achieving this, there are some features of dw::Textblock:
Consequent breaks are automatically combined, according to rule 1. See the code of dw::Textblock::addParBreak for details.
If a break is added as the first word of the dw::Textblock within another dw::Textblock, collapsing according to rule 2a is done automatically. See the code of dw::Textblock::addParBreak.
Collapsing margins, as defined in the CSS2 specification, are, supported in addition to collapsing spaces. Also, spaces and margins collapse themselves. I. e., the space between two paragraphs is the maximum of the space calculated as described in "Collapsing Spaces" and the space calculated according to the rules for collapsing margins.
(This is an intermediate hybrid state, collapsing spaces are used in the current version of dillo, while I implemented collapsing margins for the CSS prototype and integrated it already into the main trunk. For a pure CSS-based dillo, collapsing spaces will not be needed anymore, and may be removed for simplicity.)
Currently implemented cases:
Open issues:
For similar reasons, backgrounds to not work exactly. Usage of Widget::extraSpace should fix this, but it is only fully working in the GROWS branch (http://flpsed.org/hgweb/dillo_grows).
Update: This needs to be re-evaluated.
There are 4 lists, dw::Textblock::words, dw::Textblock::paragraphs, dw::Textblock::lines, and dw::Textblock::anchors. The word list is quite static; only new words may be added. A word is either text, a widget, or a break.
Lines refer to the word list (first and last). They are completely redundant, i.e., they can be rebuilt from the words. Lines can be rewrapped either completely or partially (see "Incremental Resizing" below). For the latter purpose, several values are accumulated in the lines. See dw::Textblock::Line for details.
A recent change was the introduction of the paragraphs list, which works quite similar, is also redundant, but is used to calculate the extremes, not the size.
Anchors associate the anchor name with the index of the next word at the point of the anchor.
dw::Textblock makes use of incremental resizing as described in Sizes of Dillo Widgets. The parentRef is, for children of a dw::Textblock, simply the number of the line. [Update: Incorrect; see Handling Elements Out Of Flow.]
Generally, there are three cases which may change the size of the widget:
The line break size of the widget has changed, e.g., because the user has changed the size of the browser window. In this case, it is necessary to rewrap all the lines.
A child widget has changed its size. In this case, only a rewrap down from the line where this widget is located is necessary.
(This case is very important for tables. Tables are quite at the bottom, so that a partial rewrap is relevant. Otherwise, tables change their size quite often, so that this is necessary for a fast, non-blocking rendering)
The state of the size calculation is stored in wrapRef within dw::Textblock, which has the value -1 if no rewrapping of lines necessary, or otherwise the line from which a rewrap is necessary.
See
Definition at line 205 of file textblock.hh.
|
private |
This class encapsulates the badness/penalty calculation, and so (i) makes changes (hopefully) simpler, and (ii) hides the integer arithmetic (floating point arithmetic avoided for performance reasons).
Unfortunately, the value range of the badness is not well defined, so fiddling with the penalties is a bit difficult.
Enumerator | |
---|---|
PENALTY_FORCE_BREAK | |
PENALTY_PROHIBIT_BREAK |
Definition at line 217 of file textblock.hh.
|
private |
Enumerator | |
---|---|
PENALTY_HYPHEN | |
PENALTY_EM_DASH_LEFT | |
PENALTY_EM_DASH_RIGHT | |
PENALTY_NUM |
Definition at line 283 of file textblock.hh.
|
private |
Enumerator | |
---|---|
NUM_DIV_CHARS |
Definition at line 285 of file textblock.hh.
dw::Textblock::Textblock | ( | bool | limitTextWidth, |
bool | treatAsInline = false |
||
) |
Definition at line 206 of file textblock.cc.
References anchors, CLASS_ID, DBG_OBJ_ARRATTRSET_NUM, DBG_OBJ_ASSOC_CHILD, DBG_OBJ_CREATE, DBG_OBJ_SET_BOOL, DBG_OBJ_SET_NUM, hasListitemValue, dw::core::HIGHLIGHT_NUM_LAYERS, hlEnd, hlStart, hoverLink, ignoreLine1OffsetSometimes, index, initNewLine(), lastWordDrawn, leftInnerPadding, limitTextWidth, line1Offset, lineBreakWidth, lines, mustQueueResize, nChar, nonTemporaryLines, numSizeReferences, paragraphs, redrawY, lout::identity::IdentifiableObject::registerName(), dw::core::Widget::setButtonSensitive(), sizeRequestParams, treatAsInline, words, wrapRefLines, wrapRefLinesFCX, wrapRefLinesFCY, and wrapRefParagraphs.
dw::Textblock::~Textblock | ( | ) |
Definition at line 277 of file textblock.cc.
References anchors, cleanupWord(), DBG_OBJ_DELETE, hoverTooltip, lines, dw::Textblock::Anchor::name, paragraphs, dw::core::Widget::removeAnchor(), and words.
|
protected |
Definition at line 1625 of file textblock_linebreaking.cc.
References dw::core::Requisition::ascent, dw::Textblock::Word::badnessAndPenalty, dw::Textblock::BadnessAndPenalty::calcBadness(), calcLineBreakWidth(), DBG_IF_RTFL, DBG_MSG_WORD, DBG_OBJ_ARRATTRSET_SYM, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::core::Requisition::descent, lout::misc::StringBuffer::getChars(), getLineShrinkability(), getLineStretchability(), getSpaceShrinkability(), getSpaceStretchability(), dw::Textblock::Word::hyphenWidth, dw::Textblock::BadnessAndPenalty::intoStringBuffer(), lineBreakWidth, lines, lout::misc::max(), dw::Textblock::Word::maxAscent, dw::Textblock::Word::maxDescent, dw::Textblock::Word::origSpace, dw::Textblock::Word::size, dw::Textblock::Word::totalSpaceShrinkability, dw::Textblock::Word::totalSpaceStretchability, dw::Textblock::Word::totalWidth, dw::core::Requisition::width, and words.
Referenced by addSpace(), addText(), balanceBreakPosAndHeight(), hyphenateWord(), removeTemporaryLines(), searchBreakPos(), wordWrap(), and wrapWordInFlow().
|
protected |
Definition at line 1563 of file textblock_linebreaking.cc.
References dw::core::style::Font::ascent, dw::core::Requisition::ascent, dw::Textblock::Line::borderAscent, dw::Textblock::Line::borderDescent, dw::core::style::Box::bottom, dw::core::Content::BREAK, dw::Textblock::Line::breakSpace, dw::core::Content::breakSpace, dw::Textblock::Word::content, dw::Textblock::Line::contentAscent, dw::Textblock::Line::contentDescent, DBG_MSG_WORD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM_O, DBG_SET_WORD, dw::core::style::Font::descent, dw::core::Requisition::descent, dw::core::style::StyleAttrs::font, dw::core::Widget::getStyle(), lines, dw::oof::OOFAwareWidget::makeParentRefInFlow(), dw::core::style::StyleAttrs::margin, dw::Textblock::Line::marginAscent, dw::Textblock::Line::marginDescent, lout::misc::max(), dw::core::WidgetReference::parentRef, dw::core::Widget::parentRef, dw::Textblock::Word::size, dw::Textblock::Word::style, dw::core::style::Box::top, dw::core::Content::type, dw::core::style::StyleAttrs::valign, dw::core::style::VALIGN_SUB, dw::core::style::VALIGN_SUPER, dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, dw::core::Content::WIDGET_OOF_REF, dw::core::Content::widgetReference, and words.
Referenced by addLine().
bool dw::Textblock::addAnchor | ( | const char * | name, |
core::style::Style * | style | ||
) |
Add an anchor to the page.
"name" is copied, so no dStrdup is necessary for the caller.
Return true on success, and false, when this anchor had already been added to the widget tree.
Definition at line 2562 of file textblock.cc.
References dw::core::Widget::allocation, anchors, lout::misc::boolToStr(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, lines, lineYOffsetWidget(), dw::Textblock::Anchor::name, dw::core::Widget::style, dw::core::Widget::wasAllocated(), dw::Textblock::Anchor::wordIndex, words, and dw::core::Allocation::y.
Referenced by textTimeout().
void dw::Textblock::addBreakOption | ( | core::style::Style * | style, |
bool | forceBreak | ||
) |
Add a break option (see setBreakOption() for details).
Used instead of addSpace for ideographic characters.
When "forceBreak" is true, a break is even possible within PRE etc.
Definition at line 2626 of file textblock.cc.
References correctLastWordExtremes(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_SET_WORD, setBreakOption(), dw::core::Widget::style, and words.
|
protected |
Definition at line 306 of file textblock_linebreaking.cc.
References accumulateWordForLine(), alignLine(), dw::core::Requisition::ascent, dw::Textblock::Line::borderAscent, dw::Textblock::Line::borderDescent, dw::core::style::StyleAttrs::boxOffsetX(), dw::core::Widget::boxOffsetX(), dw::core::Widget::boxRestWidth(), dw::Textblock::Line::breakSpace, calcTextOffset(), dw::Textblock::Word::content, dw::Textblock::Line::contentAscent, dw::Textblock::Line::contentDescent, DBG_MSG_WORD, DBG_OBJ_ARRATTRSET_NUM, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, DBG_OBJ_SET_BOOL, DBG_OBJ_SET_NUM, dw::Textblock::Word::effSpace, findSizeRequestReference(), dw::Textblock::Line::firstWord, dw::core::Widget::getStyle(), dw::oof::OOFAwareWidget::getWidgetOOFIndex(), initNewLine(), dw::Textblock::Line::lastOofRefPositionedBeforeThisLine, dw::Textblock::Line::lastWord, leftInnerPadding, dw::Textblock::Line::leftOffset, line1OffsetEff, lineBreakWidth, lines, dw::Textblock::Line::marginAscent, dw::Textblock::Line::marginDescent, lout::misc::max(), dw::Textblock::Line::maxLineWidth, mustBorderBeRegarded(), mustQueueResize, newLineLeftBorder, newLineRightBorder, nonTemporaryLines, dw::Textblock::Word::origSpace, dw::Textblock::Line::rightOffset, dw::oof::OOFAwareWidget::searchOutOfFlowMgr(), dw::Textblock::WordImgRenderer::setData(), dw::Textblock::Word::size, dw::Textblock::Word::spaceImgRenderer, dw::oof::OutOfFlowMgr::tellIncompletePosition2(), dw::oof::OutOfFlowMgr::tellPosition2(), dw::Textblock::Line::textOffset, dw::Textblock::Line::top, dw::Textblock::Line::totalHeight(), dw::Textblock::Word::totalWidth, dw::core::Content::type, dw::core::WidgetReference::widget, dw::core::Widget::Widget(), dw::core::Content::WIDGET_OOF_REF, dw::core::Content::widgetReference, dw::core::Requisition::width, dw::Textblock::Word::wordImgRenderer, words, and yOffsetOfLineCreated().
Referenced by wrapWordInFlow().
void dw::Textblock::addLinebreak | ( | core::style::Style * | style | ) |
Definition at line 2833 of file textblock.cc.
References addWord(), dw::core::style::Font::ascent, dw::Textblock::Word::badnessAndPenalty, dw::core::Content::BREAK, breakAdded(), dw::core::Content::breakSpace, dw::Textblock::Word::content, DBG_OBJ_ASSOC_CHILD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_SET_WORD, dw::core::style::Font::descent, dw::core::style::StyleAttrs::font, PENALTY_FORCE_BREAK, processWord(), dw::Textblock::BadnessAndPenalty::setPenalty(), dw::core::Widget::style, dw::core::Content::type, and words.
Referenced by main(), and textTimeout().
void dw::Textblock::addParbreak | ( | int | space, |
core::style::Style * | style | ||
) |
Cause a paragraph break.
Definition at line 2743 of file textblock.cc.
References addWord(), dw::Textblock::Word::badnessAndPenalty, dw::Textblock::Line::borderDescent, dw::core::Content::BREAK, breakAdded(), dw::Textblock::Line::breakSpace, dw::core::Content::breakSpace, CLASS_ID, dw::Textblock::Word::content, DBG_OBJ_ASSOC_CHILD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG, DBG_OBJ_SET_BOOL_O, DBG_SET_WORD, dw::core::Widget::getParent(), dw::oof::OOFAwareWidget::getWidgetInFlowSubRef(), hasListitemValue, index, dw::oof::OOFAwareWidget::isWidgetOOF(), lines, dw::oof::OOFAwareWidget::makeParentRefInFlow(), dw::Textblock::Line::marginDescent, lout::misc::max(), mustQueueResize, PENALTY_FORCE_BREAK, processWord(), dw::core::Widget::queueResize(), dw::Textblock::BadnessAndPenalty::setPenalty(), dw::core::Widget::style, dw::core::Content::type, dw::core::Widget::Widget(), dw::core::Content::WIDGET_IN_FLOW, and words.
Referenced by handOverBreak(), Html_tag_content_frame(), main(), and textTimeout().
void dw::Textblock::addSpace | ( | core::style::Style * | style | ) |
?
Definition at line 2605 of file textblock.cc.
References accumulateWordData(), correctLastWordExtremes(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_SET_WORD, fillSpace(), dw::core::Widget::style, and words.
Referenced by addTextToFloatTimeout(), Html_tag_content_frame(), dw::ListItem::initWithText(), dw::ListItem::initWithWidget(), main(), and textTimeout().
|
inline |
Definition at line 888 of file textblock.hh.
References addText(), and dw::core::Widget::style.
void dw::Textblock::addText | ( | const char * | text, |
size_t | len, | ||
core::style::Style * | style | ||
) |
Add a word to the page structure.
If it contains dividing characters (hard or soft hyphens, em-dashes, etc.), it is divided.
Definition at line 2024 of file textblock.cc.
References accumulateWordData(), addText0(), calcTextSize(), calcTextSizes(), dw::Textblock::Word::CAN_BE_HYPHENATED, dw::Textblock::DivChar::canBeHyphenated, correctLastWordExtremes(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_SET_WORD, dw::Textblock::Word::DIV_CHAR_AT_EOL, divChars, dw::Textblock::Word::DRAW_AS_ONE_TEXT, dw::core::Widget::flags, dw::core::style::StyleAttrs::font, hyphenDrawChar, dw::Textblock::Word::hyphenWidth, dw::core::Widget::layout, lout::unicode::nextUtf8Char(), NUM_DIV_CHARS, penalties, dw::Textblock::DivChar::penaltyIndexLeft, dw::Textblock::DivChar::penaltyIndexRight, dw::Textblock::Word::PERM_DIV_CHAR, PRINTF, PUTCHAR, setBreakOption(), dw::Textblock::Word::style, dw::core::Widget::style, dw::core::Layout::textWidth(), dw::Textblock::Word::UNBREAKABLE_FOR_MIN_WIDTH, dw::Textblock::DivChar::unbreakableForMinWidth, dw::Textblock::Word::WORD_END, dw::Textblock::Word::WORD_START, and words.
Referenced by addText(), addTextToFloatTimeout(), Html_tag_content_frame(), dw::ListItem::initWithText(), main(), and textTimeout().
|
protected |
Add a word (without hyphens) to the page structure.
Definition at line 2435 of file textblock.cc.
References addWord(), dw::core::Requisition::ascent, dw::Textblock::Word::CAN_BE_HYPHENATED, DBG_OBJ_ASSOC_CHILD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_SET_WORD, dw::core::Requisition::descent, dw::Textblock::Word::DIV_CHAR_AT_EOL, dw::Textblock::Word::DRAW_AS_ONE_TEXT, dw::core::Widget::flags, dw::core::Widget::layout, dw::Textblock::Word::PERM_DIV_CHAR, processWord(), lout::misc::ZoneAllocator::strndup(), dw::core::Widget::style, dw::core::Content::TEXT, dw::core::Layout::textZone, dw::Textblock::Word::TOPLEFT_OF_LINE, dw::Textblock::Word::UNBREAKABLE_FOR_MIN_WIDTH, dw::core::Requisition::width, dw::Textblock::Word::WORD_END, dw::Textblock::Word::WORD_START, and words.
Referenced by addText(), and showMissingLines().
void dw::Textblock::addWidget | ( | core::Widget * | widget, |
core::style::Style * | style | ||
) |
Add a widget (word type) to the page.
Definition at line 2480 of file textblock.cc.
References dw::oof::OutOfFlowMgr::addWidgetInFlow(), dw::oof::OutOfFlowMgr::addWidgetOOF(), addWord(), dw::core::Requisition::ascent, calcSizeOfWidgetInFlow(), dw::oof::OutOfFlowMgr::calcWidgetRefSize(), CLASS_ID, dw::Textblock::Word::content, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM_O, DBG_SET_WORD, dw::core::Requisition::descent, dw::core::Widget::flags, dw::oof::OOFAwareWidget::getOOFMIndex(), dw::oof::OOFAwareWidget::initOutOfFlowMgrs(), lout::identity::IdentifiableObject::instanceOf(), dw::oof::OOFAwareWidget::makeParentRefOOF(), dw::oof::OOFAwareWidget::NUM_OOFM, dw::oof::OOFAwareWidget::oofContainer, dw::oof::OOFAwareWidget::OOFM_NAME, dw::core::Widget::parentRef, processWord(), dw::oof::OOFAwareWidget::searchOutOfFlowMgr(), setBreakOption(), dw::core::Widget::setGenerator(), dw::core::Widget::setParent(), dw::core::Widget::setStyle(), dw::core::Widget::setWidgetReference(), dw::core::Widget::style, dw::oof::OOFAwareWidget::testWidgetOutOfFlow(), dw::Textblock::Word::TOPLEFT_OF_LINE, dw::core::Content::type, dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, dw::core::Content::WIDGET_OOF_REF, dw::core::Content::widgetReference, dw::core::Requisition::width, and words.
Referenced by Html_tag_content_frame(), dw::ListItem::initWithWidget(), main(), and textTimeout().
|
protected |
Add a new word (text, widget etc.) to a page.
Definition at line 1776 of file textblock.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_SET_NUM, fillWord(), dw::core::Widget::flags, dw::core::Widget::getAvailWidth(), initWord(), lineBreakWidth, dw::core::Widget::style, and words.
Referenced by addLinebreak(), addParbreak(), addText0(), and addWidget().
|
protected |
Definition at line 834 of file textblock.cc.
References lout::misc::boolToStr(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, dw::core::Widget::extremesChanged(), dw::core::Widget::extremesQueued(), and usesMaxGeneratorWidth().
|
protected |
Align the line.
Definition at line 1783 of file textblock_linebreaking.cc.
References dw::Textblock::Line::alignment, dw::core::Content::BREAK, dw::Textblock::Line::CENTER, dw::Textblock::Word::content, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG, dw::Textblock::Line::firstWord, justifyLine(), dw::Textblock::Line::lastWord, dw::Textblock::Line::LEFT, dw::Textblock::Line::leftOffset, lineBreakWidth, lines, dw::Textblock::Line::RIGHT, dw::Textblock::Line::rightOffset, dw::Textblock::Word::style, dw::core::style::TEXT_ALIGN_CENTER, dw::core::style::TEXT_ALIGN_JUSTIFY, dw::core::style::TEXT_ALIGN_LEFT, dw::core::style::TEXT_ALIGN_RIGHT, dw::core::style::TEXT_ALIGN_STRING, dw::core::style::StyleAttrs::textAlign, dw::Textblock::Word::totalWidth, dw::core::Content::type, dw::core::Content::WIDGET_OOF_REF, and words.
Referenced by addLine().
|
protected |
Definition at line 909 of file textblock_linebreaking.cc.
References accumulateWordData(), calcBorders(), calcLinePartHeight(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSG, DBG_OBJ_MSGF, newLineHasFloatLeft, newLineHasFloatRight, and searchBreakPos().
Referenced by wrapWordInFlow().
|
protected |
Called directly after a (line or paragraph) break has been added.
Definition at line 2866 of file textblock.cc.
References dw::core::Content::BREAK, and words.
Referenced by addLinebreak(), and addParbreak().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 943 of file textblock.cc.
References dw::core::SelectionState::BUTTON_PRESS, and sendSelectionEvent().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 948 of file textblock.cc.
References dw::core::SelectionState::BUTTON_RELEASE, and sendSelectionEvent().
|
protected |
Definition at line 2057 of file textblock_linebreaking.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, DBG_OBJ_SET_BOOL, DBG_OBJ_SET_NUM, findSizeRequestReference(), getGeneratorRest(), getGeneratorX(), dw::oof::OutOfFlowMgr::getLeftBorder(), dw::oof::OutOfFlowMgr::getLeftFloatHeight(), dw::oof::OutOfFlowMgr::getRightBorder(), dw::oof::OutOfFlowMgr::getRightFloatHeight(), dw::oof::OutOfFlowMgr::hasFloatLeft(), dw::oof::OutOfFlowMgr::hasFloatRight(), lines, lout::misc::max(), newLineHasFloatLeft, newLineHasFloatRight, newLineLeftBorder, newLineLeftFloatHeight, newLineRightBorder, newLineRightFloatHeight, dw::oof::OOFAwareWidget::NUM_OOFM, dw::oof::OOFAwareWidget::searchOutOfFlowMgr(), and yOffsetOfLineToBeCreated().
Referenced by balanceBreakPosAndHeight(), and initNewLine().
|
protected |
Definition at line 734 of file textblock.cc.
References DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, dw::core::Widget::extraSpace, dw::core::SizeParams::fill(), findSizeRequestReference(), lout::misc::max(), dw::oof::OOFAwareWidget::NUM_OOFM, dw::oof::OOFAwareWidget::searchOutOfFlowMgr(), sizeRequestParams, and dw::core::style::Box::top.
|
protected |
Definition at line 1718 of file textblock_linebreaking.cc.
References dw::core::Widget::boxDiffWidth(), dw::core::Widget::boxOffsetX(), dw::core::Widget::boxRestWidth(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, dw::core::Layout::getUsesViewport(), dw::core::Layout::getWidthViewport(), dw::core::Widget::layout, leftInnerPadding, limitTextWidth, line1OffsetEff, lineBreakWidth, lines, lout::misc::max(), mustBorderBeRegarded(), newLineLeftBorder, and newLineRightBorder.
Referenced by accumulateWordData().
|
protected |
Definition at line 1235 of file textblock_linebreaking.cc.
References dw::core::Requisition::ascent, dw::core::Requisition::descent, lout::misc::max(), dw::Textblock::Word::size, and words.
Referenced by balanceBreakPosAndHeight().
|
inlineprotected |
Definition at line 747 of file textblock.hh.
References dw::Textblock::Word::DIV_CHAR_AT_EOL, dw::Textblock::Line::firstWord, dw::Textblock::Line::lastWord, lines, dw::Textblock::Word::PERM_DIV_CHAR, and words.
Referenced by wrapWordInFlow().
|
protected |
Calculate the size of a widget, and return whether it has to be positioned at the top of the line.
Definition at line 2291 of file textblock.cc.
References lout::misc::boolToStr(), dw::core::Widget::boxOffsetX(), dw::core::Widget::boxRestWidth(), dw::core::Content::BREAK, DBG_OBJ_ASSOC_CHILD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSG, DBG_OBJ_MSG_END, DBG_OBJ_MSG_START, DBG_OBJ_MSGF, dw::core::style::DISPLAY_BLOCK, dw::core::style::DISPLAY_LIST_ITEM, dw::core::style::DISPLAY_TABLE, dw::core::SizeParams::forChild(), dw::core::SizeParams::getNumPos(), dw::core::SizeParams::getReferences(), dw::core::SizeParams::getX(), dw::core::SizeParams::getY(), hasListitemValue, leftInnerPadding, line1Offset, line1OffsetEff, lineBreakWidth, lines, lout::misc::min(), sizeRequestParams, dw::core::style::TEXT_ALIGN_CENTER, dw::core::style::TEXT_ALIGN_JUSTIFY, dw::core::style::TEXT_ALIGN_LEFT, dw::core::style::TEXT_ALIGN_RIGHT, dw::core::style::TEXT_ALIGN_STRING, dw::core::Requisition::width, words, and yOffsetOfLineToBeCreated().
Referenced by addWidget(), and rewrap().
|
protected |
Definition at line 1859 of file textblock_linebreaking.cc.
References dw::Textblock::Line::alignment, lout::misc::assertNotReached(), dw::Textblock::Line::CENTER, DBG_OBJ_ARRATTRSET_NUM, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::Textblock::Line::firstWord, dw::Textblock::Line::lastWord, dw::Textblock::Line::LEFT, dw::Textblock::Line::leftOffset, lines, dw::Textblock::Line::RIGHT, dw::Textblock::Line::rightOffset, dw::Textblock::Line::textOffset, and words.
Referenced by addLine(), and sizeAllocateImpl().
|
protected |
Calculate the size of a text word.
For "isStart" and "isEnd" see textWidth and drawText.
Definition at line 1969 of file textblock.cc.
References dw::core::style::absLengthVal(), dw::core::style::Font::ascent, dw::core::Requisition::ascent, dw::core::style::Font::descent, dw::core::Requisition::descent, dw::core::style::StyleAttrs::font, dw::core::style::isAbsLength(), dw::core::style::LENGTH_AUTO, dw::core::style::StyleAttrs::lineHeight, lout::misc::max(), dw::core::style::multiplyWithPerLengthRounded(), lout::misc::roundInt(), dw::core::style::FontAttrs::size, dw::core::Widget::style, textWidth(), dw::core::style::StyleAttrs::valign, dw::core::style::VALIGN_SUB, dw::core::style::VALIGN_SUPER, and dw::core::Requisition::width.
Referenced by addText(), and calcTextSizes().
|
protected |
Definition at line 2253 of file textblock.cc.
References calcTextSize(), PRINTF, PUTCHAR, dw::core::Widget::style, and dw::core::Requisition::width.
Referenced by addText(), and hyphenateWord().
|
protected |
Definition at line 432 of file textblock.cc.
References DBG_OBJ_ENTER, and DBG_OBJ_LEAVE_VAL.
Referenced by findLineIndexWhenNotAllocated(), sizeRequestImpl(), yOffsetOfLineCreated(), and yOffsetOfLineToBeCreated().
void dw::Textblock::changeLinkColor | ( | int | link, |
int | newColor | ||
) |
Definition at line 2994 of file textblock.cc.
References dw::core::Widget::allocation, dw::Textblock::Line::borderAscent, dw::Textblock::Line::borderDescent, dw::core::style::StyleAttrs::color, dw::Textblock::Word::content, dw::core::style::Color::create(), dw::core::style::Style::create(), dw::Textblock::Line::firstWord, dw::core::Widget::getStyle(), dw::Textblock::Line::lastWord, dw::core::Widget::layout, lines, lineYOffsetWidget(), dw::core::Widget::queueDrawArea(), dw::core::style::StyleAttrs::setBorderColor(), dw::core::Widget::setStyle(), dw::Textblock::Word::spaceStyle, dw::Textblock::Word::style, dw::core::Content::TEXT, dw::core::Content::type, dw::core::style::Style::unref(), dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, dw::core::Allocation::width, words, and dw::core::style::StyleAttrs::x_link.
void dw::Textblock::changeWordStyle | ( | int | from, |
int | to, | ||
core::style::Style * | style, | ||
bool | includeFirstSpace, | ||
bool | includeLastSpace | ||
) |
Definition at line 3045 of file textblock.cc.
|
protected |
Definition at line 1809 of file textblock.cc.
References dw::Textblock::Word::content, removeSpaceImgRenderer(), removeWordImgRenderer(), dw::Textblock::Word::spaceStyle, dw::Textblock::Word::style, dw::core::Content::type, dw::core::style::Style::unref(), dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, dw::core::Content::WIDGET_OOF_REF, dw::core::Content::widgetReference, and words.
Referenced by showMissingLines(), and ~Textblock().
|
protected |
Suggest a word to hyphenate, when breaking at breakPos is planned.
Return a word index or -1, when hyphenation makes no sense.
Definition at line 1190 of file textblock_linebreaking.cc.
References dw::Textblock::Word::badnessAndPenalty, isHyphenationCandidate(), dw::Textblock::BadnessAndPenalty::lineLoose(), dw::Textblock::BadnessAndPenalty::lineTight(), and words.
Referenced by searchBreakPos().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 819 of file textblock.cc.
References dw::core::Widget::containerSizeChanged(), dw::oof::OOFAwareWidget::containerSizeChangedForChildrenOOF(), dw::Textblock::Word::content, DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, dw::core::Content::type, dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, and words.
|
protected |
Called when something changed for the last word (space, hyphens etc.).
Definition at line 1392 of file textblock_linebreaking.cc.
References dw::Textblock::Word::badnessAndPenalty, dw::Textblock::Word::flags, dw::Textblock::BadnessAndPenalty::lineCanBeBroken(), dw::Textblock::Paragraph::parAdjustmentWidth, paragraphs, dw::Textblock::Paragraph::parMin, dw::Textblock::Paragraph::parMinIntrinsic, PRINTF, dw::Textblock::Word::UNBREAKABLE_FOR_MIN_WIDTH, and words.
Referenced by addBreakOption(), addSpace(), and addText().
|
protected |
Definition at line 1184 of file textblock.cc.
References dw::core::style::Font::ascent, dw::core::style::StyleAttrs::color, dw::core::style::Font::descent, dw::core::View::drawRectangle(), dw::core::style::StyleAttrs::font, dw::core::Widget::style, dw::core::style::TEXT_DECORATION_LINE_THROUGH, dw::core::style::TEXT_DECORATION_OVERLINE, dw::core::style::TEXT_DECORATION_UNDERLINE, dw::core::style::StyleAttrs::textDecoration, and dw::core::style::Font::xHeight.
Referenced by drawSpace(), and drawWord0().
|
protectedvirtual |
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 1730 of file textblock.cc.
References dw::Textblock::Word::content, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::oof::OOFAwareWidget::doesWidgetOOFInterruptDrawing(), dw::core::Widget::drawInterruption(), drawLine(), findLineIndexWhenAllocated(), dw::oof::OOFAwareWidget::getOOFMIndex(), dw::core::Rectangle::height, lines, lineYOffsetWidget(), dw::oof::OOFAwareWidget::NUM_OOFM, dw::oof::OOFAwareWidget::SL_IN_FLOW, dw::oof::OOFAwareWidget::SL_OOF_REF, dw::oof::OOFAwareWidget::stackingLevelText(), dw::core::Content::type, dw::core::WidgetReference::widget, dw::core::Content::widget, dw::core::Content::WIDGET_OOF_REF, dw::core::Content::widgetReference, dw::core::Rectangle::width, words, dw::core::Rectangle::x, and dw::core::Rectangle::y.
|
protected |
Definition at line 1490 of file textblock.cc.
References dw::Textblock::Line::borderAscent, dw::Textblock::Line::borderDescent, dw::core::Content::BREAK, dw::Textblock::Word::content, DBG_MSG_WORD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG_END, DBG_OBJ_MSG_START, DBG_OBJ_MSGF, dw::core::Widget::draw(), dw::Textblock::Word::DRAW_AS_ONE_TEXT, dw::core::Widget::drawBox(), drawSpace(), drawWord(), dw::Textblock::Word::effSpace, dw::Textblock::Line::firstWord, dw::core::StackingContextMgr::handledByStackingContextMgr(), dw::core::style::StyleAttrs::hasBackground(), dw::core::Rectangle::height, dw::Textblock::Word::hyphenWidth, dw::core::Widget::intersects(), dw::Textblock::Line::lastWord, lineYOffsetWidget(), dw::Textblock::Word::size, dw::Textblock::Word::spaceStyle, dw::Textblock::Word::style, dw::core::Content::TEXT, dw::Textblock::Line::textOffset, dw::core::Content::type, dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, dw::core::Rectangle::width, dw::core::Requisition::width, words, dw::core::Rectangle::x, and dw::core::Rectangle::y.
Referenced by drawLevel().
|
protected |
Definition at line 1440 of file textblock.cc.
References dw::core::Widget::allocation, dw::core::style::Font::ascent, dw::core::style::StyleAttrs::backgroundColor, decorateText(), dw::core::style::Font::descent, dw::core::View::drawRectangle(), dw::Textblock::Word::effSpace, dw::core::style::StyleAttrs::font, dw::core::Widget::getBgColor(), dw::core::HIGHLIGHT_NUM_LAYERS, hlEnd, hlStart, index, dw::core::style::Color::SHADING_INVERSE, dw::core::style::Color::SHADING_NORMAL, dw::Textblock::Word::spaceStyle, dw::core::Widget::style, dw::core::style::StyleAttrs::textDecoration, dw::core::style::StyleAttrs::valign, dw::core::style::VALIGN_SUB, dw::core::style::VALIGN_SUPER, words, dw::core::Allocation::x, and dw::core::Allocation::y.
Referenced by drawLine().
|
protected |
Definition at line 1214 of file textblock.cc.
References dw::core::style::StyleAttrs::color, dw::core::View::drawText(), dw::core::style::StyleAttrs::font, dw::core::Widget::layout, dw::core::Layout::nextGlyph(), dw::core::Widget::style, dw::core::style::TEXT_TRANSFORM_CAPITALIZE, dw::core::style::TEXT_TRANSFORM_LOWERCASE, dw::core::style::TEXT_TRANSFORM_NONE, dw::core::style::TEXT_TRANSFORM_UPPERCASE, dw::core::Layout::textToLower(), dw::core::Layout::textToUpper(), and dw::core::style::StyleAttrs::textTransform.
Referenced by drawWord0().
|
protected |
Draw a word of text.
Since hyphenated words consist of multiple instance of dw::Textblock::Word, which should be drawn as a whole (to preserve kerning etc.; see Changes in Line-Breaking and Hyphenation), two indices are passed. See also drawLine(), where drawWord() is called.
Definition at line 1281 of file textblock.cc.
References dw::Textblock::Line::borderAscent, dw::Textblock::Line::borderDescent, dw::Textblock::Word::content, dw::Textblock::Word::DIV_CHAR_AT_EOL, dw::core::Widget::drawBox(), drawWord0(), dw::core::style::StyleAttrs::hasBackground(), hyphenDrawChar, dw::Textblock::Line::lastWord, dw::Textblock::Word::size, dw::core::Widget::style, dw::core::Content::text, dw::core::Requisition::width, and words.
Referenced by drawLine().
|
protected |
TODO Comment.
Definition at line 1336 of file textblock.cc.
References dw::core::Widget::allocation, dw::core::style::Font::ascent, dw::core::style::StyleAttrs::backgroundColor, decorateText(), dw::core::style::Font::descent, dw::core::View::drawRectangle(), drawText(), dw::core::style::StyleAttrs::font, dw::core::Widget::getBgColor(), dw::core::HIGHLIGHT_NUM_LAYERS, hlEnd, hlStart, index, lout::misc::min(), nChar, dw::core::style::Color::SHADING_INVERSE, dw::core::style::Color::SHADING_NORMAL, dw::core::Widget::style, dw::core::style::StyleAttrs::textDecoration, textWidth(), dw::core::style::StyleAttrs::valign, dw::core::style::VALIGN_SUB, dw::core::style::VALIGN_SUPER, dw::Textblock::Word::WORD_START, words, dw::core::Allocation::x, and dw::core::Allocation::y.
Referenced by drawWord().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 1000 of file textblock.cc.
References _MSG, hoverLink, and hoverTooltip.
|
protected |
Counter part to rewrap(), but for extremes, not size calculation.
Definition at line 1984 of file textblock_linebreaking.cc.
References DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM, findParagraphOfWord(), handleWordExtremes(), lines, lout::misc::max(), lout::misc::min(), paragraphs, words, and wrapRefParagraphs.
Referenced by getExtremesSimpl().
|
protected |
Definition at line 2642 of file textblock.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::core::style::StyleAttrs::font, dw::core::style::Style::ref(), removeSpaceImgRenderer(), setBreakOption(), setSpaceImgRenderer(), dw::core::style::Font::spaceWidth, dw::core::Widget::style, dw::core::style::WHITE_SPACE_NORMAL, dw::core::style::WHITE_SPACE_NOWRAP, dw::core::style::WHITE_SPACE_PRE, dw::core::style::WHITE_SPACE_PRE_LINE, dw::core::style::WHITE_SPACE_PRE_WRAP, dw::core::style::StyleAttrs::whiteSpace, dw::core::Content::WIDGET_OOF_REF, words, and dw::core::style::StyleAttrs::wordSpacing.
Referenced by addSpace(), and hyphenateWord().
|
protected |
Definition at line 1874 of file textblock.cc.
References dw::core::Requisition::ascent, dw::Textblock::Word::badnessAndPenalty, dw::Textblock::Word::content, DBG_SET_WORD_SIZE, dw::core::Requisition::descent, dw::Textblock::Word::effSpace, dw::Textblock::Word::flags, dw::core::Widget::flags, dw::Textblock::Word::hyphenWidth, dw::Textblock::Word::origSpace, PENALTY_PROHIBIT_BREAK, dw::core::style::Style::ref(), removeSpaceImgRenderer(), removeWordImgRenderer(), dw::Textblock::BadnessAndPenalty::setPenalty(), setSpaceImgRenderer(), setWordImgRenderer(), dw::Textblock::Word::size, dw::core::Content::space, dw::Textblock::Word::spaceStyle, dw::Textblock::Word::style, dw::core::Widget::style, dw::core::Requisition::width, and words.
Referenced by addWord(), and hyphenateWord().
|
protected |
Find the first line index that includes y, which is given in widget coordinates.
Definition at line 1572 of file textblock.cc.
References findLineIndexWhenAllocated(), findLineIndexWhenNotAllocated(), and dw::core::Widget::wasAllocated().
Referenced by findLineIndexWhenAllocated(), and findLineIndexWhenNotAllocated().
|
protected |
Definition at line 1598 of file textblock.cc.
References dw::core::Allocation::ascent, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, index, lines, and lineYOffsetWidget().
|
protected |
Definition at line 1592 of file textblock.cc.
References dw::core::Widget::allocation, dw::core::Allocation::ascent, findLineIndex(), and dw::core::Widget::wasAllocated().
Referenced by drawLevel(), findLineIndex(), findWord(), getWidgetAtPointLevel(), and sendSelectionEvent().
|
protected |
Definition at line 1578 of file textblock.cc.
References calcVerticalBorder(), dw::core::Widget::extraSpace, findLineIndex(), dw::core::Widget::getStyle(), lines, dw::core::style::Box::top, and dw::core::style::StyleAttrs::top.
Referenced by findLineIndex().
|
protected |
Find the line of word wordIndex.
Definition at line 1637 of file textblock.cc.
References index, lines, and words.
Referenced by dw::Textblock::TextblockIterator::getAllocation(), queueDrawRange(), sizeAllocateImpl(), and widgetRefSizeChanged().
|
protected |
Find the paragraph of word wordIndex.
Definition at line 1661 of file textblock.cc.
References index, paragraphs, and words.
Referenced by fillParagraphs().
|
inlineprotected |
Definition at line 688 of file textblock.hh.
References findSizeRequestReference(), and dw::oof::OOFAwareWidget::oofContainer.
|
protected |
Definition at line 2419 of file textblock.cc.
References dw::core::SizeParams::findReference(), and sizeRequestParams.
Referenced by addLine(), calcBorders(), calcExtraSpaceImpl(), findSizeRequestReference(), getGeneratorRest(), getGeneratorWidth(), getGeneratorX(), getGeneratorY(), sizeRequestImpl(), wrapWordInFlow(), and wrapWordOofRef().
|
protected |
Find the index of the word, or -1.
Definition at line 1687 of file textblock.cc.
References dw::core::style::Font::ascent, dw::core::Requisition::ascent, dw::Textblock::Line::borderAscent, dw::Textblock::Line::borderDescent, dw::core::Content::BREAK, dw::core::style::Font::descent, dw::Textblock::Word::effSpace, findLineIndexWhenAllocated(), dw::Textblock::Line::firstWord, dw::core::style::StyleAttrs::font, dw::Textblock::Line::lastWord, lines, lineYOffsetWidget(), dw::Textblock::Word::size, dw::Textblock::Word::spaceStyle, dw::Textblock::Line::textOffset, dw::core::Requisition::width, and words.
Referenced by motionNotifyImpl().
void dw::Textblock::flush | ( | ) |
Definition at line 2976 of file textblock.cc.
References DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, DBG_OBJ_MSG, DBG_OBJ_SET_BOOL, mustQueueResize, and dw::core::Widget::queueResize().
Referenced by addTextToFloatTimeout(), main(), and textTimeout().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 809 of file textblock.cc.
References dw::oof::OutOfFlowMgr::getAvailHeightOfChild(), dw::oof::OOFAwareWidget::getWidgetOutOfFlowMgr(), and dw::oof::OOFAwareWidget::isWidgetOOF().
Referenced by dw::AlignedTableCell::getAvailHeightOfChild(), and dw::SimpleTableCell::getAvailHeightOfChild().
|
protectedvirtual |
Computes the content width available of a child widget.
child | The child widget of which the available width will be computed. |
forceValue | If true, computes the width of the child with value "auto". Otherwise, it wont. |
Reimplemented from dw::core::Widget.
Definition at line 755 of file textblock.cc.
References dw::core::Widget::boxDiffWidth(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSG, dw::oof::OutOfFlowMgr::dealingWithSizeOfChild(), dw::core::Widget::extremes, dw::core::Widget::getAvailWidth(), dw::oof::OutOfFlowMgr::getAvailWidthOfChild(), dw::core::Widget::getExtremes(), dw::oof::OOFAwareWidget::getWidgetOutOfFlowMgr(), dw::oof::OOFAwareWidget::isWidgetOOF(), leftInnerPadding, dw::core::style::LENGTH_AUTO, lout::misc::max(), dw::core::Extremes::maxWidth, and usesMaxGeneratorWidth().
Referenced by dw::AlignedTableCell::getAvailWidthOfChild(), and dw::SimpleTableCell::getAvailWidthOfChild().
|
protectedvirtual |
See Sizes of Dillo Widgets (or Size requisitions depending on positions).
Reimplemented from dw::core::Widget.
Definition at line 533 of file textblock.cc.
References index, and sizeReferences.
|
protectedvirtual |
Simple variant, to be implemented by widgets with extremes not depending on positions.
Reimplemented from dw::core::Widget.
Definition at line 467 of file textblock.cc.
References dw::core::Extremes::adjustmentWidth, dw::core::Widget::boxDiffWidth(), dw::core::Widget::correctExtremes(), dw::oof::OOFAwareWidget::correctExtremesByOOF(), DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::core::Widget::extremes, fillParagraphs(), leftInnerPadding, dw::Textblock::Paragraph::maxParAdjustmentWidth, dw::Textblock::Paragraph::maxParMax, dw::Textblock::Paragraph::maxParMaxIntrinsic, dw::Textblock::Paragraph::maxParMin, dw::Textblock::Paragraph::maxParMinIntrinsic, dw::core::Extremes::maxWidth, dw::core::Extremes::maxWidthIntrinsic, dw::core::Extremes::minWidth, dw::core::Extremes::minWidthIntrinsic, and paragraphs.
|
protected |
Definition at line 3146 of file textblock.cc.
References lout::misc::assertNotReached(), dw::core::Widget::container, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, findSizeRequestReference(), dw::oof::OOFAwareWidget::getGeneratorWidth(), getGeneratorWidth(), dw::oof::OOFAwareWidget::OOFAwareWidget(), and dw::oof::OOFAwareWidget::oofContainer.
Referenced by calcBorders().
|
virtual |
Return width including margin/border/padding Called by OOFFloatsMgr to position floats.
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 3165 of file textblock.cc.
References dw::core::Widget::boxDiffWidth(), CLASS_ID, dw::Textblock::Word::content, DBG_OBJ_ENTER0, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSGF, findSizeRequestReference(), getGeneratorWidth(), lout::identity::IdentifiableObject::instanceOf(), leftInnerPadding, lineBreakWidth, lines, lout::misc::max(), lout::misc::min(), dw::core::Content::type, usesMaxGeneratorWidth(), dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, and words.
Referenced by getGeneratorRest(), and getGeneratorWidth().
|
virtual |
Return position relative to container, not regarding margin/border/padding, Called by OOFFloatsMgr to position floats.
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 3112 of file textblock.cc.
References lout::misc::assertNotReached(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, and findSizeRequestReference().
Referenced by calcBorders().
|
virtual |
Return position relative to container, not regarding margin/border/padding, Called by OOFFloatsMgr to position floats.
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 3129 of file textblock.cc.
References lout::misc::assertNotReached(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, and findSizeRequestReference().
|
protected |
Definition at line 2262 of file textblock_linebreaking.cc.
Referenced by accumulateWordData().
|
protected |
Definition at line 2267 of file textblock_linebreaking.cc.
References DBG_MSG_WORD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG, DBG_OBJ_MSGF, dw::Textblock::Word::maxAscent, dw::Textblock::Word::maxDescent, dw::Textblock::Word::spaceStyle, stretchabilityFactor, dw::core::style::TEXT_ALIGN_JUSTIFY, dw::core::style::StyleAttrs::textAlign, and words.
Referenced by accumulateWordData().
|
virtual |
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 3217 of file textblock.cc.
References DBG_OBJ_ENTER0, DBG_OBJ_LEAVE_VAL, and lineBreakWidth.
|
staticprotected |
Definition at line 2244 of file textblock_linebreaking.cc.
References dw::Textblock::Word::origSpace, dw::Textblock::Word::spaceStyle, dw::core::style::TEXT_ALIGN_JUSTIFY, and dw::core::style::StyleAttrs::textAlign.
Referenced by accumulateWordData(), and justifyLine().
|
staticprotected |
Definition at line 2252 of file textblock_linebreaking.cc.
References dw::Textblock::Word::origSpace, dw::Textblock::Word::spaceStyle, dw::core::style::TEXT_ALIGN_JUSTIFY, and dw::core::style::StyleAttrs::textAlign.
Referenced by accumulateWordData(), and justifyLine().
|
protectedvirtual |
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 2890 of file textblock.cc.
References dw::core::Widget::allocation, dw::Textblock::Word::content, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, dw::oof::OOFAwareWidget::doesWidgetOOFInterruptDrawing(), findLineIndexWhenAllocated(), dw::Textblock::Line::firstWord, dw::oof::OOFAwareWidget::getOOFMIndex(), dw::core::Widget::getWidgetAtPoint(), dw::core::Widget::getWidgetAtPointInterrupted(), dw::core::StackingContextMgr::handledByStackingContextMgr(), dw::Textblock::Line::lastWord, lines, dw::oof::OOFAwareWidget::NUM_OOFM, dw::oof::OOFAwareWidget::SL_IN_FLOW, dw::oof::OOFAwareWidget::SL_OOF_REF, dw::oof::OOFAwareWidget::stackingLevelText(), dw::core::Content::type, dw::core::WidgetReference::widget, dw::core::Content::widget, dw::core::Widget::Widget(), dw::core::Content::WIDGET_IN_FLOW, dw::core::Content::WIDGET_OOF_REF, dw::core::Content::widgetReference, words, and dw::core::Allocation::y.
|
protected |
Definition at line 3276 of file textblock.cc.
References dw::RegardingBorder::CLASS_ID, dw::Textblock::Word::content, DBG_MSG_WORD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSGF, dw::oof::OOFAwareWidget::isOOFContainer(), dw::oof::OOFAwareWidget::OOFM_FLOATS, dw::core::Content::type, dw::core::Content::widget, dw::core::Widget::Widget(), dw::core::Content::WIDGET_IN_FLOW, and words.
|
protected |
Definition at line 3267 of file textblock.cc.
References getWidgetRegardingBorderForLine(), lines, and words.
|
protected |
Definition at line 3262 of file textblock.cc.
References dw::Textblock::Line::firstWord, getWidgetRegardingBorderForLine(), and dw::Textblock::Line::lastWord.
Referenced by getWidgetRegardingBorderForLine(), getWidgetRegardingBorderForLine(), mustBorderBeRegarded(), and mustBorderBeRegarded().
|
protected |
Get the extremes of a word within a textblock.
Definition at line 457 of file textblock.cc.
References dw::core::Extremes::adjustmentWidth, dw::Textblock::Word::content, dw::core::Widget::extremes, dw::core::Widget::getExtremes(), dw::core::Extremes::maxWidth, dw::core::Extremes::maxWidthIntrinsic, dw::core::Extremes::minWidth, dw::core::Extremes::minWidthIntrinsic, dw::Textblock::Word::size, dw::core::Content::type, dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, and dw::core::Requisition::width.
Referenced by handleWordExtremes().
|
protected |
Counter part to wordWrap(), but for extremes, not size calculation.
Definition at line 1251 of file textblock_linebreaking.cc.
References dw::core::Extremes::adjustmentWidth, dw::Textblock::Word::badnessAndPenalty, DBG_MSG_WORD, DBG_OBJ_ARRATTRSET_NUM, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM, dw::Textblock::Paragraph::firstWord, dw::Textblock::Word::flags, getWordExtremes(), dw::Textblock::Word::hyphenWidth, initLine1Offset(), dw::Textblock::Paragraph::lastWord, line1OffsetEff, dw::Textblock::BadnessAndPenalty::lineCanBeBroken(), lout::misc::max(), dw::Textblock::Paragraph::maxParAdjustmentWidth, dw::Textblock::Paragraph::maxParMax, dw::Textblock::Paragraph::maxParMaxIntrinsic, dw::Textblock::Paragraph::maxParMin, dw::Textblock::Paragraph::maxParMinIntrinsic, dw::core::Extremes::maxWidth, dw::core::Extremes::maxWidthIntrinsic, dw::core::Extremes::minWidth, dw::core::Extremes::minWidthIntrinsic, dw::Textblock::Word::origSpace, dw::Textblock::Paragraph::parAdjustmentWidth, paragraphs, dw::Textblock::Paragraph::parMax, dw::Textblock::Paragraph::parMaxIntrinsic, dw::Textblock::Paragraph::parMin, dw::Textblock::Paragraph::parMinIntrinsic, dw::Textblock::Word::UNBREAKABLE_FOR_MIN_WIDTH, and words.
Referenced by fillParagraphs(), and processWord().
void dw::Textblock::handOverBreak | ( | core::style::Style * | style | ) |
This function "hands" the last break of a page "over" to a parent page.
This is used for "collapsing spaces".
Definition at line 2955 of file textblock.cc.
References addParbreak(), dw::Textblock::Line::breakSpace, CLASS_ID, dw::core::style::StyleAttrs::display, dw::core::style::DISPLAY_BLOCK, dw::core::Widget::getParent(), dw::core::Widget::getStyle(), lout::identity::IdentifiableObject::instanceOf(), lines, dw::core::Widget::parent, dw::core::Widget::style, and dw::core::Widget::Widget().
|
protected |
Definition at line 1408 of file textblock_linebreaking.cc.
References accumulateWordData(), anchors, dw::Textblock::Word::badnessAndPenalty, calcTextSizes(), dw::Textblock::Word::content, DBG_IF_RTFL, DBG_SET_WORD, dw::Textblock::Word::DIV_CHAR_AT_EOL, dw::Textblock::Word::DRAW_AS_ONE_TEXT, fillSpace(), fillWord(), dw::Textblock::Word::flags, dw::core::style::StyleAttrs::font, dw::Hyphenator::getHyphenator(), dw::core::Layout::getPlatform(), dw::Hyphenator::hyphenateWord(), hyphenDrawChar, dw::Textblock::Word::hyphenWidth, initWord(), dw::core::Widget::layout, moveWordIndices(), penalties, PENALTY_HYPHEN, PRINTF, dw::Textblock::BadnessAndPenalty::setPenalties(), dw::core::Content::space, dw::Textblock::Word::spaceStyle, lout::misc::ZoneAllocator::strndup(), dw::Textblock::Word::style, dw::core::Content::TEXT, dw::core::Content::text, dw::core::Layout::textWidth(), dw::core::Layout::textZone, dw::core::Content::type, dw::Textblock::Word::UNBREAKABLE_FOR_MIN_WIDTH, dw::core::style::Style::unref(), dw::Textblock::Word::WORD_END, dw::Textblock::Word::WORD_START, dw::Textblock::Anchor::wordIndex, words, and dw::core::style::StyleAttrs::x_lang.
Referenced by searchBreakPos().
|
protected |
Definition at line 1750 of file textblock_linebreaking.cc.
References dw::core::style::absLengthVal(), dw::Textblock::Word::content, dw::core::Widget::getStyle(), ignoreLine1OffsetSometimes, dw::core::Widget::isBlockLevel(), dw::core::style::isPerLength(), line1Offset, line1OffsetEff, lineBreakWidth, dw::core::style::multiplyWithPerLengthRounded(), dw::Textblock::Word::size, dw::core::Content::type, dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, dw::core::Requisition::width, and words.
Referenced by handleWordExtremes(), and wordWrap().
|
protected |
Definition at line 2041 of file textblock_linebreaking.cc.
References calcBorders(), DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, DBG_OBJ_SET_NUM, lines, newLineAscent, and newLineDescent.
Referenced by addLine(), rewrap(), and Textblock().
|
protected |
Basic initialization, which is neccessary before fillWord.
Definition at line 1800 of file textblock.cc.
References dw::Textblock::Word::spaceImgRenderer, dw::Textblock::Word::spaceStyle, dw::Textblock::Word::style, dw::Textblock::Word::wordImgRenderer, and words.
Referenced by addWord(), and hyphenateWord().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 938 of file textblock.cc.
|
protected |
Definition at line 2720 of file textblock.cc.
References lout::misc::assertNotReached(), dw::core::Widget::style, dw::core::style::WHITE_SPACE_NORMAL, dw::core::style::WHITE_SPACE_NOWRAP, dw::core::style::WHITE_SPACE_PRE, dw::core::style::WHITE_SPACE_PRE_LINE, dw::core::style::WHITE_SPACE_PRE_WRAP, and dw::core::style::StyleAttrs::whiteSpace.
Referenced by isBreakAllowedInWord(), and setBreakOption().
|
inlineprotected |
Definition at line 677 of file textblock.hh.
References isBreakAllowed(), and dw::Textblock::Word::style.
Referenced by isHyphenationCandidate().
|
protected |
Definition at line 1225 of file textblock_linebreaking.cc.
References dw::Textblock::Word::CAN_BE_HYPHENATED, dw::Textblock::Word::content, dw::Textblock::Word::flags, isBreakAllowedInWord(), dw::Hyphenator::isHyphenationCandidate(), dw::Textblock::Word::style, dw::core::Content::TEXT, dw::core::Content::text, dw::core::Content::type, and dw::core::style::StyleAttrs::x_lang.
Referenced by considerHyphenation().
|
virtual |
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 3252 of file textblock.cc.
|
virtual |
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 3257 of file textblock.cc.
|
virtual |
Return an iterator for this widget.
mask can narrow the types returned by the iterator, this can enhance performance quite much, e.g. when only searching for child widgets.
With atEnd == false, the iterator starts before the beginning, i.e. the first call of dw::core::Iterator::next will let the iterator point on the first piece of contents. Likewise, With atEnd == true, the iterator starts after the last piece of contents, call dw::core::Iterator::prev in this case.
Implements dw::core::Widget.
Definition at line 1176 of file textblock.cc.
|
protected |
Definition at line 249 of file textblock_linebreaking.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::Textblock::Word::effSpace, dw::Textblock::Line::firstWord, getSpaceShrinkability(), getSpaceStretchability(), dw::Textblock::Line::lastWord, dw::Textblock::Word::origSpace, and words.
Referenced by alignLine().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 1007 of file textblock.cc.
References _MSG, dw::core::Layout::emitLinkEnter(), hoverLink, hoverTooltip, dw::core::Widget::layout, and dw::core::style::Tooltip::onLeave().
|
inlineprotected |
Definition at line 742 of file textblock.hh.
References lines, and lineYOffsetCanvas().
|
inlineprotected |
Definition at line 727 of file textblock.hh.
References dw::core::Widget::allocation, and lineYOffsetCanvas().
|
inlineprotected |
Definition at line 722 of file textblock.hh.
References dw::core::Widget::allocation, lineYOffsetWidget(), and dw::core::Allocation::y.
Referenced by dw::Textblock::TextblockIterator::getAllocation(), lineYOffsetCanvas(), lineYOffsetCanvas(), sendSelectionEvent(), and sizeAllocateImpl().
|
inlineprotected |
Definition at line 732 of file textblock.hh.
References lines, and lineYOffsetWidget().
|
inlineprotected |
Definition at line 737 of file textblock.hh.
References dw::core::Widget::allocation, lines, and lineYOffsetWidget().
|
inlineprotected |
Definition at line 717 of file textblock.hh.
References dw::core::Widget::allocation, and lineYOffsetWidget().
|
inlineprotected |
Definition at line 712 of file textblock.hh.
References dw::core::Widget::allocation, dw::core::Allocation::ascent, lines, and dw::Textblock::Line::top.
Referenced by addAnchor(), changeLinkColor(), drawLevel(), drawLine(), findLineIndex(), findWord(), lineYOffsetCanvas(), lineYOffsetWidget(), lineYOffsetWidget(), lineYOffsetWidget(), queueDrawRange(), sendSelectionEvent(), and sizeAllocateImpl().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 911 of file textblock.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_SET_NUM, dw::oof::OOFAwareWidget::getParentRefInFlowSubRef(), dw::oof::OOFAwareWidget::getParentRefOOFSubRef(), dw::oof::OOFAwareWidget::getParentRefOutOfFlowMgr(), dw::oof::OOFAwareWidget::isParentRefOOF(), dw::oof::OutOfFlowMgr::markExtremesChange(), lout::misc::min(), and wrapRefParagraphs.
Referenced by markSizeChange().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 877 of file textblock.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_SET_NUM, dw::oof::OOFAwareWidget::getParentRefInFlowSubRef(), dw::oof::OOFAwareWidget::getParentRefOOFSubRef(), dw::oof::OOFAwareWidget::getParentRefOutOfFlowMgr(), dw::oof::OOFAwareWidget::isParentRefOOF(), markExtremesChange(), dw::oof::OutOfFlowMgr::markSizeChange(), lout::misc::min(), and wrapRefLines.
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 958 of file textblock.cc.
References _MSG, dw::core::BUTTON1_MASK, dw::core::SelectionState::BUTTON_MOTION, dw::core::style::StyleAttrs::cursor, dw::core::Layout::emitLinkEnter(), findWord(), dw::core::Widget::getStyle(), hoverLink, hoverTooltip, dw::core::Widget::layout, dw::core::style::Tooltip::onEnter(), dw::core::style::Tooltip::onLeave(), dw::core::style::Tooltip::onMotion(), sendSelectionEvent(), dw::core::Widget::setCursor(), dw::Textblock::Word::spaceStyle, dw::core::MouseEvent::state, dw::Textblock::Word::style, dw::core::Widget::style, dw::core::style::StyleAttrs::x_link, dw::core::style::StyleAttrs::x_tooltip, dw::core::MousePositionEvent::xWidget, and dw::core::MousePositionEvent::yWidget.
|
protected |
Definition at line 1517 of file textblock_linebreaking.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::Textblock::Paragraph::firstWord, dw::Textblock::Line::lastOofRefPositionedBeforeThisLine, dw::Textblock::Paragraph::lastWord, lines, dw::oof::OutOfFlowMgr::moveExternalIndices(), dw::oof::OOFAwareWidget::NUM_OOFM, paragraphs, and dw::oof::OOFAwareWidget::searchOutOfFlowMgr().
Referenced by hyphenateWord().
|
inlinestatic |
Definition at line 876 of file textblock.hh.
References dw::core::Widget::style, dw::oof::OOFAwareWidget::testStyleOutOfFlow(), and dw::oof::OOFAwareWidget::testStyleRelativelyPositioned().
|
inlineprotected |
Definition at line 701 of file textblock.hh.
References getWidgetRegardingBorderForLine().
|
inlineprotected |
Of nested text blocks, only the most inner one must regard the borders of floats.
Definition at line 696 of file textblock.hh.
References getWidgetRegardingBorderForLine().
Referenced by addLine(), calcLineBreakWidth(), dw::Textblock::TextblockIterator::getAllocation(), and wrapWordInFlow().
|
protectedvirtual |
This method is called after a widget has been set as the top of a widget tree.
A widget may override this method when it is necessary to be notified.
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 538 of file textblock.cc.
References DBG_OBJ_SET_NUM, and numSizeReferences.
|
protectedvirtual |
This method is called after a widget has been added to a parent.
A widget may override this method when it is necessary to be notified.
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 546 of file textblock.cc.
References DBG_OBJ_ARRSET_PTR, DBG_OBJ_SET_NUM, dw::oof::OOFAwareWidget::NUM_OOFM, numSizeReferences, dw::oof::OOFAwareWidget::oofContainer, and sizeReferences.
|
protectedvirtual |
See Sizes of Dillo Widgets (or Size requisitions depending on positions).
Reimplemented from dw::core::Widget.
Definition at line 528 of file textblock.cc.
References numSizeReferences.
|
protectedvirtual |
See Sizes of Dillo Widgets (or Size requisitions depending on positions).
Reimplemented from dw::core::Widget.
Definition at line 422 of file textblock.cc.
References numSizeReferences.
|
virtual |
Called by an implementation of dw::oof::OutOfFlowMgr when the size of the container has changed, typically in sizeAllocateEnd.
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 3098 of file textblock.cc.
References dw::core::Widget::containerSizeChanged(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE, dw::core::Widget::extremesChanged(), dw::core::Widget::queueResize(), and usesMaxGeneratorWidth().
|
protected |
Definition at line 498 of file textblock_linebreaking.cc.
References DBG_MSG_WORD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG, DBG_OBJ_MSG_END, DBG_OBJ_MSG_START, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM, handleWordExtremes(), paragraphs, and wordWrap().
Referenced by addLinebreak(), addParbreak(), addText0(), and addWidget().
|
protected |
Definition at line 3050 of file textblock.cc.
References dw::core::Widget::allocation, dw::Textblock::Line::borderAscent, dw::Textblock::Line::contentAscent, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, findLineOfWord(), lines, lineYOffsetWidget(), lout::misc::max(), lout::misc::min(), dw::core::Widget::queueDrawArea(), dw::core::Allocation::width, and words.
Referenced by dw::Textblock::TextblockIterator::highlight(), and dw::Textblock::TextblockIterator::unhighlight().
|
protected |
Definition at line 1171 of file textblock.cc.
|
protected |
Definition at line 1850 of file textblock.cc.
References dw::core::style::StyleAttrs::backgroundImage, dw::core::style::StyleImage::removeExternalImgRenderer(), dw::Textblock::Word::spaceImgRenderer, dw::Textblock::Word::spaceStyle, and words.
Referenced by cleanupWord(), fillSpace(), and fillWord().
|
protected |
Definition at line 2223 of file textblock_linebreaking.cc.
References accumulateWordData(), DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, DBG_OBJ_SET_NUM, lines, nonTemporaryLines, and words.
Referenced by wordWrap().
|
protected |
Definition at line 1826 of file textblock.cc.
References dw::core::style::StyleAttrs::backgroundImage, dw::core::style::StyleImage::removeExternalImgRenderer(), dw::Textblock::Word::style, dw::Textblock::Word::wordImgRenderer, and words.
Referenced by cleanupWord(), and fillWord().
|
protectedvirtual |
Called after sizeAllocateImpl() to redraw necessary areas.
By default the whole widget is redrawn.
Reimplemented from dw::core::Widget.
Definition at line 857 of file textblock.cc.
References dw::core::Widget::allocation, DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, DBG_OBJ_SET_NUM, dw::core::Widget::getHeight(), dw::Textblock::Line::lastWord, lastWordDrawn, lines, dw::core::Widget::queueDrawArea(), redrawY, and dw::core::Allocation::width.
|
protected |
Rewrap the page from the line from which this is necessary.
There are basically two times we'll want to do this: either when the viewport is resized, or when the size changes on one of the child widgets.
Definition at line 1910 of file textblock_linebreaking.cc.
References calcSizeOfWidgetInFlow(), dw::oof::OutOfFlowMgr::calcWidgetRefSize(), dw::Textblock::Word::content, DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, DBG_OBJ_MSG, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM, DBG_SET_WORD_SIZE, dw::oof::OOFAwareWidget::getOOFMIndex(), initNewLine(), dw::Textblock::Line::lastWord, lastWordDrawn, lines, lout::misc::min(), nonTemporaryLines, dw::oof::OOFAwareWidget::searchOutOfFlowMgr(), dw::Textblock::Word::size, dw::core::Content::type, dw::core::WidgetReference::widget, dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, dw::core::Content::WIDGET_OOF_REF, dw::core::Content::widgetReference, words, wordWrap(), and wrapRefLines.
Referenced by sizeRequestImpl().
|
protected |
Definition at line 1006 of file textblock_linebreaking.cc.
References accumulateWordData(), considerHyphenation(), DBG_IF_RTFL, DBG_MSG_WORD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSG, DBG_OBJ_MSG_END, DBG_OBJ_MSG_START, DBG_OBJ_MSGF, lout::misc::StringBuffer::getChars(), hyphenateWord(), searchMinBap(), and words.
Referenced by balanceBreakPosAndHeight().
|
protected |
Definition at line 1118 of file textblock_linebreaking.cc.
References dw::Textblock::Word::badnessAndPenalty, dw::Textblock::BadnessAndPenalty::compareTo(), DBG_IF_RTFL, DBG_MSG_WORD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG_END, DBG_OBJ_MSG_START, DBG_OBJ_MSGF, lout::misc::StringBuffer::getChars(), dw::Textblock::BadnessAndPenalty::intoStringBuffer(), dw::Textblock::BadnessAndPenalty::setPenalty(), and words.
Referenced by searchBreakPos().
|
protected |
Send event to selection.
Definition at line 1024 of file textblock.cc.
References dw::core::style::Font::ascent, dw::core::Requisition::ascent, lout::misc::boolToStr(), dw::Textblock::Line::borderAscent, dw::Textblock::Line::borderDescent, dw::core::Content::BREAK, dw::Textblock::Word::content, dw::Textblock::TextblockIterator::createWordIndexIterator(), DBG_MSG_WORD, DBG_OBJ_ENTER0, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSGF, dw::core::style::Font::descent, dw::core::Requisition::descent, dw::Textblock::Word::effSpace, dw::core::SelectionState::END_OF_WORD, findLineIndexWhenAllocated(), dw::Textblock::Line::firstWord, dw::Textblock::Word::flags, dw::core::style::StyleAttrs::font, dw::Textblock::Line::lastWord, dw::core::Widget::layout, lines, lineYOffsetCanvas(), lineYOffsetWidget(), dw::core::Content::maskForSelection(), dw::core::Layout::nextGlyph(), dw::core::Widget::selectionHandleEvent(), dw::Textblock::Word::size, dw::Textblock::Word::spaceStyle, dw::Textblock::Word::style, dw::core::Content::TEXT, dw::core::Content::text, dw::Textblock::Line::textOffset, textWidth(), dw::core::Content::type, dw::core::Iterator::unref(), dw::core::Requisition::width, dw::Textblock::Word::WORD_END, dw::Textblock::Word::WORD_START, words, dw::core::style::StyleAttrs::x_link, dw::core::MousePositionEvent::xWidget, dw::core::MousePositionEvent::yCanvas, and dw::core::MousePositionEvent::yWidget.
Referenced by buttonPressImpl(), buttonReleaseImpl(), and motionNotifyImpl().
|
protected |
Set a break option, if allowed by the style.
Called by fillSpace (and so addSpace), but may be called, via addBreakOption(), as an alternative, e. g. for ideographic characters.
Definition at line 2701 of file textblock.cc.
References dw::Textblock::Word::badnessAndPenalty, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, isBreakAllowed(), dw::Textblock::BadnessAndPenalty::lineMustBeBroken(), PENALTY_PROHIBIT_BREAK, dw::Textblock::BadnessAndPenalty::setPenalties(), dw::Textblock::BadnessAndPenalty::setPenalty(), and dw::core::Widget::style.
Referenced by addBreakOption(), addText(), addWidget(), and fillSpace().
|
static |
Definition at line 185 of file textblock.cc.
References penalties, and PENALTY_EM_DASH_LEFT.
Referenced by main().
|
static |
Definition at line 191 of file textblock.cc.
References penalties, and PENALTY_EM_DASH_RIGHT.
Referenced by main().
|
static |
Definition at line 196 of file textblock.cc.
References penalties, and PENALTY_EM_DASH_RIGHT.
Referenced by main().
|
static |
Definition at line 175 of file textblock.cc.
References penalties, and PENALTY_HYPHEN.
Referenced by main().
|
static |
Definition at line 180 of file textblock.cc.
References penalties, and PENALTY_HYPHEN.
Referenced by main().
|
protected |
Definition at line 1862 of file textblock.cc.
References dw::core::style::StyleAttrs::backgroundImage, dw::core::style::StyleImage::putExternalImgRenderer(), dw::Textblock::Word::spaceImgRenderer, dw::Textblock::Word::spaceStyle, and words.
Referenced by fillSpace(), and fillWord().
|
static |
|
protected |
Definition at line 1838 of file textblock.cc.
References dw::core::style::StyleAttrs::backgroundImage, dw::core::style::StyleImage::putExternalImgRenderer(), dw::Textblock::Word::style, dw::Textblock::Word::wordImgRenderer, and words.
Referenced by fillWord().
|
protected |
Definition at line 2166 of file textblock_linebreaking.cc.
References addText0(), cleanupWord(), DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::core::Widget::getStyle(), lines, dw::core::Content::WIDGET_OOF_REF, dw::Textblock::Word::WORD_END, dw::Textblock::Word::WORD_START, words, and wordWrap().
Referenced by sizeAllocateImpl(), and sizeRequestImpl().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 569 of file textblock.cc.
References dw::core::Widget::allocation, anchors, dw::core::Allocation::ascent, dw::core::Requisition::ascent, dw::Textblock::Line::borderAscent, dw::core::Content::BREAK, calcTextOffset(), dw::core::Widget::changeAnchor(), dw::Textblock::Word::content, DBG_MSG_WORD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG_END, DBG_OBJ_MSG_START, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM, dw::core::Allocation::descent, dw::core::Requisition::descent, dw::Textblock::Word::effSpace, findLineOfWord(), dw::Textblock::Line::firstWord, dw::core::Widget::getAllocation(), dw::Textblock::Line::lastWord, lastWordDrawn, lineBreakWidth, lines, lineYOffsetCanvas(), lineYOffsetWidget(), lout::misc::min(), dw::Textblock::Anchor::name, redrawY, showMissingLines(), dw::Textblock::Word::size, dw::core::Widget::sizeAllocate(), dw::oof::OOFAwareWidget::sizeAllocateEnd(), dw::oof::OOFAwareWidget::sizeAllocateStart(), dw::Textblock::Line::textOffset, dw::core::Content::type, dw::core::Widget::wasAllocated(), dw::core::Content::widget, dw::core::Content::WIDGET_IN_FLOW, dw::core::Allocation::width, dw::core::Requisition::width, dw::Textblock::Anchor::wordIndex, words, dw::core::Allocation::x, and dw::core::Allocation::y.
|
protected |
The ascent of a textblock is the ascent of the first line, plus padding/border/margin.
This can be used to align the first lines of several textblocks in a horizontal line.
Definition at line 308 of file textblock.cc.
References dw::core::Requisition::ascent, dw::Textblock::Line::borderAscent, dw::core::style::Box::bottom, dw::core::style::StyleAttrs::bottom, dw::core::Widget::boxDiffWidth(), dw::core::Widget::boxOffsetY(), dw::core::Widget::boxRestHeight(), calcVerticalBorder(), dw::core::Widget::correctRequisition(), dw::oof::OOFAwareWidget::correctRequisitionByOOF(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM, dw::core::Requisition::descent, dw::core::Widget::extraSpace, dw::core::SizeParams::fill(), findSizeRequestReference(), dw::core::Widget::getAvailWidth(), dw::core::Widget::getStyle(), leftInnerPadding, lineBreakWidth, lines, dw::Textblock::Line::marginAscent, dw::oof::OOFAwareWidget::OOFM_FLOATS, dw::core::Widget::requisition, rewrap(), showMissingLines(), sizeRequestParams, dw::core::splitHeightPreserveAscent(), dw::core::style::Box::top, dw::core::style::StyleAttrs::top, usesMaxGeneratorWidth(), dw::core::Requisition::width, wrapRefLines, wrapRefLinesFCX, and wrapRefLinesFCY.
|
protectedvirtual |
See Sizes of Dillo Widgets (or Size requisitions depending on positions).
Reimplemented from dw::core::Widget.
Definition at line 427 of file textblock.cc.
References index, and sizeReferences.
|
protected |
Definition at line 1907 of file textblock.cc.
References dw::core::style::StyleAttrs::font, dw::core::Widget::layout, dw::core::Layout::nextGlyph(), dw::core::Widget::style, dw::core::style::TEXT_TRANSFORM_CAPITALIZE, dw::core::style::TEXT_TRANSFORM_LOWERCASE, dw::core::style::TEXT_TRANSFORM_NONE, dw::core::style::TEXT_TRANSFORM_UPPERCASE, dw::core::Layout::textToLower(), dw::core::Layout::textToUpper(), dw::core::style::StyleAttrs::textTransform, and dw::core::Layout::textWidth().
Referenced by calcTextSize(), drawWord0(), dw::Textblock::TextblockIterator::getAllocation(), and sendSelectionEvent().
|
virtual |
Update content in flow, down from ref
.
Uses e. g. when floats sizes have changed.
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 3079 of file textblock.cc.
References dw::core::style::CLEAR_NONE, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, dw::core::Widget::getStyle(), dw::core::Widget::queueResize(), and words.
|
protectedvirtual |
Must be implemengted by a method returning true, when getAvailWidth() is called.
Reimplemented from dw::core::Widget.
Definition at line 852 of file textblock.cc.
|
virtual |
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 3224 of file textblock.cc.
References lout::misc::boolToStr(), DBG_OBJ_ENTER0, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSG, DBG_OBJ_MSGF, dw::core::style::StyleAttrs::display, dw::core::style::DISPLAY_BLOCK, dw::core::Widget::getParent(), dw::core::Widget::getStyle(), dw::oof::OOFAwareWidget::testWidgetAbsolutelyPositioned(), dw::oof::OOFAwareWidget::testWidgetFixedlyPositioned(), dw::oof::OOFAwareWidget::testWidgetFloat(), and treatAsInline.
Referenced by affectsSizeChangeContainerChild(), getAvailWidthOfChild(), getGeneratorWidth(), oofSizeChanged(), and sizeRequestImpl().
|
virtual |
Called by an implementation of dw::oof::OutOfFlowMgr (actually only OOFPosRelMgr) for the generator of a widget out of flow, when the reference size has changed.
(The size of the reference is 0 * 0 for all other implementations of dw::oof::OutOfFlowMgr.)
Reimplemented from dw::oof::OOFAwareWidget.
Definition at line 3091 of file textblock.cc.
References findLineOfWord(), dw::oof::OOFAwareWidget::makeParentRefInFlow(), and dw::core::Widget::queueResize().
|
protectedvirtual |
Reimplemented in dw::AlignedTableCell.
Definition at line 558 of file textblock_linebreaking.cc.
References accumulateWordData(), dw::Textblock::Word::content, DBG_MSG_WORD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::Textblock::Word::effSpace, initLine1Offset(), dw::Textblock::Word::origSpace, removeTemporaryLines(), dw::core::Content::type, dw::core::Content::WIDGET_OOF_REF, words, wrapWordInFlow(), and wrapWordOofRef().
Referenced by processWord(), rewrap(), showMissingLines(), and dw::AlignedTableCell::wordWrap().
|
protected |
Definition at line 586 of file textblock_linebreaking.cc.
References accumulateWordData(), addLine(), balanceBreakPosAndHeight(), lout::misc::boolToStr(), dw::core::Widget::boxOffsetX(), calcPenaltyIndexForNewLine(), DBG_MSG_WORD, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG, DBG_OBJ_MSG_END, DBG_OBJ_MSG_START, DBG_OBJ_MSGF, DBG_OBJ_SET_BOOL, DBG_OBJ_SET_NUM_O, findSizeRequestReference(), dw::oof::OOFAwareWidget::getWidgetOOFIndex(), lines, dw::oof::OOFAwareWidget::makeParentRefInFlow(), lout::misc::max(), dw::oof::OutOfFlowMgr::mayAffectBordersAtAll(), lout::misc::min(), mustBorderBeRegarded(), mustQueueResize, newLineHasFloatLeft, newLineHasFloatRight, newLineLeftFloatHeight, newLineRightFloatHeight, dw::oof::OOFAwareWidget::NUM_OOFM, PRINTF, dw::oof::OOFAwareWidget::searchOutOfFlowMgr(), dw::oof::OutOfFlowMgr::tellIncompletePosition1(), dw::oof::OutOfFlowMgr::tellPosition1(), dw::core::Content::type, dw::core::WidgetReference::widget, dw::core::Widget::Widget(), dw::core::Content::WIDGET_IN_FLOW, dw::core::Content::WIDGET_OOF_REF, dw::core::Content::widgetReference, words, and yOffsetOfLineToBeCreated().
Referenced by wordWrap().
|
protected |
Definition at line 862 of file textblock_linebreaking.cc.
References dw::core::Widget::boxOffsetX(), dw::Textblock::Word::content, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, DBG_SET_WORD, findSizeRequestReference(), dw::oof::OOFAwareWidget::getWidgetOOFIndex(), lines, dw::oof::OOFAwareWidget::makeParentRefInFlow(), dw::oof::OutOfFlowMgr::mayAffectBordersAtAll(), dw::oof::OOFAwareWidget::searchOutOfFlowMgr(), dw::oof::OutOfFlowMgr::tellIncompletePosition1(), dw::oof::OutOfFlowMgr::tellPosition1(), dw::core::WidgetReference::widget, dw::core::Widget::Widget(), dw::core::Content::WIDGET_OOF_REF, dw::core::Content::widgetReference, words, and yOffsetOfLineToBeCreated().
Referenced by wordWrap().
|
protected |
Includes margin, border, and padding.
Can be used without allocation.
Definition at line 3357 of file textblock.cc.
References dw::Textblock::Line::borderAscent, calcVerticalBorder(), DBG_OBJ_ENTER0, DBG_OBJ_LEAVE_VAL, dw::core::Widget::extraSpace, dw::core::Widget::getStyle(), lines, dw::Textblock::Line::marginAscent, dw::core::style::Box::top, dw::core::style::StyleAttrs::top, and dw::Textblock::Line::top.
Referenced by addLine().
|
protected |
Includes margin, border, and padding.
Definition at line 3309 of file textblock.cc.
References dw::Textblock::Line::borderAscent, calcVerticalBorder(), DBG_OBJ_ENTER0, DBG_OBJ_LEAVE_VAL, dw::core::Widget::extraSpace, dw::core::Widget::getStyle(), lines, dw::core::style::StyleAttrs::margin, dw::Textblock::Line::marginAscent, dw::core::style::Box::top, and dw::core::style::StyleAttrs::top.
Referenced by calcBorders(), calcSizeOfWidgetInFlow(), dw::Textblock::TextblockIterator::getAllocation(), wrapWordInFlow(), and wrapWordOofRef().
|
friend |
Definition at line 528 of file textblock.hh.
|
protected |
Definition at line 612 of file textblock.hh.
Referenced by addAnchor(), hyphenateWord(), sizeAllocateImpl(), Textblock(), and ~Textblock().
|
static |
Definition at line 867 of file textblock.hh.
Referenced by addParbreak(), addWidget(), DilloHtml::HtmlLinkReceiver::click(), getGeneratorWidth(), handOverBreak(), and Textblock().
|
staticprivate |
Definition at line 294 of file textblock.hh.
Referenced by addText().
|
protected |
Definition at line 531 of file textblock.hh.
Referenced by addParbreak(), calcSizeOfWidgetInFlow(), dw::ListItem::initWithText(), dw::ListItem::initWithWidget(), and Textblock().
struct { ... } dw::Textblock::hlEnd[core::HIGHLIGHT_NUM_LAYERS] |
struct { ... } dw::Textblock::hlStart[core::HIGHLIGHT_NUM_LAYERS] |
|
protected |
Definition at line 617 of file textblock.hh.
Referenced by enterNotifyImpl(), leaveNotifyImpl(), motionNotifyImpl(), and Textblock().
|
staticprivate |
The character which is used to draw a hyphen at the end of a line, either caused by automatic hyphenation, or by soft hyphens.
Initially, soft hyphens were used, but they are not drawn on some platforms. Also, unconditional hyphens (U+2010) are not available in many fonts; so, a simple hyphen-minus is used.
Definition at line 296 of file textblock.hh.
Referenced by addText(), drawWord(), and hyphenateWord().
|
protected |
Definition at line 555 of file textblock.hh.
Referenced by initLine1Offset(), and Textblock().
int dw::Textblock::index |
Definition at line 614 of file textblock.hh.
Referenced by addParbreak(), drawSpace(), drawWord0(), findLineIndex(), findLineOfWord(), findParagraphOfWord(), dw::Textblock::TextblockIterator::getAllocation(), dw::Textblock::TextblockIterator::getContentInFlow(), getExtremesReference(), dw::Textblock::TextblockIterator::highlight(), dw::Textblock::BadnessAndPenalty::penaltyValue(), dw::Textblock::BadnessAndPenalty::setSinglePenalty(), sizeRequestReference(), Textblock(), and dw::Textblock::TextblockIterator::unhighlight().
|
protected |
Definition at line 576 of file textblock.hh.
Referenced by resizeDrawImpl(), rewrap(), sizeAllocateImpl(), and Textblock().
|
protected |
Definition at line 533 of file textblock.hh.
Referenced by addLine(), calcLineBreakWidth(), calcSizeOfWidgetInFlow(), dw::Textblock::TextblockIterator::getAllocation(), getAvailWidthOfChild(), getExtremesSimpl(), getGeneratorWidth(), dw::ListItem::setMaxValue(), sizeRequestImpl(), and Textblock().
|
protected |
Definition at line 572 of file textblock.hh.
Referenced by calcLineBreakWidth(), and Textblock().
|
protected |
Definition at line 535 of file textblock.hh.
Referenced by calcSizeOfWidgetInFlow(), initLine1Offset(), dw::AlignedTableCell::setMaxValue(), dw::ListItem::setMaxValue(), and Textblock().
|
protected |
Definition at line 538 of file textblock.hh.
Referenced by addLine(), calcLineBreakWidth(), calcSizeOfWidgetInFlow(), dw::Textblock::TextblockIterator::getAllocation(), handleWordExtremes(), and initLine1Offset().
|
protected |
Definition at line 581 of file textblock.hh.
Referenced by accumulateWordData(), addLine(), addWord(), alignLine(), calcLineBreakWidth(), calcSizeOfWidgetInFlow(), getGeneratorWidth(), getMaxGeneratorWidth(), initLine1Offset(), sizeAllocateImpl(), sizeRequestImpl(), and Textblock().
|
protected |
Definition at line 608 of file textblock.hh.
Referenced by accumulateWordData(), accumulateWordForLine(), addAnchor(), addLine(), addParbreak(), alignLine(), calcBorders(), calcLineBreakWidth(), calcPenaltyIndexForNewLine(), calcSizeOfWidgetInFlow(), calcTextOffset(), changeLinkColor(), drawLevel(), fillParagraphs(), findLineIndex(), findLineIndexWhenNotAllocated(), findLineOfWord(), findWord(), dw::Textblock::TextblockIterator::getAllocation(), getGeneratorWidth(), getWidgetAtPointLevel(), getWidgetRegardingBorderForLine(), handOverBreak(), initNewLine(), lineYOffsetCanvas(), lineYOffsetWidget(), lineYOffsetWidget(), lineYOffsetWidget(), moveWordIndices(), queueDrawRange(), removeTemporaryLines(), resizeDrawImpl(), rewrap(), sendSelectionEvent(), showMissingLines(), sizeAllocateImpl(), sizeRequestImpl(), Textblock(), wrapWordInFlow(), wrapWordOofRef(), yOffsetOfLineCreated(), yOffsetOfLineToBeCreated(), and ~Textblock().
|
protected |
Definition at line 557 of file textblock.hh.
Referenced by addLine(), addParbreak(), flush(), Textblock(), and wrapWordInFlow().
int dw::Textblock::nChar |
Definition at line 614 of file textblock.hh.
Referenced by drawWord0(), dw::Textblock::TextblockIterator::highlight(), Textblock(), and dw::Textblock::TextblockIterator::unhighlight().
|
protected |
Definition at line 606 of file textblock.hh.
Referenced by initNewLine().
|
protected |
Definition at line 606 of file textblock.hh.
Referenced by initNewLine().
|
protected |
Definition at line 595 of file textblock.hh.
Referenced by balanceBreakPosAndHeight(), calcBorders(), and wrapWordInFlow().
|
protected |
Definition at line 595 of file textblock.hh.
Referenced by balanceBreakPosAndHeight(), calcBorders(), and wrapWordInFlow().
|
protected |
Definition at line 596 of file textblock.hh.
Referenced by addLine(), calcBorders(), calcLineBreakWidth(), and dw::Textblock::TextblockIterator::getAllocation().
|
protected |
Definition at line 600 of file textblock.hh.
Referenced by calcBorders(), and wrapWordInFlow().
|
protected |
Definition at line 596 of file textblock.hh.
Referenced by addLine(), calcBorders(), and calcLineBreakWidth().
|
protected |
Definition at line 600 of file textblock.hh.
Referenced by calcBorders(), and wrapWordInFlow().
|
protected |
Definition at line 610 of file textblock.hh.
Referenced by addLine(), removeTemporaryLines(), rewrap(), and Textblock().
|
protected |
Definition at line 619 of file textblock.hh.
Referenced by notifySetAsTopLevel(), notifySetParent(), numGetExtremesReferences(), numSizeRequestReferences(), and Textblock().
|
protected |
Definition at line 609 of file textblock.hh.
Referenced by correctLastWordExtremes(), fillParagraphs(), findParagraphOfWord(), getExtremesSimpl(), handleWordExtremes(), moveWordIndices(), processWord(), Textblock(), and ~Textblock().
|
staticprotected |
The penalties for hyphens and other, multiplied by 100.
So, 100 means 1.0. INT_MAX and INT_MIN are also allowed. See dw::Textblock::BadnessAndPenalty::setPenalty for more details. Set from preferences.
Definition at line 565 of file textblock.hh.
Referenced by addText(), hyphenateWord(), setPenaltyEmDashLeft(), setPenaltyEmDashRight(), setPenaltyEmDashRight2(), setPenaltyHyphen(), and setPenaltyHyphen2().
|
protected |
Definition at line 575 of file textblock.hh.
Referenced by resizeDrawImpl(), dw::ListItem::setMaxValue(), sizeAllocateImpl(), and Textblock().
Definition at line 620 of file textblock.hh.
Referenced by getExtremesReference(), notifySetParent(), and sizeRequestReference().
|
protected |
Definition at line 578 of file textblock.hh.
Referenced by calcExtraSpaceImpl(), calcSizeOfWidgetInFlow(), findSizeRequestReference(), sizeRequestImpl(), and Textblock().
|
staticprotected |
...
Definition at line 570 of file textblock.hh.
Referenced by getLineStretchability(), and setStretchabilityFactor().
|
protected |
Definition at line 573 of file textblock.hh.
Referenced by Textblock(), and usesMaxGeneratorWidth().
|
protected |
Definition at line 611 of file textblock.hh.
Referenced by accumulateWordData(), accumulateWordForLine(), addAnchor(), addBreakOption(), addLine(), addLinebreak(), addParbreak(), addSpace(), addText(), addText0(), addWidget(), addWord(), alignLine(), breakAdded(), calcLinePartHeight(), calcPenaltyIndexForNewLine(), calcSizeOfWidgetInFlow(), calcTextOffset(), changeLinkColor(), cleanupWord(), considerHyphenation(), containerSizeChangedForChildren(), correctLastWordExtremes(), drawLevel(), drawLine(), drawSpace(), drawWord(), drawWord0(), fillParagraphs(), fillSpace(), fillWord(), findLineOfWord(), findParagraphOfWord(), findWord(), dw::Textblock::TextblockIterator::getAllocation(), dw::Textblock::TextblockIterator::getContentInFlow(), getGeneratorWidth(), getLineStretchability(), dw::AlignedTableCell::getValue(), dw::ListItem::getValue(), getWidgetAtPointLevel(), getWidgetRegardingBorderForLine(), getWidgetRegardingBorderForLine(), handleWordExtremes(), hyphenateWord(), initLine1Offset(), initWord(), justifyLine(), queueDrawRange(), removeSpaceImgRenderer(), removeTemporaryLines(), removeWordImgRenderer(), rewrap(), searchBreakPos(), searchMinBap(), sendSelectionEvent(), setSpaceImgRenderer(), setWordImgRenderer(), showMissingLines(), sizeAllocateImpl(), Textblock(), updateReference(), dw::AlignedTableCell::wordWrap(), wordWrap(), wrapWordInFlow(), wrapWordOofRef(), and ~Textblock().
|
protected |
Definition at line 583 of file textblock.hh.
Referenced by markSizeChange(), rewrap(), sizeRequestImpl(), and Textblock().
|
protected |
Definition at line 587 of file textblock.hh.
Referenced by sizeRequestImpl(), and Textblock().
|
protected |
Definition at line 587 of file textblock.hh.
Referenced by sizeRequestImpl(), and Textblock().
|
protected |
Definition at line 583 of file textblock.hh.
Referenced by fillParagraphs(), markExtremesChange(), and Textblock().