2 * Copyright © 2013 Intel Corporation
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:
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
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
43 POS_TOP_LEFT
= POS_TOP
| POS_LEFT
,
44 POS_TOP_CENTRE
= POS_TOP
| POS_CENTRE
,
45 POS_TOP_RIGHT
= POS_TOP
| POS_RIGHT
,
47 POS_MIDDLE_LEFT
= POS_MIDDLE
| POS_LEFT
,
48 POS_MIDDLE_CENTRE
= POS_MIDDLE
| POS_CENTRE
,
49 POS_MIDDLE_RIGHT
= POS_MIDDLE
| POS_RIGHT
,
51 POS_BOTTOM_LEFT
= POS_BOTTOM
| POS_LEFT
,
52 POS_BOTTOM_CENTRE
= POS_BOTTOM
| POS_CENTRE
,
53 POS_BOTTOM_RIGHT
= POS_BOTTOM
| POS_RIGHT
,
57 cairo_surface_t
*surface
;
58 void (*show
)(struct overlay
*);
59 void (*hide
)(struct overlay
*);
62 extern const cairo_user_data_key_t overlay_key
;
65 struct config_section
{
66 struct config_section
*next
;
68 struct config_value
*next
;
76 void config_init(struct config
*config
);
77 void config_parse_string(struct config
*config
, const char *str
);
78 void config_set_value(struct config
*config
,
82 const char *config_get_value(struct config
*config
,
86 #ifdef HAVE_OVERLAY_XVLIB
87 cairo_surface_t
*x11_overlay_create(struct config
*config
, int *width
, int *height
);
88 void x11_overlay_stop(void);
90 static inline cairo_surface_t
*x11_overlay_create(struct config
*config
, int *width
, int *height
) { return NULL
; }
91 static inline void x11_overlay_stop(void) { }
94 #ifdef HAVE_OVERLAY_XLIB
95 cairo_surface_t
*x11_window_create(struct config
*config
, int *width
, int *height
);
97 static inline cairo_surface_t
*x11_window_create(struct config
*config
, int *width
, int *height
) { return NULL
; }
100 cairo_surface_t
*kms_overlay_create(struct config
*config
, int *width
, int *height
);
102 #endif /* OVERLAY_H */