khtml::RenderObject

Search for usage in LXR

#include <render_object.h>

Inheritance diagram for khtml::RenderObject:

Classes

struct  SelPointState
 

Public Types

enum  BorderSide { BSTop, BSBottom, BSLeft, BSRight }
 
enum  CaretFlags { CFOverride = 0x01, CFOutside = 0x02, CFOutsideEnd = 0x04 }
 
enum  SelectionState {
  SelectionNone, SelectionStart, SelectionInside, SelectionEnd,
  SelectionBoth
}
 

Public Member Functions

 RenderObject (DOM::NodeImpl *node)
 
virtual bool absolutePosition (int &, int &, bool fixed=false) const
 
virtual AffineTransform absoluteTransform () const
 
virtual void addChild (RenderObject *newChild, RenderObject *beforeChild=nullptr)
 
void addLayers (RenderLayer *parentLayer, RenderObject *newObject)
 
virtual bool afterPageBreak () const
 
virtual void appendChildNode (RenderObject *child)
 
virtual void attach ()
 
bool attached ()
 
virtual int availableHeight () const
 
virtual short baselinePosition (bool firstLine) const
 
virtual bool beforePageBreak () const
 
virtual int borderBottom () const
 
virtual int borderBottomExtra () const
 
virtual int borderLeft () const
 
virtual int borderRight () const
 
virtual int borderTop () const
 
virtual int borderTopExtra () const
 
void calcBorderRadii (QPoint &topLeftRadii, QPoint &topRightRadii, QPoint &bottomLeftRadii, QPoint &bottomRightRadii, int w, int h) const
 
virtual void calcHeight ()
 
virtual void calcMinMaxWidth ()
 
virtual void calcVerticalMargins ()
 
virtual void calcWidth ()
 
virtual bool canClear (RenderObject *, PageBreakLevel level)
 
RenderCanvas * canvas () const
 
virtual long caretMaxOffset () const
 
virtual unsigned long caretMaxRenderedOffset () const
 
virtual long caretMinOffset () const
 
virtual void caretPos (int offset, int flags, int &_x, int &_y, int &width, int &height) const
 
virtual bool childAllowed () const
 
virtual bool childrenInline () const
 
int clientHeight () const
 
int clientLeft () const
 
QRectF clientRectToViewport (const QRectF &rect)
 
int clientTop () const
 
short clientWidth () const
 
virtual QRect clipRect (int, int)
 
virtual void close ()
 
short collapsedMarginBottom () const
 
short collapsedMarginTop () const
 
virtual void collectBorders (QList< CollapsedBorderValue > &borderStyles)
 
RenderObjectcontainer () const
 
RenderBlock * containingBlock () const
 
virtual int containingBlockHeight (RenderObject *providedCB=nullptr) const
 
virtual short containingBlockWidth (RenderObject *providedCB=nullptr) const
 
virtual bool containsFloat (RenderObject *) const
 
virtual bool containsPageBreak () const
 
virtual int contentHeight () const
 
virtual short contentWidth () const
 
virtual RenderFlowcontinuation () const
 
virtual InlineBox * createInlineBox (bool makePlaceHolderBox, bool isRootLineBox)
 
virtual int crossesPageBreak (int top, int bottom) const
 
virtual void deleteInlineBoxes (RenderArena *arena=nullptr)
 
virtual void detach ()
 
void detachCounters ()
 
void dirtyFormattingContext (bool checkContainer)
 
virtual void dirtyInlineBoxes (bool, bool=false)
 
virtual void dirtyLinesFromChangedChild (RenderObject *)
 
DOM::DocumentImpldocument () const
 
bool documentBeingDestroyed () const
 
bool doNotDelete () const
 
DOM::NodeImpl * draggableNode (bool dhtmlOK, bool uaOK, bool &dhtmlWillDrag) const
 
void drawBorder (QPainter *p, int x1, int y1, int x2, int y2, BorderSide s, QColor c, const QColor &textcolor, EBorderStyle style, int adjbw1, int adjbw2, bool invalidisInvert=false, qreal *dashOffset=nullptr)
 
void drawBorderArc (QPainter *p, int x, int y, float horThickness, float vertThickness, const QPoint &radius, int angleStart, int angleSpan, const QBrush &brush, const QColor &textColor, EBorderStyle style, qreal *dashOffset=nullptr) const
 
int effectiveHeight () const
 
int effectiveWidth () const
 
int effectiveXPos () const
 
int effectiveYPos () const
 
DOM::NodeImpl * element () const
 
RenderLayer * enclosingLayer () const
 
RenderLayer * enclosingStackingContext () const
 
RenderLayer * findNextLayer (RenderLayer *parentLayer, RenderObject *startPoint, bool checkParent=true)
 
virtual RenderObjectfirstChild () const
 
