4
* An object oriented GL/GLES Abstraction/Utility Layer
6
* Copyright (C) 2011 Intel Corporation.
8
* This library is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2 of the License, or (at your option) any later version.
13
* This library is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
24
#ifndef __COGL_ONSCREEN_PRIVATE_H
25
#define __COGL_ONSCREEN_PRIVATE_H
27
#include "cogl-framebuffer-private.h"
28
#include "cogl-queue.h"
32
#ifdef COGL_HAS_WIN32_SUPPORT
36
typedef struct _CoglSwapBuffersNotifyEntry CoglSwapBuffersNotifyEntry;
38
COGL_TAILQ_HEAD (CoglSwapBuffersNotifyList, CoglSwapBuffersNotifyEntry);
40
struct _CoglSwapBuffersNotifyEntry
42
COGL_TAILQ_ENTRY (CoglSwapBuffersNotifyEntry) list_node;
44
CoglSwapBuffersNotify callback;
51
CoglFramebuffer _parent;
53
#ifdef COGL_HAS_X11_SUPPORT
55
CoglOnscreenX11MaskCallback foreign_update_mask_callback;
56
void *foreign_update_mask_data;
59
#ifdef COGL_HAS_WIN32_SUPPORT
63
gboolean swap_throttled;
65
CoglSwapBuffersNotifyList swap_callbacks;
71
_cogl_onscreen_new (void);
74
_cogl_framebuffer_winsys_update_size (CoglFramebuffer *framebuffer,
75
int width, int height);
78
_cogl_onscreen_notify_swap_buffers (CoglOnscreen *onscreen);
80
#endif /* __COGL_ONSCREEN_PRIVATE_H */