Home | History | Annotate | Download | only in skc
      1 /*
      2  * Copyright 2016 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can
      5  * be found in the LICENSE file.
      6  *
      7  */
      8 
      9 #pragma once
     10 
     11 //
     12 //
     13 //
     14 
     15 #include "types.h"
     16 
     17 //
     18 // STYLING
     19 //
     20 
     21 struct skc_styling
     22 {
     23   struct skc_context      * context;
     24 
     25   struct skc_styling_impl * impl;
     26 
     27   void                   (* seal   )(struct skc_styling_impl * const impl);
     28   void                   (* unseal )(struct skc_styling_impl * const impl, skc_bool const block);
     29   void                   (* release)(struct skc_styling_impl * const impl);
     30 
     31   skc_int                   ref_count;
     32 
     33   struct {
     34     union skc_layer_node  * extent;
     35     skc_uint                size;
     36     skc_uint                count;
     37   } layers;
     38 
     39   struct {
     40     struct skc_group_node * extent;
     41     skc_uint                size;
     42     skc_uint                count;
     43   } groups;
     44 
     45   struct {
     46     union skc_styling_cmd * extent;
     47     skc_uint                size;
     48     skc_uint                count;
     49   } extras;
     50 };
     51 
     52 //
     53 //
     54 //
     55