RenderObjectfirstLeafChild () const
 
bool flowAroundFloats () const
 
const QFontfont (bool firstLine) const
 
const QFontMetricsfontMetrics (bool firstLine) const
 
virtual int getBaselineOfFirstLineBox ()
 
virtual QList< QRectFgetClientRects ()
 
CounterNode * getCounter (const DOMString &counter, bool view=false, bool counters=false)
 
virtual InlineFlowBox * getFirstLineBox ()
 
void getTextDecorationColors (int decorations, QColor &underline, QColor &overline, QColor &linethrough, bool quirksMode=false)
 
short getVerticalPosition (bool firstLine, RenderObject *ref=nullptr) const
 
virtual bool handleEvent (const DOM::EventImpl &)
 
bool hasClip () const
 
bool hasCounter (const DOMString &counter) const
 
bool hasFirstLine () const
 
virtual bool hasFloats () const
 
bool hasOverflowClip () const
 
virtual bool hasOverhangingFloats () const
 
bool hasStaticX () const
 
bool hasStaticY () const
 
virtual int height () const
 
virtual int highestPosition (bool=true, bool=true) const
 
virtual InlineBox * inlineBox (long offset=0)
 
virtual int inlineXPos () const
 
virtual int inlineYPos () const
 
bool inPosObjectList () const
 
virtual void insertChildNode (RenderObject *child, RenderObject *before)
 
virtual int intrinsicHeight () const
 
virtual short intrinsicWidth () const
 
bool isAnonymous () const
 
bool isAnonymousBlock () const
 
virtual bool isApplet () const
 
virtual bool isBlockFlow () const
 
virtual bool isBody () const
 
virtual bool isBottomMarginQuirk () const
 
virtual bool isBox () const
 
virtual bool isBR () const
 
virtual bool isCanvas () const
 
bool isCompact () const
 
virtual bool isCounter () const
 
bool isDragging () const
 
virtual bool isEditable () const
 
bool isFloating () const
 
bool isFloatingOrPositioned () const
 
virtual bool isFormElement () const
 
virtual bool isFrameSet () const
 
virtual bool isGlyph () const
 
virtual bool isHidden () const
 
bool isHR () const
 
bool isHTMLMarquee () const
 
bool isInline () const
 
virtual bool isInlineBlockOrInlineTable () const
 
virtual bool isInlineContinuation () const
 
virtual bool isInlineFlow () const
 
virtual bool isListItem () const
 
virtual bool isListMarker () const
 
virtual bool isMedia () const
 
virtual bool isPointInsideSelection (int x, int y, const DOM::Selection &) const
 
bool isPositioned () const
 
bool isPosWithStaticDim () const
 
bool isPseudoAnonymous () const
 
virtual bool isQuote () const
 
bool isRelPositioned () const
 
virtual bool isRenderBlock () const
 
virtual bool isRenderInline () const
 
virtual bool isRenderPath () const
 
virtual bool isRenderReplaced () const
 
bool isReplaced () const
 
bool isReplacedBlock () const
 
bool isRoot () const
 
bool isRunIn () const
 
bool isSelectionBorder () const
 
virtual bool isSelfCollapsingBlock () const
 
virtual bool isSVGContainer () const
 
virtual bool isSVGHiddenContainer () const
 
virtual bool isSVGRoot () const
 
virtual bool isSVGText () const
 
virtual bool isTable () const
 
virtual bool isTableCell () const
 
virtual bool isTableCol () const
 
virtual bool isTableRow () const
 
virtual bool isTableSection () const
 
bool isText () const
 
virtual bool isTopMarginQuirk () const
 
virtual bool isWidget () const
 
bool isWordBreak () const
 
virtual RenderObjectlastChild () const
 
RenderObjectlastLeafChild () const
 
virtual RenderLayer * layer () const
 
virtual void layout ()=0
 
void layoutIfNeeded ()
 
virtual int leftmostPosition (bool=true, bool=true) const
 
virtual unsigned int length () const
 
virtual short lineHeight (bool firstLine) const
 
virtual AffineTransform localTransform () const
 
virtual int lowestPosition (bool=true, bool=true) const
 
virtual short marginBottom () const
 
virtual short marginLeft () const
 
virtual short marginRight () const
 
virtual short marginTop () const
 
virtual void markAllDescendantsWithFloatsForLayout (RenderObject *=nullptr)
 
void markContainingBlocksForLayout ()
 
bool markedForRepaint () const
 
virtual short maxBottomMargin (bool positive) const
 
int maximalOutlineSize (PaintAction p) const
 
virtual short maxTopMargin (bool positive) const
 
virtual int maxWidth () const
 
bool minMaxKnown () const
 
virtual short minWidth () const
 
bool mouseInside () const
 
void moveLayers (RenderLayer *oldParent, RenderLayer *newParent)
 
