Skia Compute core files

Bug: skia:
Change-Id: I4bba49cf20eff013e581800a3f114c85acd8498c
Reviewed-on: https://skia-review.googlesource.com/135782
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/src/compute/skc/styling.h b/src/compute/skc/styling.h
new file mode 100644
index 0000000..7f20c1e
--- /dev/null
+++ b/src/compute/skc/styling.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2016 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can
+ * be found in the LICENSE file.
+ *
+ */
+
+#pragma once
+
+//
+//
+//
+
+#include "types.h"
+
+//
+// STYLING
+//
+
+struct skc_styling
+{
+  struct skc_context      * context;
+
+  struct skc_styling_impl * impl;
+
+  void                   (* seal   )(struct skc_styling_impl * const impl);
+  void                   (* unseal )(struct skc_styling_impl * const impl, skc_bool const block);
+  void                   (* release)(struct skc_styling_impl * const impl);
+                                     
+  skc_int                   ref_count;
+
+  struct {
+    union skc_layer_node  * extent;
+    skc_uint                size;
+    skc_uint                count;
+  } layers;
+
+  struct {
+    struct skc_group_node * extent;
+    skc_uint                size;
+    skc_uint                count;
+  } groups;
+
+  struct {
+    union skc_styling_cmd * extent;
+    skc_uint                size;
+    skc_uint                count;
+  } extras;
+};
+
+//
+//
+//
+