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

Side by Side Diff: Source/platform/graphics/filters/FEBlend.h

Issue 419253002: Use WebBlendMode in FEBlend (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: WebBlendModeNormal -> "normal" (not "source-over"). Created 6 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) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org>
4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> 4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org>
5 * Copyright (C) 2013 Google Inc. All rights reserved. 5 * Copyright (C) 2013 Google Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 10 matching lines...) Expand all
21 */ 21 */
22 22
23 #ifndef FEBlend_h 23 #ifndef FEBlend_h
24 #define FEBlend_h 24 #define FEBlend_h
25 25
26 #include "platform/graphics/filters/Filter.h" 26 #include "platform/graphics/filters/Filter.h"
27 #include "platform/graphics/filters/FilterEffect.h" 27 #include "platform/graphics/filters/FilterEffect.h"
28 28
29 namespace blink { 29 namespace blink {
30 30
31 enum BlendModeType {
32 FEBLEND_MODE_UNKNOWN = 0,
33 FEBLEND_MODE_NORMAL = 1,
34 FEBLEND_MODE_MULTIPLY = 2,
35 FEBLEND_MODE_SCREEN = 3,
36 FEBLEND_MODE_DARKEN = 4,
37 FEBLEND_MODE_LIGHTEN = 5
38 };
39
40 class PLATFORM_EXPORT FEBlend : public FilterEffect { 31 class PLATFORM_EXPORT FEBlend : public FilterEffect {
41 public: 32 public:
42 static PassRefPtr<FEBlend> create(Filter*, BlendModeType); 33 static PassRefPtr<FEBlend> create(Filter*, WebBlendMode);
43 34
44 BlendModeType blendMode() const; 35 WebBlendMode blendMode() const;
45 bool setBlendMode(BlendModeType); 36 bool setBlendMode(WebBlendMode);
46 37
47 void platformApplyGeneric(unsigned char* srcPixelArrayA, unsigned char* srcP ixelArrayB, unsigned char* dstPixelArray, 38 void platformApplyGeneric(unsigned char* srcPixelArrayA, unsigned char* srcP ixelArrayB, unsigned char* dstPixelArray,
48 unsigned colorArrayLength); 39 unsigned colorArrayLength);
49 void platformApplyNEON(unsigned char* srcPixelArrayA, unsigned char* srcPixe lArrayB, unsigned char* dstPixelArray, 40 void platformApplyNEON(unsigned char* srcPixelArrayA, unsigned char* srcPixe lArrayB, unsigned char* dstPixelArray,
50 unsigned colorArrayLength); 41 unsigned colorArrayLength);
51 virtual PassRefPtr<SkImageFilter> createImageFilter(SkiaImageFilterBuilder*) OVERRIDE; 42 virtual PassRefPtr<SkImageFilter> createImageFilter(SkiaImageFilterBuilder*) OVERRIDE;
52 43
53 virtual TextStream& externalRepresentation(TextStream&, int indention) const OVERRIDE; 44 virtual TextStream& externalRepresentation(TextStream&, int indention) const OVERRIDE;
54 45
55 private: 46 private:
56 FEBlend(Filter*, BlendModeType); 47 FEBlend(Filter*, WebBlendMode);
57 48
58 virtual void applySoftware() OVERRIDE; 49 virtual void applySoftware() OVERRIDE;
50 bool applySoftwareNEON();
59 51
60 BlendModeType m_mode; 52 WebBlendMode m_mode;
61 }; 53 };
62 54
63 } // namespace blink 55 } // namespace blink
64 56
65 #endif // FEBlend_h 57 #endif // FEBlend_h
OLDNEW
« no previous file with comments | « Source/platform/graphics/cpu/arm/filters/FEBlendNEON.h ('k') | Source/platform/graphics/filters/FEBlend.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698