Remove inclusion of Xlib headers in Cogl headers
Xlib headers define many trivially named objects which can later cause name collision problems when only cogl.h header is included in a program or library. Xlib headers are now only included through including the standalone header cogl-xlib.h. https://bugzilla.gnome.org/show_bug.cgi?id=661174 Reviewed-by: Robert Bragg <robert@linux.intel.com>
This commit is contained in:
parent
5f7cdfed69
commit
d8c47e25f2
16 changed files with 65 additions and 29 deletions
|
@ -330,6 +330,7 @@ cogl_sources_c = \
|
|||
|
||||
if SUPPORT_XLIB
|
||||
cogl_public_h += \
|
||||
$(srcdir)/cogl-clutter-xlib.h \
|
||||
$(srcdir)/cogl-xlib-renderer.h
|
||||
|
||||
cogl_experimental_h += \
|
||||
|
|
41
cogl/cogl-clutter-xlib.h
Normal file
41
cogl/cogl-clutter-xlib.h
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* Cogl
|
||||
*
|
||||
* An object oriented GL/GLES Abstraction/Utility Layer
|
||||
*
|
||||
* Copyright (C) 2011 Intel Corporation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#if !defined(__COGL_XLIB_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
|
||||
#error "Only <cogl/cogl-xlib.h> can be included directly."
|
||||
#endif
|
||||
|
||||
#ifndef __COGL_CLUTTER_XLIB_H__
|
||||
#define __COGL_CLUTTER_XLIB_H__
|
||||
|
||||
#include <X11/Xutil.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define cogl_clutter_winsys_xlib_get_visual_info cogl_clutter_winsys_xlib_get_visual_info_CLUTTER
|
||||
XVisualInfo *
|
||||
cogl_clutter_winsys_xlib_get_visual_info (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __COGL_CLUTTER_XLIB_H__ */
|
|
@ -39,6 +39,9 @@
|
|||
#include "cogl-winsys-stub-private.h"
|
||||
#include "cogl-framebuffer-private.h"
|
||||
#include "cogl-onscreen-private.h"
|
||||
#ifdef COGL_HAS_XLIB_SUPPORT
|
||||
#include "cogl-clutter-xlib.h"
|
||||
#endif
|
||||
|
||||
gboolean
|
||||
cogl_clutter_check_extension (const char *name, const char *ext)
|
||||
|
|
|
@ -28,10 +28,6 @@
|
|||
#ifndef __COGL_CLUTTER_H__
|
||||
#define __COGL_CLUTTER_H__
|
||||
|
||||
#ifdef COGL_HAS_XLIB
|
||||
#include <X11/Xutil.h>
|
||||
#endif
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define cogl_clutter_check_extension cogl_clutter_check_extension_CLUTTER
|
||||
|
@ -46,12 +42,6 @@ cogl_clutter_winsys_has_feature (CoglWinsysFeature feature);
|
|||
void
|
||||
cogl_onscreen_clutter_backend_set_size (int width, int height);
|
||||
|
||||
#ifdef COGL_HAS_XLIB
|
||||
#define cogl_clutter_winsys_xlib_get_visual_info cogl_clutter_winsys_xlib_get_visual_info_CLUTTER
|
||||
XVisualInfo *
|
||||
cogl_clutter_winsys_xlib_get_visual_info (void);
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __COGL_CLUTTER_H__ */
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
#include "cogl-winsys-stub-private.h"
|
||||
#include "cogl-winsys-egl-private.h"
|
||||
#include "cogl-config-private.h"
|
||||
#include "cogl-xlib-renderer.h"
|
||||
|
||||
#ifdef COGL_HAS_GLX_SUPPORT
|
||||
extern const CoglWinsysVtable *_cogl_winsys_glx_get_vtable (void);
|
||||
|
|
|
@ -31,9 +31,6 @@
|
|||
#include <glib-object.h>
|
||||
|
||||
#include <cogl/cogl-defines.h>
|
||||
#ifdef COGL_HAS_XLIB
|
||||
#include <X11/Xlib.h>
|
||||
#endif
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include "cogl.h"
|
||||
#include "cogl-xlib-renderer.h"
|
||||
#include "cogl-util.h"
|
||||
#include "cogl-internal.h"
|
||||
#include "cogl-object.h"
|
||||
|
|
|
@ -21,15 +21,14 @@
|
|||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#if !defined(__COGL_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
|
||||
#error "Only <cogl/cogl.h> can be included directly."
|
||||
#if !defined(__COGL_XLIB_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
|
||||
#error "Only <cogl/cogl-xlib.h> can be included directly."
|
||||
#endif
|
||||
|
||||
#ifndef __COGL_XLIB_RENDERER_H__
|
||||
#define __COGL_XLIB_RENDERER_H__
|
||||
|
||||
#include <cogl/cogl-types.h>
|
||||
#include <cogl/cogl-renderer.h>
|
||||
#include <cogl/cogl.h>
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
|
|
|
@ -29,7 +29,8 @@
|
|||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <cogl.h>
|
||||
#include <cogl-xlib.h>
|
||||
|
||||
#include <cogl-internal.h>
|
||||
#include <cogl-handle.h>
|
||||
#include <cogl-context-private.h>
|
||||
|
|
|
@ -21,17 +21,17 @@
|
|||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#if !defined(__COGL_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
|
||||
#error "Only <cogl/cogl.h> can be included directly."
|
||||
#endif
|
||||
|
||||
#ifndef __COGL_XLIB_H__
|
||||
#define __COGL_XLIB_H__
|
||||
|
||||
#include <cogl/cogl-types.h>
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
#define __COGL_XLIB_H_INSIDE__
|
||||
|
||||
#include <cogl/cogl.h>
|
||||
#include <cogl/cogl-clutter-xlib.h>
|
||||
#include <cogl/cogl-xlib-renderer.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/*
|
||||
|
@ -81,4 +81,6 @@ cogl_xlib_set_display (Display *display);
|
|||
CoglFilterReturn
|
||||
cogl_xlib_handle_event (XEvent *xevent);
|
||||
|
||||
#undef __COGL_XLIB_H_INSIDE__
|
||||
|
||||
#endif /* __COGL_XLIB_H__ */
|
||||
|
|
|
@ -96,10 +96,6 @@ typedef struct _CoglFramebuffer CoglFramebuffer;
|
|||
#include <cogl/cogl-pipeline-layer-state.h>
|
||||
#include <cogl/cogl-framebuffer.h>
|
||||
#include <cogl/cogl-onscreen.h>
|
||||
#ifdef COGL_HAS_XLIB
|
||||
#include <cogl/cogl-xlib.h>
|
||||
#include <cogl/cogl-xlib-renderer.h>
|
||||
#endif
|
||||
#if defined (COGL_HAS_EGL_PLATFORM_WAYLAND_SUPPORT)
|
||||
#include <cogl/cogl-wayland-renderer.h>
|
||||
#endif
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include "cogl-handle.h"
|
||||
#include "cogl-winsys-private.h"
|
||||
#include "cogl-pipeline-opengl-private.h"
|
||||
#include "cogl-xlib.h"
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
#ifdef COGL_HAS_EGL_PLATFORM_POWERVR_X11_SUPPORT
|
||||
#include "cogl-xlib-renderer-private.h"
|
||||
#include "cogl-xlib-display-private.h"
|
||||
#include "cogl-xlib-renderer.h"
|
||||
#endif
|
||||
|
||||
#ifdef COGL_HAS_XLIB_SUPPORT
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
#include "cogl-framebuffer-private.h"
|
||||
#include "cogl-onscreen-private.h"
|
||||
#include "cogl-swap-chain-private.h"
|
||||
#include "cogl-xlib-renderer.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include <cogl/cogl.h>
|
||||
#include <cogl/cogl-xlib.h>
|
||||
#include <glib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include <cogl/cogl.h>
|
||||
#include <cogl/cogl-xlib.h>
|
||||
#include <cogl/winsys/cogl-texture-pixmap-x11.h>
|
||||
#include <glib.h>
|
||||
#include <stdio.h>
|
||||
|
|
Loading…
Reference in a new issue