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

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

Issue 13724012: Remove Cairo support. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved.
3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com>
4 * Copyright (C) 2008 Torch Mobile, Inc. 4 * Copyright (C) 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 29 matching lines...) Expand all
40 typedef struct CGContext* CGContextRef; 40 typedef struct CGContext* CGContextRef;
41 41
42 typedef struct CGGradient* CGGradientRef; 42 typedef struct CGGradient* CGGradientRef;
43 typedef CGGradientRef PlatformGradient; 43 typedef CGGradientRef PlatformGradient;
44 44
45 #elif PLATFORM(QT) 45 #elif PLATFORM(QT)
46 QT_BEGIN_NAMESPACE 46 QT_BEGIN_NAMESPACE
47 class QGradient; 47 class QGradient;
48 QT_END_NAMESPACE 48 QT_END_NAMESPACE
49 typedef QGradient* PlatformGradient; 49 typedef QGradient* PlatformGradient;
50 #elif USE(CAIRO)
51 typedef struct _cairo_pattern cairo_pattern_t;
52 typedef cairo_pattern_t* PlatformGradient;
53 #elif USE(SKIA) 50 #elif USE(SKIA)
54 class SkShader; 51 class SkShader;
55 typedef class SkShader* PlatformGradient; 52 typedef class SkShader* PlatformGradient;
56 typedef class SkShader* PlatformPattern; 53 typedef class SkShader* PlatformPattern;
57 #elif PLATFORM(WX) 54 #elif PLATFORM(WX)
58 class wxGraphicsBrush; 55 class wxGraphicsBrush;
59 typedef wxGraphicsBrush* PlatformGradient; 56 typedef wxGraphicsBrush* PlatformGradient;
60 #else 57 #else
61 typedef void* PlatformGradient; 58 typedef void* PlatformGradient;
62 #endif 59 #endif
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 virtual void adjustParametersForTiledDrawing(IntSize& size, FloatRect& s rcRect); 161 virtual void adjustParametersForTiledDrawing(IntSize& size, FloatRect& s rcRect);
165 162
166 void setPlatformGradientSpaceTransform(const AffineTransform& gradientSp aceTransformation); 163 void setPlatformGradientSpaceTransform(const AffineTransform& gradientSp aceTransformation);
167 164
168 virtual unsigned hash() const OVERRIDE; 165 virtual unsigned hash() const OVERRIDE;
169 void invalidateHash() { m_cachedHash = 0; } 166 void invalidateHash() { m_cachedHash = 0; }
170 167
171 #if USE(CG) 168 #if USE(CG)
172 void paint(CGContextRef); 169 void paint(CGContextRef);
173 void paint(GraphicsContext*); 170 void paint(GraphicsContext*);
174 #elif USE(CAIRO)
175 PlatformGradient platformGradient(float globalAlpha);
176 #endif 171 #endif
177 172
178 private: 173 private:
179 Gradient(const FloatPoint& p0, const FloatPoint& p1); 174 Gradient(const FloatPoint& p0, const FloatPoint& p1);
180 Gradient(const FloatPoint& p0, float r0, const FloatPoint& p1, float r1, float aspectRatio); 175 Gradient(const FloatPoint& p0, float r0, const FloatPoint& p1, float r1, float aspectRatio);
181 176
182 void platformInit() { m_gradient = 0; } 177 void platformInit() { m_gradient = 0; }
183 void platformDestroy(); 178 void platformDestroy();
184 179
185 int findStop(float value) const; 180 int findStop(float value) const;
186 void sortStopsIfNecessary(); 181 void sortStopsIfNecessary();
187 182
188 // Keep any parameters relevant to rendering in sync with the structure in Gradient::hash(). 183 // Keep any parameters relevant to rendering in sync with the structure in Gradient::hash().
189 bool m_radial; 184 bool m_radial;
190 FloatPoint m_p0; 185 FloatPoint m_p0;
191 FloatPoint m_p1; 186 FloatPoint m_p1;
192 float m_r0; 187 float m_r0;
193 float m_r1; 188 float m_r1;
194 float m_aspectRatio; // For elliptical gradient, width / height. 189 float m_aspectRatio; // For elliptical gradient, width / height.
195 mutable Vector<ColorStop, 2> m_stops; 190 mutable Vector<ColorStop, 2> m_stops;
196 mutable bool m_stopsSorted; 191 mutable bool m_stopsSorted;
197 mutable int m_lastStop; 192 mutable int m_lastStop;
198 GradientSpreadMethod m_spreadMethod; 193 GradientSpreadMethod m_spreadMethod;
199 AffineTransform m_gradientSpaceTransformation; 194 AffineTransform m_gradientSpaceTransformation;
200 195
201 mutable unsigned m_cachedHash; 196 mutable unsigned m_cachedHash;
202 197
203 PlatformGradient m_gradient; 198 PlatformGradient m_gradient;
204
205 #if USE(CAIRO)
206 float m_platformGradientAlpha;
207 #endif
208
209 }; 199 };
210 200
211 } //namespace 201 } //namespace
212 202
213 #endif 203 #endif
OLDNEW
« no previous file with comments | « Source/WebCore/platform/graphics/GlyphBuffer.h ('k') | Source/WebCore/platform/graphics/Gradient.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698