aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2017-11-21 10:18:32 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-21 15:44:19 +0000
commit11adf3200d44189e546f17730a61f44bf1678e07 (patch)
tree5b36e9b66f3cfb1c844c79a5d5a03fc5fa0b5482 /experimental
parentcac381990140eb1966f8fe1e81b5930fd994fda7 (diff)
Remove clutter from experimental
SkMatrix has the canonical version of setPolyToPoly, we don't need three other copies sitting around. SkBorder appears to be useless. Bug: skia: Change-Id: Ie747ff7af6cf1d03e6276e8d7fe57e9b3e4ad411 Reviewed-on: https://skia-review.googlesource.com/74141 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'experimental')
-rw-r--r--experimental/ChromeUtils/SkBorder.cpp30
-rw-r--r--experimental/ChromeUtils/SkBorder.h104
-rw-r--r--experimental/SkSetPoly3To3.cpp70
-rw-r--r--experimental/SkSetPoly3To3_A.cpp85
-rw-r--r--experimental/SkSetPoly3To3_D.cpp75
5 files changed, 0 insertions, 364 deletions
diff --git a/experimental/ChromeUtils/SkBorder.cpp b/experimental/ChromeUtils/SkBorder.cpp
deleted file mode 100644
index fad27210fc..0000000000
--- a/experimental/ChromeUtils/SkBorder.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2013 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "SkBorder.h"
-
-SkBorder::SkBorder(SkPaint& p, SkScalar width, BorderStyle style)
- : fFlags(kOnePaint_Flag) {
- fPaints[0] = p;
-
- for (int i = 0; i < 4; ++i) {
- fWidths[i] = width;
- fStyles[i] = style;
- }
-}
-
-SkBorder::SkBorder(const SkPaint paints[4],
- const SkScalar widths[4],
- const BorderStyle styles[4])
- : fFlags(0) {
- for (int i = 0; i < 4; ++i) {
- fPaints[i] = paints[i];
- }
-
- memcpy(fWidths, widths, sizeof(fWidths));
- memcpy(fStyles, styles, sizeof(fStyles));
-}
diff --git a/experimental/ChromeUtils/SkBorder.h b/experimental/ChromeUtils/SkBorder.h
deleted file mode 100644
index e9d8774b0c..0000000000
--- a/experimental/ChromeUtils/SkBorder.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright 2013 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-
-#ifndef SkBorder_DEFINED
-#define SkBorder_DEFINED
-
-#include "SkColor.h"
-#include "SkPaint.h"
-#include "SkScalar.h"
-#include "SkTArray.h"
-
-// This class provides a concise means of specifying all the geometry/shading
-// associated with a CSS-style box/round-rect.
-class SkBorder {
-public:
- enum BorderStyle {
- /**
- */
- kNone_BorderStyle,
- /**
- */
- kHidden_BorderStyle,
- /**
- */
- kDotted_BorderStyle,
- /**
- */
- kDashed_BorderStyle,
- /**
- */
- kSolid_BorderStyle,
- /**
- */
- kDouble_BorderStyle,
- /**
- */
- kGroove_BorderStyle,
- /**
- */
- kRidge_BorderStyle,
- /**
- */
- kInset_BorderStyle,
- /**
- */
- kOutset_BorderStyle,
- };
-
- enum BlurStyle {
- kNormal_BlurStyle, //!< fuzzy inside and outside
- kInner_BlurStyle, //!< fuzzy inside, nothing outside
- };
-
- struct ShadowInfo {
- SkScalar fXOffset;
- SkScalar fYOffset;
- SkScalar fBlurSigma;
- SkColor fColor;
- BlurStyle fStyle;
- };
-
- SkBorder(SkPaint& p, SkScalar width, BorderStyle style);
-
- SkBorder(const SkPaint paints[4], const SkScalar widths[4], const BorderStyle styles[4]);
-
- void setBackground(SkPaint* p) {
- if (NULL == p) {
- fBackground.reset();
- fFlags &= ~kDrawBackground_Flag;
- } else {
- fBackground = *p;
- fFlags |= kDrawBackground_Flag;
- }
- }
-
- void addShadow(ShadowInfo& info) {
- fShadows.push_back(info);
- }
-
-private:
- enum Flags {
- // One paint "fPaints[0]" is applied to all the borders
- kOnePaint_Flag = 0x01,
- // Use 'fBackground' to draw the background
- kDrawBackground_Flag = 0x02,
- };
-
- // If kOnePaint_Flag is specified then fBorder[0] is applied to all sides.
- // Otherwise the order is: left, top, right, bottom
- SkPaint fPaints[4];
- // Only valid if kDrawBackground_Flag is set.
- SkPaint fBackground;
- SkScalar fWidths[4];
- BorderStyle fStyles[4];
- SkTArray<ShadowInfo> fShadows;
- uint32_t fFlags;
-};
-
-#endif
diff --git a/experimental/SkSetPoly3To3.cpp b/experimental/SkSetPoly3To3.cpp
deleted file mode 100644
index 19adf40887..0000000000
--- a/experimental/SkSetPoly3To3.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "SkMatrix.h"
-#include "SkMalloc.h"
-
-// FIXME: needs to be in a header
-bool SkSetPoly3To3(SkMatrix* matrix, const SkPoint src[3], const SkPoint dst[3]);
-
-static void computeOuterProduct(SkScalar op[4],
- const SkPoint pts0[3], const SkPoint& ave0,
- const SkPoint pts1[3], const SkPoint& ave1) {
- sk_bzero(op, 4 * sizeof(op[0]));
- for (int i = 0; i < 3; i++) {
- SkScalar x0 = pts0[i].fX - ave0.fX;
- SkScalar y0 = pts0[i].fY - ave0.fY;
- SkScalar x1 = pts1[i].fX - ave1.fX;
- SkScalar y1 = pts1[i].fY - ave1.fY;
- op[0] += x0 * x1;
- op[1] += x0 * y1;
- op[2] += y0 * x1;
- op[3] += y0 * y1;
- }
-}
-
-static SkScalar dot(SkScalar ax, SkScalar ay, SkScalar bx, SkScalar by) {
- return ax * bx + ay * by;
-}
-
-bool SkSetPoly3To3(SkMatrix* matrix, const SkPoint src[3], const SkPoint dst[3]) {
- const SkPoint& srcAve = src[0];
- const SkPoint& dstAve = dst[0];
-
- SkScalar srcOP[4], dstOP[4];
-
- computeOuterProduct(srcOP, src, srcAve, src, srcAve);
- computeOuterProduct(dstOP, src, srcAve, dst, dstAve);
-
- SkScalar det = srcOP[0] * srcOP[3] - srcOP[1] * srcOP[2];
-
- // need SkScalarNearlyZeroSquared for this (to match Chrome's fix)
- if (SkScalarNearlyZero(det)) {
- return false;
- }
-
- SkScalar invDet = SkScalarInvert(det);
-
- // now compute invDet * [srcOP]T * [dstOP]
-
- // scale and transpose
- const SkScalar srcOP0 = srcOP[3] * invDet;
- const SkScalar srcOP1 = -srcOP[1] * invDet;
- const SkScalar srcOP2 = -srcOP[2] * invDet;
- const SkScalar srcOP3 = srcOP[0] * invDet;
-
- matrix->reset();
- matrix->setScaleX(dot(srcOP0, srcOP1, dstOP[0], dstOP[2]));
- matrix->setSkewX( dot(srcOP2, srcOP3, dstOP[0], dstOP[2]));
- matrix->setSkewY (dot(srcOP0, srcOP1, dstOP[1], dstOP[3]));
- matrix->setScaleY(dot(srcOP2, srcOP3, dstOP[1], dstOP[3]));
- matrix->setTranslateX(dstAve.fX - dot(srcAve.fX, srcAve.fY,
- matrix->getScaleX(), matrix->getSkewX()));
- matrix->setTranslateY(dstAve.fY - dot(srcAve.fX, srcAve.fY,
- matrix->getSkewY(), matrix->getScaleY()));
- return true;
-}
diff --git a/experimental/SkSetPoly3To3_A.cpp b/experimental/SkSetPoly3To3_A.cpp
deleted file mode 100644
index 41eb1789d5..0000000000
--- a/experimental/SkSetPoly3To3_A.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "SkMatrix.h"
-#include "SkMalloc.h"
-
-// FIXME: needs to be in a header
-bool SkSetPoly3To3_A(SkMatrix* matrix, const SkPoint src[3], const SkPoint dst[3]);
-
-typedef double SkDScalar;
-
-static SkScalar SkDScalar_toScalar(SkDScalar value) {
- return static_cast<float>(value);
-}
-static SkScalar divide(SkDScalar numer, SkDScalar denom) {
- return static_cast<float>(numer / denom);
-}
-
-static SkDScalar SkDScalar_setMul(SkScalar a, SkScalar b) {
- return (SkDScalar) ((SkDScalar) a * b);
-}
-
-static void computeOuterProduct(SkScalar op[4],
- const SkPoint pts0[3], const SkPoint& ave0,
- const SkPoint pts1[3], const SkPoint& ave1) {
- sk_bzero(op, 4 * sizeof(op[0]));
- for (int i = 0; i < 3; i++) {
- SkScalar x0 = pts0[i].fX - ave0.fX;
- SkScalar y0 = pts0[i].fY - ave0.fY;
- SkScalar x1 = pts1[i].fX - ave1.fX;
- SkScalar y1 = pts1[i].fY - ave1.fY;
- op[0] += x0 * x1;
- op[1] += x0 * y1;
- op[2] += y0 * x1;
- op[3] += y0 * y1;
- }
-}
-
-static SkDScalar ddot(SkScalar ax, SkScalar ay, SkScalar bx, SkScalar by) {
- return SkDScalar_setMul(ax, bx) + SkDScalar_setMul(ay, by);
-}
-
-static SkScalar dot(SkScalar ax, SkScalar ay, SkScalar bx, SkScalar by) {
- return SkDScalar_toScalar(ddot(ax, ay, bx, by));
-}
-
-bool SkSetPoly3To3_A(SkMatrix* matrix, const SkPoint src[3], const SkPoint dst[3]) {
- const SkPoint& srcAve = src[0];
- const SkPoint& dstAve = dst[0];
-
- SkScalar srcOP[4], dstOP[4];
-
- computeOuterProduct(srcOP, src, srcAve, src, srcAve);
- computeOuterProduct(dstOP, src, srcAve, dst, dstAve);
-
- SkDScalar det = SkDScalar_setMul(srcOP[0], srcOP[3]) -
- SkDScalar_setMul(srcOP[1], srcOP[2]);
-
- SkDScalar M[4];
-
- const SkScalar srcOP0 = srcOP[3];
- const SkScalar srcOP1 = -srcOP[1];
- const SkScalar srcOP2 = -srcOP[2];
- const SkScalar srcOP3 = srcOP[0];
-
- M[0] = ddot(srcOP0, srcOP1, dstOP[0], dstOP[2]);
- M[1] = ddot(srcOP2, srcOP3, dstOP[0], dstOP[2]);
- M[2] = ddot(srcOP0, srcOP1, dstOP[1], dstOP[3]);
- M[3] = ddot(srcOP2, srcOP3, dstOP[1], dstOP[3]);
-
- matrix->reset();
- matrix->setScaleX(divide(M[0], det));
- matrix->setSkewX( divide(M[1], det));
- matrix->setSkewY (divide(M[2], det));
- matrix->setScaleY(divide(M[3], det));
- matrix->setTranslateX(dstAve.fX - dot(srcAve.fX, srcAve.fY,
- matrix->getScaleX(), matrix->getSkewX()));
- matrix->setTranslateY(dstAve.fY - dot(srcAve.fX, srcAve.fY,
- matrix->getSkewY(), matrix->getScaleY()));
- return true;
-}
diff --git a/experimental/SkSetPoly3To3_D.cpp b/experimental/SkSetPoly3To3_D.cpp
deleted file mode 100644
index 18f34c9982..0000000000
--- a/experimental/SkSetPoly3To3_D.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "SkMatrix.h"
-#include "SkMalloc.h"
-
-// FIXME: needs to be in a header
-bool SkSetPoly3To3_D(SkMatrix* matrix, const SkPoint src[3], const SkPoint dst[3]);
-
-typedef int64_t SkDScalar;
-
-static SkScalar SkDScalar_toScalar(SkDScalar value) {
- SkDScalar result = (value + (1 << 15)) >> 16;
- SkDEBUGCODE(int top = static_cast<int>(result >> 31);)
- SkASSERT(top == 0 || top == -1);
- return (SkScalar)result;
-}
-
-static SkDScalar SkDScalar_setMul(SkScalar a, SkScalar b) {
- return (SkDScalar) ((SkDScalar) a * (SkDScalar) b);
-}
-
-static void computeOuterProduct(SkMatrix* matrix,
- const SkPoint pts0[3], const SkPoint& ave0,
- const SkPoint pts1[3], const SkPoint& ave1) {
- SkDScalar tmp[4];
- sk_bzero(tmp, sizeof(tmp));
-
- for (int i = 0; i < 3; i++) {
- SkScalar x0 = pts0[i].fX - ave0.fX;
- SkScalar y0 = pts0[i].fY - ave0.fY;
- SkScalar x1 = pts1[i].fX - ave1.fX;
- SkScalar y1 = pts1[i].fY - ave1.fY;
- tmp[0] += SkDScalar_setMul(x0, x1);
- tmp[1] += SkDScalar_setMul(x0, y1);
- tmp[2] += SkDScalar_setMul(y0, x1);
- tmp[3] += SkDScalar_setMul(y0, y1);
- }
- matrix->reset();
- matrix->setScaleX(SkDScalar_toScalar(tmp[0]));
- matrix->setSkewY( SkDScalar_toScalar(tmp[1]));
- matrix->setSkewX( SkDScalar_toScalar(tmp[2]));
- matrix->setScaleY(SkDScalar_toScalar(tmp[3]));
-}
-
-static SkScalar dot(SkScalar ax, SkScalar ay, SkScalar bx, SkScalar by) {
- return SkDScalar_toScalar(SkDScalar_setMul(ax, bx) +
- SkDScalar_setMul(ay, by));
-}
-
-bool SkSetPoly3To3_D(SkMatrix* matrix, const SkPoint src[3], const SkPoint dst[3]) {
- const SkPoint& srcAve = src[0];
- const SkPoint& dstAve = dst[0];
-
- SkMatrix srcOP, dstOP;
-
- computeOuterProduct(&srcOP, src, srcAve, src, srcAve);
-
- if (!srcOP.invert(&srcOP)) {
- return false;
- }
-
- computeOuterProduct(&dstOP, src, srcAve, dst, dstAve);
-
- matrix->setConcat(dstOP, srcOP);
- matrix->setTranslateX(dstAve.fX - dot(srcAve.fX, srcAve.fY,
- matrix->getScaleX(), matrix->getSkewX()));
- matrix->setTranslateY(dstAve.fY - dot(srcAve.fX, srcAve.fY,
- matrix->getSkewY(), matrix->getScaleY()));
- return true;
-}