1/*
2 * Copyright © 2013 Intel Corporation
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21 * IN THE SOFTWARE.
22 */
23
24/**
25 * ephyr_glamor_glx.h
26 *
27 * Prototypes exposed by ephyr_glamor_glx.c, without including any
28 * server headers.
29 */
30
31#include <xcb/xcb.h>
32#include "dix-config.h"
33
34struct ephyr_glamor;
35struct pixman_region16;
36
37xcb_connection_t *
38ephyr_glamor_connect(void);
39
40void
41ephyr_glamor_set_texture(struct ephyr_glamor *ephyr_glamor, uint32_t tex);
42
43xcb_visualtype_t *
44ephyr_glamor_get_visual(void);
45
46struct ephyr_glamor *
47ephyr_glamor_glx_screen_init(xcb_window_t win);
48
49void
50ephyr_glamor_glx_screen_fini(struct ephyr_glamor *glamor);
51
52#ifdef GLAMOR
53void
54ephyr_glamor_set_window_size(struct ephyr_glamor *glamor,
55                             unsigned width, unsigned height);
56
57void
58ephyr_glamor_damage_redisplay(struct ephyr_glamor *glamor,
59                              struct pixman_region16 *damage);
60
61void
62ephyr_glamor_process_event(xcb_generic_event_t *xev);
63
64#else /* !GLAMOR */
65
66static inline void
67ephyr_glamor_set_window_size(struct ephyr_glamor *glamor,
68                             unsigned width, unsigned height)
69{
70}
71
72static inline void
73ephyr_glamor_damage_redisplay(struct ephyr_glamor *glamor,
74                              struct pixman_region16 *damage)
75{
76}
77
78static inline void
79ephyr_glamor_process_event(xcb_generic_event_t *xev)
80{
81}
82
83#endif /* !GLAMOR */
84