aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2015-08-31 15:26:08 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-08-31 15:26:08 -0700
commitdde03ff89f58d7df9b9e37ca06c2ce8ea67ec7a2 (patch)
treec2fec1c1cf09d7c15454c566f2a368a259a2994d /src/core
parent99138876a699a41637fe8c46ccdb0292dcabd7ce (diff)
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
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkPMFloat.h69
-rw-r--r--src/core/SkXfermode.cpp1
2 files changed, 0 insertions, 70 deletions
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<SK_A32_SHIFT / 8>(); }
- float r() const { return this->kth<SK_R32_SHIFT / 8>(); }
- float g() const { return this->kth<SK_G32_SHIFT / 8>(); }
- float b() const { return this->kth<SK_B32_SHIFT / 8>(); }
-
- 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"