diff --git a/cogl/Makefile.am b/cogl/Makefile.am index 7fbe55b3b..959d2dc8c 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)/cogl-win32-renderer.c \ $(srcdir)/winsys/cogl-winsys-wgl.c \ diff --git a/cogl/cogl-renderer.h b/cogl/cogl-renderer.h index 2b3b9e3a3..5061c40ca 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 000000000..3b265936e --- /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 can be included directly." +#endif + +#ifndef __COGL_WIN32_RENDERER_H__ +#define __COGL_WIN32_RENDERER_H__ + +#include +#include + +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__ */