1/* gskgltypesprivate.h
2 *
3 * Copyright 2020 Christian Hergert <chergert@redhat.com>
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program. If not, see <http://www.gnu.org/licenses/>.
17 *
18 * SPDX-License-Identifier: LGPL-2.1-or-later
19 */
20
21#ifndef __GSK_GL_TYPES_PRIVATE_H__
22#define __GSK_GL_TYPES_PRIVATE_H__
23
24#include <epoxy/gl.h>
25#include <graphene.h>
26#include <gdk/gdk.h>
27#include <gsk/gsk.h>
28
29G_BEGIN_DECLS
30
31#define GSK_GL_N_VERTICES 6
32
33typedef struct _GskGLAttachmentState GskGLAttachmentState;
34typedef struct _GskGLBuffer GskGLBuffer;
35typedef struct _GskGLCommandQueue GskGLCommandQueue;
36typedef struct _GskGLCompiler GskGLCompiler;
37typedef struct _GskGLDrawVertex GskGLDrawVertex;
38typedef struct _GskGLRenderTarget GskGLRenderTarget;
39typedef struct _GskGLGlyphLibrary GskGLGlyphLibrary;
40typedef struct _GskGLIconLibrary GskGLIconLibrary;
41typedef struct _GskGLProgram GskGLProgram;
42typedef struct _GskGLRenderJob GskGLRenderJob;
43typedef struct _GskGLShadowLibrary GskGLShadowLibrary;
44typedef struct _GskGLTexture GskGLTexture;
45typedef struct _GskGLTextureSlice GskGLTextureSlice;
46typedef struct _GskGLTextureAtlas GskGLTextureAtlas;
47typedef struct _GskGLTextureLibrary GskGLTextureLibrary;
48typedef struct _GskGLTextureNineSlice GskGLTextureNineSlice;
49typedef struct _GskGLUniformInfo GskGLUniformInfo;
50typedef struct _GskGLUniformProgram GskGLUniformProgram;
51typedef struct _GskGLUniformState GskGLUniformState;
52typedef struct _GskGLDriver GskGLDriver;
53
54struct _GskGLDrawVertex
55{
56 float position[2];
57 union {
58 float uv[2];
59 guint16 color2[4];
60 };
61 guint16 color[4];
62};
63
64G_END_DECLS
65
66#endif /* __GSK_GL_TYPES_PRIVATE_H__ */
67

source code of gtk/gsk/gl/gskgltypesprivate.h