compositor.h

Go to the documentation of this file.
00001 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
00002 
00003 /*
00004  * Copyright (C) 2008 Iain Holmes
00005  *
00006  * This program is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU General Public License as
00008  * published by the Free Software Foundation; either version 2 of the
00009  * License, or (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful, but
00012  * WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
00019  * 02111-1307, USA.
00020  */
00021 
00022 #ifndef META_COMPOSITOR_H
00023 #define META_COMPOSITOR_H
00024 
00025 #include <glib.h>
00026 #include <X11/Xlib.h>
00027 
00028 #include "types.h"
00029 #include "boxes.h"
00030 
00031 MetaCompositor *meta_compositor_new (MetaDisplay *display);
00032 void meta_compositor_destroy (MetaCompositor *compositor);
00033 
00034 void meta_compositor_manage_screen (MetaCompositor *compositor,
00035                                     MetaScreen     *screen);
00036 void meta_compositor_unmanage_screen (MetaCompositor *compositor,
00037                                       MetaScreen     *screen);
00038 
00039 void meta_compositor_add_window (MetaCompositor    *compositor,
00040                                  MetaWindow        *window,
00041                                  Window             xwindow,
00042                                  XWindowAttributes *attrs);
00043 void meta_compositor_remove_window (MetaCompositor *compositor,
00044                                     Window          xwindow);
00045 
00046 void meta_compositor_set_updates (MetaCompositor *compositor,
00047                                   MetaWindow     *window,
00048                                   gboolean        updates);
00049 
00050 void meta_compositor_process_event (MetaCompositor *compositor,
00051                                     XEvent         *event,
00052                                     MetaWindow     *window);
00053 Pixmap meta_compositor_get_window_pixmap (MetaCompositor *compositor,
00054                                           MetaWindow     *window);
00055 void meta_compositor_set_active_window (MetaCompositor *compositor,
00056                                         MetaScreen     *screen,
00057                                         MetaWindow     *window);
00058 
00059 void meta_compositor_begin_move (MetaCompositor *compositor,
00060                                  MetaWindow *window,
00061                                  MetaRectangle *initial,
00062                                  int grab_x, int grab_y);
00063 void meta_compositor_update_move (MetaCompositor *compositor,
00064                                   MetaWindow *window,
00065                                   int x, int y);
00066 void meta_compositor_end_move (MetaCompositor *compositor,
00067                                MetaWindow *window);
00068 void meta_compositor_free_window (MetaCompositor *compositor,
00069                                   MetaWindow *window);
00070 
00071 #endif
00072 
00073 
00074 
00075 
00076 

Generated on Sat Aug 23 22:04:18 2008 for metacity by  doxygen 1.5.5