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

Side by Side Diff: Source/core/html/HTMLCanvasElement.cpp

Issue 26541008: Web setting for canvas2d msaa (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: working? Created 7 years, 2 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) 2004, 2006, 2007 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2006, 2007 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) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. 4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
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 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 return; 490 return;
491 491
492 if (deviceSize.width() > MaxSkiaDim || deviceSize.height() > MaxSkiaDim) 492 if (deviceSize.width() > MaxSkiaDim || deviceSize.height() > MaxSkiaDim)
493 return; 493 return;
494 494
495 IntSize bufferSize(deviceSize.width(), deviceSize.height()); 495 IntSize bufferSize(deviceSize.width(), deviceSize.height());
496 if (!bufferSize.width() || !bufferSize.height()) 496 if (!bufferSize.width() || !bufferSize.height())
497 return; 497 return;
498 498
499 RenderingMode renderingMode = shouldAccelerate(bufferSize) ? Accelerated : U nacceleratedNonPlatformBuffer; 499 RenderingMode renderingMode = shouldAccelerate(bufferSize) ? Accelerated : U nacceleratedNonPlatformBuffer;
500 int msaaSampleCount = 0;
501 if (Accelerated == renderingMode && document().settings()->antialiased2dCanv asEnabled())
Stephen White 2013/10/18 20:13:12 Nit: blink style doesn't reverse the == operands (
bsalomon 2013/10/21 13:48:47 Done, to be more consistent other blink code.
502 msaaSampleCount = document().settings()->accelerated2dCanvasMSAASampleCo unt();
500 OpacityMode opacityMode = !m_context || m_context->hasAlpha() ? NonOpaque : Opaque; 503 OpacityMode opacityMode = !m_context || m_context->hasAlpha() ? NonOpaque : Opaque;
501 m_imageBuffer = ImageBuffer::create(size(), m_deviceScaleFactor, renderingMo de, opacityMode); 504 m_imageBuffer = ImageBuffer::create(size(), m_deviceScaleFactor, renderingMo de, opacityMode, msaaSampleCount);
502 if (!m_imageBuffer) 505 if (!m_imageBuffer)
503 return; 506 return;
504 setExternallyAllocatedMemory(4 * width() * height()); 507 setExternallyAllocatedMemory(4 * width() * height());
505 m_imageBuffer->context()->setShouldClampToSourceRect(false); 508 m_imageBuffer->context()->setShouldClampToSourceRect(false);
506 m_imageBuffer->context()->setImageInterpolationQuality(DefaultInterpolationQ uality); 509 m_imageBuffer->context()->setImageInterpolationQuality(DefaultInterpolationQ uality);
507 if (document().settings() && !document().settings()->antialiased2dCanvasEnab led()) 510 if (document().settings() && !document().settings()->antialiased2dCanvasEnab led())
508 m_imageBuffer->context()->setShouldAntialias(false); 511 m_imageBuffer->context()->setShouldAntialias(false);
509 // GraphicsContext's defaults don't always agree with the 2d canvas spec. 512 // GraphicsContext's defaults don't always agree with the 2d canvas spec.
510 // See CanvasRenderingContext2D::State::State() for more information. 513 // See CanvasRenderingContext2D::State::State() for more information.
511 m_imageBuffer->context()->setMiterLimit(10); 514 m_imageBuffer->context()->setMiterLimit(10);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 FloatSize unscaledSize = size(); 583 FloatSize unscaledSize = size();
581 FloatSize deviceSize = convertLogicalToDevice(unscaledSize); 584 FloatSize deviceSize = convertLogicalToDevice(unscaledSize);
582 IntSize size(deviceSize.width(), deviceSize.height()); 585 IntSize size(deviceSize.width(), deviceSize.height());
583 AffineTransform transform; 586 AffineTransform transform;
584 if (size.width() && size.height()) 587 if (size.width() && size.height())
585 transform.scaleNonUniform(size.width() / unscaledSize.width(), size.heig ht() / unscaledSize.height()); 588 transform.scaleNonUniform(size.width() / unscaledSize.width(), size.heig ht() / unscaledSize.height());
586 return m_imageBuffer->baseTransform() * transform; 589 return m_imageBuffer->baseTransform() * transform;
587 } 590 }
588 591
589 } 592 }
OLDNEW
« no previous file with comments | « no previous file | Source/core/page/Settings.in » ('j') | Source/core/platform/graphics/ImageBuffer.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698