| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. |
| 3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 4 * Copyright (C) 2007 Alp Toker <alp@atoker.com> | 4 * Copyright (C) 2007 Alp Toker <alp@atoker.com> |
| 5 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 5 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> |
| 6 * Copyright (C) 2008 Dirk Schulze <krit@webkit.org> | 6 * Copyright (C) 2008 Dirk Schulze <krit@webkit.org> |
| 7 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. | 7 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. |
| 8 * Copyright (C) 2012, 2013 Intel Corporation. All rights reserved. | 8 * Copyright (C) 2012, 2013 Intel Corporation. All rights reserved. |
| 9 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 9 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
| 10 * | 10 * |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 , m_globalAlpha(1) | 251 , m_globalAlpha(1) |
| 252 , m_globalComposite(CompositeSourceOver) | 252 , m_globalComposite(CompositeSourceOver) |
| 253 , m_globalBlend(blink::WebBlendModeNormal) | 253 , m_globalBlend(blink::WebBlendModeNormal) |
| 254 , m_invertibleCTM(true) | 254 , m_invertibleCTM(true) |
| 255 , m_lineDashOffset(0) | 255 , m_lineDashOffset(0) |
| 256 , m_imageSmoothingEnabled(true) | 256 , m_imageSmoothingEnabled(true) |
| 257 , m_textAlign(StartTextAlign) | 257 , m_textAlign(StartTextAlign) |
| 258 , m_textBaseline(AlphabeticTextBaseline) | 258 , m_textBaseline(AlphabeticTextBaseline) |
| 259 , m_unparsedFont(defaultFont) | 259 , m_unparsedFont(defaultFont) |
| 260 , m_realizedFont(false) | 260 , m_realizedFont(false) |
| 261 , m_hasClip(false) |
| 261 { | 262 { |
| 262 } | 263 } |
| 263 | 264 |
| 264 CanvasRenderingContext2D::State::State(const State& other) | 265 CanvasRenderingContext2D::State::State(const State& other) |
| 265 : CSSFontSelectorClient() | 266 : CSSFontSelectorClient() |
| 266 , m_unrealizedSaveCount(other.m_unrealizedSaveCount) | 267 , m_unrealizedSaveCount(other.m_unrealizedSaveCount) |
| 267 , m_unparsedStrokeColor(other.m_unparsedStrokeColor) | 268 , m_unparsedStrokeColor(other.m_unparsedStrokeColor) |
| 268 , m_unparsedFillColor(other.m_unparsedFillColor) | 269 , m_unparsedFillColor(other.m_unparsedFillColor) |
| 269 , m_strokeStyle(other.m_strokeStyle) | 270 , m_strokeStyle(other.m_strokeStyle) |
| 270 , m_fillStyle(other.m_fillStyle) | 271 , m_fillStyle(other.m_fillStyle) |
| 271 , m_lineWidth(other.m_lineWidth) | 272 , m_lineWidth(other.m_lineWidth) |
| 272 , m_lineCap(other.m_lineCap) | 273 , m_lineCap(other.m_lineCap) |
| 273 , m_lineJoin(other.m_lineJoin) | 274 , m_lineJoin(other.m_lineJoin) |
| 274 , m_miterLimit(other.m_miterLimit) | 275 , m_miterLimit(other.m_miterLimit) |
| 275 , m_shadowOffset(other.m_shadowOffset) | 276 , m_shadowOffset(other.m_shadowOffset) |
| 276 , m_shadowBlur(other.m_shadowBlur) | 277 , m_shadowBlur(other.m_shadowBlur) |
| 277 , m_shadowColor(other.m_shadowColor) | 278 , m_shadowColor(other.m_shadowColor) |
| 278 , m_globalAlpha(other.m_globalAlpha) | 279 , m_globalAlpha(other.m_globalAlpha) |
| 279 , m_globalComposite(other.m_globalComposite) | 280 , m_globalComposite(other.m_globalComposite) |
| 280 , m_globalBlend(other.m_globalBlend) | 281 , m_globalBlend(other.m_globalBlend) |
| 281 , m_transform(other.m_transform) | 282 , m_transform(other.m_transform) |
| 282 , m_invertibleCTM(other.m_invertibleCTM) | 283 , m_invertibleCTM(other.m_invertibleCTM) |
| 283 , m_lineDashOffset(other.m_lineDashOffset) | 284 , m_lineDashOffset(other.m_lineDashOffset) |
| 284 , m_imageSmoothingEnabled(other.m_imageSmoothingEnabled) | 285 , m_imageSmoothingEnabled(other.m_imageSmoothingEnabled) |
| 285 , m_textAlign(other.m_textAlign) | 286 , m_textAlign(other.m_textAlign) |
| 286 , m_textBaseline(other.m_textBaseline) | 287 , m_textBaseline(other.m_textBaseline) |
| 287 , m_unparsedFont(other.m_unparsedFont) | 288 , m_unparsedFont(other.m_unparsedFont) |
| 288 , m_font(other.m_font) | 289 , m_font(other.m_font) |
| 289 , m_realizedFont(other.m_realizedFont) | 290 , m_realizedFont(other.m_realizedFont) |
| 291 , m_hasClip(other.m_hasClip) |
| 290 { | 292 { |
| 291 if (m_realizedFont) | 293 if (m_realizedFont) |
| 292 static_cast<CSSFontSelector*>(m_font.fontSelector())->registerForInvalid
ationCallbacks(this); | 294 static_cast<CSSFontSelector*>(m_font.fontSelector())->registerForInvalid
ationCallbacks(this); |
| 293 } | 295 } |
| 294 | 296 |
| 295 CanvasRenderingContext2D::State& CanvasRenderingContext2D::State::operator=(cons
t State& other) | 297 CanvasRenderingContext2D::State& CanvasRenderingContext2D::State::operator=(cons
t State& other) |
| 296 { | 298 { |
| 297 if (this == &other) | 299 if (this == &other) |
| 298 return *this; | 300 return *this; |
| 299 | 301 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 318 m_globalComposite = other.m_globalComposite; | 320 m_globalComposite = other.m_globalComposite; |
| 319 m_globalBlend = other.m_globalBlend; | 321 m_globalBlend = other.m_globalBlend; |
| 320 m_transform = other.m_transform; | 322 m_transform = other.m_transform; |
| 321 m_invertibleCTM = other.m_invertibleCTM; | 323 m_invertibleCTM = other.m_invertibleCTM; |
| 322 m_imageSmoothingEnabled = other.m_imageSmoothingEnabled; | 324 m_imageSmoothingEnabled = other.m_imageSmoothingEnabled; |
| 323 m_textAlign = other.m_textAlign; | 325 m_textAlign = other.m_textAlign; |
| 324 m_textBaseline = other.m_textBaseline; | 326 m_textBaseline = other.m_textBaseline; |
| 325 m_unparsedFont = other.m_unparsedFont; | 327 m_unparsedFont = other.m_unparsedFont; |
| 326 m_font = other.m_font; | 328 m_font = other.m_font; |
| 327 m_realizedFont = other.m_realizedFont; | 329 m_realizedFont = other.m_realizedFont; |
| 330 m_hasClip = other.m_hasClip; |
| 328 | 331 |
| 329 if (m_realizedFont) | 332 if (m_realizedFont) |
| 330 static_cast<CSSFontSelector*>(m_font.fontSelector())->registerForInvalid
ationCallbacks(this); | 333 static_cast<CSSFontSelector*>(m_font.fontSelector())->registerForInvalid
ationCallbacks(this); |
| 331 | 334 |
| 332 return *this; | 335 return *this; |
| 333 } | 336 } |
| 334 | 337 |
| 335 CanvasRenderingContext2D::State::~State() | 338 CanvasRenderingContext2D::State::~State() |
| 336 { | 339 { |
| 337 #if !ENABLE(OILPAN) | 340 #if !ENABLE(OILPAN) |
| (...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1089 GraphicsContext* c = drawingContext(); | 1092 GraphicsContext* c = drawingContext(); |
| 1090 if (!c) { | 1093 if (!c) { |
| 1091 return; | 1094 return; |
| 1092 } | 1095 } |
| 1093 if (!state().m_invertibleCTM) { | 1096 if (!state().m_invertibleCTM) { |
| 1094 return; | 1097 return; |
| 1095 } | 1098 } |
| 1096 | 1099 |
| 1097 realizeSaves(); | 1100 realizeSaves(); |
| 1098 c->canvasClip(path, parseWinding(windingRuleString)); | 1101 c->canvasClip(path, parseWinding(windingRuleString)); |
| 1102 modifiableState().m_hasClip = true; |
| 1099 } | 1103 } |
| 1100 | 1104 |
| 1101 void CanvasRenderingContext2D::clip(const String& windingRuleString) | 1105 void CanvasRenderingContext2D::clip(const String& windingRuleString) |
| 1102 { | 1106 { |
| 1103 clipInternal(m_path, windingRuleString); | 1107 clipInternal(m_path, windingRuleString); |
| 1104 } | 1108 } |
| 1105 | 1109 |
| 1106 void CanvasRenderingContext2D::clip(Path2D* domPath, const String& windingRuleSt
ring) | 1110 void CanvasRenderingContext2D::clip(Path2D* domPath, const String& windingRuleSt
ring) |
| 1107 { | 1111 { |
| 1108 clipInternal(domPath->path(), windingRuleString); | 1112 clipInternal(domPath->path(), windingRuleString); |
| (...skipping 1269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2378 | 2382 |
| 2379 if (m_path.isEmpty() || !context || !state().m_invertibleCTM | 2383 if (m_path.isEmpty() || !context || !state().m_invertibleCTM |
| 2380 || !context->getTransformedClipBounds(&clipBounds)) { | 2384 || !context->getTransformedClipBounds(&clipBounds)) { |
| 2381 exceptionState.throwDOMException(NotSupportedError, "The specified path
has no pixels."); | 2385 exceptionState.throwDOMException(NotSupportedError, "The specified path
has no pixels."); |
| 2382 return; | 2386 return; |
| 2383 } | 2387 } |
| 2384 | 2388 |
| 2385 Path specifiedPath = m_path; | 2389 Path specifiedPath = m_path; |
| 2386 specifiedPath.transform(state().m_transform); | 2390 specifiedPath.transform(state().m_transform); |
| 2387 | 2391 |
| 2388 if (context->isClipMode()) { | 2392 if (hasClip()) { |
| 2389 // FIXME: The hit regions should take clipping region into account. | 2393 // FIXME: The hit regions should take clipping region into account. |
| 2390 // However, we have no way to get the region from canvas state stack by
now. | 2394 // However, we have no way to get the region from canvas state stack by
now. |
| 2391 // See http://crbug.com/387057 | 2395 // See http://crbug.com/387057 |
| 2392 exceptionState.throwDOMException(NotSupportedError, "The specified path
has no pixels."); | 2396 exceptionState.throwDOMException(NotSupportedError, "The specified path
has no pixels."); |
| 2393 return; | 2397 return; |
| 2394 } | 2398 } |
| 2395 | 2399 |
| 2396 passOptions.path = specifiedPath; | 2400 passOptions.path = specifiedPath; |
| 2397 | 2401 |
| 2398 String fillRuleString; | 2402 String fillRuleString; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2441 | 2445 |
| 2442 unsigned CanvasRenderingContext2D::hitRegionsCount() const | 2446 unsigned CanvasRenderingContext2D::hitRegionsCount() const |
| 2443 { | 2447 { |
| 2444 if (m_hitRegionManager) | 2448 if (m_hitRegionManager) |
| 2445 return m_hitRegionManager->getHitRegionsCount(); | 2449 return m_hitRegionManager->getHitRegionsCount(); |
| 2446 | 2450 |
| 2447 return 0; | 2451 return 0; |
| 2448 } | 2452 } |
| 2449 | 2453 |
| 2450 } // namespace WebCore | 2454 } // namespace WebCore |
| OLD | NEW |