webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
WebCore::Position Class Reference

#include <Position.h>

Public Types

enum  AnchorType {
  PositionIsOffsetInAnchor, PositionIsBeforeAnchor, PositionIsAfterAnchor, PositionIsBeforeChildren,
  PositionIsAfterChildren, PositionIsOffsetInAnchor, PositionIsBeforeAnchor, PositionIsAfterAnchor,
  PositionIsBeforeChildren, PositionIsAfterChildren
}
 
enum  AnchorType {
  PositionIsOffsetInAnchor, PositionIsBeforeAnchor, PositionIsAfterAnchor, PositionIsBeforeChildren,
  PositionIsAfterChildren, PositionIsOffsetInAnchor, PositionIsBeforeAnchor, PositionIsAfterAnchor,
  PositionIsBeforeChildren, PositionIsAfterChildren
}
 

Public Member Functions

 Position ()
 
WEBCORE_EXPORT Position (Node *anchorNode, AnchorType)
 
 Position (Text *textNode, unsigned offset)
 
WEBCORE_EXPORT Position (Node *anchorNode, int offset, AnchorType)
 
AnchorType anchorType () const
 
void clear ()
 
WEBCORE_EXPORT Node * containerNode () const
 
Text * containerText () const
 
int computeOffsetInContainerNode () const
 
WEBCORE_EXPORT Position parentAnchoredEquivalent () const
 
int offsetInContainerNode () const
 
int deprecatedEditingOffset () const
 
Node * computeNodeBeforePosition () const
 
Node * computeNodeAfterPosition () const
 
Node * anchorNode () const
 
Node * deprecatedNode () const
 
Document * document () const
 
Element * rootEditableElement () const
 
void moveToPosition (Node *anchorNode, int offset)
 
void moveToOffset (int offset)
 
bool isNull () const
 
bool isNotNull () const
 
bool isOrphan () const
 
Element * element () const
 
WEBCORE_EXPORT Position previous (PositionMoveType=CodePoint) const
 
WEBCORE_EXPORT Position next (PositionMoveType=CodePoint) const
 
bool atFirstEditingPositionForNode () const
 
bool atLastEditingPositionForNode () const
 
bool atEditingBoundary () const
 
Node * parentEditingBoundary () const
 
bool atStartOfTree () const
 
bool atEndOfTree () const
 
WEBCORE_EXPORT Position leadingWhitespacePosition (EAffinity, bool considerNonCollapsibleWhitespace=false) const
 
WEBCORE_EXPORT Position trailingWhitespacePosition (EAffinity, bool considerNonCollapsibleWhitespace=false) const
 
WEBCORE_EXPORT Position upstream (EditingBoundaryCrossingRule=CannotCrossEditingBoundary) const
 
WEBCORE_EXPORT Position downstream (EditingBoundaryCrossingRule=CannotCrossEditingBoundary) const
 
bool isCandidate () const
 
bool isRenderedCharacter () const
 
bool rendersInDifferentPosition (const Position &) const
 
void getInlineBoxAndOffset (EAffinity, InlineBox *&, int &caretOffset) const
 
void getInlineBoxAndOffset (EAffinity, TextDirection primaryDirection, InlineBox *&, int &caretOffset) const
 
TextDirection primaryDirection () const
 
void debugPosition (const char *msg="") const
 
bool equals (const Position &) const
 
 Position ()
 
WEBCORE_EXPORT Position (Node *anchorNode, AnchorType)
 
 Position (Text *textNode, unsigned offset)
 
WEBCORE_EXPORT Position (Node *anchorNode, int offset, AnchorType)
 
AnchorType anchorType () const
 
void clear ()
 
WEBCORE_EXPORT Node * containerNode () const
 
Text * containerText () const
 
int computeOffsetInContainerNode () const
 
WEBCORE_EXPORT Position parentAnchoredEquivalent () const
 
int offsetInContainerNode () const
 
int deprecatedEditingOffset () const
 
Node * computeNodeBeforePosition () const
 
Node * computeNodeAfterPosition () const
 
Node * anchorNode () const
 
Node * deprecatedNode () const
 
Document * document () const
 
Element * rootEditableElement () const
 
void moveToPosition (Node *anchorNode, int offset)
 
void moveToOffset (int offset)
 
