aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/batches/GrAnalyticRectOp.h
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2016-12-14 11:08:17 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-12-14 19:27:40 +0000
commit6a639040bc3ee5369d86c9cb5b9047208beb5206 (patch)
tree8498b5e6ce910868b3c9943ec708406219c8fcca /src/gpu/batches/GrAnalyticRectOp.h
parentb7ce80b7149209dfcdb8757d39a627e8dcccefea (diff)
Update rect ops to use "op" in their name and return sk_sp.
Change-Id: I757c33d1cd17a7a7dda858f0fc5ab1094e3c2472 Reviewed-on: https://skia-review.googlesource.com/5985 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/batches/GrAnalyticRectOp.h')
-rw-r--r--src/gpu/batches/GrAnalyticRectOp.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/gpu/batches/GrAnalyticRectOp.h b/src/gpu/batches/GrAnalyticRectOp.h
new file mode 100644
index 0000000000..77d17ed7c7
--- /dev/null
+++ b/src/gpu/batches/GrAnalyticRectOp.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2016 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef GrAnalyticRectOp_DEFINED
+#define GrAnalyticRectOp_DEFINED
+
+#include "GrColor.h"
+#include "SkRefCnt.h"
+
+class GrDrawOp;
+class SkMatrix;
+struct SkRect;
+
+/*
+ * This class wraps helper functions that draw rects analytically. Used when a shader requires a
+ * distance vector.
+ *
+ * @param color the shape's color
+ * @param viewMatrix the shape's local matrix
+ * @param rect the shape in source space
+ * @param croppedRect the shape in device space, clipped to the device's bounds
+ * @param bounds the axis aligned bounds of the shape in device space
+ */
+class GrAnalyticRectOp {
+public:
+ static sk_sp<GrDrawOp> Make(GrColor color,
+ const SkMatrix& viewMatrix,
+ const SkRect& rect,
+ const SkRect& croppedRect,
+ const SkRect& bounds);
+};
+
+#endif // GrAnalyticRectOp_DEFINED