| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 2  * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 
| 3  * | 3  * | 
| 4  * This library is free software; you can redistribute it and/or | 4  * This library is free software; you can redistribute it and/or | 
| 5  * modify it under the terms of the GNU Library General Public | 5  * modify it under the terms of the GNU Library General Public | 
| 6  * License as published by the Free Software Foundation; either | 6  * License as published by the Free Software Foundation; either | 
| 7  * version 2 of the License, or (at your option) any later version. | 7  * version 2 of the License, or (at your option) any later version. | 
| 8  * | 8  * | 
| 9  * This library is distributed in the hope that it will be useful, | 9  * This library is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
| 12  * Library General Public License for more details. | 12  * Library General Public License for more details. | 
| 13  * | 13  * | 
| 14  * You should have received a copy of the GNU Library General Public License | 14  * You should have received a copy of the GNU Library General Public License | 
| 15  * along with this library; see the file COPYING.LIB.  If not, write to | 15  * along with this library; see the file COPYING.LIB.  If not, write to | 
| 16  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 16  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 
| 17  * Boston, MA 02110-1301, USA. | 17  * Boston, MA 02110-1301, USA. | 
| 18  */ | 18  */ | 
| 19 | 19 | 
| 20 #ifndef SVGTextQuery_h | 20 #ifndef SVGTextQuery_h | 
| 21 #define SVGTextQuery_h | 21 #define SVGTextQuery_h | 
| 22 | 22 | 
| 23 #include "core/platform/graphics/FloatRect.h" |  | 
| 24 #include "core/rendering/svg/SVGTextFragment.h" | 23 #include "core/rendering/svg/SVGTextFragment.h" | 
| 25 #include "core/svg/SVGPoint.h" | 24 #include "core/svg/SVGPoint.h" | 
|  | 25 #include "core/svg/SVGRect.h" | 
| 26 #include <wtf/Vector.h> | 26 #include <wtf/Vector.h> | 
| 27 | 27 | 
| 28 namespace WebCore { | 28 namespace WebCore { | 
| 29 | 29 | 
| 30 class InlineFlowBox; | 30 class InlineFlowBox; | 
| 31 class RenderObject; | 31 class RenderObject; | 
| 32 class SVGInlineTextBox; | 32 class SVGInlineTextBox; | 
| 33 | 33 | 
| 34 class SVGTextQuery { | 34 class SVGTextQuery { | 
| 35 public: | 35 public: | 
| 36     SVGTextQuery(RenderObject*); | 36     SVGTextQuery(RenderObject*); | 
| 37 | 37 | 
| 38     unsigned numberOfCharacters() const; | 38     unsigned numberOfCharacters() const; | 
| 39     float textLength() const; | 39     float textLength() const; | 
| 40     float subStringLength(unsigned startPosition, unsigned length) const; | 40     float subStringLength(unsigned startPosition, unsigned length) const; | 
| 41     FloatPoint startPositionOfCharacter(unsigned position) const; | 41     FloatPoint startPositionOfCharacter(unsigned position) const; | 
| 42     FloatPoint endPositionOfCharacter(unsigned position) const; | 42     FloatPoint endPositionOfCharacter(unsigned position) const; | 
| 43     float rotationOfCharacter(unsigned position) const; | 43     float rotationOfCharacter(unsigned position) const; | 
| 44     FloatRect extentOfCharacter(unsigned position) const; | 44     SVGRect extentOfCharacter(unsigned position) const; | 
| 45     int characterNumberAtPosition(const SVGPoint&) const; | 45     int characterNumberAtPosition(const SVGPoint&) const; | 
| 46 | 46 | 
| 47     // Public helper struct. Private classes in SVGTextQuery inherit from it. | 47     // Public helper struct. Private classes in SVGTextQuery inherit from it. | 
| 48     struct Data; | 48     struct Data; | 
| 49 | 49 | 
| 50 private: | 50 private: | 
| 51     typedef bool (SVGTextQuery::*ProcessTextFragmentCallback)(Data*, const SVGTe
    xtFragment&) const; | 51     typedef bool (SVGTextQuery::*ProcessTextFragmentCallback)(Data*, const SVGTe
    xtFragment&) const; | 
| 52     bool executeQuery(Data*, ProcessTextFragmentCallback) const; | 52     bool executeQuery(Data*, ProcessTextFragmentCallback) const; | 
| 53 | 53 | 
| 54     void collectTextBoxesInFlowBox(InlineFlowBox*); | 54     void collectTextBoxesInFlowBox(InlineFlowBox*); | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
| 65     bool extentOfCharacterCallback(Data*, const SVGTextFragment&) const; | 65     bool extentOfCharacterCallback(Data*, const SVGTextFragment&) const; | 
| 66     bool characterNumberAtPositionCallback(Data*, const SVGTextFragment&) const; | 66     bool characterNumberAtPositionCallback(Data*, const SVGTextFragment&) const; | 
| 67 | 67 | 
| 68 private: | 68 private: | 
| 69     Vector<SVGInlineTextBox*> m_textBoxes; | 69     Vector<SVGInlineTextBox*> m_textBoxes; | 
| 70 }; | 70 }; | 
| 71 | 71 | 
| 72 } | 72 } | 
| 73 | 73 | 
| 74 #endif | 74 #endif | 
| OLD | NEW | 
|---|