Index: Source/core/paint/InlineTextBoxPainter.h |
diff --git a/Source/core/paint/InlineTextBoxPainter.h b/Source/core/paint/InlineTextBoxPainter.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1f05a97d8ab5a5ccab2d25b8e42f263aa6827c62 |
--- /dev/null |
+++ b/Source/core/paint/InlineTextBoxPainter.h |
@@ -0,0 +1,49 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef InlineTextBoxPainter_h |
+#define InlineTextBoxPainter_h |
+ |
+#include "core/rendering/style/RenderStyleConstants.h" |
+ |
+namespace blink { |
+ |
+struct CompositionUnderline; |
+struct PaintInfo; |
+ |
+class Color; |
+class DocumentMarker; |
+class FloatPoint; |
+class Font; |
+class GraphicsContext; |
+class InlineTextBox; |
+class LayoutPoint; |
+class RenderStyle; |
+ |
+class InlineTextBoxPainter { |
+public: |
+ InlineTextBoxPainter(InlineTextBox& inlineTextBox) : m_inlineTextBox(inlineTextBox) { } |
+ |
+ void paint(PaintInfo&, const LayoutPoint&); |
+ void paintDocumentMarkers(GraphicsContext*, const FloatPoint& boxOrigin, RenderStyle*, const Font&, bool background); |
+ void paintDocumentMarker(GraphicsContext*, const FloatPoint& boxOrigin, DocumentMarker*, RenderStyle*, const Font&, bool grammar); |
+ void paintTextMatchMarker(GraphicsContext*, const FloatPoint& boxOrigin, DocumentMarker*, RenderStyle*, const Font&); |
+ |
+ static void removeFromTextBlobCache(InlineTextBox&); |
+ |
+private: |
+ void paintCompositionBackgrounds(GraphicsContext*, const FloatPoint& boxOrigin, RenderStyle*, const Font&, bool useCustomUnderlines); |
+ void paintSingleCompositionBackgroundRun(GraphicsContext*, const FloatPoint& boxOrigin, RenderStyle*, const Font&, Color backgroundColor, int startPos, int endPos); |
+ void paintSelection(GraphicsContext*, const FloatPoint& boxOrigin, RenderStyle*, const Font&, Color textColor); |
+ void paintDecoration(GraphicsContext*, const FloatPoint& boxOrigin, TextDecoration); |
+ void paintCompositionUnderline(GraphicsContext*, const FloatPoint& boxOrigin, const CompositionUnderline&); |
+ unsigned underlinePaintStart(const CompositionUnderline&); |
+ unsigned underlinePaintEnd(const CompositionUnderline&); |
+ |
+ InlineTextBox& m_inlineTextBox; |
+}; |
+ |
+} // namespace blink |
+ |
+#endif // InlineTextBoxPainter_h |