blob: 7f9dda85c41d22e57bbd4040e2bc5d212ec2d307 [file] [log] [blame]
Allan MacKinnon4359d522018-06-19 13:57:04 -07001/*
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
22struct skc_surface
23{
24 struct skc_context * context;
25 struct skc_surface_impl * impl;
26
27 skc_int ref_count;
28
29 //
30 // FIXME -- this list of pfn's isn't complete
31 //
32 void (* release)(struct skc_surface_impl * const impl);
33 void (* render )(struct skc_surface_impl * const impl,
34 uint32_t const clip[4],
35 skc_styling_t styling,
36 skc_composition_t composition,
37 skc_surface_render_pfn_notify notify,
38 void * data,
39 void * fb);
40 //
41 // FIXME -- these will probably be removed
42 //
43 void (* clear )(struct skc_surface_impl * const impl,
44 float const rgba[4],
45 skc_uint const rect[4],
46 void * fb);
47
48 void (* blit )(struct skc_surface_impl * const impl,
49 skc_uint const rect[4],
50 skc_int const txty[2]);
51
52};
53
54//
55//
56//