bool needsLayout () const
 
virtual bool needsPageClear () const
 
RenderObjectnextEditable () const
 
RenderObjectnextRenderer () const
 
RenderObjectnextSibling () const
 
DOM::NodeImpl * node () const
 
virtual bool nodeAtPoint (NodeInfo &info, int x, int y, int tx, int ty, HitTestAction, bool inside=false)
 
bool normalChildNeedsLayout () const
 
RenderObjectobjectAbove () const
 
RenderObjectobjectBelow () const
 
virtual int offsetHeight () const
 
virtual int offsetLeft () const
 
virtual RenderObjectoffsetParent () const
 
virtual int offsetTop () const
 
virtual short offsetWidth () const
 
void operator delete (void *ptr, size_t sz)
 
void * operator new (size_t sz, RenderArena *renderArena) throw ()
 
virtual QRect overflowClipRect (int, int)
 
virtual int overflowHeight () const
 
virtual int overflowLeft () const
 
virtual int overflowTop () const
 
virtual int overflowWidth () const
 
virtual int paddingBottom () const
 
virtual int paddingLeft () const
 
virtual int paddingRight () const
 
virtual int paddingTop () const
 
virtual int pageTopAfter (int y) const
 
virtual void paint (PaintInfo &i, int tx, int ty)
 
virtual void paintBackgroundExtended (QPainter *, const QColor &, const BackgroundLayer *, QRect, int, int, int, int, int, int, int, int, int, int, int, int)
 
void paintBorder (QPainter *p, int _tx, int _ty, int w, int h, const RenderStyle *style, bool begin=true, bool end=true)
 
virtual void paintBoxDecorations (PaintInfo &, int, int)
 
void paintOutline (QPainter *p, int _tx, int _ty, int w, int h, const RenderStyle *style)
 
RenderObjectparent () const
 
bool posChildNeedsLayout () const
 
virtual void position (InlineBox *, int, int, bool)
 
virtual void positionChildLayers ()
 
virtual RenderPosition positionForCoordinates (int x, int y)
 
RenderObjectpreviousEditable () const
 
RenderObjectpreviousRenderer () const
 
RenderObjectpreviousSibling () const
 
bool recalcMinMax () const
 
void recalcMinMaxWidths ()
 
virtual FloatRect relativeBBox (bool includeStroke=false) const
 
void remove ()
 
virtual void removeChild (RenderObject *oldChild)
 
virtual RenderObjectremoveChildNode (RenderObject *child)
 
void removeFromObjectLists ()
 
virtual void removeInlineBox (InlineBox *)
 
void removeLayers (RenderLayer *parentLayer)
 
virtual void removeSuperfluousAnonymousBlockChild (RenderObject *)
 
RenderArena * renderArena () const
 
virtual const char * renderName () const
 
virtual void repaint (Priority p=NormalPriority)
 
void repaintDuringLayout ()
 
virtual void repaintRectangle (int x, int y, int w, int h, Priority p=NormalPriority, bool f=false)
 
virtual bool requiresLayer () const
 
virtual int rightmostPosition (bool=true, bool=true) const
 
void scheduleRelayout (RenderObject *clippedObj=nullptr)
 
virtual int scrollHeight () const
 
bool scrollsOverflow () const
 
bool scrollsOverflowX () const
 
bool scrollsOverflowY () const
 
virtual short scrollWidth () const
 
virtual SelectionState selectionState () const
 
bool selfNeedsLayout () const
 
void setAfterPageBreak (bool b=true)
 
void setBeforePageBreak (bool b=true)
 
void setChildNeedsLayout (bool b, bool markParents=true)
 
void setContainsPageBreak (bool b=true)
 
void setDoNotDelete (bool b)
 
void setFloating (bool b=true)
 
void setHasOverflowClip (bool b=true)
 
virtual void setHeight (int)
 
void setInline (bool b=true)
 
void setInnerNode (NodeInfo &info)
 
void setInPosObjectList (bool b=true)
 
void setIsAnonymous (bool b)
 
void setIsRoot (bool b)
 
void setIsSelectionBorder (bool b=true)
 
void setMarkedForRepaint (bool m)
 
void setMinMaxKnown (bool b=true)
 
void setMouseInside (bool b=true)
 
void setNeedsLayout (bool b, bool markParents=true)
 
void setNeedsLayoutAndMinMaxRecalc ()
 
void setNeedsPageClear (bool b=true)
 
void setNextSibling (RenderObject *next)
 
void setParent (RenderObject *parent)
 
virtual void setPos (int, int)
 
void setPositioned (bool b=true)
 
void setPreviousSibling (RenderObject *previous)
 
void setRelPositioned (bool b=true)
 
void setRenderText ()
 
void setReplaced (bool b=true)
 
virtual void setSelectionState (SelectionState)
 
