1 /*
2  * Copyright 2017 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 "skc.h"
16 #include "assert_state.h"
17 
18 //
19 // SURFACE
20 //
21 
22 struct skc_surface
23 {
24   struct skc_context      * context;
25   struct skc_surface_impl * impl;
26 
27   skc_int                   ref_count;
28 
29   void (* release)(struct skc_surface_impl * const impl);
30 
31   void (* render )(struct skc_surface_impl * const impl,
32                    skc_styling_t                   styling,
33                    skc_composition_t               composition,
34                    skc_framebuffer_t               fb,
35                    uint32_t                  const clip[4],
36                    int32_t                   const txty[2],
37                    skc_surface_render_notify       notify,
38                    void                          * data);
39 };
40 
41 //
42 //
43 //
44