Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: Source/core/rendering/RenderObject.h

Issue 195093002: Support multiple text decoration styles. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/rendering/InlineTextBox.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 765 matching lines...) Expand 10 before | Expand all | Expand 10 after
776 // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style based off of a 776 // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style based off of a
777 // given new style, without accessing the cache. 777 // given new style, without accessing the cache.
778 PassRefPtr<RenderStyle> uncachedFirstLineStyle(RenderStyle*) const; 778 PassRefPtr<RenderStyle> uncachedFirstLineStyle(RenderStyle*) const;
779 779
780 // Anonymous blocks that are part of of a continuation chain will return the ir inline continuation's outline style instead. 780 // Anonymous blocks that are part of of a continuation chain will return the ir inline continuation's outline style instead.
781 // This is typically only relevant when repainting. 781 // This is typically only relevant when repainting.
782 virtual RenderStyle* outlineStyleForRepaint() const { return style(); } 782 virtual RenderStyle* outlineStyleForRepaint() const { return style(); }
783 783
784 virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const; 784 virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const;
785 785
786 void getTextDecorationColors(unsigned decorations, Color& underline, Color& overline, Color& linethrough, bool quirksMode = false, bool firstlineStyle = fal se); 786 struct AppliedTextDecoration {
787 Color color;
788 TextDecorationStyle style;
789 AppliedTextDecoration() : color(Color::transparent), style(TextDecoratio nStyleSolid) { }
790 };
791
792 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu irksMode = false, bool firstlineStyle = false);
787 793
788 // Return the RenderLayerModelObject in the container chain which is respons ible for painting this object, or 0 794 // Return the RenderLayerModelObject in the container chain which is respons ible for painting this object, or 0
789 // if painting is root-relative. This is the container that should be passed to the 'forRepaint' 795 // if painting is root-relative. This is the container that should be passed to the 'forRepaint'
790 // methods. 796 // methods.
791 RenderLayerModelObject* containerForRepaint() const; 797 RenderLayerModelObject* containerForRepaint() const;
792 // Actually do the repaint of rect r for this object which has been computed in the coordinate space 798 // Actually do the repaint of rect r for this object which has been computed in the coordinate space
793 // of repaintContainer. If repaintContainer is 0, repaint via the view. 799 // of repaintContainer. If repaintContainer is 0, repaint via the view.
794 void repaintUsingContainer(const RenderLayerModelObject* repaintContainer, c onst IntRect&) const; 800 void repaintUsingContainer(const RenderLayerModelObject* repaintContainer, c onst IntRect&) const;
795 801
796 // Repaint the entire object. Called when, e.g., the color of a border chan ges, or when a border 802 // Repaint the entire object. Called when, e.g., the color of a border chan ges, or when a border
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after
1420 void showTree(const WebCore::RenderObject*); 1426 void showTree(const WebCore::RenderObject*);
1421 void showLineTree(const WebCore::RenderObject*); 1427 void showLineTree(const WebCore::RenderObject*);
1422 void showRenderTree(const WebCore::RenderObject* object1); 1428 void showRenderTree(const WebCore::RenderObject* object1);
1423 // We don't make object2 an optional parameter so that showRenderTree 1429 // We don't make object2 an optional parameter so that showRenderTree
1424 // can be called from gdb easily. 1430 // can be called from gdb easily.
1425 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2); 1431 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2);
1426 1432
1427 #endif 1433 #endif
1428 1434
1429 #endif // RenderObject_h 1435 #endif // RenderObject_h
OLDNEW
« no previous file with comments | « Source/core/rendering/InlineTextBox.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698