Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / src / gpu / GrReducedClip.h
index abfc244..e3a28cc 100644 (file)
@@ -6,6 +6,9 @@
  * found in the LICENSE file.
  */
 
+#ifndef GrReducedClip_DEFINED
+#define GrReducedClip_DEFINED
+
 #include "SkClipStack.h"
 #include "SkTLList.h"
 
@@ -20,7 +23,8 @@ enum 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
+ * 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.
@@ -29,12 +33,16 @@ enum InitialState {
  * 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.
  */
-void ReduceClipStack(const SkClipStack& stack,
-                     const SkIRect& queryBounds,
-                     ElementList* result,
-                     InitialState* initialState,
-                     SkIRect* tighterBounds = NULL,
-                     bool* requiresAA = NULL);
+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