1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
3 composite.h for the Openbox window manager
4 Copyright (c) 2010 Dana Jansens
5 Copyright (c) 2010 Derek Foreman
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 See the COPYING file for a copy of the GNU General Public License.
23 #ifdef USE_COMPOSITING
34 typedef GLXPixmap (*CreatePixmapT)(Display *display,
39 typedef void (*BindTexImageT)(Display *display,
44 typedef void (*ReleaseTexImageT)(Display *display,
48 typedef GLXFBConfig *(*GetFBConfigsT) (Display *display,
52 typedef int (*GetFBConfigAttribT) (Display *display,
58 CreatePixmapT CreatePixmap;
59 BindTexImageT BindTexImage;
60 ReleaseTexImageT ReleaseTexImage;
61 GetFBConfigsT GetFBConfigs;
62 GetFBConfigAttribT GetFBConfigAttrib;
67 struct ObCompositeFBConfig {
68 GLXFBConfig fbc; /* the fbconfig */
69 gint tf; /* texture format */
70 } PixmapConfig[MAX_DEPTH + 1]; // need a [32]
73 const Rect *screendims;
77 void composite_startup(gboolean reconfig);
78 void composite_shutdown(gboolean reconfig);
79 Window composite_overlay(void);
80 void composite_redir(struct _ObWindow *w, gboolean on);