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

Unified Diff: Source/core/platform/graphics/filters/FELighting.h

Issue 107713004: Move all filters-related files from core/platform to platform. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Maybe fix win build. Created 7 years 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/platform/graphics/filters/FELighting.h
diff --git a/Source/core/platform/graphics/filters/FELighting.h b/Source/core/platform/graphics/filters/FELighting.h
deleted file mode 100644
index 81c7db54238ac9dea11a7b52a6ae8fd0cccd3f8c..0000000000000000000000000000000000000000
--- a/Source/core/platform/graphics/filters/FELighting.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2010 University of Szeged
- * Copyright (C) 2010 Zoltan Herczeg
- * Copyright (C) 2013 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF SZEGED ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UNIVERSITY OF SZEGED OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FELighting_h
-#define FELighting_h
-
-#include "core/platform/graphics/filters/PointLightSource.h"
-#include "core/platform/graphics/filters/SpotLightSource.h"
-#include "platform/graphics/Color.h"
-#include "platform/graphics/filters/Filter.h"
-#include "platform/graphics/filters/FilterEffect.h"
-#include "platform/graphics/filters/LightSource.h"
-#include "wtf/Uint8ClampedArray.h"
-
-// Common base class for FEDiffuseLighting and FESpecularLighting
-
-namespace WebCore {
-
-struct FELightingPaintingDataForNeon;
-
-class FELighting : public FilterEffect {
-public:
- virtual PassRefPtr<SkImageFilter> createImageFilter(SkiaImageFilterBuilder*) OVERRIDE;
-
- virtual void determineAbsolutePaintRect() { setAbsolutePaintRect(enclosingIntRect(maxEffectRect())); }
-
-protected:
- static const int s_minimalRectDimension = 100 * 100; // Empirical data limit for parallel jobs
-
- enum LightingType {
- DiffuseLighting,
- SpecularLighting
- };
-
- struct LightingData {
- // This structure contains only read-only (SMP safe) data
- Uint8ClampedArray* pixels;
- float surfaceScale;
- int widthMultipliedByPixelSize;
- int widthDecreasedByOne;
- int heightDecreasedByOne;
-
- inline void topLeft(int offset, IntPoint& normalVector);
- inline void topRow(int offset, IntPoint& normalVector);
- inline void topRight(int offset, IntPoint& normalVector);
- inline void leftColumn(int offset, IntPoint& normalVector);
- inline void interior(int offset, IntPoint& normalVector);
- inline void rightColumn(int offset, IntPoint& normalVector);
- inline void bottomLeft(int offset, IntPoint& normalVector);
- inline void bottomRow(int offset, IntPoint& normalVector);
- inline void bottomRight(int offset, IntPoint& normalVector);
- };
-
- template<typename Type>
- friend class ParallelJobs;
-
- struct PlatformApplyGenericParameters {
- FELighting* filter;
- LightingData data;
- LightSource::PaintingData paintingData;
- int yStart;
- int yEnd;
- };
-
- static void platformApplyGenericWorker(PlatformApplyGenericParameters*);
- static void platformApplyNeonWorker(FELightingPaintingDataForNeon*);
-
- FELighting(Filter*, LightingType, const Color&, float, float, float, float, float, float, PassRefPtr<LightSource>);
-
- bool drawLighting(Uint8ClampedArray*, int, int);
- inline void inlineSetPixel(int offset, LightingData&, LightSource::PaintingData&,
- int lightX, int lightY, float factorX, float factorY, IntPoint& normalVector);
-
- // Not worth to inline every occurence of setPixel.
- void setPixel(int offset, LightingData&, LightSource::PaintingData&,
- int lightX, int lightY, float factorX, float factorY, IntPoint& normalVector);
-
- inline void platformApply(LightingData&, LightSource::PaintingData&);
-
- inline void platformApplyGenericPaint(LightingData&, LightSource::PaintingData&, int startX, int startY);
- inline void platformApplyGeneric(LightingData&, LightSource::PaintingData&);
-
- static int getPowerCoefficients(float exponent);
- inline void platformApplyNeon(LightingData&, LightSource::PaintingData&);
-
- LightingType m_lightingType;
- RefPtr<LightSource> m_lightSource;
-
- Color m_lightingColor;
- float m_surfaceScale;
- float m_diffuseConstant;
- float m_specularConstant;
- float m_specularExponent;
- float m_kernelUnitLengthX;
- float m_kernelUnitLengthY;
-
-private:
- virtual void applySoftware() OVERRIDE;
- virtual bool applySkia() OVERRIDE;
-};
-
-} // namespace WebCore
-
-#endif // FELighting_h
« no previous file with comments | « Source/core/platform/graphics/filters/FEFlood.cpp ('k') | Source/core/platform/graphics/filters/FELighting.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698