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

Side by Side Diff: Source/core/html/canvas/CanvasRenderingContext2D.h

Issue 19786002: Implement canvas focus ring methods. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 7 years, 4 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, 2009, 2010, 2011, 2012 Apple Inc. All rights reserv ed. 2 * Copyright (C) 2006, 2007, 2009, 2010, 2011, 2012 Apple Inc. All rights reserv ed.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 30 matching lines...) Expand all
41 #include "wtf/text/WTFString.h" 41 #include "wtf/text/WTFString.h"
42 42
43 namespace WebKit { class WebLayer; } 43 namespace WebKit { class WebLayer; }
44 44
45 namespace WebCore { 45 namespace WebCore {
46 46
47 class CanvasGradient; 47 class CanvasGradient;
48 class CanvasPattern; 48 class CanvasPattern;
49 class CanvasStyle; 49 class CanvasStyle;
50 class DOMPath; 50 class DOMPath;
51 class Element;
51 class FloatRect; 52 class FloatRect;
52 class GraphicsContext; 53 class GraphicsContext;
53 class HTMLCanvasElement; 54 class HTMLCanvasElement;
54 class HTMLImageElement; 55 class HTMLImageElement;
55 class HTMLVideoElement; 56 class HTMLVideoElement;
56 class ImageBitmap; 57 class ImageBitmap;
57 class ImageData; 58 class ImageData;
58 class TextMetrics; 59 class TextMetrics;
59 60
60 typedef int ExceptionCode; 61 typedef int ExceptionCode;
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 PassRefPtr<TextMetrics> measureText(const String& text); 220 PassRefPtr<TextMetrics> measureText(const String& text);
220 221
221 LineCap getLineCap() const { return state().m_lineCap; } 222 LineCap getLineCap() const { return state().m_lineCap; }
222 LineJoin getLineJoin() const { return state().m_lineJoin; } 223 LineJoin getLineJoin() const { return state().m_lineJoin; }
223 224
224 bool webkitImageSmoothingEnabled() const; 225 bool webkitImageSmoothingEnabled() const;
225 void setWebkitImageSmoothingEnabled(bool); 226 void setWebkitImageSmoothingEnabled(bool);
226 227
227 PassRefPtr<Canvas2DContextAttributes> getContextAttributes() const; 228 PassRefPtr<Canvas2DContextAttributes> getContextAttributes() const;
228 229
230 void drawSystemFocusRing(Element*);
231 bool drawCustomFocusRing(Element*);
232
229 private: 233 private:
230 struct State : FontSelectorClient { 234 struct State : FontSelectorClient {
231 State(); 235 State();
232 virtual ~State(); 236 virtual ~State();
233 237
234 State(const State&); 238 State(const State&);
235 State& operator=(const State&); 239 State& operator=(const State&);
236 240
237 virtual void fontsNeedUpdate(FontSelector*) OVERRIDE; 241 virtual void fontsNeedUpdate(FontSelector*) OVERRIDE;
238 242
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 void compositeBuffer(ImageBuffer*, const IntRect&, CompositeOperator); 318 void compositeBuffer(ImageBuffer*, const IntRect&, CompositeOperator);
315 319
316 void inflateStrokeRect(FloatRect&) const; 320 void inflateStrokeRect(FloatRect&) const;
317 321
318 template<class T> void fullCanvasCompositedFill(const T&); 322 template<class T> void fullCanvasCompositedFill(const T&);
319 template<class T> void fullCanvasCompositedDrawImage(T*, const FloatRect&, c onst FloatRect&, CompositeOperator); 323 template<class T> void fullCanvasCompositedDrawImage(T*, const FloatRect&, c onst FloatRect&, CompositeOperator);
320 324
321 PassRefPtr<ImageData> getImageData(ImageBuffer::CoordinateSystem, float sx, float sy, float sw, float sh, ExceptionCode&) const; 325 PassRefPtr<ImageData> getImageData(ImageBuffer::CoordinateSystem, float sx, float sy, float sw, float sh, ExceptionCode&) const;
322 void putImageData(ImageData*, ImageBuffer::CoordinateSystem, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight, ExceptionC ode&); 326 void putImageData(ImageData*, ImageBuffer::CoordinateSystem, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight, ExceptionC ode&);
323 327
328 bool focusRingCallIsValid(const Path&, Element*);
329 void updateFocusRingAccessibility(const Path&, Element*);
330 void drawFocusRing(const Path&, Element*);
331
324 virtual bool is2d() const OVERRIDE { return true; } 332 virtual bool is2d() const OVERRIDE { return true; }
325 virtual bool isAccelerated() const OVERRIDE; 333 virtual bool isAccelerated() const OVERRIDE;
326 virtual bool hasAlpha() const OVERRIDE { return m_hasAlpha; } 334 virtual bool hasAlpha() const OVERRIDE { return m_hasAlpha; }
327 335
328 virtual bool isTransformInvertible() const { return state().m_invertibleCTM; } 336 virtual bool isTransformInvertible() const { return state().m_invertibleCTM; }
329 337
330 virtual WebKit::WebLayer* platformLayer() const OVERRIDE; 338 virtual WebKit::WebLayer* platformLayer() const OVERRIDE;
331 339
332 Vector<State, 1> m_stateStack; 340 Vector<State, 1> m_stateStack;
333 unsigned m_unrealizedSaveCount; 341 unsigned m_unrealizedSaveCount;
334 bool m_usesCSSCompatibilityParseMode; 342 bool m_usesCSSCompatibilityParseMode;
335 bool m_hasAlpha; 343 bool m_hasAlpha;
336 MutableStylePropertyMap m_cachedFonts; 344 MutableStylePropertyMap m_cachedFonts;
337 }; 345 };
338 346
339 } // namespace WebCore 347 } // namespace WebCore
340 348
341 #endif 349 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698