Cleanup: Turn GrReducedClip into a class with a static function.
Clean up namespace usage.
Similar to what was done in
https://skia.googlesource.com/skia/+/a5414c4a8efc3119ee20fcee96c0bf68a04909c7
BUG=None
TEST=None
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/653393003
diff --git a/src/gpu/GrReducedClip.h b/src/gpu/GrReducedClip.h
index e3a28cc..21899c7 100644
--- a/src/gpu/GrReducedClip.h
+++ b/src/gpu/GrReducedClip.h
@@ -1,4 +1,3 @@
-
/*
* Copyright 2012 Google Inc.
*
@@ -12,37 +11,39 @@
#include "SkClipStack.h"
#include "SkTLList.h"
-namespace GrReducedClip {
+class SK_API GrReducedClip {
+public:
+ typedef SkTLList<SkClipStack::Element> ElementList;
-typedef SkTLList<SkClipStack::Element> ElementList;
+ enum InitialState {
+ kAllIn_InitialState,
+ kAllOut_InitialState,
+ };
-enum InitialState {
- kAllIn_InitialState,
- kAllOut_InitialState,
+ /**
+ * This function takes a clip stack and a query rectangle and it produces a
+ * reduced set of SkClipStack::Elements that are equivalent to applying the
+ * full stack to the rectangle. The clip stack generation id that represents
+ * the list of elements is returned in resultGenID. The initial state of the
+ * query rectangle before the first clip element is applied is returned via
+ * initialState. Optionally, the caller can request a tighter bounds on the
+ * clip be returned via tighterBounds. If not NULL, tighterBounds will
+ * always be contained by queryBounds after return. If tighterBounds is
+ * specified then it is assumed that the caller will implicitly clip against
+ * it. If the caller specifies non-NULL for requiresAA then it will indicate
+ * whether anti-aliasing is required to process any of the elements in the
+ * result.
+ *
+ * This may become a member function of SkClipStack when its interface is
+ * determined to be stable.
+ */
+ static void ReduceClipStack(const SkClipStack& stack,
+ const SkIRect& queryBounds,
+ ElementList* result,
+ int32_t* resultGenID,
+ InitialState* initialState,
+ SkIRect* tighterBounds = NULL,
+ bool* requiresAA = NULL);
};
-/**
- * This function takes a clip stack and a query rectangle and it produces a reduced set of
- * SkClipStack::Elements that are equivalent to applying the full stack to the rectangle. The clip
- * stack generation id that represents the list of elements is returned in resultGenID. The
- * initial state of the query rectangle before the first clip element is applied is returned via
- * initialState. Optionally, the caller can request a tighter bounds on the clip be returned via
- * tighterBounds. If not NULL, tighterBounds will always be contained by queryBounds after return.
- * If tighterBounds is specified then it is assumed that the caller will implicitly clip against it.
- * If the caller specifies non-NULL for requiresAA then it will indicate whether anti-aliasing is
- * required to process any of the elements in the result.
- *
- * This may become a member function of SkClipStack when its interface is determined to be stable.
- * Marked SK_API so that SkLua can call this in a shared library build.
- */
-SK_API void ReduceClipStack(const SkClipStack& stack,
- const SkIRect& queryBounds,
- ElementList* result,
- int32_t* resultGenID,
- InitialState* initialState,
- SkIRect* tighterBounds = NULL,
- bool* requiresAA = NULL);
-
-} // namespace GrReducedClip
-
#endif