void setShouldPaintBackgroundOrBorder (bool b=true)
 
virtual void setStyle (RenderStyle *style)
 
virtual void setWidth (int)
 
bool shouldPaintBackgroundOrBorder () const
 
bool shouldSelect () const
 
bool sizesToMaxWidth () const
 
RenderStyle * style () const
 
RenderStyle * style (bool firstLine) const
 
void updateBackgroundImages (RenderStyle *oldStyle)
 
virtual void updateFromElement ()
 
void updatePixmap (const QRect &, CachedImage *) override
 
bool usesLineWidth () const
 
virtual short verticalPositionHint (bool firstLine) const
 
QRegion visibleFlowRegion (int x, int y) const
 
virtual short width () const
 
virtual int xPos () const
 
virtual int yPos () const
 
- Public Member Functions inherited from khtml::CachedObjectClient
virtual void error (int err, const QString &text)
 
virtual void notifyFinished (CachedObject *)
 
virtual void setStyleSheet (const DOM::DOMString &, const DOM::DOMString &, const DOM::DOMString &, const DOM::DOMString &)
 

Static Public Member Functions

static KHTML_EXPORT void cleanup ()
 
static RenderObjectcreateObject (DOM::NodeImpl *node, RenderStyle *style)
 

Protected Member Functions

void arenaDelete (RenderArena *arena)
 
bool attemptDirectLayerTranslation ()
 
void insertCounter (const DOMString &counter, CounterNode *value)
 
void invalidateVerticalPosition ()
 
CounterNode * lookupCounter (const DOMString &counter) const
 
virtual void selectionStartEnd (int &spos, int &epos)
 
void setDetached ()
 
void updateWidgetMasks ()
 
virtual QRect viewRect () const
 

Detailed Description

Base Class for all rendering tree objects.

Definition at line 146 of file render_object.h.

Member Enumeration Documentation

◆ CaretFlags

Flags which influence the appearance and position.

Parameters
CFOverrideinput overrides existing character, caret should be cover the whole character
CFOutsidecoordinates are to be interpreted outside of the render object
CFOutsideEndcoordinates are to be interpreted at the outside end of the render object (only valid if CFOutside is also set)

Definition at line 1301 of file render_object.h.

Member Function Documentation

◆ caretMaxOffset()

long RenderObject::caretMaxOffset ( ) const
virtual

returns the highest possible value the caret offset may have to still point to a valid position.

Returns 0 by default, as generic elements are considered to have no width.

Definition at line 3018 of file render_object.cpp.

◆ caretMinOffset()

long RenderObject::caretMinOffset ( ) const
virtual

returns the lowest possible value the caret offset may have to still point to a valid position.

Returns 0 by default.

Definition at line 3013 of file render_object.cpp.

◆ caretPos()

void RenderObject::caretPos ( int  offset,
int  flags,
int &  _x,
int &  _y,
int &  width,
int &  height 
) const
virtual

Returns the content coordinates of the caret within this render object.

Parameters
offsetzero-based offset determining position within the render object.
flagscombination of enum CaretFlags
_xreturns the left coordinate
_yreturns the top coordinate
widthreturns the caret's width
heightreturns the caret's height

Definition at line 2400 of file render_object.cpp.

◆ container()

RenderObject * RenderObject::container ( ) const

returns the object containing this one.

can be different from parent for positioned elements

Definition at line 2463 of file render_object.cpp.

◆ effectiveHeight()

int khtml::RenderObject::effectiveHeight ( ) const
inline

Returns the height that is effectively considered when contemplating the object as a whole – usually the overflow height, or the height if clipped.

Definition at line 1083 of file render_object.h.

◆ effectiveWidth()

int khtml::RenderObject::effectiveWidth ( ) const
inline

Returns the width that is effectively considered when contemplating the object as a whole – usually the overflow width, or the width if clipped.

Definition at line 1092 of file render_object.h.

◆ effectiveXPos()

int khtml::RenderObject::effectiveXPos ( ) const
inline

the position of the object from where it begins drawing, including its negative overflow

Definition at line 1016 of file render_object.h.

◆ effectiveYPos()

int khtml::RenderObject::effectiveYPos ( ) const
inline

the position of the object from where it begins drawing, including its negative overflow

Definition at line 1024 of file render_object.h.

◆ inlineXPos()

virtual int khtml::RenderObject::inlineXPos ( ) const
inlinevirtual

Leftmost coordinate of this inline element relative to containing block.

Always zero for non-inline elements.

Definition at line 1032 of file render_object.h.

◆ inlineYPos()

virtual int khtml::RenderObject::inlineYPos ( ) const
inlinevirtual

Topmost coordinate of this inline element relative to containing block.

Always zero for non-inline elements.

Definition at line 1039 of file render_object.h.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Nov 28 2023 03:56:06 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.