| OLD | NEW |
| 1 /* | 1 /* |
| 2 * (C) 1999 Lars Knoll (knoll@kde.org) | 2 * (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2000 Dirk Mueller (mueller@kde.org) | 3 * (C) 2000 Dirk Mueller (mueller@kde.org) |
| 4 * Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. | 4 * Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 | 36 |
| 37 const unsigned short cNoTruncation = USHRT_MAX; | 37 const unsigned short cNoTruncation = USHRT_MAX; |
| 38 const unsigned short cFullTruncation = USHRT_MAX - 1; | 38 const unsigned short cFullTruncation = USHRT_MAX - 1; |
| 39 | 39 |
| 40 // Helper functions shared by InlineTextBox / SVGRootInlineBox | 40 // Helper functions shared by InlineTextBox / SVGRootInlineBox |
| 41 void updateGraphicsContext(GraphicsContext*, const Color& fillColor, const Color
& strokeColor, float strokeThickness, ColorSpace); | 41 void updateGraphicsContext(GraphicsContext*, const Color& fillColor, const Color
& strokeColor, float strokeThickness, ColorSpace); |
| 42 Color correctedTextColor(Color textColor, Color backgroundColor); | 42 Color correctedTextColor(Color textColor, Color backgroundColor); |
| 43 | 43 |
| 44 class InlineTextBox : public InlineBox { | 44 class InlineTextBox : public InlineBox { |
| 45 public: | 45 public: |
| 46 InlineTextBox(RenderObject* obj) | 46 InlineTextBox(RenderObject& obj) |
| 47 : InlineBox(obj) | 47 : InlineBox(obj) |
| 48 , m_prevTextBox(0) | 48 , m_prevTextBox(0) |
| 49 , m_nextTextBox(0) | 49 , m_nextTextBox(0) |
| 50 , m_start(0) | 50 , m_start(0) |
| 51 , m_len(0) | 51 , m_len(0) |
| 52 , m_truncation(cNoTruncation) | 52 , m_truncation(cNoTruncation) |
| 53 { | 53 { |
| 54 } | 54 } |
| 55 | 55 |
| 56 virtual void destroy() OVERRIDE FINAL; | 56 virtual void destroy() OVERRIDE FINAL; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 | 115 |
| 116 virtual LayoutRect localSelectionRect(int startPos, int endPos); | 116 virtual LayoutRect localSelectionRect(int startPos, int endPos); |
| 117 bool isSelected(int startPos, int endPos) const; | 117 bool isSelected(int startPos, int endPos) const; |
| 118 void selectionStartEnd(int& sPos, int& ePos); | 118 void selectionStartEnd(int& sPos, int& ePos); |
| 119 | 119 |
| 120 protected: | 120 protected: |
| 121 virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, Layou
tUnit lineBottom) OVERRIDE; | 121 virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, Layou
tUnit lineBottom) OVERRIDE; |
| 122 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit
lineTop, LayoutUnit lineBottom) OVERRIDE; | 122 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit
lineTop, LayoutUnit lineBottom) OVERRIDE; |
| 123 | 123 |
| 124 public: | 124 public: |
| 125 RenderText* textRenderer() const; | 125 RenderText& textRenderer() const; |
| 126 | 126 |
| 127 private: | 127 private: |
| 128 virtual void deleteLine() OVERRIDE FINAL; | 128 virtual void deleteLine() OVERRIDE FINAL; |
| 129 virtual void extractLine() OVERRIDE FINAL; | 129 virtual void extractLine() OVERRIDE FINAL; |
| 130 virtual void attachLine() OVERRIDE FINAL; | 130 virtual void attachLine() OVERRIDE FINAL; |
| 131 | 131 |
| 132 public: | 132 public: |
| 133 virtual RenderObject::SelectionState selectionState() OVERRIDE FINAL; | 133 virtual RenderObject::SelectionState selectionState() OVERRIDE FINAL; |
| 134 | 134 |
| 135 private: | 135 private: |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 | 190 |
| 191 TextRun::ExpansionBehavior expansionBehavior() const | 191 TextRun::ExpansionBehavior expansionBehavior() const |
| 192 { | 192 { |
| 193 return (canHaveLeadingExpansion() ? TextRun::AllowLeadingExpansion : Tex
tRun::ForbidLeadingExpansion) | 193 return (canHaveLeadingExpansion() ? TextRun::AllowLeadingExpansion : Tex
tRun::ForbidLeadingExpansion) |
| 194 | (expansion() && nextLeafChild() ? TextRun::AllowTrailingExpansion
: TextRun::ForbidTrailingExpansion); | 194 | (expansion() && nextLeafChild() ? TextRun::AllowTrailingExpansion
: TextRun::ForbidTrailingExpansion); |
| 195 } | 195 } |
| 196 }; | 196 }; |
| 197 | 197 |
| 198 DEFINE_INLINE_BOX_TYPE_CASTS(InlineTextBox); | 198 DEFINE_INLINE_BOX_TYPE_CASTS(InlineTextBox); |
| 199 | 199 |
| 200 inline RenderText* InlineTextBox::textRenderer() const | 200 inline RenderText& InlineTextBox::textRenderer() const |
| 201 { | 201 { |
| 202 return toRenderText(renderer()); | 202 return toRenderText(renderer()); |
| 203 } | 203 } |
| 204 | 204 |
| 205 void alignSelectionRectToDevicePixels(FloatRect&); | 205 void alignSelectionRectToDevicePixels(FloatRect&); |
| 206 | 206 |
| 207 inline AffineTransform InlineTextBox::rotation(const FloatRect& boxRect, Rotatio
nDirection rotationDirection) | 207 inline AffineTransform InlineTextBox::rotation(const FloatRect& boxRect, Rotatio
nDirection rotationDirection) |
| 208 { | 208 { |
| 209 return rotationDirection == Clockwise ? AffineTransform(0, 1, -1, 0, boxRect
.x() + boxRect.maxY(), boxRect.maxY() - boxRect.x()) | 209 return rotationDirection == Clockwise ? AffineTransform(0, 1, -1, 0, boxRect
.x() + boxRect.maxY(), boxRect.maxY() - boxRect.x()) |
| 210 : AffineTransform(0, -1, 1, 0, boxRect.x() - boxRect.maxY(), boxRect.x()
+ boxRect.maxY()); | 210 : AffineTransform(0, -1, 1, 0, boxRect.x() - boxRect.maxY(), boxRect.x()
+ boxRect.maxY()); |
| 211 } | 211 } |
| 212 | 212 |
| 213 } // namespace WebCore | 213 } // namespace WebCore |
| 214 | 214 |
| 215 #endif // InlineTextBox_h | 215 #endif // InlineTextBox_h |
| OLD | NEW |