bool isNull () const
 
bool isNotNull () const
 
bool isOrphan () const
 
Element * element () const
 
WEBCORE_EXPORT Position previous (PositionMoveType=CodePoint) const
 
WEBCORE_EXPORT Position next (PositionMoveType=CodePoint) const
 
bool atFirstEditingPositionForNode () const
 
bool atLastEditingPositionForNode () const
 
bool atEditingBoundary () const
 
Node * parentEditingBoundary () const
 
bool atStartOfTree () const
 
bool atEndOfTree () const
 
WEBCORE_EXPORT Position leadingWhitespacePosition (EAffinity, bool considerNonCollapsibleWhitespace=false) const
 
WEBCORE_EXPORT Position trailingWhitespacePosition (EAffinity, bool considerNonCollapsibleWhitespace=false) const
 
WEBCORE_EXPORT Position upstream (EditingBoundaryCrossingRule=CannotCrossEditingBoundary) const
 
WEBCORE_EXPORT Position downstream (EditingBoundaryCrossingRule=CannotCrossEditingBoundary) const
 
bool isCandidate () const
 
bool isRenderedCharacter () const
 
bool rendersInDifferentPosition (const Position &) const
 
void getInlineBoxAndOffset (EAffinity, InlineBox *&, int &caretOffset) const
 
void getInlineBoxAndOffset (EAffinity, TextDirection primaryDirection, InlineBox *&, int &caretOffset) const
 
TextDirection primaryDirection () const
 
void debugPosition (const char *msg="") const
 
bool equals (const Position &) const
 

Static Public Member Functions

static int uncheckedPreviousOffset (const Node *, int current)
 
static int uncheckedPreviousOffsetForBackwardDeletion (const Node *, int current)
 
static int uncheckedNextOffset (const Node *, int current)
 
static unsigned positionCountBetweenPositions (const Position &, const Position &)
 
static bool hasRenderedNonAnonymousDescendantsWithHeight (const RenderElement &)
 
static bool nodeIsUserSelectNone (Node *)
 
static bool nodeIsUserSelectAll (const Node *)
 
static Node * rootUserSelectAllForNode (Node *)
 
static int uncheckedPreviousOffset (const Node *, int current)
 
static int uncheckedPreviousOffsetForBackwardDeletion (const Node *, int current)
 
static int uncheckedNextOffset (const Node *, int current)
 
static unsigned positionCountBetweenPositions (const Position &, const Position &)
 
static bool hasRenderedNonAnonymousDescendantsWithHeight (const RenderElement &)
 
static bool nodeIsUserSelectNone (Node *)
 
static bool nodeIsUserSelectAll (const Node *)
 
static Node * rootUserSelectAllForNode (Node *)
 

Friends

Position createLegacyEditingPosition (Node *, unsigned offset)
 
Position createLegacyEditingPosition (Node *, unsigned offset)
 

Member Enumeration Documentation

◆ AnchorType [1/2]

Enumerator
PositionIsOffsetInAnchor 
PositionIsBeforeAnchor 
PositionIsAfterAnchor 
PositionIsBeforeChildren 
PositionIsAfterChildren 
PositionIsOffsetInAnchor 
PositionIsBeforeAnchor 
PositionIsAfterAnchor 
PositionIsBeforeChildren 
PositionIsAfterChildren 

◆ AnchorType [2/2]

Enumerator
PositionIsOffsetInAnchor 
PositionIsBeforeAnchor 
PositionIsAfterAnchor 
PositionIsBeforeChildren 
PositionIsAfterChildren 
PositionIsOffsetInAnchor 
PositionIsBeforeAnchor 
PositionIsAfterAnchor 
PositionIsBeforeChildren 
PositionIsAfterChildren 

Constructor & Destructor Documentation

◆ Position() [1/8]

WebCore::Position::Position ( )
inline

◆ Position() [2/8]

WebCore::Position::Position ( Node *  anchorNode,
AnchorType  anchorType 
)

◆ Position() [3/8]

WebCore::Position::Position ( Text *  textNode,
unsigned  offset 
)

◆ Position() [4/8]

WebCore::Position::Position ( Node *  anchorNode,
int  offset,
AnchorType  anchorType 
)

◆ Position() [5/8]

