/////////////////////////////////////////////////////////////////////////// // ContentIsInTraversalRange: returns true if content is visited during // the traversal of the range in the specified mode. // static PRBool ContentIsInTraversalRange(nsIContent *aContent, PRBool aIsPreMode, nsIDOMNode *aStartNode, PRInt32 aStartOffset, nsIDOMNode *aEndNode, PRInt32 aEndOffset) { if (!aStartNode || !aEndNode || !aContent) return PR_FALSE; nsCOMPtr<nsIDOMNode> parentNode; PRInt32 indx = 0; ContentToParentOffset(aContent, getter_AddRefs(parentNode), &indx); if (!parentNode) return PR_FALSE; if (!aIsPreMode) ++indx; PRInt32 startRes; PRInt32 endRes; nsresult rv = nsTextServicesDocument::ComparePoints(aStartNode, aStartOffset, parentNode, indx, &startRes); if (NS_FAILED(rv)) return PR_FALSE; rv = nsTextServicesDocument::ComparePoints(aEndNode, aEndOffset, parentNode, indx, &endRes); if (NS_FAILED(rv)) return PR_FALSE; return (startRes <= 0) && (endRes >= 0); }
/////////////////////////////////////////////////////////////////////////// // ContentIsInTraversalRange: returns true if content is visited during // the traversal of the range in the specified mode. // static PRBool ContentIsInTraversalRange(nsIContent *aContent, PRBool aIsPreMode, nsIDOMNode *aStartNode, PRInt32 aStartOffset, nsIDOMNode *aEndNode, PRInt32 aEndOffset) { NS_ENSURE_TRUE(aStartNode && aEndNode && aContent, PR_FALSE); nsCOMPtr<nsIDOMNode> parentNode; PRInt32 indx = 0; ContentToParentOffset(aContent, getter_AddRefs(parentNode), &indx); NS_ENSURE_TRUE(parentNode, PR_FALSE); if (!aIsPreMode) ++indx; PRInt32 startRes; PRInt32 endRes; nsresult rv = nsTextServicesDocument::ComparePoints(aStartNode, aStartOffset, parentNode, indx, &startRes); NS_ENSURE_SUCCESS(rv, PR_FALSE); rv = nsTextServicesDocument::ComparePoints(aEndNode, aEndOffset, parentNode, indx, &endRes); NS_ENSURE_SUCCESS(rv, PR_FALSE); return (startRes <= 0) && (endRes >= 0); }
/////////////////////////////////////////////////////////////////////////// // ContentIsInTraversalRange: returns true if content is visited during // the traversal of the range in the specified mode. // static bool ContentIsInTraversalRange(nsIContent* aContent, bool aIsPreMode, nsINode* aStartContainer, int32_t aStartOffset, nsINode* aEndContainer, int32_t aEndOffset) { NS_ENSURE_TRUE(aStartContainer && aEndContainer && aContent, false); nsCOMPtr<nsIContent> parentNode; int32_t indx = 0; ContentToParentOffset(aContent, getter_AddRefs(parentNode), &indx); NS_ENSURE_TRUE(parentNode, false); if (!aIsPreMode) ++indx; int32_t startRes = nsContentUtils::ComparePoints( aStartContainer, aStartOffset, parentNode, indx); int32_t endRes = nsContentUtils::ComparePoints(aEndContainer, aEndOffset, parentNode, indx); return (startRes <= 0) && (endRes >= 0); }
/////////////////////////////////////////////////////////////////////////// // ContentIsInTraversalRange: returns true if content is visited during // the traversal of the range in the specified mode. // static bool ContentIsInTraversalRange(nsIContent *aContent, bool aIsPreMode, nsIDOMNode *aStartNode, PRInt32 aStartOffset, nsIDOMNode *aEndNode, PRInt32 aEndOffset) { NS_ENSURE_TRUE(aStartNode && aEndNode && aContent, false); nsCOMPtr<nsIDOMNode> parentNode; PRInt32 indx = 0; ContentToParentOffset(aContent, getter_AddRefs(parentNode), &indx); NS_ENSURE_TRUE(parentNode, false); if (!aIsPreMode) ++indx; PRInt32 startRes = nsContentUtils::ComparePoints(aStartNode, aStartOffset, parentNode, indx); PRInt32 endRes = nsContentUtils::ComparePoints(aEndNode, aEndOffset, parentNode, indx); return (startRes <= 0) && (endRes >= 0); }