From dde03ff89f58d7df9b9e37ca06c2ce8ea67ec7a2 Mon Sep 17 00:00:00 2001 From: mtklein Date: Mon, 31 Aug 2015 15:26:08 -0700 Subject: Clean up remaining users of SkPMFloat This switches over SkXfermodes_opts.h and SkColorMatrixFilter to use Sk4f, and converts the SkPMFloat benches to Sk4f benches. No pixels should change here, and no code beyond the Sk4f_ benches should change speed. The benches are faster than the old versions. BUG=skia:4117 Review URL: https://codereview.chromium.org/1324743002 --- src/core/SkPMFloat.h | 69 ------------------------------------------------- src/core/SkXfermode.cpp | 1 - 2 files changed, 70 deletions(-) delete mode 100644 src/core/SkPMFloat.h (limited to 'src/core') diff --git a/src/core/SkPMFloat.h b/src/core/SkPMFloat.h deleted file mode 100644 index 4a2235dd75..0000000000 --- a/src/core/SkPMFloat.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2015 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkPM_DEFINED -#define SkPM_DEFINED - -#include "SkTypes.h" -#include "SkColor.h" -#include "SkColorPriv.h" -#include "SkNx.h" - -// This file may be included multiple times by .cpp files with different flags, leading -// to different definitions. Usually that doesn't matter because it's all inlined, but -// in Debug modes the compilers may not inline everything. So wrap everything in an -// anonymous namespace to give each includer their own silo of this code (or the linker -// will probably pick one randomly for us, which is rarely correct). -namespace { - -// A pre-multiplied color storing each component in the same order as SkPMColor, -// but as a float in the range [0, 1]. -class SkPMFloat : public Sk4f { -public: - static SkPMFloat FromPMColor(SkPMColor c) { return SkPMFloat(c); } - static SkPMFloat FromARGB(float a, float r, float g, float b) { return SkPMFloat(a,r,g,b); } - static SkPMFloat FromOpaqueColor(SkColor c); // Requires c's alpha == 0xFF. - - Sk4f alphas() const { return Sk4f(this->a()); } - - // Uninitialized. - SkPMFloat() {} - explicit SkPMFloat(SkPMColor c) { *this = Sk4f::FromBytes((uint8_t*)&c) * Sk4f(1.0f/255); } - SkPMFloat(float a, float r, float g, float b) - #ifdef SK_PMCOLOR_IS_RGBA - : INHERITED(r,g,b,a) {} - #else - : INHERITED(b,g,r,a) {} - #endif - - SkPMFloat(const Sk4f& fs) : INHERITED(fs) {} - - float a() const { return this->kth(); } - float r() const { return this->kth(); } - float g() const { return this->kth(); } - float b() const { return this->kth(); } - - SkPMColor round() const { - SkPMColor c; - (*this * Sk4f(255) + Sk4f(0.5f)).toBytes((uint8_t*)&c); - return c; - } - - bool isValid() const { - return this->a() >= 0 && this->a() <= 1 - && this->r() >= 0 && this->r() <= this->a() - && this->g() >= 0 && this->g() <= this->a() - && this->b() >= 0 && this->b() <= this->a(); - } - -private: - typedef Sk4f INHERITED; -}; - -} // namespace - -#endif//SkPM_DEFINED diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp index 1d409866bb..18ab9b6a0a 100644 --- a/src/core/SkXfermode.cpp +++ b/src/core/SkXfermode.cpp @@ -12,7 +12,6 @@ #include "SkLazyPtr.h" #include "SkMathPriv.h" #include "SkOpts.h" -#include "SkPMFloat.h" #include "SkReadBuffer.h" #include "SkString.h" #include "SkWriteBuffer.h" -- cgit v1.2.3