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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/GraphicsContext.cpp

Issue 2712083002: color: Remove blink pre-conversion code (Closed)
Patch Set: Rebase Created 3 years, 9 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) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved.
3 * Copyright (C) 2013 Google Inc. All rights reserved. 3 * Copyright (C) 2013 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 #include "third_party/skia/include/pathops/SkPathOps.h" 51 #include "third_party/skia/include/pathops/SkPathOps.h"
52 #include "third_party/skia/include/utils/SkNullCanvas.h" 52 #include "third_party/skia/include/utils/SkNullCanvas.h"
53 #include "wtf/Assertions.h" 53 #include "wtf/Assertions.h"
54 #include "wtf/MathExtras.h" 54 #include "wtf/MathExtras.h"
55 #include <memory> 55 #include <memory>
56 56
57 namespace blink { 57 namespace blink {
58 58
59 GraphicsContext::GraphicsContext(PaintController& paintController, 59 GraphicsContext::GraphicsContext(PaintController& paintController,
60 DisabledMode disableContextOrPainting, 60 DisabledMode disableContextOrPainting,
61 SkMetaData* metaData, 61 SkMetaData* metaData)
62 ColorBehavior colorBehavior)
63 : m_canvas(nullptr), 62 : m_canvas(nullptr),
64 m_paintController(paintController), 63 m_paintController(paintController),
65 m_paintStateStack(), 64 m_paintStateStack(),
66 m_paintStateIndex(0), 65 m_paintStateIndex(0),
67 m_colorBehavior(colorBehavior),
68 #if DCHECK_IS_ON() 66 #if DCHECK_IS_ON()
69 m_layerCount(0), 67 m_layerCount(0),
70 m_disableDestructionChecks(false), 68 m_disableDestructionChecks(false),
71 m_inDrawingRecorder(false), 69 m_inDrawingRecorder(false),
72 #endif 70 #endif
73 m_disabledState(disableContextOrPainting), 71 m_disabledState(disableContextOrPainting),
74 m_deviceScaleFactor(1.0f), 72 m_deviceScaleFactor(1.0f),
75 m_printing(false), 73 m_printing(false),
76 m_hasMetaData(!!metaData) { 74 m_hasMetaData(!!metaData) {
77 if (metaData) 75 if (metaData)
(...skipping 743 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 return; 819 return;
822 820
823 const FloatRect src = srcPtr ? *srcPtr : image->rect(); 821 const FloatRect src = srcPtr ? *srcPtr : image->rect();
824 822
825 PaintFlags imageFlags = immutableState()->fillFlags(); 823 PaintFlags imageFlags = immutableState()->fillFlags();
826 imageFlags.setBlendMode(op); 824 imageFlags.setBlendMode(op);
827 imageFlags.setColor(SK_ColorBLACK); 825 imageFlags.setColor(SK_ColorBLACK);
828 imageFlags.setFilterQuality(computeFilterQuality(image, dest, src)); 826 imageFlags.setFilterQuality(computeFilterQuality(image, dest, src));
829 imageFlags.setAntiAlias(shouldAntialias()); 827 imageFlags.setAntiAlias(shouldAntialias());
830 image->draw(m_canvas, imageFlags, dest, src, shouldRespectImageOrientation, 828 image->draw(m_canvas, imageFlags, dest, src, shouldRespectImageOrientation,
831 Image::ClampImageToSourceRect, m_colorBehavior); 829 Image::ClampImageToSourceRect);
832 m_paintController.setImagePainted(); 830 m_paintController.setImagePainted();
833 } 831 }
834 832
835 void GraphicsContext::drawImageRRect( 833 void GraphicsContext::drawImageRRect(
836 Image* image, 834 Image* image,
837 const FloatRoundedRect& dest, 835 const FloatRoundedRect& dest,
838 const FloatRect& srcRect, 836 const FloatRect& srcRect,
839 SkBlendMode op, 837 SkBlendMode op,
840 RespectImageOrientationEnum respectOrientation) { 838 RespectImageOrientationEnum respectOrientation) {
841 if (contextDisabled() || !image) 839 if (contextDisabled() || !image)
(...skipping 15 matching lines...) Expand all
857 imageFlags.setColor(SK_ColorBLACK); 855 imageFlags.setColor(SK_ColorBLACK);
858 imageFlags.setFilterQuality( 856 imageFlags.setFilterQuality(
859 computeFilterQuality(image, dest.rect(), srcRect)); 857 computeFilterQuality(image, dest.rect(), srcRect));
860 imageFlags.setAntiAlias(shouldAntialias()); 858 imageFlags.setAntiAlias(shouldAntialias());
861 859
862 bool useShader = (visibleSrc == srcRect) && 860 bool useShader = (visibleSrc == srcRect) &&
863 (respectOrientation == DoNotRespectImageOrientation); 861 (respectOrientation == DoNotRespectImageOrientation);
864 if (useShader) { 862 if (useShader) {
865 const SkMatrix localMatrix = SkMatrix::MakeRectToRect( 863 const SkMatrix localMatrix = SkMatrix::MakeRectToRect(
866 visibleSrc, dest.rect(), SkMatrix::kFill_ScaleToFit); 864 visibleSrc, dest.rect(), SkMatrix::kFill_ScaleToFit);
867 useShader = image->applyShader(imageFlags, localMatrix, m_colorBehavior); 865 useShader = image->applyShader(imageFlags, localMatrix);
868 } 866 }
869 867
870 if (useShader) { 868 if (useShader) {
871 // Shader-based fast path. 869 // Shader-based fast path.
872 m_canvas->drawRRect(dest, imageFlags); 870 m_canvas->drawRRect(dest, imageFlags);
873 } else { 871 } else {
874 // Clip-based fallback. 872 // Clip-based fallback.
875 PaintCanvasAutoRestore autoRestore(m_canvas, true); 873 PaintCanvasAutoRestore autoRestore(m_canvas, true);
876 m_canvas->clipRRect(dest, imageFlags.isAntiAlias()); 874 m_canvas->clipRRect(dest, imageFlags.isAntiAlias());
877 image->draw(m_canvas, imageFlags, dest.rect(), srcRect, respectOrientation, 875 image->draw(m_canvas, imageFlags, dest.rect(), srcRect, respectOrientation,
878 Image::ClampImageToSourceRect, m_colorBehavior); 876 Image::ClampImageToSourceRect);
879 } 877 }
880 878
881 m_paintController.setImagePainted(); 879 m_paintController.setImagePainted();
882 } 880 }
883 881
884 SkFilterQuality GraphicsContext::computeFilterQuality( 882 SkFilterQuality GraphicsContext::computeFilterQuality(
885 Image* image, 883 Image* image,
886 const FloatRect& dest, 884 const FloatRect& dest,
887 const FloatRect& src) const { 885 const FloatRect& src) const {
888 InterpolationQuality resampling; 886 InterpolationQuality resampling;
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after
1339 break; 1337 break;
1340 default: 1338 default:
1341 NOTREACHED(); 1339 NOTREACHED();
1342 break; 1340 break;
1343 } 1341 }
1344 1342
1345 return nullptr; 1343 return nullptr;
1346 } 1344 }
1347 1345
1348 } // namespace blink 1346 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698