| Index: Source/core/rendering/InlineTextBox.h
|
| diff --git a/Source/core/rendering/InlineTextBox.h b/Source/core/rendering/InlineTextBox.h
|
| index 69b2a1d756b7b46c8c1a6644f7f9326de83774fd..372a4e99acb5b2c8a6d4aa0d5025438e982d1766 100644
|
| --- a/Source/core/rendering/InlineTextBox.h
|
| +++ b/Source/core/rendering/InlineTextBox.h
|
| @@ -50,6 +50,7 @@ public:
|
| , m_start(0)
|
| , m_len(0)
|
| , m_truncation(cNoTruncation)
|
| + , m_textDecorationThickness(0)
|
| {
|
| }
|
|
|
| @@ -119,6 +120,8 @@ public:
|
|
|
| protected:
|
| virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
|
| + virtual void paintDecorationStyle(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom, float decorationThickness) OVERRIDE;
|
| + virtual void getPaintDecorationSyle(PaintInfo&, const LayoutPoint&, float *) OVERRIDE;
|
| virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
|
|
|
| public:
|
| @@ -175,6 +178,8 @@ private:
|
| unsigned short m_truncation; // Where to truncate when text overflow is applied. We use special constants to
|
| // denote no truncation (the whole run paints) and full truncation (nothing paints at all).
|
|
|
| + float m_textDecorationThickness;
|
| +
|
| protected:
|
| void paintCompositionBackground(GraphicsContext*, const FloatPoint& boxOrigin, RenderStyle*, const Font&, int startPos, int endPos);
|
| void paintDocumentMarkers(GraphicsContext*, const FloatPoint& boxOrigin, RenderStyle*, const Font&, bool background);
|
| @@ -185,14 +190,18 @@ protected:
|
| virtual void paintTextMatchMarker(GraphicsContext*, const FloatPoint& boxOrigin, DocumentMarker*, RenderStyle*, const Font&);
|
|
|
| private:
|
| - void paintDecoration(GraphicsContext*, const FloatPoint& boxOrigin, TextDecoration, const ShadowList*);
|
| + void paintDecoration(GraphicsContext*, const FloatPoint& boxOrigin, TextDecoration, const ShadowList*, float decorationThickness = 0);
|
| void paintSelection(GraphicsContext*, const FloatPoint& boxOrigin, RenderStyle*, const Font&, Color textColor);
|
| + bool isLogicalStartEndCorrect(PaintInfo& , const LayoutPoint&);
|
|
|
| TextRun::ExpansionBehavior expansionBehavior() const
|
| {
|
| return (canHaveLeadingExpansion() ? TextRun::AllowLeadingExpansion : TextRun::ForbidLeadingExpansion)
|
| | (expansion() && nextLeafChild() ? TextRun::AllowTrailingExpansion : TextRun::ForbidTrailingExpansion);
|
| }
|
| +
|
| + float getDecorationThickness() { return m_textDecorationThickness; }
|
| + void setDecorationThickness(float textDecorationThickness) { m_textDecorationThickness = textDecorationThickness; }
|
| };
|
|
|
| DEFINE_INLINE_BOX_TYPE_CASTS(InlineTextBox);
|
|
|