WebCore::Position::Position ( )
inline

◆ Position() [6/8]

WEBCORE_EXPORT WebCore::Position::Position ( Node *  anchorNode,
AnchorType   
)

◆ Position() [7/8]

WebCore::Position::Position ( Text *  textNode,
unsigned  offset 
)

◆ Position() [8/8]

WEBCORE_EXPORT WebCore::Position::Position ( Node *  anchorNode,
int  offset,
AnchorType   
)

Member Function Documentation

◆ anchorNode() [1/2]

Node* WebCore::Position::anchorNode ( ) const
inline

◆ anchorNode() [2/2]

Node* WebCore::Position::anchorNode ( ) const
inline

◆ anchorType() [1/2]

AnchorType WebCore::Position::anchorType ( ) const
inline

◆ anchorType() [2/2]

AnchorType WebCore::Position::anchorType ( ) const
inline

◆ atEditingBoundary() [1/2]

bool WebCore::Position::atEditingBoundary ( ) const

◆ atEditingBoundary() [2/2]

bool WebCore::Position::atEditingBoundary ( ) const

◆ atEndOfTree() [1/2]

bool WebCore::Position::atEndOfTree ( ) const

◆ atEndOfTree() [2/2]

bool WebCore::Position::atEndOfTree ( ) const

◆ atFirstEditingPositionForNode() [1/2]

bool WebCore::Position::atFirstEditingPositionForNode ( ) const

◆ atFirstEditingPositionForNode() [2/2]

bool WebCore::Position::atFirstEditingPositionForNode ( ) const

◆ atLastEditingPositionForNode() [1/2]

bool WebCore::Position::atLastEditingPositionForNode ( ) const

◆ atLastEditingPositionForNode() [2/2]

bool WebCore::Position::atLastEditingPositionForNode ( ) const

◆ atStartOfTree() [1/2]

bool WebCore::Position::atStartOfTree ( ) const

◆ atStartOfTree() [2/2]

bool WebCore::Position::atStartOfTree ( ) const

◆ clear() [1/2]

void WebCore::Position::clear ( )
inline

◆ clear() [2/2]

void WebCore::Position::clear ( )
inline

◆ computeNodeAfterPosition() [1/2]

Node * WebCore::Position::computeNodeAfterPosition ( ) const

◆ computeNodeAfterPosition() [2/2]

Node* WebCore::Position::computeNodeAfterPosition ( ) const

◆ computeNodeBeforePosition() [1/2]

Node * WebCore::Position::computeNodeBeforePosition ( ) const

◆ computeNodeBeforePosition() [2/2]

Node* WebCore::Position::computeNodeBeforePosition ( ) const

◆ computeOffsetInContainerNode() [1/2]

int WebCore::Position::computeOffsetInContainerNode ( ) const

◆ computeOffsetInContainerNode() [2/2]

int WebCore::Position::computeOffsetInContainerNode ( ) const

◆ containerNode() [1/2]

WEBCORE_EXPORT Node* WebCore::Position::containerNode ( ) const

◆ containerNode() [2/2]

Node * WebCore::Position::containerNode ( ) const

◆ containerText() [1/2]

Text * WebCore::Position::containerText ( ) const

◆ containerText() [2/2]

Text* WebCore::Position::containerText ( ) const

◆ debugPosition() [1/2]

void WebCore::Position::debugPosition ( const char *  msg = "") const

◆ debugPosition() [2/2]

void WebCore::Position::debugPosition ( const char *  msg = "") const

◆ deprecatedEditingOffset() [1/2]

int WebCore::Position::deprecatedEditingOffset ( ) const
inline

◆ deprecatedEditingOffset() [2/2]

int WebCore::Position::deprecatedEditingOffset ( ) const
inline

◆ deprecatedNode() [1/2]

Node* WebCore::Position::deprecatedNode ( ) const
inline

◆ deprecatedNode() [2/2]

Node* WebCore::Position::deprecatedNode ( ) const
inline

◆ document() [1/2]

Document* WebCore::Position::document ( ) const
inline

◆ document() [2/2]

Document* WebCore::Position::document ( ) const
inline

◆ downstream() [1/2]

Position WebCore::Position::downstream ( EditingBoundaryCrossingRule  rule = CannotCrossEditingBoundary) const

