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

Side by Side Diff: Source/core/rendering/svg/RenderSVGResourceMarker.h

Issue 539833004: [SVG2] Add support for marker orient="auto-start-reverse". (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: review fixes Created 6 years, 3 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) Research In Motion Limited 2009-2010. All rights reserved. 2 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved.
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 void draw(PaintInfo&, const AffineTransform&); 43 void draw(PaintInfo&, const AffineTransform&);
44 44
45 // Calculates marker boundaries, mapped to the target element's coordinate s pace 45 // Calculates marker boundaries, mapped to the target element's coordinate s pace
46 FloatRect markerBoundaries(const AffineTransform& markerTransformation) cons t; 46 FloatRect markerBoundaries(const AffineTransform& markerTransformation) cons t;
47 47
48 virtual void applyViewportClip(PaintInfo&) OVERRIDE; 48 virtual void applyViewportClip(PaintInfo&) OVERRIDE;
49 virtual void layout() OVERRIDE; 49 virtual void layout() OVERRIDE;
50 virtual void calcViewport() OVERRIDE; 50 virtual void calcViewport() OVERRIDE;
51 51
52 virtual const AffineTransform& localToParentTransform() const OVERRIDE; 52 virtual const AffineTransform& localToParentTransform() const OVERRIDE;
53 AffineTransform markerTransformation(const FloatPoint& origin, float angle, float strokeWidth) const; 53 AffineTransform markerTransformation(const FloatPoint& origin, float angle, float strokeWidth, bool isStartMarker) const;
54 54
55 virtual bool applyResource(RenderObject*, RenderStyle*, GraphicsContext*&, u nsigned short) OVERRIDE { return false; } 55 virtual bool applyResource(RenderObject*, RenderStyle*, GraphicsContext*&, u nsigned short) OVERRIDE { return false; }
56 56
57 FloatPoint referencePoint() const; 57 FloatPoint referencePoint() const;
58 float angle() const; 58 float angle() const;
59 SVGMarkerUnitsType markerUnits() const { return toSVGMarkerElement(element() )->markerUnits()->currentValue()->enumValue(); } 59 SVGMarkerUnitsType markerUnits() const { return toSVGMarkerElement(element() )->markerUnits()->currentValue()->enumValue(); }
60 60
61 virtual RenderSVGResourceType resourceType() const OVERRIDE { return s_resou rceType; } 61 virtual RenderSVGResourceType resourceType() const OVERRIDE { return s_resou rceType; }
62 static const RenderSVGResourceType s_resourceType; 62 static const RenderSVGResourceType s_resourceType;
63 63
64 private: 64 private:
65 // Generates a transformation matrix usable to render marker content. Handle s scaling the marker content 65 // Generates a transformation matrix usable to render marker content. Handle s scaling the marker content
66 // acording to SVGs markerUnits="strokeWidth" concept, when a strokeWidth va lue != -1 is passed in. 66 // acording to SVGs markerUnits="strokeWidth" concept, when a strokeWidth va lue != -1 is passed in.
67 AffineTransform markerContentTransformation(const AffineTransform& contentTr ansformation, const FloatPoint& origin, float strokeWidth = -1) const; 67 AffineTransform markerContentTransformation(const AffineTransform& contentTr ansformation, const FloatPoint& origin, float strokeWidth = -1) const;
68 68
69 AffineTransform viewportTransform() const; 69 AffineTransform viewportTransform() const;
70 70
71 mutable AffineTransform m_localToParentTransform; 71 mutable AffineTransform m_localToParentTransform;
72 FloatRect m_viewport; 72 FloatRect m_viewport;
73 }; 73 };
74 74
75 DEFINE_RENDER_SVG_RESOURCE_TYPE_CASTS(RenderSVGResourceMarker, MarkerResourceTyp e); 75 DEFINE_RENDER_SVG_RESOURCE_TYPE_CASTS(RenderSVGResourceMarker, MarkerResourceTyp e);
76 76
77 } 77 }
78 78
79 #endif 79 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698