summaryrefslogtreecommitdiff
path: root/gsk/gl/gskglpathcacheprivate.h
blob: 181d4be26fe722df4798bde537414d5a79d3146f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef __GSK_GL_PATH_CACHE_H__
#define __GSK_GL_PATH_CACHE_H__

#include <glib.h>
#include "gskgldriverprivate.h"
#include "gskpath.h"

typedef struct
{
  GHashTable *textures;
} GskGLPathCache;


void gsk_gl_path_cache_init           (GskGLPathCache        *self);
void gsk_gl_path_cache_free           (GskGLPathCache        *self,
                                       GskGLDriver           *gl_driver);
void gsk_gl_path_cache_begin_frame    (GskGLPathCache        *self,
                                       GskGLDriver           *gl_driver);
int  gsk_gl_path_cache_get_texture_id (GskGLPathCache        *self,
                                       GskPath               *path,
                                       GskFillRule            fill_rule,
                                       const GskStroke       *stroke,
                                       graphene_rect_t       *out_bounds);
void gsk_gl_path_cache_commit         (GskGLPathCache        *self,
                                       GskPath               *path,
                                       GskFillRule            fill_rule,
                                       const GskStroke       *stroke,
                                       int                    texture_id,
                                       const graphene_rect_t *bounds);

#endif