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

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

Issue 219633002: Proper support for multiple text decorations. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 8 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
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 771 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style based off of a 782 // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style based off of a
783 // given new style, without accessing the cache. 783 // given new style, without accessing the cache.
784 PassRefPtr<RenderStyle> uncachedFirstLineStyle(RenderStyle*) const; 784 PassRefPtr<RenderStyle> uncachedFirstLineStyle(RenderStyle*) const;
785 785
786 // Anonymous blocks that are part of of a continuation chain will return the ir inline continuation's outline style instead. 786 // Anonymous blocks that are part of of a continuation chain will return the ir inline continuation's outline style instead.
787 // This is typically only relevant when repainting. 787 // This is typically only relevant when repainting.
788 virtual RenderStyle* outlineStyleForRepaint() const { return style(); } 788 virtual RenderStyle* outlineStyleForRepaint() const { return style(); }
789 789
790 virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const; 790 virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const;
791 791
792 struct AppliedTextDecoration { 792 Color getUnderlineColor(bool quirksMode, bool firstlineStyle);
esprehn 2014/03/31 17:41:24 We should use enums, this is confusing. Also alway
793 Color color;
794 TextDecorationStyle style;
795 AppliedTextDecoration() : color(Color::transparent), style(TextDecoratio nStyleSolid) { }
796 };
797
798 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu irksMode = false, bool firstlineStyle = false);
799 793
800 // 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
801 // 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'
802 // methods. 796 // methods.
803 RenderLayerModelObject* containerForRepaint() const; 797 RenderLayerModelObject* containerForRepaint() const;
804 // 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
805 // of repaintContainer. If repaintContainer is 0, repaint via the view. 799 // of repaintContainer. If repaintContainer is 0, repaint via the view.
806 void repaintUsingContainer(const RenderLayerModelObject* repaintContainer, c onst IntRect&) const; 800 void repaintUsingContainer(const RenderLayerModelObject* repaintContainer, c onst IntRect&) const;
807 801
808 // 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 617 matching lines...) Expand 10 before | Expand all | Expand 10 after
1426 void showTree(const WebCore::RenderObject*); 1420 void showTree(const WebCore::RenderObject*);
1427 void showLineTree(const WebCore::RenderObject*); 1421 void showLineTree(const WebCore::RenderObject*);
1428 void showRenderTree(const WebCore::RenderObject* object1); 1422 void showRenderTree(const WebCore::RenderObject* object1);
1429 // We don't make object2 an optional parameter so that showRenderTree 1423 // We don't make object2 an optional parameter so that showRenderTree
1430 // can be called from gdb easily. 1424 // can be called from gdb easily.
1431 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2); 1425 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2);
1432 1426
1433 #endif 1427 #endif
1434 1428
1435 #endif // RenderObject_h 1429 #endif // RenderObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698