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

Side by Side Diff: Source/WebCore/platform/graphics/Path.h

Issue 13529026: Removing a bunch of unused platform code. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix whitespace and compiler error on Mac. Created 7 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2006, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2006, 2009 Apple Inc. All rights reserved.
3 * 2006 Rob Buis <buis@kde.org> 3 * 2006 Rob Buis <buis@kde.org>
4 * Copyright (C) 2007-2008 Torch Mobile, Inc. 4 * Copyright (C) 2007-2008 Torch Mobile, Inc.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 17 matching lines...) Expand all
28 #ifndef Path_h 28 #ifndef Path_h
29 #define Path_h 29 #define Path_h
30 30
31 #include "RoundedRect.h" 31 #include "RoundedRect.h"
32 #include "WindRule.h" 32 #include "WindRule.h"
33 #include <wtf/FastAllocBase.h> 33 #include <wtf/FastAllocBase.h>
34 #include <wtf/Forward.h> 34 #include <wtf/Forward.h>
35 35
36 #if USE(CG) 36 #if USE(CG)
37 typedef struct CGPath PlatformPath; 37 typedef struct CGPath PlatformPath;
38 #elif PLATFORM(OPENVG)
39 namespace WebCore {
40 class PlatformPathOpenVG;
41 }
42 typedef WebCore::PlatformPathOpenVG PlatformPath;
43 #elif PLATFORM(QT)
44 #include <qpainterpath.h>
45 typedef QPainterPath PlatformPath;
46 #elif USE(SKIA) 38 #elif USE(SKIA)
47 class SkPath; 39 class SkPath;
48 typedef SkPath PlatformPath; 40 typedef SkPath PlatformPath;
49 #elif OS(WINCE) 41 #elif OS(WINCE)
50 namespace WebCore { 42 namespace WebCore {
51 class PlatformPath; 43 class PlatformPath;
52 } 44 }
53 typedef WebCore::PlatformPath PlatformPath; 45 typedef WebCore::PlatformPath PlatformPath;
54 #else 46 #else
55 typedef void PlatformPath; 47 typedef void PlatformPath;
56 #endif 48 #endif
57 49
58 #if PLATFORM(QT)
59 /* QPainterPath is valued based */
60 typedef PlatformPath PlatformPathPtr;
61 #else
62 typedef PlatformPath* PlatformPathPtr; 50 typedef PlatformPath* PlatformPathPtr;
63 #endif
64 51
65 namespace WebCore { 52 namespace WebCore {
66 53
67 class AffineTransform; 54 class AffineTransform;
68 class FloatPoint; 55 class FloatPoint;
69 class FloatRect; 56 class FloatRect;
70 class FloatSize; 57 class FloatSize;
71 class GraphicsContext; 58 class GraphicsContext;
72 class StrokeStyleApplier; 59 class StrokeStyleApplier;
73 60
(...skipping 30 matching lines...) Expand all
104 // should perfectly bound the points within the path. 91 // should perfectly bound the points within the path.
105 FloatRect boundingRect() const; 92 FloatRect boundingRect() const;
106 FloatRect fastBoundingRect() const; 93 FloatRect fastBoundingRect() const;
107 FloatRect strokeBoundingRect(StrokeStyleApplier* = 0) const; 94 FloatRect strokeBoundingRect(StrokeStyleApplier* = 0) const;
108 95
109 float length() const; 96 float length() const;
110 FloatPoint pointAtLength(float length, bool& ok) const; 97 FloatPoint pointAtLength(float length, bool& ok) const;
111 float normalAngleAtLength(float length, bool& ok) const; 98 float normalAngleAtLength(float length, bool& ok) const;
112 99
113 void clear(); 100 void clear();
114 #if PLATFORM(QT)
115 bool isNull() const { return false; }
116 #else
117 bool isNull() const { return !m_path; } 101 bool isNull() const { return !m_path; }
118 #endif
119 bool isEmpty() const; 102 bool isEmpty() const;
120 // Gets the current point of the current path, which is conceptually the final point reached by the path so far. 103 // Gets the current point of the current path, which is conceptually the final point reached by the path so far.
121 // Note the Path can be empty (isEmpty() == true) and still have a curre nt point. 104 // Note the Path can be empty (isEmpty() == true) and still have a curre nt point.
122 bool hasCurrentPoint() const; 105 bool hasCurrentPoint() const;
123 FloatPoint currentPoint() const; 106 FloatPoint currentPoint() const;
124 107
125 void moveTo(const FloatPoint&); 108 void moveTo(const FloatPoint&);
126 void addLineTo(const FloatPoint&); 109 void addLineTo(const FloatPoint&);
127 void addQuadCurveTo(const FloatPoint& controlPoint, const FloatPoint& en dPoint); 110 void addQuadCurveTo(const FloatPoint& controlPoint, const FloatPoint& en dPoint);
128 void addBezierCurveTo(const FloatPoint& controlPoint1, const FloatPoint& controlPoint2, const FloatPoint& endPoint); 111 void addBezierCurveTo(const FloatPoint& controlPoint1, const FloatPoint& controlPoint2, const FloatPoint& endPoint);
129 void addArcTo(const FloatPoint&, const FloatPoint&, float radius); 112 void addArcTo(const FloatPoint&, const FloatPoint&, float radius);
130 void closeSubpath(); 113 void closeSubpath();
131 114
132 void addArc(const FloatPoint&, float radius, float startAngle, float end Angle, bool anticlockwise); 115 void addArc(const FloatPoint&, float radius, float startAngle, float end Angle, bool anticlockwise);
133 void addRect(const FloatRect&); 116 void addRect(const FloatRect&);
134 void addEllipse(const FloatRect&); 117 void addEllipse(const FloatRect&);
135 118
136 enum RoundedRectStrategy { 119 enum RoundedRectStrategy {
137 PreferNativeRoundedRect, 120 PreferNativeRoundedRect,
138 PreferBezierRoundedRect 121 PreferBezierRoundedRect
139 }; 122 };
140 123
141 void addRoundedRect(const FloatRect&, const FloatSize& roundingRadii, Ro undedRectStrategy = PreferNativeRoundedRect); 124 void addRoundedRect(const FloatRect&, const FloatSize& roundingRadii, Ro undedRectStrategy = PreferNativeRoundedRect);
142 void addRoundedRect(const FloatRect&, const FloatSize& topLeftRadius, co nst FloatSize& topRightRadius, const FloatSize& bottomLeftRadius, const FloatSiz e& bottomRightRadius, RoundedRectStrategy = PreferNativeRoundedRect); 125 void addRoundedRect(const FloatRect&, const FloatSize& topLeftRadius, co nst FloatSize& topRightRadius, const FloatSize& bottomLeftRadius, const FloatSiz e& bottomRightRadius, RoundedRectStrategy = PreferNativeRoundedRect);
143 void addRoundedRect(const RoundedRect&); 126 void addRoundedRect(const RoundedRect&);
144 127
145 void translate(const FloatSize&); 128 void translate(const FloatSize&);
146 129
147 // To keep Path() cheap, it does not allocate a PlatformPath immediately 130 // To keep Path() cheap, it does not allocate a PlatformPath immediately
148 // meaning Path::platformPath() can return null (except on Qt). 131 // meaning Path::platformPath() can return null.
149 PlatformPathPtr platformPath() const { return m_path; } 132 PlatformPathPtr platformPath() const { return m_path; }
150 #if PLATFORM(QT)
151 PlatformPathPtr ensurePlatformPath() { return platformPath(); }
152 #else
153 // ensurePlatformPath() will allocate a PlatformPath if it has not yet b een and will never return null. 133 // ensurePlatformPath() will allocate a PlatformPath if it has not yet b een and will never return null.
154 PlatformPathPtr ensurePlatformPath(); 134 PlatformPathPtr ensurePlatformPath();
155 #endif
156 135
157 void apply(void* info, PathApplierFunction) const; 136 void apply(void* info, PathApplierFunction) const;
158 void transform(const AffineTransform&); 137 void transform(const AffineTransform&);
159 138
160 void addPathForRoundedRect(const FloatRect&, const FloatSize& topLeftRad ius, const FloatSize& topRightRadius, const FloatSize& bottomLeftRadius, const F loatSize& bottomRightRadius, RoundedRectStrategy = PreferNativeRoundedRect); 139 void addPathForRoundedRect(const FloatRect&, const FloatSize& topLeftRad ius, const FloatSize& topRightRadius, const FloatSize& bottomLeftRadius, const F loatSize& bottomRightRadius, RoundedRectStrategy = PreferNativeRoundedRect);
161 void addBeziersForRoundedRect(const FloatRect&, const FloatSize& topLeft Radius, const FloatSize& topRightRadius, const FloatSize& bottomLeftRadius, cons t FloatSize& bottomRightRadius); 140 void addBeziersForRoundedRect(const FloatRect&, const FloatSize& topLeft Radius, const FloatSize& topRightRadius, const FloatSize& bottomLeftRadius, cons t FloatSize& bottomRightRadius);
162 141
163 #if USE(CG) 142 #if USE(CG)
164 void platformAddPathForRoundedRect(const FloatRect&, const FloatSize& to pLeftRadius, const FloatSize& topRightRadius, const FloatSize& bottomLeftRadius, const FloatSize& bottomRightRadius); 143 void platformAddPathForRoundedRect(const FloatRect&, const FloatSize& to pLeftRadius, const FloatSize& topRightRadius, const FloatSize& bottomLeftRadius, const FloatSize& bottomRightRadius);
165 #endif 144 #endif
166 145
167 #if PLATFORM(BLACKBERRY)
168 Path(const SkPath&);
169 #endif
170
171 private: 146 private:
172 PlatformPathPtr m_path; 147 PlatformPathPtr m_path;
173 }; 148 };
174 149
175 } 150 }
176 151
177 #endif 152 #endif
OLDNEW
« no previous file with comments | « Source/WebCore/platform/graphics/OpenGLShims.cpp ('k') | Source/WebCore/platform/graphics/Path.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698