blob: 7f9dda85c41d22e57bbd4040e2bc5d212ec2d307 [file] [log] [blame]
/*
* Copyright 2017 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 "skc.h"
#include "assert_state.h"
//
// SURFACE
//
struct skc_surface
{
struct skc_context * context;
struct skc_surface_impl * impl;
skc_int ref_count;
//
// FIXME -- this list of pfn's isn't complete
//
void (* release)(struct skc_surface_impl * const impl);
void (* render )(struct skc_surface_impl * const impl,
uint32_t const clip[4],
skc_styling_t styling,
skc_composition_t composition,
skc_surface_render_pfn_notify notify,
void * data,
void * fb);
//
// FIXME -- these will probably be removed
//
void (* clear )(struct skc_surface_impl * const impl,
float const rgba[4],
skc_uint const rect[4],
void * fb);
void (* blit )(struct skc_surface_impl * const impl,
skc_uint const rect[4],
skc_int const txty[2]);
};
//
//
//