◆ downstream() [2/2]

◆ element() [1/2]

Element* WebCore::Position::element ( ) const

◆ element() [2/2]

Element * WebCore::Position::element ( ) const

◆ equals() [1/2]

bool WebCore::Position::equals ( const Position &  other) const

◆ equals() [2/2]

bool WebCore::Position::equals ( const Position &  ) const

◆ getInlineBoxAndOffset() [1/4]

void WebCore::Position::getInlineBoxAndOffset ( EAffinity  affinity,
InlineBox *&  inlineBox,
int &  caretOffset 
) const

◆ getInlineBoxAndOffset() [2/4]

void WebCore::Position::getInlineBoxAndOffset ( EAffinity  ,
InlineBox *&  ,
int &  caretOffset 
) const

◆ getInlineBoxAndOffset() [3/4]

void WebCore::Position::getInlineBoxAndOffset ( EAffinity  affinity,
TextDirection  primaryDirection,
InlineBox *&  inlineBox,
int &  caretOffset 
) const

◆ getInlineBoxAndOffset() [4/4]

void WebCore::Position::getInlineBoxAndOffset ( EAffinity  ,
TextDirection  primaryDirection,
InlineBox *&  ,
int &  caretOffset 
) const

◆ hasRenderedNonAnonymousDescendantsWithHeight() [1/2]

bool WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight ( const RenderElement &  renderer)
static

◆ hasRenderedNonAnonymousDescendantsWithHeight() [2/2]

static bool WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight ( const RenderElement &  )
static

◆ isCandidate() [1/2]

bool WebCore::Position::isCandidate ( ) const

◆ isCandidate() [2/2]

bool WebCore::Position::isCandidate ( ) const

◆ isNotNull() [1/2]

bool WebCore::Position::isNotNull ( ) const
inline

◆ isNotNull() [2/2]

bool WebCore::Position::isNotNull ( ) const
inline

◆ isNull() [1/2]

bool WebCore::Position::isNull ( ) const
inline

◆ isNull() [2/2]

bool WebCore::Position::isNull ( ) const
inline

◆ isOrphan() [1/2]

bool WebCore::Position::isOrphan ( ) const
inline

◆ isOrphan() [2/2]

bool WebCore::Position::isOrphan ( ) const
inline

◆ isRenderedCharacter() [1/2]

bool WebCore::Position::isRenderedCharacter ( ) const

◆ isRenderedCharacter() [2/2]

bool WebCore::Position::isRenderedCharacter ( ) const

◆ leadingWhitespacePosition() [1/2]

Position WebCore::Position::leadingWhitespacePosition ( EAffinity  affinity,
bool  considerNonCollapsibleWhitespace = false 
) const

◆ leadingWhitespacePosition() [2/2]

WEBCORE_EXPORT Position WebCore::Position::leadingWhitespacePosition ( EAffinity  ,
bool  considerNonCollapsibleWhitespace = false 
) const

◆ moveToOffset() [1/2]

void WebCore::Position::moveToOffset ( int  offset)

◆ moveToOffset() [2/2]

void WebCore::Position::moveToOffset ( int  offset)

◆ moveToPosition() [1/2]

void WebCore::Position::moveToPosition ( Node *  anchorNode,
int  offset 
)

◆ moveToPosition() [2/2]

void WebCore::Position::moveToPosition ( Node *  anchorNode,
int  offset 
)

◆ next() [1/2]

WEBCORE_EXPORT Position WebCore::Position::next ( PositionMoveType  = CodePoint) const

◆ next() [2/2]

Position WebCore::Position::next ( PositionMoveType  moveType = CodePoint) const

◆ nodeIsUserSelectAll() [1/2]

static bool WebCore::Position::nodeIsUserSelectAll ( const Node *  )
inlinestatic

◆ nodeIsUserSelectAll() [2/2]

static bool WebCore::Position::nodeIsUserSelectAll ( const Node *  )
inlinestatic

◆ nodeIsUserSelectNone() [1/2]

static bool WebCore::Position::nodeIsUserSelectNone ( Node *  )
static

◆ nodeIsUserSelectNone() [2/2]

bool WebCore::Position::nodeIsUserSelectNone ( Node *  node)
static

◆ offsetInContainerNode() [1/2]

