[cogl/wip/example-crate: 20/20] renderer: split win32 api out into separate header



commit bf1271e4dc3d25d0ba0aef06ba98a1386737352e
Author: Robert Bragg <robert linux intel com>
Date:   Tue Jun 28 16:06:45 2011 +0100

    renderer: split win32 api out into separate header
    
    This adds a cogl-win32-renderer.h for the win32 specific cogl-renderer
    API instead of having #ifdef guards in cogl-renderer.h

 cogl/Makefile.am           |    3 +
 cogl/cogl-renderer.h       |   62 ----------------------------
 cogl/cogl-win32-renderer.h |   97 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 100 insertions(+), 62 deletions(-)
---
diff --git a/cogl/Makefile.am b/cogl/Makefile.am
index 40399f5..0bafd44 100644
--- a/cogl/Makefile.am
+++ b/cogl/Makefile.am
@@ -334,6 +334,9 @@ cogl_sources_c += \
 	$(srcdir)/winsys/cogl-winsys-glx.c
 endif
 if SUPPORT_WGL
+cogl_public_h += \
+	$(srcdir)/cogl-win32-renderer.h
+
 cogl_sources_c += \
 	$(srcdir)/winsys/cogl-win32-renderer.c \
 	$(srcdir)/winsys/cogl-winsys-wgl.c \
diff --git a/cogl/cogl-renderer.h b/cogl/cogl-renderer.h
index 2b3b9e3..5061c40 100644
--- a/cogl/cogl-renderer.h
+++ b/cogl/cogl-renderer.h
@@ -114,68 +114,6 @@ cogl_renderer_set_winsys_id (CoglRenderer *renderer,
 CoglWinsysID
 cogl_renderer_get_winsys_id (CoglRenderer *renderer);
 
-#ifdef COGL_HAS_WGL_SUPPORT
-
-#define cogl_win32_renderer_handle_event \
-  cogl_win32_renderer_handle_event_EXP
-/*
- * cogl_win32_renderer_handle_event:
- * @message: A pointer to a win32 MSG struct
- *
- * This function processes a single event; it can be used to hook into
- * external event retrieval (for example that done by Clutter or
- * GDK).
- *
- * Return value: #CoglFilterReturn. %COGL_FILTER_REMOVE indicates that
- * Cogl has internally handled the event and the caller should do no
- * further processing. %COGL_FILTER_CONTINUE indicates that Cogl is
- * either not interested in the event, or has used the event to update
- * internal state without taking any exclusive action.
- */
-CoglFilterReturn
-cogl_win32_renderer_handle_event (CoglRenderer *renderer,
-                                  MSG *message);
-
-/*
- * CoglXlibFilterFunc:
- * @message: A pointer to a win32 MSG struct
- * @data: The data that was given when the filter was added
- *
- * A callback function that can be registered with
- * cogl_win32_renderer_add_filter(). The function should return
- * %COGL_FILTER_REMOVE if it wants to prevent further processing or
- * %COGL_FILTER_CONTINUE otherwise.
- */
-typedef CoglFilterReturn (* CoglWin32FilterFunc) (MSG *message,
-                                                  void *data);
-
-#define cogl_win32_renderer_add_filter cogl_win32_renderer_add_filter_EXP
-/*
- * cogl_win32_renderer_add_filter:
- *
- * Adds a callback function that will receive all native events. The
- * function can stop further processing of the event by return
- * %COGL_FILTER_REMOVE.
- */
-void
-cogl_win32_renderer_add_filter (CoglRenderer *renderer,
-                                CoglWin32FilterFunc func,
-                                void *data);
-
-#define cogl_win32_renderer_remove_filter \
-  cogl_win32_renderer_remove_filter_EXP
-/*
- * cogl_win32_renderer_remove_filter:
- *
- * Removes a callback that was previously added with
- * cogl_win32_renderer_add_filter().
- */
-void
-cogl_win32_renderer_remove_filter (CoglRenderer *renderer,
-                                   CoglWin32FilterFunc func,
-                                   void *data);
-#endif /* COGL_HAS_WGL_SUPPORT */
-
 #define cogl_renderer_check_onscreen_template \
   cogl_renderer_check_onscreen_template_EXP
 gboolean
diff --git a/cogl/cogl-win32-renderer.h b/cogl/cogl-win32-renderer.h
new file mode 100644
index 0000000..3b26593
--- /dev/null
+++ b/cogl/cogl-win32-renderer.h
@@ -0,0 +1,97 @@
+/*
+ * 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_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <cogl/cogl.h> can be included directly."
+#endif
+
+#ifndef __COGL_WIN32_RENDERER_H__
+#define __COGL_WIN32_RENDERER_H__
+
+#include <cogl/cogl-types.h>
+#include <cogl/cogl-renderer.h>
+
+G_BEGIN_DECLS
+
+#define cogl_win32_renderer_handle_event \
+  cogl_win32_renderer_handle_event_EXP
+/**
+ * cogl_win32_renderer_handle_event:
+ * @message: A pointer to a win32 MSG struct
+ *
+ * This function processes a single event; it can be used to hook into
+ * external event retrieval (for example that done by Clutter or
+ * GDK).
+ *
+ * Return value: #CoglFilterReturn. %COGL_FILTER_REMOVE indicates that
+ * Cogl has internally handled the event and the caller should do no
+ * further processing. %COGL_FILTER_CONTINUE indicates that Cogl is
+ * either not interested in the event, or has used the event to update
+ * internal state without taking any exclusive action.
+ */
+CoglFilterReturn
+cogl_win32_renderer_handle_event (CoglRenderer *renderer,
+                                  MSG *message);
+
+/**
+ * CoglWin32FilterFunc:
+ * @message: A pointer to a win32 MSG struct
+ * @data: The data that was given when the filter was added
+ *
+ * A callback function that can be registered with
+ * cogl_win32_renderer_add_filter(). The function should return
+ * %COGL_FILTER_REMOVE if it wants to prevent further processing or
+ * %COGL_FILTER_CONTINUE otherwise.
+ */
+typedef CoglFilterReturn (* CoglWin32FilterFunc) (MSG *message,
+                                                  void *data);
+
+#define cogl_win32_renderer_add_filter cogl_win32_renderer_add_filter_EXP
+/**
+ * cogl_win32_renderer_add_filter:
+ *
+ * Adds a callback function that will receive all native events. The
+ * function can stop further processing of the event by return
+ * %COGL_FILTER_REMOVE.
+ */
+void
+cogl_win32_renderer_add_filter (CoglRenderer *renderer,
+                                CoglWin32FilterFunc func,
+                                void *data);
+
+#define cogl_win32_renderer_remove_filter \
+  cogl_win32_renderer_remove_filter_EXP
+/**
+ * cogl_win32_renderer_remove_filter:
+ *
+ * Removes a callback that was previously added with
+ * cogl_win32_renderer_add_filter().
+ */
+void
+cogl_win32_renderer_remove_filter (CoglRenderer *renderer,
+                                   CoglWin32FilterFunc func,
+                                   void *data);
+
+G_END_DECLS
+
+#endif /* __COGL_WIN32_RENDERER_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]