aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/batches/GrAnalyticRectOp.h
diff options
context:
space:
mode:
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