aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/batches/GrAnalyticRectBatch.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/batches/GrAnalyticRectBatch.h')
-rw-r--r--src/gpu/batches/GrAnalyticRectBatch.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/gpu/batches/GrAnalyticRectBatch.h b/src/gpu/batches/GrAnalyticRectBatch.h
new file mode 100644
index 0000000000..cdb6118c6e
--- /dev/null
+++ b/src/gpu/batches/GrAnalyticRectBatch.h
@@ -0,0 +1,36 @@
+/*
+ * 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 GrAnalyticRectBatch_DEFINED
+#define GrAnalyticRectBatch_DEFINED
+
+#include "GrColor.h"
+
+class GrDrawBatch;
+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 GrAnalyticRectBatch {
+public:
+ static GrDrawBatch* CreateAnalyticRectBatch(GrColor color,
+ const SkMatrix& viewMatrix,
+ const SkRect& rect,
+ const SkRect& croppedRect,
+ const SkRect& bounds);
+};
+
+#endif // GrAnalyticRectBatch_DEFINED