int WebCore::Position::offsetInContainerNode ( ) const
inline

◆ offsetInContainerNode() [2/2]

int WebCore::Position::offsetInContainerNode ( ) const
inline

◆ parentAnchoredEquivalent() [1/2]

Position WebCore::Position::parentAnchoredEquivalent ( ) const

◆ parentAnchoredEquivalent() [2/2]

WEBCORE_EXPORT Position WebCore::Position::parentAnchoredEquivalent ( ) const

◆ parentEditingBoundary() [1/2]

Node* WebCore::Position::parentEditingBoundary ( ) const

◆ parentEditingBoundary() [2/2]

Node * WebCore::Position::parentEditingBoundary ( ) const

◆ positionCountBetweenPositions() [1/2]

static unsigned WebCore::Position::positionCountBetweenPositions ( const Position &  ,
const Position &   
)
static

◆ positionCountBetweenPositions() [2/2]

unsigned WebCore::Position::positionCountBetweenPositions ( const Position &  a,
const Position &  b 
)
static

◆ previous() [1/2]

Position WebCore::Position::previous ( PositionMoveType  moveType = CodePoint) const

◆ previous() [2/2]

WEBCORE_EXPORT Position WebCore::Position::previous ( PositionMoveType  = CodePoint) const

◆ primaryDirection() [1/2]

TextDirection WebCore::Position::primaryDirection ( ) const

◆ primaryDirection() [2/2]

TextDirection WebCore::Position::primaryDirection ( ) const

◆ rendersInDifferentPosition() [1/2]

bool WebCore::Position::rendersInDifferentPosition ( const Position &  position) const

◆ rendersInDifferentPosition() [2/2]

bool WebCore::Position::rendersInDifferentPosition ( const Position &  ) const

◆ rootEditableElement() [1/2]

Element* WebCore::Position::rootEditableElement ( ) const
inline

◆ rootEditableElement() [2/2]

Element* WebCore::Position::rootEditableElement ( ) const
inline

◆ rootUserSelectAllForNode() [1/2]

static Node* WebCore::Position::rootUserSelectAllForNode ( Node *  )
inlinestatic

◆ rootUserSelectAllForNode() [2/2]

static Node* WebCore::Position::rootUserSelectAllForNode ( Node *  )
inlinestatic

◆ trailingWhitespacePosition() [1/2]

Position WebCore::Position::trailingWhitespacePosition ( EAffinity  ,
bool  considerNonCollapsibleWhitespace = false 
) const

◆ trailingWhitespacePosition() [2/2]

WEBCORE_EXPORT Position WebCore::Position::trailingWhitespacePosition ( EAffinity  ,
bool  considerNonCollapsibleWhitespace = false 
) const

◆ uncheckedNextOffset() [1/2]

static int WebCore::Position::uncheckedNextOffset ( const Node *  ,
int  current 
)
static

◆ uncheckedNextOffset() [2/2]

int WebCore::Position::uncheckedNextOffset ( const Node *  n,
int  current 
)
static

◆ uncheckedPreviousOffset() [1/2]

int WebCore::Position::uncheckedPreviousOffset ( const Node *  n,
int  current 
)
static

◆ uncheckedPreviousOffset() [2/2]

static int WebCore::Position::uncheckedPreviousOffset ( const Node *  ,
int  current 
)
static

◆ uncheckedPreviousOffsetForBackwardDeletion() [1/2]

int WebCore::Position::uncheckedPreviousOffsetForBackwardDeletion ( const Node *  n,
int  current 
)
static

◆ uncheckedPreviousOffsetForBackwardDeletion() [2/2]

static int WebCore::Position::uncheckedPreviousOffsetForBackwardDeletion ( const Node *  ,
int  current 
)
static

◆ upstream() [1/2]

◆ upstream() [2/2]

Position WebCore::Position::upstream ( EditingBoundaryCrossingRule  rule = CannotCrossEditingBoundary) const

Friends And Related Function Documentation

◆ createLegacyEditingPosition [1/2]

Position createLegacyEditingPosition ( Node *  node,
unsigned  offset 
)
friend

◆ createLegacyEditingPosition [2/2]

Position createLegacyEditingPosition ( Node *  node,
unsigned  offset 
)
friend

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