diff --git a/src/Makefile.am b/src/Makefile.am index bd89d6806..b65ca1238 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -26,21 +26,21 @@ mutter_SOURCES= \ include/boxes.h \ compositor/compositor.c \ compositor/compositor-private.h \ - compositor/mutter-module.c \ - compositor/mutter-module.h \ - compositor/mutter-plugin.c \ - compositor/mutter-plugin-manager.c \ - compositor/mutter-plugin-manager.h \ - compositor/mutter-shaped-texture.c \ - compositor/mutter-texture-tower.c \ - compositor/mutter-texture-tower.h \ - compositor/mutter-window.c \ - compositor/mutter-window-private.h \ - compositor/mutter-window-group.c \ - compositor/mutter-window-group.h \ + compositor/meta-module.c \ + compositor/meta-module.h \ + compositor/meta-plugin.c \ + compositor/meta-plugin-manager.c \ + compositor/meta-plugin-manager.h \ + compositor/meta-shaped-texture.c \ + compositor/meta-shaped-texture.h \ + compositor/meta-texture-tower.c \ + compositor/meta-texture-tower.h \ + compositor/meta-window-actor.c \ + compositor/meta-window-actor-private.h \ + compositor/meta-window-group.c \ + compositor/meta-window-group.h \ compositor/shadow.c \ compositor/shadow.h \ - compositor/mutter-shaped-texture.h \ compositor/tidy/tidy-texture-frame.c \ compositor/tidy/tidy-texture-frame.h \ gdk-compat.h \ @@ -48,8 +48,8 @@ mutter_SOURCES= \ gdk2-drawing-utils.c \ gdk2-drawing-utils.h \ include/compositor.h \ - include/mutter-plugin.h \ - include/mutter-window.h \ + include/meta-plugin.h \ + include/meta-window-actor.h \ include/compositor-mutter.h \ core/constraints.c \ core/constraints.h \ @@ -81,7 +81,7 @@ mutter_SOURCES= \ core/keybindings.c \ core/keybindings-private.h \ core/main.c \ - core/mutter-Xatomtype.h \ + core/mutter-Xatomtype.h \ core/place.c \ core/place.h \ core/prefs.c \ @@ -177,8 +177,8 @@ libmutterinclude_base_headers = \ include/display.h \ include/group.h \ include/keybindings.h \ - include/mutter-plugin.h \ - include/mutter-window.h + include/meta-plugin.h \ + include/meta-window-actor.h # Excluded from scanning for introspection but installed # preview-widget.h: only part of libmutter-private diff --git a/src/compositor/compositor-private.h b/src/compositor/compositor-private.h index 9a5703046..37ace9633 100644 --- a/src/compositor/compositor-private.h +++ b/src/compositor/compositor-private.h @@ -7,7 +7,7 @@ #include "compositor.h" #include "display.h" -#include "mutter-plugin-manager.h" +#include "meta-plugin-manager.h" #include typedef struct _MetaCompScreen MetaCompScreen; @@ -23,7 +23,7 @@ struct _MetaCompositor ClutterActor *shadow_src; - MutterPlugin *modal_plugin; + MetaPlugin *modal_plugin; gboolean show_redraw : 1; gboolean debug : 1; @@ -45,24 +45,24 @@ struct _MetaCompScreen gint switch_workspace_in_progress; - MutterPluginManager *plugin_mgr; + MetaPluginManager *plugin_mgr; }; -void mutter_switch_workspace_completed (MetaScreen *screen); -void mutter_set_stage_input_region (MetaScreen *screen, - XserverRegion region); -void mutter_empty_stage_input_region (MetaScreen *screen); +void meta_switch_workspace_completed (MetaScreen *screen); +void meta_set_stage_input_region (MetaScreen *screen, + XserverRegion region); +void meta_empty_stage_input_region (MetaScreen *screen); -gboolean mutter_begin_modal_for_plugin (MetaScreen *screen, - MutterPlugin *plugin, - Window grab_window, - Cursor cursor, - MetaModalOptions options, - guint32 timestamp); -void mutter_end_modal_for_plugin (MetaScreen *screen, - MutterPlugin *plugin, - guint32 timestamp); +gboolean meta_begin_modal_for_plugin (MetaScreen *screen, + MetaPlugin *plugin, + Window grab_window, + Cursor cursor, + MetaModalOptions options, + guint32 timestamp); +void meta_end_modal_for_plugin (MetaScreen *screen, + MetaPlugin *plugin, + guint32 timestamp); -void mutter_check_end_modal (MetaScreen *screen); +void meta_check_end_modal (MetaScreen *screen); #endif /* META_COMPOSITOR_PRIVATE_H */ diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c index 3f54214ba..d7bf7026a 100644 --- a/src/compositor/compositor.c +++ b/src/compositor/compositor.c @@ -11,8 +11,8 @@ #include "compositor-mutter.h" #include "xprops.h" #include "prefs.h" -#include "mutter-window-private.h" -#include "mutter-window-group.h" +#include "meta-window-actor-private.h" +#include "meta-window-group.h" #include "../core/window-private.h" /* to check window->hidden */ #include "../core/display-private.h" /* for meta_display_lookup_x_window() */ #include @@ -36,13 +36,13 @@ composite_at_least_version (MetaDisplay *display, int maj, int min) static void sync_actor_stacking (GList *windows); static void -mutter_finish_workspace_switch (MetaCompScreen *info) +meta_finish_workspace_switch (MetaCompScreen *info) { GList *l; /* Finish hiding and showing actors for the new workspace */ for (l = info->windows; l; l = l->next) - mutter_window_sync_visibility (l->data); + meta_window_actor_sync_visibility (l->data); /* * Fix up stacking order in case the plugin messed it up. @@ -54,7 +54,7 @@ mutter_finish_workspace_switch (MetaCompScreen *info) } void -mutter_switch_workspace_completed (MetaScreen *screen) +meta_switch_workspace_completed (MetaScreen *screen) { MetaCompScreen *info = meta_screen_get_compositor_data (screen); @@ -67,7 +67,7 @@ mutter_switch_workspace_completed (MetaScreen *screen) } if (!info->switch_workspace_in_progress) - mutter_finish_workspace_switch (info); + meta_finish_workspace_switch (info); } void @@ -84,7 +84,7 @@ add_win (MetaWindow *window) g_return_if_fail (info != NULL); - mutter_window_new (window); + meta_window_actor_new (window); sync_actor_stacking (info->windows); } @@ -94,16 +94,16 @@ process_damage (MetaCompositor *compositor, XDamageNotifyEvent *event, MetaWindow *window) { - MutterWindow *cw; + MetaWindowActor *window_actor; if (window == NULL) return; - cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); - if (cw == NULL) + window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); + if (window_actor == NULL) return; - mutter_window_process_damage (cw, event); + meta_window_actor_process_damage (window_actor, event); } #ifdef HAVE_SHAPE @@ -112,18 +112,18 @@ process_shape (MetaCompositor *compositor, XShapeEvent *event, MetaWindow *window) { - MutterWindow *cw; + MetaWindowActor *window_actor; if (window == NULL) return; - cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); - if (cw == NULL) + window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); + if (window_actor == NULL) return; if (event->kind == ShapeBounding) { - mutter_window_update_shape (cw, event->shaped); + meta_window_actor_update_shape (window_actor, event->shaped); } } #endif @@ -133,19 +133,19 @@ process_property_notify (MetaCompositor *compositor, XPropertyEvent *event, MetaWindow *window) { - MutterWindow *cw; + MetaWindowActor *window_actor; if (window == NULL) return; - cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); - if (cw == NULL) + window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); + if (window_actor == NULL) return; /* Check for the opacity changing */ if (event->atom == compositor->atom_net_wm_window_opacity) { - mutter_window_update_opacity (cw); + meta_window_actor_update_opacity (window_actor); DEBUG_TRACE ("process_property_notify: net_wm_window_opacity\n"); return; } @@ -185,13 +185,13 @@ get_output_window (MetaScreen *screen) } /** - * mutter_get_stage_for_screen: + * meta_get_stage_for_screen: * @screen: a #MetaScreen * * Returns: (transfer none): The #ClutterStage for the screen */ ClutterActor * -mutter_get_stage_for_screen (MetaScreen *screen) +meta_get_stage_for_screen (MetaScreen *screen) { MetaCompScreen *info = meta_screen_get_compositor_data (screen); @@ -202,13 +202,13 @@ mutter_get_stage_for_screen (MetaScreen *screen) } /** - * mutter_get_overlay_group_for_screen: + * meta_get_overlay_group_for_screen: * @screen: a #MetaScreen * * Returns: (transfer none): The overlay group corresponding to @screen */ ClutterActor * -mutter_get_overlay_group_for_screen (MetaScreen *screen) +meta_get_overlay_group_for_screen (MetaScreen *screen) { MetaCompScreen *info = meta_screen_get_compositor_data (screen); @@ -219,13 +219,13 @@ mutter_get_overlay_group_for_screen (MetaScreen *screen) } /** - * mutter_get_window_group_for_screen: + * meta_get_window_group_for_screen: * @screen: a #MetaScreen * * Returns: (transfer none): The window group corresponding to @screen */ ClutterActor * -mutter_get_window_group_for_screen (MetaScreen *screen) +meta_get_window_group_for_screen (MetaScreen *screen) { MetaCompScreen *info = meta_screen_get_compositor_data (screen); @@ -236,13 +236,13 @@ mutter_get_window_group_for_screen (MetaScreen *screen) } /** - * mutter_get_windows: + * meta_get_window_actors: * @screen: a #MetaScreen * - * Returns: (transfer none) (element-type Clutter.Actor): The windows on @screen + * Returns: (transfer none) (element-type Clutter.Actor): The set of #MetaWindowActor on @screen */ GList * -mutter_get_windows (MetaScreen *screen) +meta_get_window_actors (MetaScreen *screen) { MetaCompScreen *info = meta_screen_get_compositor_data (screen); @@ -253,7 +253,7 @@ mutter_get_windows (MetaScreen *screen) } static void -do_set_stage_input_region (MetaScreen *screen, +do_set_stage_input_region (MetaScreen *screen, XserverRegion region) { MetaCompScreen *info = meta_screen_get_compositor_data (screen); @@ -266,8 +266,8 @@ do_set_stage_input_region (MetaScreen *screen, } void -mutter_set_stage_input_region (MetaScreen *screen, - XserverRegion region) +meta_set_stage_input_region (MetaScreen *screen, + XserverRegion region) { MetaCompScreen *info = meta_screen_get_compositor_data (screen); MetaDisplay *display = meta_screen_get_display (screen); @@ -295,7 +295,7 @@ mutter_set_stage_input_region (MetaScreen *screen, } void -mutter_empty_stage_input_region (MetaScreen *screen) +meta_empty_stage_input_region (MetaScreen *screen) { /* Using a static region here is a bit hacky, but Metacity never opens more than * one XDisplay, so it works fine. */ @@ -308,16 +308,16 @@ mutter_empty_stage_input_region (MetaScreen *screen) region = XFixesCreateRegion (xdpy, NULL, 0); } - mutter_set_stage_input_region (screen, region); + meta_set_stage_input_region (screen, region); } gboolean -mutter_begin_modal_for_plugin (MetaScreen *screen, - MutterPlugin *plugin, - Window grab_window, - Cursor cursor, - MetaModalOptions options, - guint32 timestamp) +meta_begin_modal_for_plugin (MetaScreen *screen, + MetaPlugin *plugin, + Window grab_window, + Cursor cursor, + MetaModalOptions options, + guint32 timestamp) { /* To some extent this duplicates code in meta_display_begin_grab_op(), but there * are significant differences in how we handle grabs that make it difficult to @@ -382,9 +382,9 @@ mutter_begin_modal_for_plugin (MetaScreen *screen, } void -mutter_end_modal_for_plugin (MetaScreen *screen, - MutterPlugin *plugin, - guint32 timestamp) +meta_end_modal_for_plugin (MetaScreen *screen, + MetaPlugin *plugin, + guint32 timestamp) { MetaDisplay *display = meta_screen_get_display (screen); Display *xdpy = meta_display_get_xdisplay (display); @@ -408,15 +408,15 @@ mutter_end_modal_for_plugin (MetaScreen *screen, * a left-over modal grab for this screen. */ void -mutter_check_end_modal (MetaScreen *screen) +meta_check_end_modal (MetaScreen *screen) { MetaDisplay *display = meta_screen_get_display (screen); MetaCompositor *compositor = display->compositor; if (compositor->modal_plugin && - mutter_plugin_get_screen (compositor->modal_plugin) == screen) + meta_plugin_get_screen (compositor->modal_plugin) == screen) { - mutter_end_modal_for_plugin (screen, + meta_end_modal_for_plugin (screen, compositor->modal_plugin, CurrentTime); } @@ -492,7 +492,7 @@ meta_compositor_manage_screen (MetaCompositor *compositor, XSelectInput (xdisplay, xwin, event_mask); - info->window_group = mutter_window_group_new (screen); + info->window_group = meta_window_group_new (screen); info->overlay_group = clutter_group_new (); info->hidden_group = clutter_group_new (); @@ -505,18 +505,18 @@ meta_compositor_manage_screen (MetaCompositor *compositor, clutter_actor_hide (info->hidden_group); info->plugin_mgr = - mutter_plugin_manager_get (screen); + meta_plugin_manager_get (screen); - if (info->plugin_mgr != mutter_plugin_manager_get_default ()) + if (info->plugin_mgr != meta_plugin_manager_get_default ()) { /* The default plugin manager has been initialized during * global preferences load. */ - if (!mutter_plugin_manager_load (info->plugin_mgr)) + if (!meta_plugin_manager_load (info->plugin_mgr)) g_critical ("failed to load plugins"); } - if (!mutter_plugin_manager_initialize (info->plugin_mgr)) + if (!meta_plugin_manager_initialize (info->plugin_mgr)) g_critical ("failed to initialize plugins"); /* @@ -575,14 +575,14 @@ void meta_compositor_remove_window (MetaCompositor *compositor, MetaWindow *window) { - MutterWindow *cw = NULL; + MetaWindowActor *window_actor = NULL; DEBUG_TRACE ("meta_compositor_remove_window\n"); - cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); - if (!cw) + window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); + if (!window_actor) return; - mutter_window_destroy (cw); + meta_window_actor_destroy (window_actor); } void @@ -620,7 +620,7 @@ meta_compositor_process_event (MetaCompositor *compositor, { if (compositor->modal_plugin && is_grabbed_event (event)) { - MutterPluginClass *klass = MUTTER_PLUGIN_GET_CLASS (compositor->modal_plugin); + MetaPluginClass *klass = META_PLUGIN_GET_CLASS (compositor->modal_plugin); if (klass->xevent_filter) klass->xevent_filter (compositor->modal_plugin, event); @@ -638,7 +638,7 @@ meta_compositor_process_event (MetaCompositor *compositor, screen = meta_window_get_screen (window); info = meta_screen_get_compositor_data (screen); - if (mutter_plugin_manager_xevent_filter (info->plugin_mgr, event)) + if (meta_plugin_manager_xevent_filter (info->plugin_mgr, event)) { DEBUG_TRACE ("meta_compositor_process_event (filtered,window==NULL)\n"); return TRUE; @@ -657,7 +657,7 @@ meta_compositor_process_event (MetaCompositor *compositor, info = meta_screen_get_compositor_data (screen); - if (mutter_plugin_manager_xevent_filter (info->plugin_mgr, event)) + if (meta_plugin_manager_xevent_filter (info->plugin_mgr, event)) { DEBUG_TRACE ("meta_compositor_process_event (filtered,window==NULL)\n"); return TRUE; @@ -715,12 +715,12 @@ meta_compositor_show_window (MetaCompositor *compositor, MetaWindow *window, MetaCompEffect effect) { - MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); + MetaWindowActor *window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); DEBUG_TRACE ("meta_compositor_show_window\n"); - if (!cw) + if (!window_actor) return; - mutter_window_show (cw, effect); + meta_window_actor_show (window_actor, effect); } void @@ -728,12 +728,12 @@ meta_compositor_hide_window (MetaCompositor *compositor, MetaWindow *window, MetaCompEffect effect) { - MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); + MetaWindowActor *window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); DEBUG_TRACE ("meta_compositor_hide_window\n"); - if (!cw) + if (!window_actor) return; - mutter_window_hide (cw, effect); + meta_window_actor_hide (window_actor, effect); } void @@ -742,12 +742,12 @@ meta_compositor_maximize_window (MetaCompositor *compositor, MetaRectangle *old_rect, MetaRectangle *new_rect) { - MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); + MetaWindowActor *window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); DEBUG_TRACE ("meta_compositor_maximize_window\n"); - if (!cw) + if (!window_actor) return; - mutter_window_maximize (cw, old_rect, new_rect); + meta_window_actor_maximize (window_actor, old_rect, new_rect); } void @@ -756,12 +756,12 @@ meta_compositor_unmaximize_window (MetaCompositor *compositor, MetaRectangle *old_rect, MetaRectangle *new_rect) { - MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); + MetaWindowActor *window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); DEBUG_TRACE ("meta_compositor_unmaximize_window\n"); - if (!cw) + if (!window_actor) return; - mutter_window_unmaximize (cw, old_rect, new_rect); + meta_window_actor_unmaximize (window_actor, old_rect, new_rect); } void @@ -774,7 +774,7 @@ meta_compositor_update_workspace_geometry (MetaCompositor *compositor, */ MetaScreen *screen = meta_workspace_get_screen (workspace); MetaCompScreen *info; - MutterPluginManager *mgr; + MetaPluginManager *mgr; DEBUG_TRACE ("meta_compositor_update_workspace_geometry\n"); info = meta_screen_get_compositor_data (screen); @@ -783,7 +783,7 @@ meta_compositor_update_workspace_geometry (MetaCompositor *compositor, if (!mgr || !workspace) return; - mutter_plugin_manager_update_workspace (mgr, workspace); + meta_plugin_manager_update_workspace (mgr, workspace); #endif } @@ -809,7 +809,7 @@ meta_compositor_switch_workspace (MetaCompositor *compositor, info->switch_workspace_in_progress++; if (!info->plugin_mgr || - !mutter_plugin_manager_switch_workspace (info->plugin_mgr, + !meta_plugin_manager_switch_workspace (info->plugin_mgr, from_indx, to_indx, direction)) @@ -821,7 +821,7 @@ meta_compositor_switch_workspace (MetaCompositor *compositor, * necessarily change during the window hiding/unhiding, only their * relative position toward the destkop window. */ - mutter_finish_workspace_switch (info); + meta_finish_workspace_switch (info); } } @@ -834,9 +834,9 @@ sync_actor_stacking (GList *windows) for (tmp = g_list_last (windows); tmp != NULL; tmp = tmp->prev) { - MutterWindow *cw = tmp->data; + MetaWindowActor *window_actor = tmp->data; - clutter_actor_lower_bottom (CLUTTER_ACTOR (cw)); + clutter_actor_lower_bottom (CLUTTER_ACTOR (window_actor)); } } @@ -858,12 +858,12 @@ meta_compositor_sync_stack (MetaCompositor *compositor, /* Sources: first window is the highest */ stack = g_list_copy (stack); /* The new stack of MetaWindow */ - old_stack = g_list_reverse (info->windows); /* The old stack of MutterWindow */ + old_stack = g_list_reverse (info->windows); /* The old stack of MetaWindowActor */ info->windows = NULL; while (TRUE) { - MutterWindow *old_actor = NULL, *stack_actor = NULL, *actor; + MetaWindowActor *old_actor = NULL, *stack_actor = NULL, *actor; MetaWindow *old_window = NULL, *stack_window = NULL, *window; /* Find the remaining top actor in our existing stack (ignoring @@ -871,10 +871,10 @@ meta_compositor_sync_stack (MetaCompositor *compositor, while (old_stack) { old_actor = old_stack->data; - old_window = mutter_window_get_meta_window (old_actor); + old_window = meta_window_actor_get_meta_window (old_actor); if (old_window->hidden && - !mutter_window_effect_in_progress (old_actor)) + !meta_window_actor_effect_in_progress (old_actor)) old_stack = g_list_delete_link (old_stack, old_stack); else break; @@ -884,10 +884,10 @@ meta_compositor_sync_stack (MetaCompositor *compositor, while (stack) { stack_window = stack->data; - stack_actor = MUTTER_WINDOW (meta_window_get_compositor_private (stack_window)); + stack_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (stack_window)); if (!stack_actor) { - meta_verbose ("Failed to find corresponding MutterWindow " + meta_verbose ("Failed to find corresponding MetaWindowActor " "for window %s\n", meta_window_get_description (stack_window)); stack = g_list_delete_link (stack, stack); } @@ -933,41 +933,41 @@ void meta_compositor_window_mapped (MetaCompositor *compositor, MetaWindow *window) { - MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); + MetaWindowActor *window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); DEBUG_TRACE ("meta_compositor_window_mapped\n"); - if (!cw) + if (!window_actor) return; - mutter_window_mapped (cw); + meta_window_actor_mapped (window_actor); } void meta_compositor_window_unmapped (MetaCompositor *compositor, MetaWindow *window) { - MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); + MetaWindowActor *window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); DEBUG_TRACE ("meta_compositor_window_unmapped\n"); - if (!cw) + if (!window_actor) return; - mutter_window_unmapped (cw); + meta_window_actor_unmapped (window_actor); } void meta_compositor_sync_window_geometry (MetaCompositor *compositor, MetaWindow *window) { - MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window)); - MetaScreen *screen = meta_window_get_screen (window); - MetaCompScreen *info = meta_screen_get_compositor_data (screen); + MetaWindowActor *window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); + MetaScreen *screen = meta_window_get_screen (window); + MetaCompScreen *info = meta_screen_get_compositor_data (screen); DEBUG_TRACE ("meta_compositor_sync_window_geometry\n"); g_return_if_fail (info); - if (!cw) + if (!window_actor) return; - mutter_window_sync_actor_position (cw); + meta_window_actor_sync_actor_position (window_actor); } void @@ -994,11 +994,11 @@ pre_paint_windows (MetaCompScreen *info) GList *l; for (l = info->windows; l; l = l->next) - mutter_window_pre_paint (l->data); + meta_window_actor_pre_paint (l->data); } static gboolean -mutter_repaint_func (gpointer data) +meta_repaint_func (gpointer data) { MetaCompositor *compositor = data; GSList *screens = meta_display_get_screens (compositor->display); @@ -1040,7 +1040,7 @@ meta_compositor_new (MetaDisplay *display) compositor->display = display; - if (g_getenv("MUTTER_DISABLE_MIPMAPS")) + if (g_getenv("META_DISABLE_MIPMAPS")) compositor->no_mipmaps = TRUE; meta_verbose ("Creating %d atoms\n", (int) G_N_ELEMENTS (atom_names)); @@ -1051,7 +1051,7 @@ meta_compositor_new (MetaDisplay *display) compositor->atom_x_set_root = atoms[1]; compositor->atom_net_wm_window_opacity = atoms[2]; - compositor->repaint_func_id = clutter_threads_add_repaint_func (mutter_repaint_func, + compositor->repaint_func_id = clutter_threads_add_repaint_func (meta_repaint_func, compositor, NULL); @@ -1059,11 +1059,11 @@ meta_compositor_new (MetaDisplay *display) } /** - * mutter_get_overlay_window: (skip) + * meta_get_overlay_window: (skip) * */ Window -mutter_get_overlay_window (MetaScreen *screen) +meta_get_overlay_window (MetaScreen *screen) { MetaCompScreen *info = meta_screen_get_compositor_data (screen); diff --git a/src/compositor/mutter-module.c b/src/compositor/meta-module.c similarity index 61% rename from src/compositor/mutter-module.c rename to src/compositor/meta-module.c index 974addc1b..0b7680eae 100644 --- a/src/compositor/mutter-module.c +++ b/src/compositor/meta-module.c @@ -21,8 +21,8 @@ * 02111-1307, USA. */ -#include "mutter-plugin.h" -#include "mutter-module.h" +#include "meta-plugin.h" +#include "meta-module.h" #include @@ -32,23 +32,23 @@ enum PROP_PATH, }; -struct _MutterModulePrivate +struct _MetaModulePrivate { GModule *lib; gchar *path; GType plugin_type; }; -#define MUTTER_MODULE_GET_PRIVATE(obj) \ -(G_TYPE_INSTANCE_GET_PRIVATE ((obj), MUTTER_TYPE_MODULE, MutterModulePrivate)) +#define META_MODULE_GET_PRIVATE(obj) \ +(G_TYPE_INSTANCE_GET_PRIVATE ((obj), META_TYPE_MODULE, MetaModulePrivate)) -G_DEFINE_TYPE (MutterModule, mutter_module, G_TYPE_TYPE_MODULE); +G_DEFINE_TYPE (MetaModule, meta_module, G_TYPE_TYPE_MODULE); static gboolean -mutter_module_load (GTypeModule *gmodule) +meta_module_load (GTypeModule *gmodule) { - MutterModulePrivate *priv = MUTTER_MODULE (gmodule)->priv; - MutterPluginVersion *info = NULL; + MetaModulePrivate *priv = META_MODULE (gmodule)->priv; + MetaPluginVersion *info = NULL; GType (*register_type) (GTypeModule *) = NULL; if (priv->lib && priv->plugin_type) @@ -64,9 +64,9 @@ mutter_module_load (GTypeModule *gmodule) return FALSE; } - if (g_module_symbol (priv->lib, "mutter_plugin_version", + if (g_module_symbol (priv->lib, "meta_plugin_version", (gpointer *)(void *)&info) && - g_module_symbol (priv->lib, "mutter_plugin_register_type", + g_module_symbol (priv->lib, "meta_plugin_register_type", (gpointer *)(void *)®ister_type) && info && register_type) { @@ -97,9 +97,9 @@ mutter_module_load (GTypeModule *gmodule) } static void -mutter_module_unload (GTypeModule *gmodule) +meta_module_unload (GTypeModule *gmodule) { - MutterModulePrivate *priv = MUTTER_MODULE (gmodule)->priv; + MetaModulePrivate *priv = META_MODULE (gmodule)->priv; g_module_close (priv->lib); @@ -108,29 +108,29 @@ mutter_module_unload (GTypeModule *gmodule) } static void -mutter_module_dispose (GObject *object) +meta_module_dispose (GObject *object) { - G_OBJECT_CLASS (mutter_module_parent_class)->dispose (object); + G_OBJECT_CLASS (meta_module_parent_class)->dispose (object); } static void -mutter_module_finalize (GObject *object) +meta_module_finalize (GObject *object) { - MutterModulePrivate *priv = MUTTER_MODULE (object)->priv; + MetaModulePrivate *priv = META_MODULE (object)->priv; g_free (priv->path); priv->path = NULL; - G_OBJECT_CLASS (mutter_module_parent_class)->finalize (object); + G_OBJECT_CLASS (meta_module_parent_class)->finalize (object); } static void -mutter_module_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) +meta_module_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) { - MutterModulePrivate *priv = MUTTER_MODULE (object)->priv; + MetaModulePrivate *priv = META_MODULE (object)->priv; switch (prop_id) { @@ -145,12 +145,12 @@ mutter_module_set_property (GObject *object, } static void -mutter_module_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) +meta_module_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) { - MutterModulePrivate *priv = MUTTER_MODULE (object)->priv; + MetaModulePrivate *priv = META_MODULE (object)->priv; switch (prop_id) { @@ -164,18 +164,18 @@ mutter_module_get_property (GObject *object, } static void -mutter_module_class_init (MutterModuleClass *klass) +meta_module_class_init (MetaModuleClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GTypeModuleClass *gmodule_class = G_TYPE_MODULE_CLASS (klass); - gobject_class->finalize = mutter_module_finalize; - gobject_class->dispose = mutter_module_dispose; - gobject_class->set_property = mutter_module_set_property; - gobject_class->get_property = mutter_module_get_property; + gobject_class->finalize = meta_module_finalize; + gobject_class->dispose = meta_module_dispose; + gobject_class->set_property = meta_module_set_property; + gobject_class->get_property = meta_module_get_property; - gmodule_class->load = mutter_module_load; - gmodule_class->unload = mutter_module_unload; + gmodule_class->load = meta_module_load; + gmodule_class->unload = meta_module_unload; g_object_class_install_property (gobject_class, PROP_PATH, @@ -186,22 +186,22 @@ mutter_module_class_init (MutterModuleClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - g_type_class_add_private (gobject_class, sizeof (MutterModulePrivate)); + g_type_class_add_private (gobject_class, sizeof (MetaModulePrivate)); } static void -mutter_module_init (MutterModule *self) +meta_module_init (MetaModule *self) { - MutterModulePrivate *priv; + MetaModulePrivate *priv; - self->priv = priv = MUTTER_MODULE_GET_PRIVATE (self); + self->priv = priv = META_MODULE_GET_PRIVATE (self); } GType -mutter_module_get_plugin_type (MutterModule *module) +meta_module_get_plugin_type (MetaModule *module) { - MutterModulePrivate *priv = MUTTER_MODULE (module)->priv; + MetaModulePrivate *priv = META_MODULE (module)->priv; return priv->plugin_type; } diff --git a/src/compositor/mutter-module.h b/src/compositor/meta-module.h similarity index 50% rename from src/compositor/mutter-module.h rename to src/compositor/meta-module.h index 07265d097..7e94ae680 100644 --- a/src/compositor/mutter-module.h +++ b/src/compositor/meta-module.h @@ -21,37 +21,37 @@ * 02111-1307, USA. */ -#ifndef MUTTER_MODULE_H_ -#define MUTTER_MODULE_H_ +#ifndef META_MODULE_H_ +#define META_MODULE_H_ #include -#define MUTTER_TYPE_MODULE (mutter_module_get_type ()) -#define MUTTER_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MUTTER_TYPE_MODULE, MutterModule)) -#define MUTTER_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MUTTER_TYPE_MODULE, MutterModuleClass)) -#define MUTTER_IS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MUTTER_MODULE_TYPE)) -#define MUTTER_IS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MUTTER_TYPE_MODULE)) -#define MUTTER_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MUTTER_TYPE_MODULE, MutterModuleClass)) +#define META_TYPE_MODULE (meta_module_get_type ()) +#define META_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_MODULE, MetaModule)) +#define META_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_MODULE, MetaModuleClass)) +#define META_IS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_MODULE_TYPE)) +#define META_IS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_MODULE)) +#define META_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_MODULE, MetaModuleClass)) -typedef struct _MutterModule MutterModule; -typedef struct _MutterModuleClass MutterModuleClass; -typedef struct _MutterModulePrivate MutterModulePrivate; +typedef struct _MetaModule MetaModule; +typedef struct _MetaModuleClass MetaModuleClass; +typedef struct _MetaModulePrivate MetaModulePrivate; -struct _MutterModule +struct _MetaModule { GTypeModule parent; - MutterModulePrivate *priv; + MetaModulePrivate *priv; }; -struct _MutterModuleClass +struct _MetaModuleClass { GTypeModuleClass parent_class; }; -GType mutter_module_get_type (void); +GType meta_module_get_type (void); -GType mutter_module_get_plugin_type (MutterModule *module); +GType meta_module_get_plugin_type (MetaModule *module); #endif diff --git a/src/compositor/mutter-plugin-manager.c b/src/compositor/meta-plugin-manager.c similarity index 68% rename from src/compositor/mutter-plugin-manager.c rename to src/compositor/meta-plugin-manager.c index abc6ecbe5..8634949cf 100644 --- a/src/compositor/mutter-plugin-manager.c +++ b/src/compositor/meta-plugin-manager.c @@ -23,11 +23,11 @@ #include "config.h" #include "compositor-private.h" -#include "mutter-plugin-manager.h" +#include "meta-plugin-manager.h" #include "prefs.h" #include "errors.h" #include "workspace.h" -#include "mutter-module.h" +#include "meta-module.h" #include "../core/window-private.h" #include @@ -46,16 +46,16 @@ static GHashTable *plugin_modules = NULL; * have one plugin manager and only make the plugins per-screen.) */ -static MutterPluginManager *default_plugin_manager; +static MetaPluginManager *default_plugin_manager; -static gboolean mutter_plugin_manager_reload (MutterPluginManager *plugin_mgr); +static gboolean meta_plugin_manager_reload (MetaPluginManager *plugin_mgr); -struct MutterPluginManager +struct MetaPluginManager { MetaScreen *screen; - GList /* MutterPlugin */ *plugins; /* TODO -- maybe use hash table */ - GList *unload; /* Plugins that are disabled and pending unload */ + GList /* MetaPlugin */ *plugins; /* TODO -- maybe use hash table */ + GList *unload; /* Plugins that are disabled and pending unload */ guint idle_unload_id; }; @@ -64,13 +64,13 @@ struct MutterPluginManager * Checks that the plugin is compatible with the WM and sets up the plugin * struct. */ -static MutterPlugin * -mutter_plugin_load (MutterPluginManager *mgr, - MutterModule *module, - const gchar *params) +static MetaPlugin * +meta_plugin_load (MetaPluginManager *mgr, + MetaModule *module, + const gchar *params) { - MutterPlugin *plugin = NULL; - GType plugin_type = mutter_module_get_plugin_type (module); + MetaPlugin *plugin = NULL; + GType plugin_type = meta_module_get_plugin_type (module); if (!plugin_type) { @@ -91,9 +91,9 @@ mutter_plugin_load (MutterPluginManager *mgr, * removal later. */ static gboolean -mutter_plugin_unload (MutterPlugin *plugin) +meta_plugin_unload (MetaPlugin *plugin) { - if (mutter_plugin_running (plugin)) + if (meta_plugin_running (plugin)) { g_object_set (plugin, "disabled", TRUE, NULL); return FALSE; @@ -109,16 +109,16 @@ mutter_plugin_unload (MutterPlugin *plugin) * pending for removal. */ static gboolean -mutter_plugin_manager_idle_unload (MutterPluginManager *plugin_mgr) +meta_plugin_manager_idle_unload (MetaPluginManager *plugin_mgr) { GList *l = plugin_mgr->unload; gboolean dont_remove = TRUE; while (l) { - MutterPlugin *plugin = l->data; + MetaPlugin *plugin = l->data; - if (mutter_plugin_unload (plugin)) + if (meta_plugin_unload (plugin)) { /* Remove from list */ GList *p = l->prev; @@ -154,23 +154,23 @@ mutter_plugin_manager_idle_unload (MutterPluginManager *plugin_mgr) * Unloads all plugins */ static void -mutter_plugin_manager_unload (MutterPluginManager *plugin_mgr) +meta_plugin_manager_unload (MetaPluginManager *plugin_mgr) { GList *plugins = plugin_mgr->plugins; while (plugins) { - MutterPlugin *plugin = plugins->data; + MetaPlugin *plugin = plugins->data; /* If the plugin could not be removed, move it to the unload list */ - if (!mutter_plugin_unload (plugin)) + if (!meta_plugin_unload (plugin)) { plugin_mgr->unload = g_list_prepend (plugin_mgr->unload, plugin); if (!plugin_mgr->idle_unload_id) { plugin_mgr->idle_unload_id = g_idle_add ((GSourceFunc) - mutter_plugin_manager_idle_unload, + meta_plugin_manager_idle_unload, plugin_mgr); } } @@ -186,21 +186,21 @@ static void prefs_changed_callback (MetaPreference pref, void *data) { - MutterPluginManager *plugin_mgr = data; + MetaPluginManager *plugin_mgr = data; if (pref == META_PREF_CLUTTER_PLUGINS) { - mutter_plugin_manager_reload (plugin_mgr); + meta_plugin_manager_reload (plugin_mgr); } } -static MutterModule * -mutter_plugin_manager_get_module (const gchar *path) +static MetaModule * +meta_plugin_manager_get_module (const gchar *path) { - MutterModule *module = g_hash_table_lookup (plugin_modules, path); + MetaModule *module = g_hash_table_lookup (plugin_modules, path); if (!module && - (module = g_object_new (MUTTER_TYPE_MODULE, "path", path, NULL))) + (module = g_object_new (META_TYPE_MODULE, "path", path, NULL))) { g_hash_table_insert (plugin_modules, g_strdup (path), module); } @@ -212,7 +212,7 @@ mutter_plugin_manager_get_module (const gchar *path) * Loads all plugins listed in gconf registry. */ gboolean -mutter_plugin_manager_load (MutterPluginManager *plugin_mgr) +meta_plugin_manager_load (MetaPluginManager *plugin_mgr) { const gchar *dpath = MUTTER_PLUGIN_DIR "/"; GSList *plugins, *fallback = NULL; @@ -237,7 +237,7 @@ mutter_plugin_manager_load (MutterPluginManager *plugin_mgr) if (plugin_string) { - MutterModule *module; + MetaModule *module; gchar *path; params = strchr (plugin_string, ':'); @@ -253,7 +253,7 @@ mutter_plugin_manager_load (MutterPluginManager *plugin_mgr) else path = g_strconcat (dpath, plugin_string, ".so", NULL); - module = mutter_plugin_manager_get_module (path); + module = meta_plugin_manager_get_module (path); if (module) { @@ -270,7 +270,7 @@ mutter_plugin_manager_load (MutterPluginManager *plugin_mgr) if (use_succeeded) { - MutterPlugin *plugin = mutter_plugin_load (plugin_mgr, module, params); + MetaPlugin *plugin = meta_plugin_load (plugin_mgr, module, params); if (plugin) plugin_mgr->plugins = g_list_prepend (plugin_mgr->plugins, plugin); @@ -305,14 +305,14 @@ mutter_plugin_manager_load (MutterPluginManager *plugin_mgr) } gboolean -mutter_plugin_manager_initialize (MutterPluginManager *plugin_mgr) +meta_plugin_manager_initialize (MetaPluginManager *plugin_mgr) { GList *iter; for (iter = plugin_mgr->plugins; iter; iter = iter->next) { - MutterPlugin *plugin = (MutterPlugin*) iter->data; - MutterPluginClass *klass = MUTTER_PLUGIN_GET_CLASS (plugin); + MetaPlugin *plugin = (MetaPlugin*) iter->data; + MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); g_object_set (plugin, "screen", plugin_mgr->screen, @@ -329,7 +329,7 @@ mutter_plugin_manager_initialize (MutterPluginManager *plugin_mgr) * Reloads all plugins */ static gboolean -mutter_plugin_manager_reload (MutterPluginManager *plugin_mgr) +meta_plugin_manager_reload (MetaPluginManager *plugin_mgr) { /* TODO -- brute force; should we build a list of plugins to load and list of * plugins to unload? We are probably not going to have large numbers of @@ -337,16 +337,16 @@ mutter_plugin_manager_reload (MutterPluginManager *plugin_mgr) */ /* Prevent stale grabs on unloaded plugins */ - mutter_check_end_modal (plugin_mgr->screen); + meta_check_end_modal (plugin_mgr->screen); - mutter_plugin_manager_unload (plugin_mgr); - return mutter_plugin_manager_load (plugin_mgr); + meta_plugin_manager_unload (plugin_mgr); + return meta_plugin_manager_load (plugin_mgr); } -static MutterPluginManager * -mutter_plugin_manager_new (MetaScreen *screen) +static MetaPluginManager * +meta_plugin_manager_new (MetaScreen *screen) { - MutterPluginManager *plugin_mgr; + MetaPluginManager *plugin_mgr; if (!plugin_modules) { @@ -354,65 +354,65 @@ mutter_plugin_manager_new (MetaScreen *screen) NULL); } - plugin_mgr = g_new0 (MutterPluginManager, 1); + plugin_mgr = g_new0 (MetaPluginManager, 1); plugin_mgr->screen = screen; if (screen) - g_object_set_data (G_OBJECT (screen), "mutter-plugin-manager", plugin_mgr); + g_object_set_data (G_OBJECT (screen), "meta-plugin-manager", plugin_mgr); return plugin_mgr; } -MutterPluginManager * -mutter_plugin_manager_get_default (void) +MetaPluginManager * +meta_plugin_manager_get_default (void) { if (!default_plugin_manager) { - default_plugin_manager = mutter_plugin_manager_new (NULL); + default_plugin_manager = meta_plugin_manager_new (NULL); } return default_plugin_manager; } -MutterPluginManager * -mutter_plugin_manager_get (MetaScreen *screen) +MetaPluginManager * +meta_plugin_manager_get (MetaScreen *screen) { - MutterPluginManager *plugin_mgr; + MetaPluginManager *plugin_mgr; - plugin_mgr = g_object_get_data (G_OBJECT (screen), "mutter-plugin-manager"); + plugin_mgr = g_object_get_data (G_OBJECT (screen), "meta-plugin-manager"); if (plugin_mgr) return plugin_mgr; if (!default_plugin_manager) - mutter_plugin_manager_get_default (); + meta_plugin_manager_get_default (); if (!default_plugin_manager->screen) { /* The default plugin manager is so far unused, we can recycle it */ default_plugin_manager->screen = screen; - g_object_set_data (G_OBJECT (screen), "mutter-plugin-manager", default_plugin_manager); + g_object_set_data (G_OBJECT (screen), "meta-plugin-manager", default_plugin_manager); return default_plugin_manager; } else { - return mutter_plugin_manager_new (screen); + return meta_plugin_manager_new (screen); } } static void -mutter_plugin_manager_kill_window_effects (MutterPluginManager *plugin_mgr, - MutterWindow *actor) +meta_plugin_manager_kill_window_effects (MetaPluginManager *plugin_mgr, + MetaWindowActor *actor) { GList *l = plugin_mgr->plugins; while (l) { - MutterPlugin *plugin = l->data; - MutterPluginClass *klass = MUTTER_PLUGIN_GET_CLASS (plugin); + MetaPlugin *plugin = l->data; + MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); - if (!mutter_plugin_disabled (plugin) + if (!meta_plugin_disabled (plugin) && klass->kill_window_effects) klass->kill_window_effects (plugin, actor); @@ -421,17 +421,17 @@ mutter_plugin_manager_kill_window_effects (MutterPluginManager *plugin_mgr, } static void -mutter_plugin_manager_kill_switch_workspace (MutterPluginManager *plugin_mgr) +meta_plugin_manager_kill_switch_workspace (MetaPluginManager *plugin_mgr) { GList *l = plugin_mgr->plugins; while (l) { - MutterPlugin *plugin = l->data; - MutterPluginClass *klass = MUTTER_PLUGIN_GET_CLASS (plugin); + MetaPlugin *plugin = l->data; + MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); - if (!mutter_plugin_disabled (plugin) - && (mutter_plugin_features (plugin) & MUTTER_PLUGIN_SWITCH_WORKSPACE) + if (!meta_plugin_disabled (plugin) + && (meta_plugin_features (plugin) & META_PLUGIN_SWITCH_WORKSPACE) && klass->kill_switch_workspace) klass->kill_switch_workspace (plugin); @@ -449,9 +449,9 @@ mutter_plugin_manager_kill_switch_workspace (MutterPluginManager *plugin_mgr) * appropriate post-effect cleanup is carried out. */ gboolean -mutter_plugin_manager_event_simple (MutterPluginManager *plugin_mgr, - MutterWindow *actor, - unsigned long event) +meta_plugin_manager_event_simple (MetaPluginManager *plugin_mgr, + MetaWindowActor *actor, + unsigned long event) { GList *l = plugin_mgr->plugins; gboolean retval = FALSE; @@ -462,42 +462,42 @@ mutter_plugin_manager_event_simple (MutterPluginManager *plugin_mgr, while (l) { - MutterPlugin *plugin = l->data; - MutterPluginClass *klass = MUTTER_PLUGIN_GET_CLASS (plugin); + MetaPlugin *plugin = l->data; + MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); - if (!mutter_plugin_disabled (plugin) && - (mutter_plugin_features (plugin) & event)) + if (!meta_plugin_disabled (plugin) && + (meta_plugin_features (plugin) & event)) { retval = TRUE; switch (event) { - case MUTTER_PLUGIN_MINIMIZE: + case META_PLUGIN_MINIMIZE: if (klass->minimize) { - mutter_plugin_manager_kill_window_effects ( + meta_plugin_manager_kill_window_effects ( plugin_mgr, actor); - _mutter_plugin_effect_started (plugin); + _meta_plugin_effect_started (plugin); klass->minimize (plugin, actor); } break; - case MUTTER_PLUGIN_MAP: + case META_PLUGIN_MAP: if (klass->map) { - mutter_plugin_manager_kill_window_effects ( + meta_plugin_manager_kill_window_effects ( plugin_mgr, actor); - _mutter_plugin_effect_started (plugin); + _meta_plugin_effect_started (plugin); klass->map (plugin, actor); } break; - case MUTTER_PLUGIN_DESTROY: + case META_PLUGIN_DESTROY: if (klass->destroy) { - _mutter_plugin_effect_started (plugin); + _meta_plugin_effect_started (plugin); klass->destroy (plugin, actor); } break; @@ -522,13 +522,13 @@ mutter_plugin_manager_event_simple (MutterPluginManager *plugin_mgr, * appropriate post-effect cleanup is carried out. */ gboolean -mutter_plugin_manager_event_maximize (MutterPluginManager *plugin_mgr, - MutterWindow *actor, - unsigned long event, - gint target_x, - gint target_y, - gint target_width, - gint target_height) +meta_plugin_manager_event_maximize (MetaPluginManager *plugin_mgr, + MetaWindowActor *actor, + unsigned long event, + gint target_x, + gint target_y, + gint target_width, + gint target_height) { GList *l = plugin_mgr->plugins; gboolean retval = FALSE; @@ -539,37 +539,37 @@ mutter_plugin_manager_event_maximize (MutterPluginManager *plugin_mgr, while (l) { - MutterPlugin *plugin = l->data; - MutterPluginClass *klass = MUTTER_PLUGIN_GET_CLASS (plugin); + MetaPlugin *plugin = l->data; + MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); - if (!mutter_plugin_disabled (plugin) && - (mutter_plugin_features (plugin) & event)) + if (!meta_plugin_disabled (plugin) && + (meta_plugin_features (plugin) & event)) { retval = TRUE; switch (event) { - case MUTTER_PLUGIN_MAXIMIZE: + case META_PLUGIN_MAXIMIZE: if (klass->maximize) { - mutter_plugin_manager_kill_window_effects ( + meta_plugin_manager_kill_window_effects ( plugin_mgr, actor); - _mutter_plugin_effect_started (plugin); + _meta_plugin_effect_started (plugin); klass->maximize (plugin, actor, target_x, target_y, target_width, target_height); } break; - case MUTTER_PLUGIN_UNMAXIMIZE: + case META_PLUGIN_UNMAXIMIZE: if (klass->unmaximize) { - mutter_plugin_manager_kill_window_effects ( + meta_plugin_manager_kill_window_effects ( plugin_mgr, actor); - _mutter_plugin_effect_started (plugin); + _meta_plugin_effect_started (plugin); klass->unmaximize (plugin, actor, target_x, target_y, target_width, target_height); @@ -595,10 +595,10 @@ mutter_plugin_manager_event_maximize (MutterPluginManager *plugin_mgr, * appropriate post-effect cleanup is carried out. */ gboolean -mutter_plugin_manager_switch_workspace (MutterPluginManager *plugin_mgr, - gint from, - gint to, - MetaMotionDirection direction) +meta_plugin_manager_switch_workspace (MetaPluginManager *plugin_mgr, + gint from, + gint to, + MetaMotionDirection direction) { GList *l = plugin_mgr->plugins; gboolean retval = FALSE; @@ -609,18 +609,18 @@ mutter_plugin_manager_switch_workspace (MutterPluginManager *plugin_mgr, while (l) { - MutterPlugin *plugin = l->data; - MutterPluginClass *klass = MUTTER_PLUGIN_GET_CLASS (plugin); + MetaPlugin *plugin = l->data; + MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); - if (!mutter_plugin_disabled (plugin) && - (mutter_plugin_features (plugin) & MUTTER_PLUGIN_SWITCH_WORKSPACE)) + if (!meta_plugin_disabled (plugin) && + (meta_plugin_features (plugin) & META_PLUGIN_SWITCH_WORKSPACE)) { if (klass->switch_workspace) { retval = TRUE; - mutter_plugin_manager_kill_switch_workspace (plugin_mgr); + meta_plugin_manager_kill_switch_workspace (plugin_mgr); - _mutter_plugin_effect_started (plugin); + _meta_plugin_effect_started (plugin); klass->switch_workspace (plugin, from, to, direction); } } @@ -640,8 +640,8 @@ mutter_plugin_manager_switch_workspace (MutterPluginManager *plugin_mgr, * appropriate post-effect cleanup is carried out. */ gboolean -mutter_plugin_manager_xevent_filter (MutterPluginManager *plugin_mgr, - XEvent *xev) +meta_plugin_manager_xevent_filter (MetaPluginManager *plugin_mgr, + XEvent *xev) { GList *l; gboolean have_plugin_xevent_func; @@ -671,8 +671,8 @@ mutter_plugin_manager_xevent_filter (MutterPluginManager *plugin_mgr, while (l) { - MutterPlugin *plugin = l->data; - MutterPluginClass *klass = MUTTER_PLUGIN_GET_CLASS (plugin); + MetaPlugin *plugin = l->data; + MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); if (klass->xevent_filter) { diff --git a/src/compositor/meta-plugin-manager.h b/src/compositor/meta-plugin-manager.h new file mode 100644 index 000000000..c438a346c --- /dev/null +++ b/src/compositor/meta-plugin-manager.h @@ -0,0 +1,78 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ + +/* + * Copyright (c) 2008 Intel Corp. + * + * Author: Tomas Frydrych + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + */ + +#ifndef META_PLUGIN_MANAGER_H_ +#define META_PLUGIN_MANAGER_H_ + +#include "types.h" +#include "screen.h" + +#define META_PLUGIN_FROM_MANAGER_ +#include "meta-plugin.h" +#undef META_PLUGIN_FROM_MANAGER_ + +#define META_PLUGIN_MINIMIZE (1<<0) +#define META_PLUGIN_MAXIMIZE (1<<1) +#define META_PLUGIN_UNMAXIMIZE (1<<2) +#define META_PLUGIN_MAP (1<<3) +#define META_PLUGIN_DESTROY (1<<4) +#define META_PLUGIN_SWITCH_WORKSPACE (1<<5) + +#define META_PLUGIN_ALL_EFFECTS (~0) + +/** + * MetaPluginManager: (skip) + * + */ +typedef struct MetaPluginManager MetaPluginManager; + +MetaPluginManager * meta_plugin_manager_get (MetaScreen *screen); +MetaPluginManager * meta_plugin_manager_get_default (void); + +gboolean meta_plugin_manager_load (MetaPluginManager *mgr); +gboolean meta_plugin_manager_initialize (MetaPluginManager *plugin_mgr); +gboolean meta_plugin_manager_event_simple (MetaPluginManager *mgr, + MetaWindowActor *actor, + unsigned long event); + +gboolean meta_plugin_manager_event_maximize (MetaPluginManager *mgr, + MetaWindowActor *actor, + unsigned long event, + gint target_x, + gint target_y, + gint target_width, + gint target_height); +void meta_plugin_manager_update_workspaces (MetaPluginManager *mgr); + +void meta_plugin_manager_update_workspace (MetaPluginManager *mgr, + MetaWorkspace *w); + +gboolean meta_plugin_manager_switch_workspace (MetaPluginManager *mgr, + gint from, + gint to, + MetaMotionDirection direction); + +gboolean meta_plugin_manager_xevent_filter (MetaPluginManager *mgr, + XEvent *xev); + +#endif diff --git a/src/compositor/mutter-plugin.c b/src/compositor/meta-plugin.c similarity index 55% rename from src/compositor/mutter-plugin.c rename to src/compositor/meta-plugin.c index ec263816b..8a544c2f3 100644 --- a/src/compositor/mutter-plugin.c +++ b/src/compositor/meta-plugin.c @@ -21,7 +21,7 @@ * 02111-1307, USA. */ -#include "mutter-plugin.h" +#include "meta-plugin.h" #include "screen.h" #include "display.h" @@ -32,12 +32,12 @@ #include #include "compositor-private.h" -#include "mutter-window-private.h" +#include "meta-window-actor-private.h" -G_DEFINE_ABSTRACT_TYPE (MutterPlugin, mutter_plugin, G_TYPE_OBJECT); +G_DEFINE_ABSTRACT_TYPE (MetaPlugin, meta_plugin, G_TYPE_OBJECT); -#define MUTTER_PLUGIN_GET_PRIVATE(obj) \ -(G_TYPE_INSTANCE_GET_PRIVATE ((obj), MUTTER_TYPE_PLUGIN, MutterPluginPrivate)) +#define META_PLUGIN_GET_PRIVATE(obj) \ +(G_TYPE_INSTANCE_GET_PRIVATE ((obj), META_TYPE_PLUGIN, MetaPluginPrivate)) enum { @@ -49,7 +49,7 @@ enum PROP_DEBUG_MODE, }; -struct _MutterPluginPrivate +struct _MetaPluginPrivate { MetaScreen *screen; gchar *params; @@ -62,51 +62,51 @@ struct _MutterPluginPrivate }; static void -mutter_plugin_dispose (GObject *object) +meta_plugin_dispose (GObject *object) { - G_OBJECT_CLASS (mutter_plugin_parent_class)->dispose (object); + G_OBJECT_CLASS (meta_plugin_parent_class)->dispose (object); } static void -mutter_plugin_finalize (GObject *object) +meta_plugin_finalize (GObject *object) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (object)->priv; + MetaPluginPrivate *priv = META_PLUGIN (object)->priv; g_free (priv->params); priv->params = NULL; - G_OBJECT_CLASS (mutter_plugin_parent_class)->finalize (object); + G_OBJECT_CLASS (meta_plugin_parent_class)->finalize (object); } static void -mutter_plugin_parse_params (MutterPlugin *plugin) +meta_plugin_parse_params (MetaPlugin *plugin) { char *p; gulong features = 0; - MutterPluginPrivate *priv = plugin->priv; - MutterPluginClass *klass = MUTTER_PLUGIN_GET_CLASS (plugin); + MetaPluginPrivate *priv = plugin->priv; + MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); /* * Feature flags: identify events that the plugin can handle; a plugin can * handle one or more events. */ if (klass->minimize) - features |= MUTTER_PLUGIN_MINIMIZE; + features |= META_PLUGIN_MINIMIZE; if (klass->maximize) - features |= MUTTER_PLUGIN_MAXIMIZE; + features |= META_PLUGIN_MAXIMIZE; if (klass->unmaximize) - features |= MUTTER_PLUGIN_UNMAXIMIZE; + features |= META_PLUGIN_UNMAXIMIZE; if (klass->map) - features |= MUTTER_PLUGIN_MAP; + features |= META_PLUGIN_MAP; if (klass->destroy) - features |= MUTTER_PLUGIN_DESTROY; + features |= META_PLUGIN_DESTROY; if (klass->switch_workspace) - features |= MUTTER_PLUGIN_SWITCH_WORKSPACE; + features |= META_PLUGIN_SWITCH_WORKSPACE; if (priv->params) { @@ -122,22 +122,22 @@ mutter_plugin_parse_params (MutterPlugin *plugin) *p = 0; if (strstr (d, "minimize")) - features &= ~ MUTTER_PLUGIN_MINIMIZE; + features &= ~ META_PLUGIN_MINIMIZE; if (strstr (d, "maximize")) - features &= ~ MUTTER_PLUGIN_MAXIMIZE; + features &= ~ META_PLUGIN_MAXIMIZE; if (strstr (d, "unmaximize")) - features &= ~ MUTTER_PLUGIN_UNMAXIMIZE; + features &= ~ META_PLUGIN_UNMAXIMIZE; if (strstr (d, "map")) - features &= ~ MUTTER_PLUGIN_MAP; + features &= ~ META_PLUGIN_MAP; if (strstr (d, "destroy")) - features &= ~ MUTTER_PLUGIN_DESTROY; + features &= ~ META_PLUGIN_DESTROY; if (strstr (d, "switch-workspace")) - features &= ~MUTTER_PLUGIN_SWITCH_WORKSPACE; + features &= ~META_PLUGIN_SWITCH_WORKSPACE; g_free (d); } @@ -162,12 +162,12 @@ mutter_plugin_parse_params (MutterPlugin *plugin) } static void -mutter_plugin_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) +meta_plugin_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (object)->priv; + MetaPluginPrivate *priv = META_PLUGIN (object)->priv; switch (prop_id) { @@ -176,7 +176,7 @@ mutter_plugin_set_property (GObject *object, break; case PROP_PARAMS: priv->params = g_value_dup_string (value); - mutter_plugin_parse_params (MUTTER_PLUGIN (object)); + meta_plugin_parse_params (META_PLUGIN (object)); break; case PROP_DISABLED: priv->disabled = g_value_get_boolean (value); @@ -191,12 +191,12 @@ mutter_plugin_set_property (GObject *object, } static void -mutter_plugin_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) +meta_plugin_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (object)->priv; + MetaPluginPrivate *priv = META_PLUGIN (object)->priv; switch (prop_id) { @@ -223,14 +223,14 @@ mutter_plugin_get_property (GObject *object, static void -mutter_plugin_class_init (MutterPluginClass *klass) +meta_plugin_class_init (MetaPluginClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - gobject_class->finalize = mutter_plugin_finalize; - gobject_class->dispose = mutter_plugin_dispose; - gobject_class->set_property = mutter_plugin_set_property; - gobject_class->get_property = mutter_plugin_get_property; + gobject_class->finalize = meta_plugin_finalize; + gobject_class->dispose = meta_plugin_dispose; + gobject_class->set_property = meta_plugin_set_property; + gobject_class->get_property = meta_plugin_get_property; g_object_class_install_property (gobject_class, PROP_SCREEN, @@ -273,53 +273,53 @@ mutter_plugin_class_init (MutterPluginClass *klass) FALSE, G_PARAM_READABLE)); - g_type_class_add_private (gobject_class, sizeof (MutterPluginPrivate)); + g_type_class_add_private (gobject_class, sizeof (MetaPluginPrivate)); } static void -mutter_plugin_init (MutterPlugin *self) +meta_plugin_init (MetaPlugin *self) { - MutterPluginPrivate *priv; + MetaPluginPrivate *priv; - self->priv = priv = MUTTER_PLUGIN_GET_PRIVATE (self); + self->priv = priv = META_PLUGIN_GET_PRIVATE (self); } gulong -mutter_plugin_features (MutterPlugin *plugin) +meta_plugin_features (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; return priv->features; } gboolean -mutter_plugin_disabled (MutterPlugin *plugin) +meta_plugin_disabled (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; return priv->disabled; } gboolean -mutter_plugin_running (MutterPlugin *plugin) +meta_plugin_running (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; return (priv->running > 0); } gboolean -mutter_plugin_debug_mode (MutterPlugin *plugin) +meta_plugin_debug_mode (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; return priv->debug; } -const MutterPluginInfo * -mutter_plugin_get_info (MutterPlugin *plugin) +const MetaPluginInfo * +meta_plugin_get_info (MetaPlugin *plugin) { - MutterPluginClass *klass = MUTTER_PLUGIN_GET_CLASS (plugin); + MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); if (klass && klass->plugin_info) return klass->plugin_info (plugin); @@ -328,50 +328,50 @@ mutter_plugin_get_info (MutterPlugin *plugin) } ClutterActor * -mutter_plugin_get_overlay_group (MutterPlugin *plugin) +meta_plugin_get_overlay_group (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; - return mutter_get_overlay_group_for_screen (priv->screen); + return meta_get_overlay_group_for_screen (priv->screen); } ClutterActor * -mutter_plugin_get_stage (MutterPlugin *plugin) +meta_plugin_get_stage (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; - return mutter_get_stage_for_screen (priv->screen); + return meta_get_stage_for_screen (priv->screen); } ClutterActor * -mutter_plugin_get_window_group (MutterPlugin *plugin) +meta_plugin_get_window_group (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; - return mutter_get_window_group_for_screen (priv->screen); + return meta_get_window_group_for_screen (priv->screen); } /** - * _mutter_plugin_effect_started: + * _meta_plugin_effect_started: * @plugin: the plugin * * Mark that an effect has started for the plugin. This is called - * internally by MutterPluginManager. + * internally by MetaPluginManager. */ void -_mutter_plugin_effect_started (MutterPlugin *plugin) +_meta_plugin_effect_started (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; priv->running++; } void -mutter_plugin_switch_workspace_completed (MutterPlugin *plugin) +meta_plugin_switch_workspace_completed (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; - MetaScreen *screen = mutter_plugin_get_screen (plugin); + MetaScreen *screen = meta_plugin_get_screen (plugin); if (priv->running-- < 0) { @@ -379,15 +379,15 @@ mutter_plugin_switch_workspace_completed (MutterPlugin *plugin) priv->running = 0; } - mutter_switch_workspace_completed (screen); + meta_switch_workspace_completed (screen); } static void -mutter_plugin_window_effect_completed (MutterPlugin *plugin, - MutterWindow *actor, - unsigned long event) +meta_plugin_window_effect_completed (MetaPlugin *plugin, + MetaWindowActor *actor, + unsigned long event) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; if (priv->running-- < 0) { @@ -397,82 +397,82 @@ mutter_plugin_window_effect_completed (MutterPlugin *plugin, if (!actor) { - const MutterPluginInfo *info; + const MetaPluginInfo *info; const gchar *name = NULL; - if (plugin && (info = mutter_plugin_get_info (plugin))) + if (plugin && (info = meta_plugin_get_info (plugin))) name = info->name; g_warning ("Plugin [%s] passed NULL for actor!", name ? name : "unknown"); } - mutter_window_effect_completed (actor, event); + meta_window_actor_effect_completed (actor, event); } void -mutter_plugin_minimize_completed (MutterPlugin *plugin, - MutterWindow *actor) +meta_plugin_minimize_completed (MetaPlugin *plugin, + MetaWindowActor *actor) { - mutter_plugin_window_effect_completed (plugin, actor, MUTTER_PLUGIN_MINIMIZE); + meta_plugin_window_effect_completed (plugin, actor, META_PLUGIN_MINIMIZE); } void -mutter_plugin_maximize_completed (MutterPlugin *plugin, - MutterWindow *actor) +meta_plugin_maximize_completed (MetaPlugin *plugin, + MetaWindowActor *actor) { - mutter_plugin_window_effect_completed (plugin, actor, MUTTER_PLUGIN_MAXIMIZE); + meta_plugin_window_effect_completed (plugin, actor, META_PLUGIN_MAXIMIZE); } void -mutter_plugin_unmaximize_completed (MutterPlugin *plugin, - MutterWindow *actor) +meta_plugin_unmaximize_completed (MetaPlugin *plugin, + MetaWindowActor *actor) { - mutter_plugin_window_effect_completed (plugin, actor, MUTTER_PLUGIN_UNMAXIMIZE); + meta_plugin_window_effect_completed (plugin, actor, META_PLUGIN_UNMAXIMIZE); } void -mutter_plugin_map_completed (MutterPlugin *plugin, - MutterWindow *actor) +meta_plugin_map_completed (MetaPlugin *plugin, + MetaWindowActor *actor) { - mutter_plugin_window_effect_completed (plugin, actor, MUTTER_PLUGIN_MAP); + meta_plugin_window_effect_completed (plugin, actor, META_PLUGIN_MAP); } void -mutter_plugin_destroy_completed (MutterPlugin *plugin, - MutterWindow *actor) +meta_plugin_destroy_completed (MetaPlugin *plugin, + MetaWindowActor *actor) { - mutter_plugin_window_effect_completed (plugin, actor, MUTTER_PLUGIN_DESTROY); + meta_plugin_window_effect_completed (plugin, actor, META_PLUGIN_DESTROY); } void -mutter_plugin_query_screen_size (MutterPlugin *plugin, - int *width, - int *height) +meta_plugin_query_screen_size (MetaPlugin *plugin, + int *width, + int *height) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; meta_screen_get_size (priv->screen, width, height); } void -mutter_plugin_set_stage_reactive (MutterPlugin *plugin, - gboolean reactive) +meta_plugin_set_stage_reactive (MetaPlugin *plugin, + gboolean reactive) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; MetaScreen *screen = priv->screen; if (reactive) - mutter_set_stage_input_region (screen, None); + meta_set_stage_input_region (screen, None); else - mutter_empty_stage_input_region (screen); + meta_empty_stage_input_region (screen); } void -mutter_plugin_set_stage_input_area (MutterPlugin *plugin, - gint x, gint y, gint width, gint height) +meta_plugin_set_stage_input_area (MetaPlugin *plugin, + gint x, gint y, gint width, gint height) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; MetaScreen *screen = priv->screen; MetaDisplay *display = meta_screen_get_display (screen); Display *xdpy = meta_display_get_xdisplay (display); @@ -485,43 +485,43 @@ mutter_plugin_set_stage_input_area (MutterPlugin *plugin, rect.height = height; region = XFixesCreateRegion (xdpy, &rect, 1); - mutter_set_stage_input_region (screen, region); + meta_set_stage_input_region (screen, region); XFixesDestroyRegion (xdpy, region); } void -mutter_plugin_set_stage_input_region (MutterPlugin *plugin, - XserverRegion region) +meta_plugin_set_stage_input_region (MetaPlugin *plugin, + XserverRegion region) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; MetaScreen *screen = priv->screen; - mutter_set_stage_input_region (screen, region); + meta_set_stage_input_region (screen, region); } /** - * mutter_plugin_get_windows: - * @plugin: A #MutterPlugin + * meta_plugin_get_window_actors: + * @plugin: A #MetaPlugin * - * This function returns all of the #MutterWindow objects referenced by Mutter, including + * This function returns all of the #MetaWindowActor objects referenced by Mutter, including * override-redirect windows. The returned list is a snapshot of Mutter's current * stacking order, with the topmost window last. * * The 'restacked' signal of #MetaScreen signals when this value has changed. * - * Returns: (transfer none) (element-type MutterWindow): Windows in stacking order, topmost last + * Returns: (transfer none) (element-type MetaWindowActor): Windows in stacking order, topmost last */ GList * -mutter_plugin_get_windows (MutterPlugin *plugin) +meta_plugin_get_window_actors (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; - return mutter_get_windows (priv->screen); + return meta_get_window_actors (priv->screen); } /** - * mutter_plugin_begin_modal: - * @plugin: a #MutterPlugin + * meta_plugin_begin_modal: + * @plugin: a #MetaPlugin * @grab_window: the X window to grab the keyboard and mouse on * @cursor: the cursor to use for the pointer grab, or None, * to use the normal cursor for the grab window and @@ -532,7 +532,7 @@ mutter_plugin_get_windows (MutterPlugin *plugin) * This function is used to grab the keyboard and mouse for the exclusive * use of the plugin. Correct operation requires that both the keyboard * and mouse are grabbed, or thing will break. (In particular, other - * passive X grabs in Mutter can trigger but not be handled by the normal + * passive X grabs in Meta can trigger but not be handled by the normal * keybinding handling code.) However, the plugin can establish the keyboard * and/or mouse grabs ahead of time and pass in the * %META_MODAL_POINTER_ALREADY_GRABBED and/or %META_MODAL_KEYBOARD_ALREADY_GRABBED @@ -545,21 +545,21 @@ mutter_plugin_get_windows (MutterPlugin *plugin) * mouse and made the plugin modal. */ gboolean -mutter_plugin_begin_modal (MutterPlugin *plugin, - Window grab_window, - Cursor cursor, - MetaModalOptions options, - guint32 timestamp) +meta_plugin_begin_modal (MetaPlugin *plugin, + Window grab_window, + Cursor cursor, + MetaModalOptions options, + guint32 timestamp) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; - return mutter_begin_modal_for_plugin (priv->screen, plugin, - grab_window, cursor, options, timestamp); + return meta_begin_modal_for_plugin (priv->screen, plugin, + grab_window, cursor, options, timestamp); } /** - * mutter_plugin_end_modal - * @plugin: a #MutterPlugin + * meta_plugin_end_modal + * @plugin: a #MetaPlugin * @timestamp: the time used for releasing grabs * * Ends the modal operation begun with meta_plugin_begin_modal(). This @@ -569,27 +569,27 @@ mutter_plugin_begin_modal (MutterPlugin *plugin, * when beginnning the modal operation. */ void -mutter_plugin_end_modal (MutterPlugin *plugin, - guint32 timestamp) +meta_plugin_end_modal (MetaPlugin *plugin, + guint32 timestamp) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; - mutter_end_modal_for_plugin (priv->screen, plugin, timestamp); + meta_end_modal_for_plugin (priv->screen, plugin, timestamp); } Display * -mutter_plugin_get_xdisplay (MutterPlugin *plugin) +meta_plugin_get_xdisplay (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; - MetaDisplay *display = meta_screen_get_display (priv->screen); - Display *xdpy = meta_display_get_xdisplay (display); + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; + MetaDisplay *display = meta_screen_get_display (priv->screen); + Display *xdpy = meta_display_get_xdisplay (display); return xdpy; } /** - * mutter_plugin_get_screen: - * @plugin: a #MutterPlugin + * meta_plugin_get_screen: + * @plugin: a #MetaPlugin * * Gets the #MetaScreen corresponding to a plugin. Each plugin instance * is associated with exactly one screen; if Metacity is managing @@ -598,9 +598,9 @@ mutter_plugin_get_xdisplay (MutterPlugin *plugin) * Return value: (transfer none): the #MetaScreen for the plugin */ MetaScreen * -mutter_plugin_get_screen (MutterPlugin *plugin) +meta_plugin_get_screen (MetaPlugin *plugin) { - MutterPluginPrivate *priv = MUTTER_PLUGIN (plugin)->priv; + MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; return priv->screen; } diff --git a/src/compositor/mutter-shaped-texture.c b/src/compositor/meta-shaped-texture.c similarity index 70% rename from src/compositor/mutter-shaped-texture.c rename to src/compositor/meta-shaped-texture.c index 719b0783a..ed77379c6 100644 --- a/src/compositor/mutter-shaped-texture.c +++ b/src/compositor/meta-shaped-texture.c @@ -25,45 +25,45 @@ #include -#include "mutter-shaped-texture.h" -#include "mutter-texture-tower.h" +#include "meta-shaped-texture.h" +#include "meta-texture-tower.h" #include #include #include -static void mutter_shaped_texture_dispose (GObject *object); -static void mutter_shaped_texture_finalize (GObject *object); -static void mutter_shaped_texture_notify (GObject *object, +static void meta_shaped_texture_dispose (GObject *object); +static void meta_shaped_texture_finalize (GObject *object); +static void meta_shaped_texture_notify (GObject *object, GParamSpec *pspec); -static void mutter_shaped_texture_paint (ClutterActor *actor); -static void mutter_shaped_texture_pick (ClutterActor *actor, - const ClutterColor *color); +static void meta_shaped_texture_paint (ClutterActor *actor); +static void meta_shaped_texture_pick (ClutterActor *actor, + const ClutterColor *color); -static void mutter_shaped_texture_update_area (ClutterX11TexturePixmap *texture, - int x, - int y, - int width, - int height); +static void meta_shaped_texture_update_area (ClutterX11TexturePixmap *texture, + int x, + int y, + int width, + int height); -static void mutter_shaped_texture_dirty_mask (MutterShapedTexture *stex); +static void meta_shaped_texture_dirty_mask (MetaShapedTexture *stex); #ifdef HAVE_GLX_TEXTURE_PIXMAP -G_DEFINE_TYPE (MutterShapedTexture, mutter_shaped_texture, +G_DEFINE_TYPE (MetaShapedTexture, meta_shaped_texture, CLUTTER_GLX_TYPE_TEXTURE_PIXMAP); #else /* HAVE_GLX_TEXTURE_PIXMAP */ -G_DEFINE_TYPE (MutterShapedTexture, mutter_shaped_texture, +G_DEFINE_TYPE (MetaShapedTexture, meta_shaped_texture, CLUTTER_X11_TYPE_TEXTURE_PIXMAP); #endif /* HAVE_GLX_TEXTURE_PIXMAP */ -#define MUTTER_SHAPED_TEXTURE_GET_PRIVATE(obj) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((obj), MUTTER_TYPE_SHAPED_TEXTURE, \ - MutterShapedTexturePrivate)) +#define META_SHAPED_TEXTURE_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((obj), META_TYPE_SHAPED_TEXTURE, \ + MetaShapedTexturePrivate)) -struct _MutterShapedTexturePrivate +struct _MetaShapedTexturePrivate { - MutterTextureTower *paint_tower; + MetaTextureTower *paint_tower; CoglHandle mask_texture; CoglHandle material; CoglHandle material_unshaped; @@ -78,49 +78,49 @@ struct _MutterShapedTexturePrivate }; static void -mutter_shaped_texture_class_init (MutterShapedTextureClass *klass) +meta_shaped_texture_class_init (MetaShapedTextureClass *klass) { GObjectClass *gobject_class = (GObjectClass *) klass; ClutterActorClass *actor_class = (ClutterActorClass *) klass; ClutterX11TexturePixmapClass *x11_texture_class = (ClutterX11TexturePixmapClass *) klass; - gobject_class->dispose = mutter_shaped_texture_dispose; - gobject_class->finalize = mutter_shaped_texture_finalize; - gobject_class->notify = mutter_shaped_texture_notify; + gobject_class->dispose = meta_shaped_texture_dispose; + gobject_class->finalize = meta_shaped_texture_finalize; + gobject_class->notify = meta_shaped_texture_notify; - actor_class->paint = mutter_shaped_texture_paint; - actor_class->pick = mutter_shaped_texture_pick; + actor_class->paint = meta_shaped_texture_paint; + actor_class->pick = meta_shaped_texture_pick; - x11_texture_class->update_area = mutter_shaped_texture_update_area; + x11_texture_class->update_area = meta_shaped_texture_update_area; - g_type_class_add_private (klass, sizeof (MutterShapedTexturePrivate)); + g_type_class_add_private (klass, sizeof (MetaShapedTexturePrivate)); } static void -mutter_shaped_texture_init (MutterShapedTexture *self) +meta_shaped_texture_init (MetaShapedTexture *self) { - MutterShapedTexturePrivate *priv; + MetaShapedTexturePrivate *priv; - priv = self->priv = MUTTER_SHAPED_TEXTURE_GET_PRIVATE (self); + priv = self->priv = META_SHAPED_TEXTURE_GET_PRIVATE (self); priv->rectangles = g_array_new (FALSE, FALSE, sizeof (XRectangle)); - priv->paint_tower = mutter_texture_tower_new (); + priv->paint_tower = meta_texture_tower_new (); priv->mask_texture = COGL_INVALID_HANDLE; priv->create_mipmaps = TRUE; } static void -mutter_shaped_texture_dispose (GObject *object) +meta_shaped_texture_dispose (GObject *object) { - MutterShapedTexture *self = (MutterShapedTexture *) object; - MutterShapedTexturePrivate *priv = self->priv; + MetaShapedTexture *self = (MetaShapedTexture *) object; + MetaShapedTexturePrivate *priv = self->priv; if (priv->paint_tower) - mutter_texture_tower_free (priv->paint_tower); + meta_texture_tower_free (priv->paint_tower); priv->paint_tower = NULL; - mutter_shaped_texture_dirty_mask (self); + meta_shaped_texture_dirty_mask (self); if (priv->material != COGL_INVALID_HANDLE) { @@ -133,28 +133,28 @@ mutter_shaped_texture_dispose (GObject *object) priv->material_unshaped = COGL_INVALID_HANDLE; } - mutter_shaped_texture_set_clip_region (self, NULL); + meta_shaped_texture_set_clip_region (self, NULL); - G_OBJECT_CLASS (mutter_shaped_texture_parent_class)->dispose (object); + G_OBJECT_CLASS (meta_shaped_texture_parent_class)->dispose (object); } static void -mutter_shaped_texture_finalize (GObject *object) +meta_shaped_texture_finalize (GObject *object) { - MutterShapedTexture *self = (MutterShapedTexture *) object; - MutterShapedTexturePrivate *priv = self->priv; + MetaShapedTexture *self = (MetaShapedTexture *) object; + MetaShapedTexturePrivate *priv = self->priv; g_array_free (priv->rectangles, TRUE); - G_OBJECT_CLASS (mutter_shaped_texture_parent_class)->finalize (object); + G_OBJECT_CLASS (meta_shaped_texture_parent_class)->finalize (object); } static void -mutter_shaped_texture_notify (GObject *object, - GParamSpec *pspec) +meta_shaped_texture_notify (GObject *object, + GParamSpec *pspec) { - if (G_OBJECT_CLASS (mutter_shaped_texture_parent_class)->notify) - G_OBJECT_CLASS (mutter_shaped_texture_parent_class)->notify (object, pspec); + if (G_OBJECT_CLASS (meta_shaped_texture_parent_class)->notify) + G_OBJECT_CLASS (meta_shaped_texture_parent_class)->notify (object, pspec); /* It seems like we could just do this out of update_area(), but unfortunately, * clutter_glx_texture_pixmap() doesn't call through the vtable on the @@ -163,21 +163,21 @@ mutter_shaped_texture_notify (GObject *object, */ if (strcmp (pspec->name, "cogl-texture") == 0) { - MutterShapedTexture *stex = (MutterShapedTexture *) object; - MutterShapedTexturePrivate *priv = stex->priv; + MetaShapedTexture *stex = (MetaShapedTexture *) object; + MetaShapedTexturePrivate *priv = stex->priv; - mutter_shaped_texture_clear (stex); + meta_shaped_texture_clear (stex); if (priv->create_mipmaps) - mutter_texture_tower_set_base_texture (priv->paint_tower, + meta_texture_tower_set_base_texture (priv->paint_tower, clutter_texture_get_cogl_texture (CLUTTER_TEXTURE (stex))); } } static void -mutter_shaped_texture_dirty_mask (MutterShapedTexture *stex) +meta_shaped_texture_dirty_mask (MetaShapedTexture *stex) { - MutterShapedTexturePrivate *priv = stex->priv; + MetaShapedTexturePrivate *priv = stex->priv; if (priv->mask_texture != COGL_INVALID_HANDLE) { @@ -199,9 +199,9 @@ mutter_shaped_texture_dirty_mask (MutterShapedTexture *stex) } static void -mutter_shaped_texture_ensure_mask (MutterShapedTexture *stex) +meta_shaped_texture_ensure_mask (MetaShapedTexture *stex) { - MutterShapedTexturePrivate *priv = stex->priv; + MetaShapedTexturePrivate *priv = stex->priv; CoglHandle paint_tex; guint tex_width, tex_height; @@ -217,7 +217,7 @@ mutter_shaped_texture_ensure_mask (MutterShapedTexture *stex) recreate it */ if (priv->mask_texture != COGL_INVALID_HANDLE && (priv->mask_width != tex_width || priv->mask_height != tex_height)) - mutter_shaped_texture_dirty_mask (stex); + meta_shaped_texture_dirty_mask (stex); /* If we don't have a mask texture yet then create one */ if (priv->mask_texture == COGL_INVALID_HANDLE) @@ -290,10 +290,10 @@ mutter_shaped_texture_ensure_mask (MutterShapedTexture *stex) } static void -mutter_shaped_texture_paint (ClutterActor *actor) +meta_shaped_texture_paint (ClutterActor *actor) { - MutterShapedTexture *stex = (MutterShapedTexture *) actor; - MutterShapedTexturePrivate *priv = stex->priv; + MetaShapedTexture *stex = (MetaShapedTexture *) actor; + MetaShapedTexturePrivate *priv = stex->priv; CoglHandle paint_tex; guint tex_width, tex_height; ClutterActorBox alloc; @@ -325,7 +325,7 @@ mutter_shaped_texture_paint (ClutterActor *actor) * support for TFP textures will result in fallbacks to XGetImage. */ if (priv->create_mipmaps) - paint_tex = mutter_texture_tower_get_paint_texture (priv->paint_tower); + paint_tex = meta_texture_tower_get_paint_texture (priv->paint_tower); else paint_tex = clutter_texture_get_cogl_texture (CLUTTER_TEXTURE (stex)); @@ -353,7 +353,7 @@ mutter_shaped_texture_paint (ClutterActor *actor) } else { - mutter_shaped_texture_ensure_mask (stex); + meta_shaped_texture_ensure_mask (stex); if (priv->material == COGL_INVALID_HANDLE) { @@ -434,15 +434,15 @@ mutter_shaped_texture_paint (ClutterActor *actor) } static void -mutter_shaped_texture_pick (ClutterActor *actor, - const ClutterColor *color) +meta_shaped_texture_pick (ClutterActor *actor, + const ClutterColor *color) { - MutterShapedTexture *stex = (MutterShapedTexture *) actor; - MutterShapedTexturePrivate *priv = stex->priv; + MetaShapedTexture *stex = (MetaShapedTexture *) actor; + MetaShapedTexturePrivate *priv = stex->priv; /* If there are no rectangles then use the regular pick */ if (priv->rectangles->len < 1) - CLUTTER_ACTOR_CLASS (mutter_shaped_texture_parent_class) + CLUTTER_ACTOR_CLASS (meta_shaped_texture_parent_class) ->pick (actor, color); else if (clutter_actor_should_pick_paint (actor)) { @@ -461,7 +461,7 @@ mutter_shaped_texture_pick (ClutterActor *actor, if (tex_width == 0 || tex_height == 0) /* no contents yet */ return; - mutter_shaped_texture_ensure_mask (stex); + meta_shaped_texture_ensure_mask (stex); cogl_set_source_color4ub (color->red, color->green, color->blue, color->alpha); @@ -478,36 +478,36 @@ mutter_shaped_texture_pick (ClutterActor *actor, } static void -mutter_shaped_texture_update_area (ClutterX11TexturePixmap *texture, - int x, - int y, - int width, - int height) +meta_shaped_texture_update_area (ClutterX11TexturePixmap *texture, + int x, + int y, + int width, + int height) { - MutterShapedTexture *stex = (MutterShapedTexture *) texture; - MutterShapedTexturePrivate *priv = stex->priv; + MetaShapedTexture *stex = (MetaShapedTexture *) texture; + MetaShapedTexturePrivate *priv = stex->priv; - CLUTTER_X11_TEXTURE_PIXMAP_CLASS (mutter_shaped_texture_parent_class)->update_area (texture, + CLUTTER_X11_TEXTURE_PIXMAP_CLASS (meta_shaped_texture_parent_class)->update_area (texture, x, y, width, height); - mutter_texture_tower_update_area (priv->paint_tower, x, y, width, height); + meta_texture_tower_update_area (priv->paint_tower, x, y, width, height); } ClutterActor * -mutter_shaped_texture_new (void) +meta_shaped_texture_new (void) { - ClutterActor *self = g_object_new (MUTTER_TYPE_SHAPED_TEXTURE, NULL); + ClutterActor *self = g_object_new (META_TYPE_SHAPED_TEXTURE, NULL); return self; } void -mutter_shaped_texture_set_create_mipmaps (MutterShapedTexture *stex, - gboolean create_mipmaps) +meta_shaped_texture_set_create_mipmaps (MetaShapedTexture *stex, + gboolean create_mipmaps) { - MutterShapedTexturePrivate *priv; + MetaShapedTexturePrivate *priv; - g_return_if_fail (MUTTER_IS_SHAPED_TEXTURE (stex)); + g_return_if_fail (META_IS_SHAPED_TEXTURE (stex)); priv = stex->priv; @@ -522,7 +522,7 @@ mutter_shaped_texture_set_create_mipmaps (MutterShapedTexture *stex, base_texture = create_mipmaps ? clutter_texture_get_cogl_texture (CLUTTER_TEXTURE (stex)) : COGL_INVALID_HANDLE; - mutter_texture_tower_set_base_texture (priv->paint_tower, base_texture); + meta_texture_tower_set_base_texture (priv->paint_tower, base_texture); } } @@ -543,15 +543,15 @@ mutter_shaped_texture_set_create_mipmaps (MutterShapedTexture *stex, * that will be very easy to do. */ void -mutter_shaped_texture_clear (MutterShapedTexture *stex) +meta_shaped_texture_clear (MetaShapedTexture *stex) { - MutterShapedTexturePrivate *priv; + MetaShapedTexturePrivate *priv; - g_return_if_fail (MUTTER_IS_SHAPED_TEXTURE (stex)); + g_return_if_fail (META_IS_SHAPED_TEXTURE (stex)); priv = stex->priv; - mutter_texture_tower_set_base_texture (priv->paint_tower, COGL_INVALID_HANDLE); + meta_texture_tower_set_base_texture (priv->paint_tower, COGL_INVALID_HANDLE); if (priv->material != COGL_INVALID_HANDLE) cogl_material_set_layer (priv->material, 0, COGL_INVALID_HANDLE); @@ -561,47 +561,47 @@ mutter_shaped_texture_clear (MutterShapedTexture *stex) } void -mutter_shaped_texture_clear_rectangles (MutterShapedTexture *stex) +meta_shaped_texture_clear_rectangles (MetaShapedTexture *stex) { - MutterShapedTexturePrivate *priv; + MetaShapedTexturePrivate *priv; - g_return_if_fail (MUTTER_IS_SHAPED_TEXTURE (stex)); + g_return_if_fail (META_IS_SHAPED_TEXTURE (stex)); priv = stex->priv; g_array_set_size (priv->rectangles, 0); - mutter_shaped_texture_dirty_mask (stex); + meta_shaped_texture_dirty_mask (stex); clutter_actor_queue_redraw (CLUTTER_ACTOR (stex)); } void -mutter_shaped_texture_add_rectangle (MutterShapedTexture *stex, - const XRectangle *rect) +meta_shaped_texture_add_rectangle (MetaShapedTexture *stex, + const XRectangle *rect) { - g_return_if_fail (MUTTER_IS_SHAPED_TEXTURE (stex)); + g_return_if_fail (META_IS_SHAPED_TEXTURE (stex)); - mutter_shaped_texture_add_rectangles (stex, 1, rect); + meta_shaped_texture_add_rectangles (stex, 1, rect); } void -mutter_shaped_texture_add_rectangles (MutterShapedTexture *stex, - size_t num_rects, - const XRectangle *rects) +meta_shaped_texture_add_rectangles (MetaShapedTexture *stex, + size_t num_rects, + const XRectangle *rects) { - MutterShapedTexturePrivate *priv; + MetaShapedTexturePrivate *priv; - g_return_if_fail (MUTTER_IS_SHAPED_TEXTURE (stex)); + g_return_if_fail (META_IS_SHAPED_TEXTURE (stex)); priv = stex->priv; g_array_append_vals (priv->rectangles, rects, num_rects); - mutter_shaped_texture_dirty_mask (stex); + meta_shaped_texture_dirty_mask (stex); clutter_actor_queue_redraw (CLUTTER_ACTOR (stex)); } /** - * mutter_shaped_texture_set_clip_region: + * meta_shaped_texture_set_clip_region: * @frame: a #TidyTextureframe * @clip_region: (transfer full): the region of the texture that * is visible and should be painted. OWNERSHIP IS ASSUMED BY @@ -616,12 +616,12 @@ mutter_shaped_texture_add_rectangles (MutterShapedTexture *stex, * painting its children, and then unset it afterwards. */ void -mutter_shaped_texture_set_clip_region (MutterShapedTexture *stex, - cairo_region_t *clip_region) +meta_shaped_texture_set_clip_region (MetaShapedTexture *stex, + cairo_region_t *clip_region) { - MutterShapedTexturePrivate *priv; + MetaShapedTexturePrivate *priv; - g_return_if_fail (MUTTER_IS_SHAPED_TEXTURE (stex)); + g_return_if_fail (META_IS_SHAPED_TEXTURE (stex)); priv = stex->priv; diff --git a/src/compositor/meta-shaped-texture.h b/src/compositor/meta-shaped-texture.h new file mode 100644 index 000000000..daf13cd7e --- /dev/null +++ b/src/compositor/meta-shaped-texture.h @@ -0,0 +1,92 @@ +/* + * shaped texture + * + * An actor to draw a texture clipped to a list of rectangles + * + * Authored By Neil Roberts + * + * Copyright (C) 2008 Intel Corporation + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + */ + +#ifndef __META_SHAPED_TEXTURE_H__ +#define __META_SHAPED_TEXTURE_H__ + +#include + +#include +#ifdef HAVE_GLX_TEXTURE_PIXMAP +#include +#endif /* HAVE_GLX_TEXTURE_PIXMAP */ + +G_BEGIN_DECLS + +#define META_TYPE_SHAPED_TEXTURE (meta_shaped_texture_get_type()) +#define META_SHAPED_TEXTURE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),META_TYPE_SHAPED_TEXTURE, MetaShapedTexture)) +#define META_SHAPED_TEXTURE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_SHAPED_TEXTURE, MetaShapedTextureClass)) +#define META_IS_SHAPED_TEXTURE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_SHAPED_TEXTURE)) +#define META_IS_SHAPED_TEXTURE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_SHAPED_TEXTURE)) +#define META_SHAPED_TEXTURE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_SHAPED_TEXTURE, MetaShapedTextureClass)) + +typedef struct _MetaShapedTexture MetaShapedTexture; +typedef struct _MetaShapedTextureClass MetaShapedTextureClass; +typedef struct _MetaShapedTexturePrivate MetaShapedTexturePrivate; + +struct _MetaShapedTextureClass +{ +#ifdef HAVE_GLX_TEXTURE_PIXMAP + ClutterGLXTexturePixmapClass parent_class; +#else + ClutterX11TexturePixmapClass parent_class; +#endif +}; + +struct _MetaShapedTexture +{ +#ifdef HAVE_GLX_TEXTURE_PIXMAP + ClutterGLXTexturePixmap parent; +#else + ClutterX11TexturePixmap parent; +#endif + + MetaShapedTexturePrivate *priv; +}; + +GType meta_shaped_texture_get_type (void) G_GNUC_CONST; + +ClutterActor *meta_shaped_texture_new (void); + +void meta_shaped_texture_set_create_mipmaps (MetaShapedTexture *stex, + gboolean create_mipmaps); + +void meta_shaped_texture_clear (MetaShapedTexture *stex); + +void meta_shaped_texture_clear_rectangles (MetaShapedTexture *stex); + +void meta_shaped_texture_add_rectangle (MetaShapedTexture *stex, + const XRectangle *rect); +void meta_shaped_texture_add_rectangles (MetaShapedTexture *stex, + size_t num_rects, + const XRectangle *rects); + +/* Assumes ownership of clip_region */ +void meta_shaped_texture_set_clip_region (MetaShapedTexture *stex, + cairo_region_t *clip_region); + +G_END_DECLS + +#endif /* __META_SHAPED_TEXTURE_H__ */ diff --git a/src/compositor/mutter-texture-tower.c b/src/compositor/meta-texture-tower.c similarity index 90% rename from src/compositor/mutter-texture-tower.c rename to src/compositor/meta-texture-tower.c index f9307cb19..fe3780afd 100644 --- a/src/compositor/mutter-texture-tower.c +++ b/src/compositor/meta-texture-tower.c @@ -1,6 +1,6 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ /* - * MutterTextureTower + * MetaTextureTower * * Mipmap emulation by creation of scaled down images * @@ -25,7 +25,7 @@ #include #include -#include "mutter-texture-tower.h" +#include "meta-texture-tower.h" #ifndef M_LOG2E #define M_LOG2E 1.4426950408889634074 @@ -55,7 +55,7 @@ typedef struct guint16 y2; } Box; -struct _MutterTextureTower +struct _MetaTextureTower { int n_levels; CoglHandle textures[MAX_TEXTURE_LEVELS]; @@ -64,37 +64,37 @@ struct _MutterTextureTower }; /** - * mutter_texture_tower_new: + * meta_texture_tower_new: * * Creates a new texture tower. The base texture has to be set with - * mutter_texture_tower_set_base_texture() before use. + * meta_texture_tower_set_base_texture() before use. * - * Return value: the new texture tower. Free with mutter_texture_tower_free() + * Return value: the new texture tower. Free with meta_texture_tower_free() */ -MutterTextureTower * -mutter_texture_tower_new (void) +MetaTextureTower * +meta_texture_tower_new (void) { - MutterTextureTower *tower; + MetaTextureTower *tower; - tower = g_slice_new0 (MutterTextureTower); + tower = g_slice_new0 (MetaTextureTower); return tower; } /** - * mutter_texture_tower_free: - * @tower: a #MutterTextureTower + * meta_texture_tower_free: + * @tower: a #MetaTextureTower * - * Frees a texture tower created with mutter_texture_tower_new(). + * Frees a texture tower created with meta_texture_tower_new(). */ void -mutter_texture_tower_free (MutterTextureTower *tower) +meta_texture_tower_free (MetaTextureTower *tower) { g_return_if_fail (tower != NULL); - mutter_texture_tower_set_base_texture (tower, COGL_INVALID_HANDLE); + meta_texture_tower_set_base_texture (tower, COGL_INVALID_HANDLE); - g_slice_free (MutterTextureTower, tower); + g_slice_free (MetaTextureTower, tower); } static gboolean @@ -122,8 +122,8 @@ free_texture (CoglHandle texture) } /** - * mutter_texture_tower_update_area: - * @tower: a MutterTextureTower + * meta_texture_tower_update_area: + * @tower: a MetaTextureTower * @texture: the new texture used as a base for scaled down versions * * Sets the base texture that is the scaled texture that the @@ -132,8 +132,8 @@ free_texture (CoglHandle texture) * unset or until the tower is freed. */ void -mutter_texture_tower_set_base_texture (MutterTextureTower *tower, - CoglHandle texture) +meta_texture_tower_set_base_texture (MetaTextureTower *tower, + CoglHandle texture) { int i; @@ -176,7 +176,7 @@ mutter_texture_tower_set_base_texture (MutterTextureTower *tower, tower->n_levels = 1 + MAX ((int)(M_LOG2E * log (width)), (int)(M_LOG2E * log (height))); tower->n_levels = MIN(tower->n_levels, MAX_TEXTURE_LEVELS); - mutter_texture_tower_update_area (tower, 0, 0, width, height); + meta_texture_tower_update_area (tower, 0, 0, width, height); } else { @@ -185,8 +185,8 @@ mutter_texture_tower_set_base_texture (MutterTextureTower *tower, } /** - * mutter_texture_tower_update_area: - * @tower: a MutterTextureTower + * meta_texture_tower_update_area: + * @tower: a MetaTextureTower * @x: X coordinate of upper left of rectangle that changed * @y: Y coordinate of upper left of rectangle that changed * @width: width of rectangle that changed @@ -197,11 +197,11 @@ mutter_texture_tower_set_base_texture (MutterTextureTower *tower, * the appropriate area of the scaled down texture will be updated. */ void -mutter_texture_tower_update_area (MutterTextureTower *tower, - int x, - int y, - int width, - int height) +meta_texture_tower_update_area (MetaTextureTower *tower, + int x, + int y, + int width, + int height) { int texture_width, texture_height; Box invalid; @@ -257,7 +257,7 @@ mutter_texture_tower_update_area (MutterTextureTower *tower, * If window is being painted at an angle from the viewer, then we have to * pick a point in the texture; we use the middle of the texture (which is * why the width/height are passed in.) This is not the normal case for - * Mutter. + * Meta. */ static int get_paint_level (int width, int height) @@ -369,10 +369,10 @@ is_power_of_two (int x) } static void -texture_tower_create_texture (MutterTextureTower *tower, - int level, - int width, - int height) +texture_tower_create_texture (MetaTextureTower *tower, + int level, + int width, + int height) { if ((!is_power_of_two (width) || !is_power_of_two (height)) && texture_is_rectangle (tower->textures[level - 1])) @@ -409,8 +409,8 @@ texture_tower_create_texture (MutterTextureTower *tower, } static gboolean -texture_tower_revalidate_fbo (MutterTextureTower *tower, - int level) +texture_tower_revalidate_fbo (MetaTextureTower *tower, + int level) { CoglHandle source_texture = tower->textures[level - 1]; int source_texture_width = cogl_texture_get_width (source_texture); @@ -487,8 +487,8 @@ fill_scale_down (guchar *buf, } static void -texture_tower_revalidate_client (MutterTextureTower *tower, - int level) +texture_tower_revalidate_client (MetaTextureTower *tower, + int level) { CoglHandle source_texture = tower->textures[level - 1]; int source_texture_width = cogl_texture_get_width (source_texture); @@ -587,16 +587,16 @@ texture_tower_revalidate_client (MutterTextureTower *tower, } static void -texture_tower_revalidate (MutterTextureTower *tower, - int level) +texture_tower_revalidate (MetaTextureTower *tower, + int level) { if (!texture_tower_revalidate_fbo (tower, level)) texture_tower_revalidate_client (tower, level); } /** - * mutter_texture_tower_get_paint_texture: - * @tower: a MutterTextureTower + * meta_texture_tower_get_paint_texture: + * @tower: a MetaTextureTower * * Gets the texture from the tower that best matches the current * rendering scale. (On the assumption here the texture is going to @@ -608,7 +608,7 @@ texture_tower_revalidate (MutterTextureTower *tower, * %COGL_INVALID_HANDLE if no base texture has yet been set. */ CoglHandle -mutter_texture_tower_get_paint_texture (MutterTextureTower *tower) +meta_texture_tower_get_paint_texture (MetaTextureTower *tower) { int texture_width, texture_height; int level; diff --git a/src/compositor/mutter-texture-tower.h b/src/compositor/meta-texture-tower.h similarity index 61% rename from src/compositor/mutter-texture-tower.h rename to src/compositor/meta-texture-tower.h index 323d7db81..be11a3b38 100644 --- a/src/compositor/mutter-texture-tower.h +++ b/src/compositor/meta-texture-tower.h @@ -1,6 +1,6 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ /* - * MutterTextureTower + * MetaTextureTower * * Mipmap emulation by creation of scaled down images * @@ -22,18 +22,18 @@ * 02111-1307, USA. */ -#ifndef __MUTTER_TEXTURE_TOWER_H__ -#define __MUTTER_TEXTURE_TOWER_H__ +#ifndef __META_TEXTURE_TOWER_H__ +#define __META_TEXTURE_TOWER_H__ #include G_BEGIN_DECLS /** - * SECTION:MutterTextureTower + * SECTION:MetaTextureTower * @short_description: mipmap emulation by creation of scaled down images * - * A #MutterTextureTower is used to get good looking scaled down images when + * A #MetaTextureTower is used to get good looking scaled down images when * we can't use the GL drivers mipmap support. There are two separate reasons * * - Some cards (including radeon cards <= r5xx) only support @@ -51,19 +51,19 @@ G_BEGIN_DECLS * scale for the entire texture.) */ -typedef struct _MutterTextureTower MutterTextureTower; +typedef struct _MetaTextureTower MetaTextureTower; -MutterTextureTower *mutter_texture_tower_new (void); -void mutter_texture_tower_free (MutterTextureTower *tower); -void mutter_texture_tower_set_base_texture (MutterTextureTower *tower, - CoglHandle texture); -void mutter_texture_tower_update_area (MutterTextureTower *tower, - int x, - int y, - int width, - int height); -CoglHandle mutter_texture_tower_get_paint_texture (MutterTextureTower *tower); +MetaTextureTower *meta_texture_tower_new (void); +void meta_texture_tower_free (MetaTextureTower *tower); +void meta_texture_tower_set_base_texture (MetaTextureTower *tower, + CoglHandle texture); +void meta_texture_tower_update_area (MetaTextureTower *tower, + int x, + int y, + int width, + int height); +CoglHandle meta_texture_tower_get_paint_texture (MetaTextureTower *tower); G_BEGIN_DECLS -#endif /* __MUTTER_TEXTURE_TOWER_H__ */ +#endif /* __META_TEXTURE_TOWER_H__ */ diff --git a/src/compositor/meta-window-actor-private.h b/src/compositor/meta-window-actor-private.h new file mode 100644 index 000000000..c1f7b25ea --- /dev/null +++ b/src/compositor/meta-window-actor-private.h @@ -0,0 +1,51 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ + +#ifndef META_WINDOW_ACTOR_PRIVATE_H +#define META_WINDOW_ACTOR_PRIVATE_H + +#include + +#include +#include "compositor-mutter.h" + +MetaWindowActor *meta_window_actor_new (MetaWindow *window); + +void meta_window_actor_destroy (MetaWindowActor *self); + +void meta_window_actor_show (MetaWindowActor *self, + MetaCompEffect effect); +void meta_window_actor_hide (MetaWindowActor *self, + MetaCompEffect effect); + +void meta_window_actor_maximize (MetaWindowActor *self, + MetaRectangle *old_rect, + MetaRectangle *new_rect); +void meta_window_actor_unmaximize (MetaWindowActor *self, + MetaRectangle *old_rect, + MetaRectangle *new_rect); + +void meta_window_actor_process_damage (MetaWindowActor *self, + XDamageNotifyEvent *event); +void meta_window_actor_pre_paint (MetaWindowActor *self); + +gboolean meta_window_actor_effect_in_progress (MetaWindowActor *self); +void meta_window_actor_sync_actor_position (MetaWindowActor *self); +void meta_window_actor_sync_visibility (MetaWindowActor *self); +void meta_window_actor_update_shape (MetaWindowActor *self, + gboolean shaped); +void meta_window_actor_update_opacity (MetaWindowActor *self); +void meta_window_actor_mapped (MetaWindowActor *self); +void meta_window_actor_unmapped (MetaWindowActor *self); + +cairo_region_t *meta_window_actor_get_obscured_region (MetaWindowActor *self); + +void meta_window_actor_set_visible_region (MetaWindowActor *self, + cairo_region_t *visible_region); +void meta_window_actor_set_visible_region_beneath (MetaWindowActor *self, + cairo_region_t *beneath_region); +void meta_window_actor_reset_visible_regions (MetaWindowActor *self); + +void meta_window_actor_effect_completed (MetaWindowActor *actor, + gulong event); + +#endif /* META_WINDOW_ACTOR_PRIVATE_H */ diff --git a/src/compositor/mutter-window.c b/src/compositor/meta-window-actor.c similarity index 71% rename from src/compositor/mutter-window.c rename to src/compositor/meta-window-actor.c index 8b86a6b2f..65a1bda56 100644 --- a/src/compositor/mutter-window.c +++ b/src/compositor/meta-window-actor.c @@ -17,12 +17,12 @@ #include "xprops.h" #include "compositor-private.h" -#include "mutter-shaped-texture.h" -#include "mutter-window-private.h" +#include "meta-shaped-texture.h" +#include "meta-window-actor-private.h" #include "shadow.h" #include "tidy/tidy-texture-frame.h" -struct _MutterWindowPrivate +struct _MetaWindowActorPrivate { XWindowAttributes attrs; @@ -82,36 +82,36 @@ struct _MutterWindowPrivate enum { - PROP_MCW_META_WINDOW = 1, - PROP_MCW_META_SCREEN, - PROP_MCW_X_WINDOW, - PROP_MCW_X_WINDOW_ATTRIBUTES, - PROP_MCW_NO_SHADOW, + PROP_META_WINDOW = 1, + PROP_META_SCREEN, + PROP_X_WINDOW, + PROP_X_WINDOW_ATTRIBUTES, + PROP_NO_SHADOW, }; -static void mutter_window_dispose (GObject *object); -static void mutter_window_finalize (GObject *object); -static void mutter_window_constructed (GObject *object); -static void mutter_window_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void mutter_window_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); +static void meta_window_actor_dispose (GObject *object); +static void meta_window_actor_finalize (GObject *object); +static void meta_window_actor_constructed (GObject *object); +static void meta_window_actor_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void meta_window_actor_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); -static void mutter_window_detach (MutterWindow *self); -static gboolean mutter_window_has_shadow (MutterWindow *self); +static void meta_window_actor_detach (MetaWindowActor *self); +static gboolean meta_window_actor_has_shadow (MetaWindowActor *self); -static void mutter_window_clear_shape_region (MutterWindow *self); -static void mutter_window_clear_bounding_region (MutterWindow *self); +static void meta_window_actor_clear_shape_region (MetaWindowActor *self); +static void meta_window_actor_clear_bounding_region (MetaWindowActor *self); static gboolean is_shaped (MetaDisplay *display, Window xwindow); /* * Register GType wrapper for XWindowAttributes, so we do not have to - * query window attributes in the MutterWindow constructor but can pass + * query window attributes in the MetaWindowActor constructor but can pass * them as a property to the constructor (so we can gracefully handle the case * where no attributes can be retrieved). * @@ -155,21 +155,21 @@ meta_xattrs_get_type (void) return our_type; } -G_DEFINE_TYPE (MutterWindow, mutter_window, CLUTTER_TYPE_GROUP); +G_DEFINE_TYPE (MetaWindowActor, meta_window_actor, CLUTTER_TYPE_GROUP); static void -mutter_window_class_init (MutterWindowClass *klass) +meta_window_actor_class_init (MetaWindowActorClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GParamSpec *pspec; - g_type_class_add_private (klass, sizeof (MutterWindowPrivate)); + g_type_class_add_private (klass, sizeof (MetaWindowActorPrivate)); - object_class->dispose = mutter_window_dispose; - object_class->finalize = mutter_window_finalize; - object_class->set_property = mutter_window_set_property; - object_class->get_property = mutter_window_get_property; - object_class->constructed = mutter_window_constructed; + object_class->dispose = meta_window_actor_dispose; + object_class->finalize = meta_window_actor_finalize; + object_class->set_property = meta_window_actor_set_property; + object_class->get_property = meta_window_actor_get_property; + object_class->constructed = meta_window_actor_constructed; pspec = g_param_spec_object ("meta-window", "MetaWindow", @@ -178,7 +178,7 @@ mutter_window_class_init (MutterWindowClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT); g_object_class_install_property (object_class, - PROP_MCW_META_WINDOW, + PROP_META_WINDOW, pspec); pspec = g_param_spec_pointer ("meta-screen", @@ -187,7 +187,7 @@ mutter_window_class_init (MutterWindowClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT); g_object_class_install_property (object_class, - PROP_MCW_META_SCREEN, + PROP_META_SCREEN, pspec); pspec = g_param_spec_ulong ("x-window", @@ -199,7 +199,7 @@ mutter_window_class_init (MutterWindowClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT); g_object_class_install_property (object_class, - PROP_MCW_X_WINDOW, + PROP_X_WINDOW, pspec); pspec = g_param_spec_boxed ("x-window-attributes", @@ -209,7 +209,7 @@ mutter_window_class_init (MutterWindowClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT); g_object_class_install_property (object_class, - PROP_MCW_X_WINDOW_ATTRIBUTES, + PROP_X_WINDOW_ATTRIBUTES, pspec); pspec = g_param_spec_boolean ("no-shadow", @@ -219,35 +219,35 @@ mutter_window_class_init (MutterWindowClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT); g_object_class_install_property (object_class, - PROP_MCW_NO_SHADOW, + PROP_NO_SHADOW, pspec); } static void -mutter_window_init (MutterWindow *self) +meta_window_actor_init (MetaWindowActor *self) { - MutterWindowPrivate *priv; + MetaWindowActorPrivate *priv; priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, - MUTTER_TYPE_COMP_WINDOW, - MutterWindowPrivate); + META_TYPE_WINDOW_ACTOR, + MetaWindowActorPrivate); priv->opacity = 0xff; } static void -mutter_meta_window_decorated_notify (MetaWindow *mw, - GParamSpec *arg1, - gpointer data) +window_decorated_notify (MetaWindow *mw, + GParamSpec *arg1, + gpointer data) { - MutterWindow *self = MUTTER_WINDOW (data); - MutterWindowPrivate *priv = self->priv; - MetaFrame *frame = meta_window_get_frame (mw); - MetaScreen *screen = priv->screen; - MetaDisplay *display = meta_screen_get_display (screen); - Display *xdisplay = meta_display_get_xdisplay (display); - Window new_xwindow; - MetaCompScreen *info; - XWindowAttributes attrs; + MetaWindowActor *self = META_WINDOW_ACTOR (data); + MetaWindowActorPrivate *priv = self->priv; + MetaFrame *frame = meta_window_get_frame (mw); + MetaScreen *screen = priv->screen; + MetaDisplay *display = meta_screen_get_display (screen); + Display *xdisplay = meta_display_get_xdisplay (display); + Window new_xwindow; + MetaCompScreen *info; + XWindowAttributes attrs; /* * Basically, we have to reconstruct the the internals of this object @@ -260,7 +260,7 @@ mutter_meta_window_decorated_notify (MetaWindow *mw, else new_xwindow = meta_window_get_xwindow (mw); - mutter_window_detach (self); + meta_window_actor_detach (self); info = meta_screen_get_compositor_data (screen); @@ -306,20 +306,20 @@ mutter_meta_window_decorated_notify (MetaWindow *mw, /* * Recreate the contents. */ - mutter_window_constructed (G_OBJECT (self)); + meta_window_actor_constructed (G_OBJECT (self)); } static void -mutter_window_constructed (GObject *object) +meta_window_actor_constructed (GObject *object) { - MutterWindow *self = MUTTER_WINDOW (object); - MutterWindowPrivate *priv = self->priv; - MetaScreen *screen = priv->screen; - MetaDisplay *display = meta_screen_get_display (screen); - Window xwindow = priv->xwindow; - Display *xdisplay = meta_display_get_xdisplay (display); - XRenderPictFormat *format; - MetaCompositor *compositor; + MetaWindowActor *self = META_WINDOW_ACTOR (object); + MetaWindowActorPrivate *priv = self->priv; + MetaScreen *screen = priv->screen; + MetaDisplay *display = meta_screen_get_display (screen); + Window xwindow = priv->xwindow; + Display *xdisplay = meta_display_get_xdisplay (display); + XRenderPictFormat *format; + MetaCompositor *compositor; compositor = meta_display_get_compositor (display); @@ -342,18 +342,18 @@ mutter_window_constructed (GObject *object) if (format && format->type == PictTypeDirect && format->direct.alphaMask) priv->argb32 = TRUE; - mutter_window_update_opacity (self); + meta_window_actor_update_opacity (self); - if (mutter_window_has_shadow (self)) + if (meta_window_actor_has_shadow (self)) { - priv->shadow = mutter_create_shadow_frame (compositor); + priv->shadow = meta_create_shadow_frame (compositor); clutter_container_add_actor (CLUTTER_CONTAINER (self), priv->shadow); } if (!priv->actor) { - priv->actor = mutter_shaped_texture_new (); + priv->actor = meta_shaped_texture_new (); clutter_container_add_actor (CLUTTER_CONTAINER (self), priv->actor); @@ -367,7 +367,7 @@ mutter_window_constructed (GObject *object) g_object_ref (priv->actor); g_signal_connect (priv->window, "notify::decorated", - G_CALLBACK (mutter_meta_window_decorated_notify), self); + G_CALLBACK (window_decorated_notify), self); } else { @@ -379,18 +379,18 @@ mutter_window_constructed (GObject *object) } - mutter_window_update_shape (self, priv->shaped); + meta_window_actor_update_shape (self, priv->shaped); } static void -mutter_window_dispose (GObject *object) +meta_window_actor_dispose (GObject *object) { - MutterWindow *self = MUTTER_WINDOW (object); - MutterWindowPrivate *priv = self->priv; - MetaScreen *screen; - MetaDisplay *display; - Display *xdisplay; - MetaCompScreen *info; + MetaWindowActor *self = META_WINDOW_ACTOR (object); + MetaWindowActorPrivate *priv = self->priv; + MetaScreen *screen; + MetaDisplay *display; + Display *xdisplay; + MetaCompScreen *info; if (priv->disposed) return; @@ -402,10 +402,10 @@ mutter_window_dispose (GObject *object) xdisplay = meta_display_get_xdisplay (display); info = meta_screen_get_compositor_data (screen); - mutter_window_detach (self); + meta_window_actor_detach (self); - mutter_window_clear_shape_region (self); - mutter_window_clear_bounding_region (self); + meta_window_actor_clear_shape_region (self); + meta_window_actor_clear_bounding_region (self); if (priv->damage != None) { @@ -424,44 +424,44 @@ mutter_window_dispose (GObject *object) g_object_unref (priv->actor); priv->actor = NULL; - G_OBJECT_CLASS (mutter_window_parent_class)->dispose (object); + G_OBJECT_CLASS (meta_window_actor_parent_class)->dispose (object); } static void -mutter_window_finalize (GObject *object) +meta_window_actor_finalize (GObject *object) { - MutterWindow *self = MUTTER_WINDOW (object); - MutterWindowPrivate *priv = self->priv; + MetaWindowActor *self = META_WINDOW_ACTOR (object); + MetaWindowActorPrivate *priv = self->priv; g_free (priv->desc); - G_OBJECT_CLASS (mutter_window_parent_class)->finalize (object); + G_OBJECT_CLASS (meta_window_actor_parent_class)->finalize (object); } static void -mutter_window_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) +meta_window_actor_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) { - MutterWindow *self = MUTTER_WINDOW (object); - MutterWindowPrivate *priv = self->priv; + MetaWindowActor *self = META_WINDOW_ACTOR (object); + MetaWindowActorPrivate *priv = self->priv; switch (prop_id) { - case PROP_MCW_META_WINDOW: + case PROP_META_WINDOW: priv->window = g_value_get_object (value); break; - case PROP_MCW_META_SCREEN: + case PROP_META_SCREEN: priv->screen = g_value_get_pointer (value); break; - case PROP_MCW_X_WINDOW: + case PROP_X_WINDOW: priv->xwindow = g_value_get_ulong (value); break; - case PROP_MCW_X_WINDOW_ATTRIBUTES: + case PROP_X_WINDOW_ATTRIBUTES: priv->attrs = *((XWindowAttributes*)g_value_get_boxed (value)); break; - case PROP_MCW_NO_SHADOW: + case PROP_NO_SHADOW: { gboolean oldv = priv->no_shadow ? TRUE : FALSE; gboolean newv = g_value_get_boolean (value); @@ -477,7 +477,7 @@ mutter_window_set_property (GObject *object, priv->shadow); priv->shadow = NULL; } - else if (!newv && !priv->shadow && mutter_window_has_shadow (self)) + else if (!newv && !priv->shadow && meta_window_actor_has_shadow (self)) { gfloat w, h; MetaDisplay *display = meta_screen_get_display (priv->screen); @@ -487,7 +487,7 @@ mutter_window_set_property (GObject *object, clutter_actor_get_size (CLUTTER_ACTOR (self), &w, &h); - priv->shadow = mutter_create_shadow_frame (compositor); + priv->shadow = meta_create_shadow_frame (compositor); clutter_actor_set_size (priv->shadow, w, h); @@ -502,28 +502,28 @@ mutter_window_set_property (GObject *object, } static void -mutter_window_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) +meta_window_actor_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) { - MutterWindowPrivate *priv = MUTTER_WINDOW (object)->priv; + MetaWindowActorPrivate *priv = META_WINDOW_ACTOR (object)->priv; switch (prop_id) { - case PROP_MCW_META_WINDOW: + case PROP_META_WINDOW: g_value_set_object (value, priv->window); break; - case PROP_MCW_META_SCREEN: + case PROP_META_SCREEN: g_value_set_pointer (value, priv->screen); break; - case PROP_MCW_X_WINDOW: + case PROP_X_WINDOW: g_value_set_ulong (value, priv->xwindow); break; - case PROP_MCW_X_WINDOW_ATTRIBUTES: + case PROP_X_WINDOW_ATTRIBUTES: g_value_set_boxed (value, &priv->attrs); break; - case PROP_MCW_NO_SHADOW: + case PROP_NO_SHADOW: g_value_set_boolean (value, priv->no_shadow); break; default: @@ -552,9 +552,9 @@ is_shaped (MetaDisplay *display, Window xwindow) } static gboolean -mutter_window_has_shadow (MutterWindow *self) +meta_window_actor_has_shadow (MetaWindowActor *self) { - MutterWindowPrivate * priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; MetaWindowType window_type = meta_window_get_window_type (priv->window); if (priv->no_shadow) @@ -643,11 +643,11 @@ mutter_window_has_shadow (MutterWindow *self) } /** - * mutter_window_get_x_window: (skip) + * meta_window_actor_get_x_window: (skip) * */ Window -mutter_window_get_x_window (MutterWindow *self) +meta_window_actor_get_x_window (MetaWindowActor *self) { if (!self) return None; @@ -656,38 +656,38 @@ mutter_window_get_x_window (MutterWindow *self) } /** - * mutter_window_get_meta_window: + * meta_window_actor_get_meta_window: * - * Gets the MetaWindow object that the the MutterWindow is displaying + * Gets the MetaWindow object that the the MetaWindowActor is displaying * * Return value: (transfer none): the displayed MetaWindow */ MetaWindow * -mutter_window_get_meta_window (MutterWindow *self) +meta_window_actor_get_meta_window (MetaWindowActor *self) { return self->priv->window; } /** - * mutter_window_get_texture: + * meta_window_actor_get_texture: * * Gets the ClutterActor that is used to display the contents of the window * * Return value: (transfer none): the ClutterActor for the contents */ ClutterActor * -mutter_window_get_texture (MutterWindow *self) +meta_window_actor_get_texture (MetaWindowActor *self) { return self->priv->actor; } gboolean -mutter_window_is_override_redirect (MutterWindow *self) +meta_window_actor_is_override_redirect (MetaWindowActor *self) { return meta_window_is_override_redirect (self->priv->window); } -const char *mutter_window_get_description (MutterWindow *self) +const char *meta_window_actor_get_description (MetaWindowActor *self) { /* * For windows managed by the WM, we just defer to the WM for the window @@ -707,8 +707,8 @@ const char *mutter_window_get_description (MutterWindow *self) } /** - * mutter_window_get_workspace: - * @mcw: #MutterWindow + * meta_window_actor_get_workspace: + * @self: #MetaWindowActor * * Returns the index of workspace on which this window is located; if the * window is sticky, or is not currently located on any workspace, returns -1. @@ -719,10 +719,10 @@ const char *mutter_window_get_description (MutterWindow *self) * located. */ gint -mutter_window_get_workspace (MutterWindow *self) +meta_window_actor_get_workspace (MetaWindowActor *self) { - MutterWindowPrivate *priv; - MetaWorkspace *workspace; + MetaWindowActorPrivate *priv; + MetaWorkspace *workspace; if (!self) return -1; @@ -741,7 +741,7 @@ mutter_window_get_workspace (MutterWindow *self) } gboolean -mutter_window_showing_on_its_workspace (MutterWindow *self) +meta_window_actor_showing_on_its_workspace (MetaWindowActor *self) { if (!self) return FALSE; @@ -754,15 +754,15 @@ mutter_window_showing_on_its_workspace (MutterWindow *self) } static void -mutter_window_freeze (MutterWindow *self) +meta_window_actor_freeze (MetaWindowActor *self) { self->priv->freeze_count++; } static void -mutter_window_damage_all (MutterWindow *self) +meta_window_actor_damage_all (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; ClutterX11TexturePixmap *texture_x11 = CLUTTER_X11_TEXTURE_PIXMAP (priv->actor); guint pixmap_width = 0; guint pixmap_height = 0; @@ -785,7 +785,7 @@ mutter_window_damage_all (MutterWindow *self) } static void -mutter_window_thaw (MutterWindow *self) +meta_window_actor_thaw (MetaWindowActor *self) { self->priv->freeze_count--; @@ -804,11 +804,11 @@ mutter_window_thaw (MutterWindow *self) * don't know what real damage has happened. */ if (self->priv->needs_damage_all) - mutter_window_damage_all (self); + meta_window_actor_damage_all (self); } gboolean -mutter_window_effect_in_progress (MutterWindow *self) +meta_window_actor_effect_in_progress (MetaWindowActor *self) { return (self->priv->minimize_in_progress || self->priv->maximize_in_progress || @@ -818,9 +818,9 @@ mutter_window_effect_in_progress (MutterWindow *self) } static void -mutter_window_queue_create_pixmap (MutterWindow *self) +meta_window_actor_queue_create_pixmap (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; priv->needs_pixmap = TRUE; @@ -843,9 +843,9 @@ is_freeze_thaw_effect (gulong event) { switch (event) { - case MUTTER_PLUGIN_DESTROY: - case MUTTER_PLUGIN_MAXIMIZE: - case MUTTER_PLUGIN_UNMAXIMIZE: + case META_PLUGIN_DESTROY: + case META_PLUGIN_MAXIMIZE: + case META_PLUGIN_UNMAXIMIZE: return TRUE; break; default: @@ -854,10 +854,10 @@ is_freeze_thaw_effect (gulong event) } static gboolean -start_simple_effect (MutterWindow *self, +start_simple_effect (MetaWindowActor *self, gulong event) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; MetaCompScreen *info = meta_screen_get_compositor_data (priv->screen); gint *counter = NULL; gboolean use_freeze_thaw = FALSE; @@ -867,18 +867,18 @@ start_simple_effect (MutterWindow *self, switch (event) { - case MUTTER_PLUGIN_MINIMIZE: + case META_PLUGIN_MINIMIZE: counter = &priv->minimize_in_progress; break; - case MUTTER_PLUGIN_MAP: + case META_PLUGIN_MAP: counter = &priv->map_in_progress; break; - case MUTTER_PLUGIN_DESTROY: + case META_PLUGIN_DESTROY: counter = &priv->destroy_in_progress; break; - case MUTTER_PLUGIN_UNMAXIMIZE: - case MUTTER_PLUGIN_MAXIMIZE: - case MUTTER_PLUGIN_SWITCH_WORKSPACE: + case META_PLUGIN_UNMAXIMIZE: + case META_PLUGIN_MAXIMIZE: + case META_PLUGIN_SWITCH_WORKSPACE: g_assert_not_reached (); break; } @@ -888,17 +888,17 @@ start_simple_effect (MutterWindow *self, use_freeze_thaw = is_freeze_thaw_effect (event); if (use_freeze_thaw) - mutter_window_freeze (self); + meta_window_actor_freeze (self); (*counter)++; - if (!mutter_plugin_manager_event_simple (info->plugin_mgr, - self, - event)) + if (!meta_plugin_manager_event_simple (info->plugin_mgr, + self, + event)) { (*counter)--; if (use_freeze_thaw) - mutter_window_thaw (self); + meta_window_actor_thaw (self); return FALSE; } @@ -906,9 +906,9 @@ start_simple_effect (MutterWindow *self, } static void -mutter_window_after_effects (MutterWindow *self) +meta_window_actor_after_effects (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; if (priv->needs_destroy) { @@ -916,21 +916,21 @@ mutter_window_after_effects (MutterWindow *self) return; } - mutter_window_sync_visibility (self); - mutter_window_sync_actor_position (self); + meta_window_actor_sync_visibility (self); + meta_window_actor_sync_actor_position (self); if (!meta_window_is_mapped (priv->window)) - mutter_window_detach (self); + meta_window_actor_detach (self); if (priv->needs_pixmap) clutter_actor_queue_redraw (priv->actor); } void -mutter_window_effect_completed (MutterWindow *self, - gulong event) +meta_window_actor_effect_completed (MetaWindowActor *self, + gulong event) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; /* NB: Keep in mind that when effects get completed it possible * that the corresponding MetaWindow may have be been destroyed. @@ -938,7 +938,7 @@ mutter_window_effect_completed (MutterWindow *self, switch (event) { - case MUTTER_PLUGIN_MINIMIZE: + case META_PLUGIN_MINIMIZE: { priv->minimize_in_progress--; if (priv->minimize_in_progress < 0) @@ -948,7 +948,7 @@ mutter_window_effect_completed (MutterWindow *self, } } break; - case MUTTER_PLUGIN_MAP: + case META_PLUGIN_MAP: /* * Make sure that the actor is at the correct place in case * the plugin fscked. @@ -961,7 +961,7 @@ mutter_window_effect_completed (MutterWindow *self, priv->map_in_progress = 0; } break; - case MUTTER_PLUGIN_DESTROY: + case META_PLUGIN_DESTROY: priv->destroy_in_progress--; if (priv->destroy_in_progress < 0) @@ -970,7 +970,7 @@ mutter_window_effect_completed (MutterWindow *self, priv->destroy_in_progress = 0; } break; - case MUTTER_PLUGIN_UNMAXIMIZE: + case META_PLUGIN_UNMAXIMIZE: priv->unmaximize_in_progress--; if (priv->unmaximize_in_progress < 0) { @@ -978,7 +978,7 @@ mutter_window_effect_completed (MutterWindow *self, priv->unmaximize_in_progress = 0; } break; - case MUTTER_PLUGIN_MAXIMIZE: + case META_PLUGIN_MAXIMIZE: priv->maximize_in_progress--; if (priv->maximize_in_progress < 0) { @@ -986,16 +986,16 @@ mutter_window_effect_completed (MutterWindow *self, priv->maximize_in_progress = 0; } break; - case MUTTER_PLUGIN_SWITCH_WORKSPACE: + case META_PLUGIN_SWITCH_WORKSPACE: g_assert_not_reached (); break; } if (is_freeze_thaw_effect (event)) - mutter_window_thaw (self); + meta_window_actor_thaw (self); - if (!mutter_window_effect_in_progress (self)) - mutter_window_after_effects (self); + if (!meta_window_actor_effect_in_progress (self)) + meta_window_actor_after_effects (self); } /* Called to drop our reference to a window backing pixmap that we @@ -1004,9 +1004,9 @@ mutter_window_effect_completed (MutterWindow *self, * pixmap for a new size. */ static void -mutter_window_detach (MutterWindow *self) +meta_window_actor_detach (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; MetaScreen *screen = priv->screen; MetaDisplay *display = meta_screen_get_display (screen); Display *xdisplay = meta_display_get_xdisplay (display); @@ -1020,21 +1020,21 @@ mutter_window_detach (MutterWindow *self) */ clutter_x11_texture_pixmap_set_pixmap (CLUTTER_X11_TEXTURE_PIXMAP (priv->actor), None); - mutter_shaped_texture_clear (MUTTER_SHAPED_TEXTURE (priv->actor)); + meta_shaped_texture_clear (META_SHAPED_TEXTURE (priv->actor)); cogl_flush(); XFreePixmap (xdisplay, priv->back_pixmap); priv->back_pixmap = None; - mutter_window_queue_create_pixmap (self); + meta_window_actor_queue_create_pixmap (self); } void -mutter_window_destroy (MutterWindow *self) +meta_window_actor_destroy (MetaWindowActor *self) { MetaWindow *window; MetaCompScreen *info; - MutterWindowPrivate *priv; + MetaWindowActorPrivate *priv; MetaWindowType window_type; priv = self->priv; @@ -1075,14 +1075,14 @@ mutter_window_destroy (MutterWindow *self) */ priv->no_more_x_calls = TRUE; - if (!mutter_window_effect_in_progress (self)) + if (!meta_window_actor_effect_in_progress (self)) clutter_actor_destroy (CLUTTER_ACTOR (self)); } void -mutter_window_sync_actor_position (MutterWindow *self) +meta_window_actor_sync_actor_position (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; MetaRectangle window_rect; meta_window_get_outer_rect (priv->window, &window_rect); @@ -1091,7 +1091,7 @@ mutter_window_sync_actor_position (MutterWindow *self) priv->attrs.height != window_rect.height) { priv->size_changed = TRUE; - mutter_window_queue_create_pixmap (self); + meta_window_actor_queue_create_pixmap (self); } /* XXX deprecated: please use meta_window_get_outer_rect instead */ @@ -1100,7 +1100,7 @@ mutter_window_sync_actor_position (MutterWindow *self) priv->attrs.x = window_rect.x; priv->attrs.y = window_rect.y; - if (mutter_window_effect_in_progress (self)) + if (meta_window_actor_effect_in_progress (self)) return; clutter_actor_set_position (CLUTTER_ACTOR (self), @@ -1110,12 +1110,12 @@ mutter_window_sync_actor_position (MutterWindow *self) } void -mutter_window_show (MutterWindow *self, - MetaCompEffect effect) +meta_window_actor_show (MetaWindowActor *self, + MetaCompEffect effect) { - MutterWindowPrivate *priv; - MetaCompScreen *info; - gulong event; + MetaWindowActorPrivate *priv; + MetaCompScreen *info; + gulong event; priv = self->priv; info = meta_screen_get_compositor_data (priv->screen); @@ -1128,11 +1128,11 @@ mutter_window_show (MutterWindow *self, switch (effect) { case META_COMP_EFFECT_CREATE: - event = MUTTER_PLUGIN_MAP; + event = META_PLUGIN_MAP; break; case META_COMP_EFFECT_UNMINIMIZE: - /* FIXME: should have MUTTER_PLUGIN_UNMINIMIZE */ - event = MUTTER_PLUGIN_MAP; + /* FIXME: should have META_PLUGIN_UNMINIMIZE */ + event = META_PLUGIN_MAP; break; case META_COMP_EFFECT_NONE: break; @@ -1152,12 +1152,12 @@ mutter_window_show (MutterWindow *self, } void -mutter_window_hide (MutterWindow *self, - MetaCompEffect effect) +meta_window_actor_hide (MetaWindowActor *self, + MetaCompEffect effect) { - MutterWindowPrivate *priv; - MetaCompScreen *info; - gulong event; + MetaWindowActorPrivate *priv; + MetaCompScreen *info; + gulong event; priv = self->priv; info = meta_screen_get_compositor_data (priv->screen); @@ -1177,10 +1177,10 @@ mutter_window_hide (MutterWindow *self, switch (effect) { case META_COMP_EFFECT_DESTROY: - event = MUTTER_PLUGIN_DESTROY; + event = META_PLUGIN_DESTROY; break; case META_COMP_EFFECT_MINIMIZE: - event = MUTTER_PLUGIN_MINIMIZE; + event = META_PLUGIN_MINIMIZE; break; case META_COMP_EFFECT_NONE: break; @@ -1195,9 +1195,9 @@ mutter_window_hide (MutterWindow *self, } void -mutter_window_maximize (MutterWindow *self, - MetaRectangle *old_rect, - MetaRectangle *new_rect) +meta_window_actor_maximize (MetaWindowActor *self, + MetaRectangle *old_rect, + MetaRectangle *new_rect) { MetaCompScreen *info = meta_screen_get_compositor_data (self->priv->screen); @@ -1208,25 +1208,25 @@ mutter_window_maximize (MutterWindow *self, clutter_actor_set_size (CLUTTER_ACTOR (self), old_rect->width, old_rect->height); self->priv->maximize_in_progress++; - mutter_window_freeze (self); + meta_window_actor_freeze (self); if (!info->plugin_mgr || - !mutter_plugin_manager_event_maximize (info->plugin_mgr, - self, - MUTTER_PLUGIN_MAXIMIZE, - new_rect->x, new_rect->y, - new_rect->width, new_rect->height)) + !meta_plugin_manager_event_maximize (info->plugin_mgr, + self, + META_PLUGIN_MAXIMIZE, + new_rect->x, new_rect->y, + new_rect->width, new_rect->height)) { self->priv->maximize_in_progress--; - mutter_window_thaw (self); + meta_window_actor_thaw (self); } } void -mutter_window_unmaximize (MutterWindow *self, - MetaRectangle *old_rect, - MetaRectangle *new_rect) +meta_window_actor_unmaximize (MetaWindowActor *self, + MetaRectangle *old_rect, + MetaRectangle *new_rect) { MetaCompScreen *info = meta_screen_get_compositor_data (self->priv->screen); @@ -1237,31 +1237,31 @@ mutter_window_unmaximize (MutterWindow *self, clutter_actor_set_size (CLUTTER_ACTOR (self), old_rect->width, old_rect->height); self->priv->unmaximize_in_progress++; - mutter_window_freeze (self); + meta_window_actor_freeze (self); if (!info->plugin_mgr || - !mutter_plugin_manager_event_maximize (info->plugin_mgr, - self, - MUTTER_PLUGIN_UNMAXIMIZE, - new_rect->x, new_rect->y, - new_rect->width, new_rect->height)) + !meta_plugin_manager_event_maximize (info->plugin_mgr, + self, + META_PLUGIN_UNMAXIMIZE, + new_rect->x, new_rect->y, + new_rect->width, new_rect->height)) { self->priv->unmaximize_in_progress--; - mutter_window_thaw (self); + meta_window_actor_thaw (self); } } -MutterWindow * -mutter_window_new (MetaWindow *window) +MetaWindowActor * +meta_window_actor_new (MetaWindow *window) { - MetaScreen *screen = meta_window_get_screen (window); - MetaDisplay *display = meta_screen_get_display (screen); - MetaCompScreen *info = meta_screen_get_compositor_data (screen); - MutterWindow *self; - MutterWindowPrivate *priv; - MetaFrame *frame; - Window top_window; - XWindowAttributes attrs; + MetaScreen *screen = meta_window_get_screen (window); + MetaDisplay *display = meta_screen_get_display (screen); + MetaCompScreen *info = meta_screen_get_compositor_data (screen); + MetaWindowActor *self; + MetaWindowActorPrivate *priv; + MetaFrame *frame; + Window top_window; + XWindowAttributes attrs; frame = meta_window_get_frame (window); if (frame) @@ -1276,20 +1276,20 @@ mutter_window_new (MetaWindow *window) if (!XGetWindowAttributes (meta_display_get_xdisplay (display), top_window, &attrs)) return NULL; - self = g_object_new (MUTTER_TYPE_COMP_WINDOW, - "meta-window", window, - "x-window", top_window, - "meta-screen", screen, - "x-window-attributes", &attrs, - NULL); + self = g_object_new (META_TYPE_WINDOW_ACTOR, + "meta-window", window, + "x-window", top_window, + "meta-screen", screen, + "x-window-attributes", &attrs, + NULL); priv = self->priv; priv->mapped = meta_window_toplevel_is_mapped (priv->window); if (priv->mapped) - mutter_window_queue_create_pixmap (self); + meta_window_actor_queue_create_pixmap (self); - mutter_window_sync_actor_position (self); + meta_window_actor_sync_actor_position (self); /* Hang our compositor window state off the MetaWindow for fast retrieval */ meta_window_set_compositor_private (window, G_OBJECT (self)); @@ -1307,37 +1307,37 @@ mutter_window_new (MetaWindow *window) } void -mutter_window_mapped (MutterWindow *self) +meta_window_actor_mapped (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; g_return_if_fail (!priv->mapped); priv->mapped = TRUE; - mutter_window_queue_create_pixmap (self); + meta_window_actor_queue_create_pixmap (self); } void -mutter_window_unmapped (MutterWindow *self) +meta_window_actor_unmapped (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; g_return_if_fail (priv->mapped); priv->mapped = FALSE; - if (mutter_window_effect_in_progress (self)) + if (meta_window_actor_effect_in_progress (self)) return; - mutter_window_detach (self); + meta_window_actor_detach (self); priv->needs_pixmap = FALSE; } static void -mutter_window_clear_shape_region (MutterWindow *self) +meta_window_actor_clear_shape_region (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; if (priv->shape_region) { @@ -1347,9 +1347,9 @@ mutter_window_clear_shape_region (MutterWindow *self) } static void -mutter_window_clear_bounding_region (MutterWindow *self) +meta_window_actor_clear_bounding_region (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; if (priv->bounding_region) { @@ -1359,27 +1359,27 @@ mutter_window_clear_bounding_region (MutterWindow *self) } static void -mutter_window_update_bounding_region (MutterWindow *self, - int width, - int height) +meta_window_actor_update_bounding_region (MetaWindowActor *self, + int width, + int height) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; cairo_rectangle_int_t bounding_rectangle = { 0, 0, width, height }; - mutter_window_clear_bounding_region (self); + meta_window_actor_clear_bounding_region (self); priv->bounding_region = cairo_region_create_rectangle (&bounding_rectangle); } static void -mutter_window_update_shape_region (MutterWindow *self, - int n_rects, - XRectangle *rects) +meta_window_actor_update_shape_region (MetaWindowActor *self, + int n_rects, + XRectangle *rects) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; int i; - mutter_window_clear_shape_region (self); + meta_window_actor_clear_shape_region (self); priv->shape_region = cairo_region_create (); for (i = 0; i < n_rects; i++) @@ -1390,8 +1390,8 @@ mutter_window_update_shape_region (MutterWindow *self, } /** - * mutter_window_get_obscured_region: - * @self: a #MutterWindow + * meta_window_actor_get_obscured_region: + * @self: a #MetaWindowActor * * Gets the region that is completely obscured by the window. Coordinates * are relative to the upper-left of the window. @@ -1400,9 +1400,9 @@ mutter_window_update_shape_region (MutterWindow *self, * %NULL is the same as an empty region. */ cairo_region_t * -mutter_window_get_obscured_region (MutterWindow *self) +meta_window_actor_get_obscured_region (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; if (!priv->argb32 && priv->back_pixmap) { @@ -1437,8 +1437,8 @@ dump_region (cairo_region_t *region) #endif /** - * mutter_window_set_visible_region: - * @self: a #MutterWindow + * meta_window_actor_set_visible_region: + * @self: a #MetaWindowActor * @visible_region: the region of the screen that isn't completely * obscured. * @@ -1447,10 +1447,10 @@ dump_region (cairo_region_t *region) * This will be set before painting then unset afterwards. */ void -mutter_window_set_visible_region (MutterWindow *self, - cairo_region_t *visible_region) +meta_window_actor_set_visible_region (MetaWindowActor *self, + cairo_region_t *visible_region) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; cairo_region_t *texture_clip_region = NULL; /* Get the area of the window texture that would be drawn if @@ -1476,13 +1476,13 @@ mutter_window_set_visible_region (MutterWindow *self, cairo_region_intersect (texture_clip_region, visible_region); /* Assumes ownership */ - mutter_shaped_texture_set_clip_region (MUTTER_SHAPED_TEXTURE (priv->actor), - texture_clip_region); + meta_shaped_texture_set_clip_region (META_SHAPED_TEXTURE (priv->actor), + texture_clip_region); } /** - * mutter_window_set_visible_region_beneath: - * @self: a #MutterWindow + * meta_window_actor_set_visible_region_beneath: + * @self: a #MetaWindowActor * @visible_region: the region of the screen that isn't completely * obscured beneath the main window texture. * @@ -1493,10 +1493,10 @@ mutter_window_set_visible_region (MutterWindow *self, * then unset afterwards. */ void -mutter_window_set_visible_region_beneath (MutterWindow *self, - cairo_region_t *beneath_region) +meta_window_actor_set_visible_region_beneath (MetaWindowActor *self, + cairo_region_t *beneath_region) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; if (priv->shadow) { @@ -1525,27 +1525,27 @@ mutter_window_set_visible_region_beneath (MutterWindow *self, } /** - * mutter_window_reset_visible_regions: - * @self: a #MutterWindow + * meta_window_actor_reset_visible_regions: + * @self: a #MetaWindowActor * - * Unsets the regions set by mutter_window_reset_visible_region() and - *mutter_window_reset_visible_region_beneath() + * Unsets the regions set by meta_window_actor_reset_visible_region() and + *meta_window_actor_reset_visible_region_beneath() */ void -mutter_window_reset_visible_regions (MutterWindow *self) +meta_window_actor_reset_visible_regions (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; - mutter_shaped_texture_set_clip_region (MUTTER_SHAPED_TEXTURE (priv->actor), - NULL); + meta_shaped_texture_set_clip_region (META_SHAPED_TEXTURE (priv->actor), + NULL); if (priv->shadow) tidy_texture_frame_set_needs_paint (TIDY_TEXTURE_FRAME (priv->shadow), TRUE); } static void -check_needs_pixmap (MutterWindow *self) +check_needs_pixmap (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; MetaScreen *screen = priv->screen; MetaDisplay *display = meta_screen_get_display (screen); Display *xdisplay = meta_display_get_xdisplay (display); @@ -1568,7 +1568,7 @@ check_needs_pixmap (MutterWindow *self) if (priv->size_changed) { - mutter_window_detach (self); + meta_window_actor_detach (self); priv->size_changed = FALSE; } @@ -1597,13 +1597,13 @@ check_needs_pixmap (MutterWindow *self) if (priv->back_pixmap == None) { meta_verbose ("Unable to get named pixmap for %p\n", self); - mutter_window_update_bounding_region (self, 0, 0); + meta_window_actor_update_bounding_region (self, 0, 0); return; } if (compositor->no_mipmaps) - mutter_shaped_texture_set_create_mipmaps (MUTTER_SHAPED_TEXTURE (priv->actor), - FALSE); + meta_shaped_texture_set_create_mipmaps (META_SHAPED_TEXTURE (priv->actor), + FALSE); clutter_x11_texture_pixmap_set_pixmap (CLUTTER_X11_TEXTURE_PIXMAP (priv->actor), @@ -1625,7 +1625,7 @@ check_needs_pixmap (MutterWindow *self) if (priv->shadow) clutter_actor_set_size (priv->shadow, pxm_width, pxm_height); - mutter_window_update_bounding_region (self, pxm_width, pxm_height); + meta_window_actor_update_bounding_region (self, pxm_width, pxm_height); full = TRUE; } @@ -1636,16 +1636,16 @@ check_needs_pixmap (MutterWindow *self) } static gboolean -is_frozen (MutterWindow *self) +is_frozen (MetaWindowActor *self) { return self->priv->freeze_count ? TRUE : FALSE; } void -mutter_window_process_damage (MutterWindow *self, - XDamageNotifyEvent *event) +meta_window_actor_process_damage (MetaWindowActor *self, + XDamageNotifyEvent *event) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; ClutterX11TexturePixmap *texture_x11 = CLUTTER_X11_TEXTURE_PIXMAP (priv->actor); priv->received_damage = TRUE; @@ -1679,9 +1679,9 @@ mutter_window_process_damage (MutterWindow *self, } void -mutter_window_sync_visibility (MutterWindow *self) +meta_window_actor_sync_visibility (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; if (CLUTTER_ACTOR_IS_VISIBLE (self) != priv->visible) { @@ -1693,17 +1693,17 @@ mutter_window_sync_visibility (MutterWindow *self) } static void -check_needs_reshape (MutterWindow *self) +check_needs_reshape (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; MetaScreen *screen = priv->screen; MetaDisplay *display = meta_screen_get_display (screen); if (!priv->needs_reshape) return; - mutter_shaped_texture_clear_rectangles (MUTTER_SHAPED_TEXTURE (priv->actor)); - mutter_window_clear_shape_region (self); + meta_shaped_texture_clear_rectangles (META_SHAPED_TEXTURE (priv->actor)); + meta_window_actor_clear_shape_region (self); #ifdef HAVE_SHAPE if (priv->shaped) @@ -1722,10 +1722,10 @@ check_needs_reshape (MutterWindow *self) if (rects) { - mutter_shaped_texture_add_rectangles (MUTTER_SHAPED_TEXTURE (priv->actor), + meta_shaped_texture_add_rectangles (META_SHAPED_TEXTURE (priv->actor), n_rects, rects); - mutter_window_update_shape_region (self, n_rects, rects); + meta_window_actor_update_shape_region (self, n_rects, rects); XFree (rects); } @@ -1736,10 +1736,10 @@ check_needs_reshape (MutterWindow *self) } void -mutter_window_update_shape (MutterWindow *self, - gboolean shaped) +meta_window_actor_update_shape (MetaWindowActor *self, + gboolean shaped) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; priv->shaped = shaped; priv->needs_reshape = TRUE; @@ -1748,9 +1748,9 @@ mutter_window_update_shape (MutterWindow *self, } void -mutter_window_pre_paint (MutterWindow *self) +meta_window_actor_pre_paint (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; MetaScreen *screen = priv->screen; MetaDisplay *display = meta_screen_get_display (screen); Display *xdisplay = meta_display_get_xdisplay (display); @@ -1775,9 +1775,9 @@ mutter_window_pre_paint (MutterWindow *self) } void -mutter_window_update_opacity (MutterWindow *self) +meta_window_actor_update_opacity (MetaWindowActor *self) { - MutterWindowPrivate *priv = self->priv; + MetaWindowActorPrivate *priv = self->priv; MetaDisplay *display = meta_screen_get_display (priv->screen); MetaCompositor *compositor = meta_display_get_compositor (display); Window xwin = meta_window_get_xwindow (priv->window); diff --git a/src/compositor/mutter-window-group.c b/src/compositor/meta-window-group.c similarity index 76% rename from src/compositor/mutter-window-group.c rename to src/compositor/meta-window-group.c index c43cb1717..ecb2f35a6 100644 --- a/src/compositor/mutter-window-group.c +++ b/src/compositor/meta-window-group.c @@ -5,22 +5,22 @@ #define _ISOC99_SOURCE /* for roundf */ #include -#include "mutter-window-private.h" -#include "mutter-window-group.h" +#include "meta-window-actor-private.h" +#include "meta-window-group.h" -struct _MutterWindowGroupClass +struct _MetaWindowGroupClass { ClutterGroupClass parent_class; }; -struct _MutterWindowGroup +struct _MetaWindowGroup { ClutterGroup parent; MetaScreen *screen; }; -G_DEFINE_TYPE (MutterWindowGroup, mutter_window_group, CLUTTER_TYPE_GROUP); +G_DEFINE_TYPE (MetaWindowGroup, meta_window_group, CLUTTER_TYPE_GROUP); /* We want to find out if the window is "close enough" to * 1:1 transform. We do that by converting the transformed coordinates @@ -98,9 +98,9 @@ actor_is_untransformed (ClutterActor *actor, } static void -mutter_window_group_paint (ClutterActor *actor) +meta_window_group_paint (ClutterActor *actor) { - MutterWindowGroup *window_group = MUTTER_WINDOW_GROUP (actor); + MetaWindowGroup *window_group = META_WINDOW_GROUP (actor); cairo_region_t *visible_region; cairo_rectangle_int_t screen_rect = { 0 }; GList *children, *l; @@ -122,73 +122,73 @@ mutter_window_group_paint (ClutterActor *actor) for (l = children; l; l = l->next) { - MutterWindow *cw; + MetaWindowActor *window_actor; gboolean x, y; - if (!MUTTER_IS_WINDOW (l->data) || !CLUTTER_ACTOR_IS_VISIBLE (l->data)) + if (!META_IS_WINDOW_ACTOR (l->data) || !CLUTTER_ACTOR_IS_VISIBLE (l->data)) continue; - cw = l->data; + window_actor = l->data; - if (!actor_is_untransformed (CLUTTER_ACTOR (cw), &x, &y)) + if (!actor_is_untransformed (CLUTTER_ACTOR (window_actor), &x, &y)) continue; /* Temporarily move to the coordinate system of the actor */ cairo_region_translate (visible_region, - x, - y); - mutter_window_set_visible_region (cw, visible_region); + meta_window_actor_set_visible_region (window_actor, visible_region); - if (clutter_actor_get_paint_opacity (CLUTTER_ACTOR (cw)) == 0xff) + if (clutter_actor_get_paint_opacity (CLUTTER_ACTOR (window_actor)) == 0xff) { - cairo_region_t *obscured_region = mutter_window_get_obscured_region (cw); + cairo_region_t *obscured_region = meta_window_actor_get_obscured_region (window_actor); if (obscured_region) cairo_region_subtract (visible_region, obscured_region); } - mutter_window_set_visible_region_beneath (cw, visible_region); + meta_window_actor_set_visible_region_beneath (window_actor, visible_region); cairo_region_translate (visible_region, x, y); } cairo_region_destroy (visible_region); - CLUTTER_ACTOR_CLASS (mutter_window_group_parent_class)->paint (actor); + CLUTTER_ACTOR_CLASS (meta_window_group_parent_class)->paint (actor); /* Now that we are done painting, unset the visible regions (they will * mess up painting clones of our actors) */ for (l = children; l; l = l->next) { - MutterWindow *cw; + MetaWindowActor *window_actor; - if (!MUTTER_IS_WINDOW (l->data)) + if (!META_IS_WINDOW_ACTOR (l->data)) continue; - cw = l->data; - mutter_window_reset_visible_regions (cw); + window_actor = l->data; + meta_window_actor_reset_visible_regions (window_actor); } g_list_free (children); } static void -mutter_window_group_class_init (MutterWindowGroupClass *klass) +meta_window_group_class_init (MetaWindowGroupClass *klass) { ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass); - actor_class->paint = mutter_window_group_paint; + actor_class->paint = meta_window_group_paint; } static void -mutter_window_group_init (MutterWindowGroup *window_group) +meta_window_group_init (MetaWindowGroup *window_group) { } ClutterActor * -mutter_window_group_new (MetaScreen *screen) +meta_window_group_new (MetaScreen *screen) { - MutterWindowGroup *window_group; + MetaWindowGroup *window_group; - window_group = g_object_new (MUTTER_TYPE_WINDOW_GROUP, NULL); + window_group = g_object_new (META_TYPE_WINDOW_GROUP, NULL); window_group->screen = screen; diff --git a/src/compositor/mutter-window-group.h b/src/compositor/meta-window-group.h similarity index 51% rename from src/compositor/mutter-window-group.h rename to src/compositor/meta-window-group.h index 59edc3b6f..9f0e12231 100644 --- a/src/compositor/mutter-window-group.h +++ b/src/compositor/meta-window-group.h @@ -1,17 +1,17 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ -#ifndef MUTTER_WINDOW_GROUP_H -#define MUTTER_WINDOW_GROUP_H +#ifndef META_WINDOW_GROUP_H +#define META_WINDOW_GROUP_H #include #include "screen.h" /** - * MutterWindowGroup: + * MetaWindowGroup: * * This class is a subclass of ClutterGroup with special handling for - * MutterWindow when painting the group. When we are painting a stack + * MetaWindowActor when painting the group. When we are painting a stack * of 5-10 maximized windows, the standard bottom-to-top method of * drawing every actor results in a tremendous amount of overdraw * and can easily max out the available memory bandwidth on a low-end @@ -21,7 +21,7 @@ * The basic technique applied here is to do a pre-pass before painting * where we walk window from top to bottom and compute the visible area * at each step by subtracting out the windows above it. The visible - * area is passed to MutterWindow which uses it to clip the portion of + * area is passed to MetaWindowActor which uses it to clip the portion of * the window which drawn and avoid redrawing the shadow if it is completely * obscured. * @@ -34,19 +34,19 @@ * we have lots of memory and bandwidth.) */ -#define MUTTER_TYPE_WINDOW_GROUP (mutter_window_group_get_type ()) -#define MUTTER_WINDOW_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MUTTER_TYPE_WINDOW_GROUP, MutterWindowGroup)) -#define MUTTER_WINDOW_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MUTTER_TYPE_WINDOW_GROUP, MutterWindowGroupClass)) -#define MUTTER_IS_WINDOW_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MUTTER_TYPE_WINDOW_GROUP)) -#define MUTTER_IS_WINDOW_GROU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MUTTER_TYPE_WINDOW_GROUP)) -#define MUTTER_WINDOW_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MUTTER_TYPE_WINDOW_GROUP, MutterWindowGroupClass)) +#define META_TYPE_WINDOW_GROUP (meta_window_group_get_type ()) +#define META_WINDOW_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_WINDOW_GROUP, MetaWindowGroup)) +#define META_WINDOW_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_WINDOW_GROUP, MetaWindowGroupClass)) +#define META_IS_WINDOW_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_WINDOW_GROUP)) +#define META_IS_WINDOW_GROU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_WINDOW_GROUP)) +#define META_WINDOW_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_WINDOW_GROUP, MetaWindowGroupClass)) -typedef struct _MutterWindowGroup MutterWindowGroup; -typedef struct _MutterWindowGroupClass MutterWindowGroupClass; -typedef struct _MutterWindowGroupPrivate MutterWindowGroupPrivate; +typedef struct _MetaWindowGroup MetaWindowGroup; +typedef struct _MetaWindowGroupClass MetaWindowGroupClass; +typedef struct _MetaWindowGroupPrivate MetaWindowGroupPrivate; -GType mutter_window_group_get_type (void); +GType meta_window_group_get_type (void); -ClutterActor *mutter_window_group_new (MetaScreen *screen); +ClutterActor *meta_window_group_new (MetaScreen *screen); -#endif /* MUTTER_WINDOW_GROUP_H */ +#endif /* META_WINDOW_GROUP_H */ diff --git a/src/compositor/mutter-plugin-manager.h b/src/compositor/mutter-plugin-manager.h deleted file mode 100644 index 3add6f12f..000000000 --- a/src/compositor/mutter-plugin-manager.h +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ - -/* - * Copyright (c) 2008 Intel Corp. - * - * Author: Tomas Frydrych - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program 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 - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - */ - -#ifndef MUTTER_PLUGIN_MANAGER_H_ -#define MUTTER_PLUGIN_MANAGER_H_ - -#include "types.h" -#include "screen.h" - -#define MUTTER_PLUGIN_FROM_MANAGER_ -#include "mutter-plugin.h" -#undef MUTTER_PLUGIN_FROM_MANAGER_ - -#define MUTTER_PLUGIN_MINIMIZE (1<<0) -#define MUTTER_PLUGIN_MAXIMIZE (1<<1) -#define MUTTER_PLUGIN_UNMAXIMIZE (1<<2) -#define MUTTER_PLUGIN_MAP (1<<3) -#define MUTTER_PLUGIN_DESTROY (1<<4) -#define MUTTER_PLUGIN_SWITCH_WORKSPACE (1<<5) - -#define MUTTER_PLUGIN_ALL_EFFECTS (~0) - -/** - * MutterPluginManager: (skip) - * - */ -typedef struct MutterPluginManager MutterPluginManager; - -MutterPluginManager * mutter_plugin_manager_get (MetaScreen *screen); -MutterPluginManager * mutter_plugin_manager_get_default (void); - -gboolean mutter_plugin_manager_load (MutterPluginManager *mgr); -gboolean mutter_plugin_manager_initialize (MutterPluginManager *plugin_mgr); -gboolean mutter_plugin_manager_event_simple (MutterPluginManager *mgr, - MutterWindow *actor, - unsigned long event); - -gboolean mutter_plugin_manager_event_maximize (MutterPluginManager *mgr, - MutterWindow *actor, - unsigned long event, - gint target_x, - gint target_y, - gint target_width, - gint target_height); -void mutter_plugin_manager_update_workspaces (MutterPluginManager *mgr); - -void mutter_plugin_manager_update_workspace (MutterPluginManager *mgr, MetaWorkspace *w); - -gboolean mutter_plugin_manager_switch_workspace (MutterPluginManager *mgr, - gint from, - gint to, - MetaMotionDirection direction); - -gboolean mutter_plugin_manager_xevent_filter (MutterPluginManager *mgr, - XEvent *xev); - -#endif diff --git a/src/compositor/mutter-shaped-texture.h b/src/compositor/mutter-shaped-texture.h deleted file mode 100644 index 069b79a33..000000000 --- a/src/compositor/mutter-shaped-texture.h +++ /dev/null @@ -1,106 +0,0 @@ -/* - * shaped texture - * - * An actor to draw a texture clipped to a list of rectangles - * - * Authored By Neil Roberts - * - * Copyright (C) 2008 Intel Corporation - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program 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 - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - */ - -#ifndef __MUTTER_SHAPED_TEXTURE_H__ -#define __MUTTER_SHAPED_TEXTURE_H__ - -#include - -#include -#ifdef HAVE_GLX_TEXTURE_PIXMAP -#include -#endif /* HAVE_GLX_TEXTURE_PIXMAP */ - -G_BEGIN_DECLS - -#define MUTTER_TYPE_SHAPED_TEXTURE \ - (mutter_shaped_texture_get_type()) -#define MUTTER_SHAPED_TEXTURE(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ - MUTTER_TYPE_SHAPED_TEXTURE, \ - MutterShapedTexture)) -#define MUTTER_SHAPED_TEXTURE_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), \ - MUTTER_TYPE_SHAPED_TEXTURE, \ - MutterShapedTextureClass)) -#define MUTTER_IS_SHAPED_TEXTURE(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ - MUTTER_TYPE_SHAPED_TEXTURE)) -#define MUTTER_IS_SHAPED_TEXTURE_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), \ - MUTTER_TYPE_SHAPED_TEXTURE)) -#define MUTTER_SHAPED_TEXTURE_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), \ - MUTTER_TYPE_SHAPED_TEXTURE, \ - MutterShapedTextureClass)) - -typedef struct _MutterShapedTexture MutterShapedTexture; -typedef struct _MutterShapedTextureClass MutterShapedTextureClass; -typedef struct _MutterShapedTexturePrivate MutterShapedTexturePrivate; - -struct _MutterShapedTextureClass -{ -#ifdef HAVE_GLX_TEXTURE_PIXMAP - ClutterGLXTexturePixmapClass parent_class; -#else - ClutterX11TexturePixmapClass parent_class; -#endif -}; - -struct _MutterShapedTexture -{ -#ifdef HAVE_GLX_TEXTURE_PIXMAP - ClutterGLXTexturePixmap parent; -#else - ClutterX11TexturePixmap parent; -#endif - - MutterShapedTexturePrivate *priv; -}; - -GType mutter_shaped_texture_get_type (void) G_GNUC_CONST; - -ClutterActor *mutter_shaped_texture_new (void); - -void mutter_shaped_texture_set_create_mipmaps (MutterShapedTexture *stex, - gboolean create_mipmaps); - -void mutter_shaped_texture_clear (MutterShapedTexture *stex); - -void mutter_shaped_texture_clear_rectangles (MutterShapedTexture *stex); - -void mutter_shaped_texture_add_rectangle (MutterShapedTexture *stex, - const XRectangle *rect); -void mutter_shaped_texture_add_rectangles (MutterShapedTexture *stex, - size_t num_rects, - const XRectangle *rects); - -/* Assumes ownership of clip_region */ -void mutter_shaped_texture_set_clip_region (MutterShapedTexture *stex, - cairo_region_t *clip_region); - -G_END_DECLS - -#endif /* __MUTTER_SHAPED_TEXTURE_H__ */ diff --git a/src/compositor/mutter-window-private.h b/src/compositor/mutter-window-private.h deleted file mode 100644 index 52752cb4e..000000000 --- a/src/compositor/mutter-window-private.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ - -#ifndef MUTTER_WINDOW_PRIVATE_H -#define MUTTER_WINDOW_PRIVATE_H - -#include - -#include -#include "compositor-mutter.h" - -MutterWindow *mutter_window_new (MetaWindow *window); - -void mutter_window_destroy (MutterWindow *cw); - -void mutter_window_show (MutterWindow *cw, - MetaCompEffect effect); -void mutter_window_hide (MutterWindow *cw, - MetaCompEffect effect); - -void mutter_window_maximize (MutterWindow *cw, - MetaRectangle *old_rect, - MetaRectangle *new_rect); -void mutter_window_unmaximize (MutterWindow *cw, - MetaRectangle *old_rect, - MetaRectangle *new_rect); - -void mutter_window_process_damage (MutterWindow *cw, - XDamageNotifyEvent *event); -void mutter_window_pre_paint (MutterWindow *self); - -gboolean mutter_window_effect_in_progress (MutterWindow *cw); -void mutter_window_sync_actor_position (MutterWindow *cw); -void mutter_window_sync_visibility (MutterWindow *cw); -void mutter_window_update_shape (MutterWindow *cw, - gboolean shaped); -void mutter_window_update_opacity (MutterWindow *cw); -void mutter_window_mapped (MutterWindow *cw); -void mutter_window_unmapped (MutterWindow *cw); - -cairo_region_t *mutter_window_get_obscured_region (MutterWindow *cw); - -void mutter_window_set_visible_region (MutterWindow *cw, - cairo_region_t *visible_region); -void mutter_window_set_visible_region_beneath (MutterWindow *cw, - cairo_region_t *beneath_region); -void mutter_window_reset_visible_regions (MutterWindow *cw); - -void mutter_window_effect_completed (MutterWindow *actor, - gulong event); - -#endif /* MUTTER_WINDOW_PRIVATE_H */ diff --git a/src/compositor/plugins/default.c b/src/compositor/plugins/default.c index 3d77a107a..6d6297c61 100644 --- a/src/compositor/plugins/default.c +++ b/src/compositor/plugins/default.c @@ -21,7 +21,7 @@ * 02111-1307, USA. */ -#include "mutter-plugin.h" +#include "meta-plugin.h" #include "window.h" #include @@ -40,63 +40,70 @@ #define ACTOR_DATA_KEY "MCCP-Default-actor-data" -#define MUTTER_TYPE_DEFAULT_PLUGIN (mutter_default_plugin_get_type ()) -#define MUTTER_DEFAULT_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MUTTER_TYPE_DEFAULT_PLUGIN, MutterDefaultPlugin)) -#define MUTTER_DEFAULT_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MUTTER_TYPE_DEFAULT_PLUGIN, MutterDefaultPluginClass)) -#define MUTTER_IS_DEFAULT_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MUTTER_DEFAULT_PLUGIN_TYPE)) -#define MUTTER_IS_DEFAULT_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MUTTER_TYPE_DEFAULT_PLUGIN)) -#define MUTTER_DEFAULT_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MUTTER_TYPE_DEFAULT_PLUGIN, MutterDefaultPluginClass)) +#define META_TYPE_DEFAULT_PLUGIN (meta_default_plugin_get_type ()) +#define META_DEFAULT_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEFAULT_PLUGIN, MetaDefaultPlugin)) +#define META_DEFAULT_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEFAULT_PLUGIN, MetaDefaultPluginClass)) +#define META_IS_DEFAULT_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_DEFAULT_PLUGIN_TYPE)) +#define META_IS_DEFAULT_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEFAULT_PLUGIN)) +#define META_DEFAULT_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEFAULT_PLUGIN, MetaDefaultPluginClass)) -#define MUTTER_DEFAULT_PLUGIN_GET_PRIVATE(obj) \ -(G_TYPE_INSTANCE_GET_PRIVATE ((obj), MUTTER_TYPE_DEFAULT_PLUGIN, MutterDefaultPluginPrivate)) +#define META_DEFAULT_PLUGIN_GET_PRIVATE(obj) \ +(G_TYPE_INSTANCE_GET_PRIVATE ((obj), META_TYPE_DEFAULT_PLUGIN, MetaDefaultPluginPrivate)) -typedef struct _MutterDefaultPlugin MutterDefaultPlugin; -typedef struct _MutterDefaultPluginClass MutterDefaultPluginClass; -typedef struct _MutterDefaultPluginPrivate MutterDefaultPluginPrivate; +typedef struct _MetaDefaultPlugin MetaDefaultPlugin; +typedef struct _MetaDefaultPluginClass MetaDefaultPluginClass; +typedef struct _MetaDefaultPluginPrivate MetaDefaultPluginPrivate; -struct _MutterDefaultPlugin +struct _MetaDefaultPlugin { - MutterPlugin parent; + MetaPlugin parent; - MutterDefaultPluginPrivate *priv; + MetaDefaultPluginPrivate *priv; }; -struct _MutterDefaultPluginClass +struct _MetaDefaultPluginClass { - MutterPluginClass parent_class; + MetaPluginClass parent_class; }; static GQuark actor_data_quark = 0; -static void minimize (MutterPlugin *plugin, - MutterWindow *actor); -static void map (MutterPlugin *plugin, - MutterWindow *actor); -static void destroy (MutterPlugin *plugin, - MutterWindow *actor); -static void maximize (MutterPlugin *plugin, - MutterWindow *actor, - gint x, gint y, gint width, gint height); -static void unmaximize (MutterPlugin *plugin, - MutterWindow *actor, - gint x, gint y, gint width, gint height); +static void minimize (MetaPlugin *plugin, + MetaWindowActor *actor); +static void map (MetaPlugin *plugin, + MetaWindowActor *actor); +static void destroy (MetaPlugin *plugin, + MetaWindowActor *actor); +static void maximize (MetaPlugin *plugin, + MetaWindowActor *actor, + gint x, + gint y, + gint width, + gint height); +static void unmaximize (MetaPlugin *plugin, + MetaWindowActor *actor, + gint x, + gint y, + gint width, + gint height); -static void switch_workspace (MutterPlugin *plugin, - gint from, gint to, - MetaMotionDirection direction); +static void switch_workspace (MetaPlugin *plugin, + gint from, + gint to, + MetaMotionDirection direction); -static void kill_window_effects (MutterPlugin *plugin, - MutterWindow *actor); -static void kill_switch_workspace (MutterPlugin *plugin); +static void kill_window_effects (MetaPlugin *plugin, + MetaWindowActor *actor); +static void kill_switch_workspace (MetaPlugin *plugin); -static const MutterPluginInfo * plugin_info (MutterPlugin *plugin); +static const MetaPluginInfo * plugin_info (MetaPlugin *plugin); -MUTTER_PLUGIN_DECLARE(MutterDefaultPlugin, mutter_default_plugin); +META_PLUGIN_DECLARE(MetaDefaultPlugin, meta_default_plugin); /* * Plugin private data that we store in the .plugin_private member. */ -struct _MutterDefaultPluginPrivate +struct _MetaDefaultPluginPrivate { /* Valid only when switch_workspace effect is in progress */ ClutterTimeline *tml_switch_workspace1; @@ -104,7 +111,7 @@ struct _MutterDefaultPluginPrivate ClutterActor *desktop1; ClutterActor *desktop2; - MutterPluginInfo info; + MetaPluginInfo info; gboolean debug_mode : 1; }; @@ -129,26 +136,26 @@ typedef struct _ActorPrivate typedef struct { ClutterActor *actor; - MutterPlugin *plugin; + MetaPlugin *plugin; } EffectCompleteData; static void -mutter_default_plugin_dispose (GObject *object) +meta_default_plugin_dispose (GObject *object) { - /* MutterDefaultPluginPrivate *priv = MUTTER_DEFAULT_PLUGIN (object)->priv; + /* MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (object)->priv; */ - G_OBJECT_CLASS (mutter_default_plugin_parent_class)->dispose (object); + G_OBJECT_CLASS (meta_default_plugin_parent_class)->dispose (object); } static void -mutter_default_plugin_finalize (GObject *object) +meta_default_plugin_finalize (GObject *object) { - G_OBJECT_CLASS (mutter_default_plugin_parent_class)->finalize (object); + G_OBJECT_CLASS (meta_default_plugin_parent_class)->finalize (object); } static void -mutter_default_plugin_set_property (GObject *object, +meta_default_plugin_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) @@ -162,7 +169,7 @@ mutter_default_plugin_set_property (GObject *object, } static void -mutter_default_plugin_get_property (GObject *object, +meta_default_plugin_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) @@ -176,9 +183,9 @@ mutter_default_plugin_get_property (GObject *object, } static void -start (MutterPlugin *plugin) +start (MetaPlugin *plugin) { - MutterDefaultPluginPrivate *priv = MUTTER_DEFAULT_PLUGIN (plugin)->priv; + MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv; guint destroy_timeout = DESTROY_TIMEOUT; guint minimize_timeout = MINIMIZE_TIMEOUT; @@ -186,7 +193,7 @@ start (MutterPlugin *plugin) guint map_timeout = MAP_TIMEOUT; guint switch_timeout = SWITCH_TIMEOUT; - if (mutter_plugin_debug_mode (plugin)) + if (meta_plugin_debug_mode (plugin)) { g_debug ("Plugin %s: Entering debug mode.", priv->info.name); @@ -204,15 +211,15 @@ start (MutterPlugin *plugin) } static void -mutter_default_plugin_class_init (MutterDefaultPluginClass *klass) +meta_default_plugin_class_init (MetaDefaultPluginClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - MutterPluginClass *plugin_class = MUTTER_PLUGIN_CLASS (klass); + MetaPluginClass *plugin_class = META_PLUGIN_CLASS (klass); - gobject_class->finalize = mutter_default_plugin_finalize; - gobject_class->dispose = mutter_default_plugin_dispose; - gobject_class->set_property = mutter_default_plugin_set_property; - gobject_class->get_property = mutter_default_plugin_get_property; + gobject_class->finalize = meta_default_plugin_finalize; + gobject_class->dispose = meta_default_plugin_dispose; + gobject_class->set_property = meta_default_plugin_set_property; + gobject_class->get_property = meta_default_plugin_get_property; plugin_class->start = start; plugin_class->map = map; @@ -225,15 +232,15 @@ mutter_default_plugin_class_init (MutterDefaultPluginClass *klass) plugin_class->kill_window_effects = kill_window_effects; plugin_class->kill_switch_workspace = kill_switch_workspace; - g_type_class_add_private (gobject_class, sizeof (MutterDefaultPluginPrivate)); + g_type_class_add_private (gobject_class, sizeof (MetaDefaultPluginPrivate)); } static void -mutter_default_plugin_init (MutterDefaultPlugin *self) +meta_default_plugin_init (MetaDefaultPlugin *self) { - MutterDefaultPluginPrivate *priv; + MetaDefaultPluginPrivate *priv; - self->priv = priv = MUTTER_DEFAULT_PLUGIN_GET_PRIVATE (self); + self->priv = priv = META_DEFAULT_PLUGIN_GET_PRIVATE (self); priv->info.name = "Default Effects"; priv->info.version = "0.1"; @@ -253,7 +260,7 @@ free_actor_private (gpointer data) } static ActorPrivate * -get_actor_private (MutterWindow *actor) +get_actor_private (MetaWindowActor *actor) { ActorPrivate *priv = g_object_get_qdata (G_OBJECT (actor), actor_data_quark); @@ -275,15 +282,15 @@ get_actor_private (MutterWindow *actor) static void on_switch_workspace_effect_complete (ClutterTimeline *timeline, gpointer data) { - MutterPlugin *plugin = MUTTER_PLUGIN (data); - MutterDefaultPluginPrivate *priv = MUTTER_DEFAULT_PLUGIN (plugin)->priv; - GList *l = mutter_plugin_get_windows (plugin); + MetaPlugin *plugin = META_PLUGIN (data); + MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv; + GList *l = meta_plugin_get_window_actors (plugin); while (l) { ClutterActor *a = l->data; - MutterWindow *mc_window = MUTTER_WINDOW (a); - ActorPrivate *apriv = get_actor_private (mc_window); + MetaWindowActor *window_actor = META_WINDOW_ACTOR (a); + ActorPrivate *apriv = get_actor_private (window_actor); if (apriv->orig_parent) { @@ -302,27 +309,27 @@ on_switch_workspace_effect_complete (ClutterTimeline *timeline, gpointer data) priv->desktop1 = NULL; priv->desktop2 = NULL; - mutter_plugin_switch_workspace_completed (plugin); + meta_plugin_switch_workspace_completed (plugin); } static void -switch_workspace (MutterPlugin *plugin, +switch_workspace (MetaPlugin *plugin, gint from, gint to, MetaMotionDirection direction) { - MutterDefaultPluginPrivate *priv = MUTTER_DEFAULT_PLUGIN (plugin)->priv; + MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv; GList *l; gint n_workspaces; ClutterActor *workspace0 = clutter_group_new (); ClutterActor *workspace1 = clutter_group_new (); ClutterActor *stage; int screen_width, screen_height; - MetaScreen *screen = mutter_plugin_get_screen (plugin); + MetaScreen *screen = meta_plugin_get_screen (plugin); ClutterAnimation *animation; - stage = mutter_plugin_get_stage (plugin); + stage = meta_plugin_get_stage (plugin); - mutter_plugin_query_screen_size (plugin, + meta_plugin_query_screen_size (plugin, &screen_width, &screen_height); clutter_actor_set_anchor_point (workspace1, @@ -339,31 +346,31 @@ switch_workspace (MutterPlugin *plugin, if (from == to) { - mutter_plugin_switch_workspace_completed (plugin); + meta_plugin_switch_workspace_completed (plugin); return; } n_workspaces = meta_screen_get_n_workspaces (screen); - l = g_list_last (mutter_plugin_get_windows (plugin)); + l = g_list_last (meta_plugin_get_window_actors (plugin)); while (l) { - MutterWindow *mc_window = l->data; - ActorPrivate *apriv = get_actor_private (mc_window); - ClutterActor *window = CLUTTER_ACTOR (mc_window); - gint win_workspace; + MetaWindowActor *window_actor = l->data; + ActorPrivate *apriv = get_actor_private (window_actor); + ClutterActor *actor = CLUTTER_ACTOR (window_actor); + gint win_workspace; - win_workspace = mutter_window_get_workspace (mc_window); + win_workspace = meta_window_actor_get_workspace (window_actor); if (win_workspace == to || win_workspace == from) { - apriv->orig_parent = clutter_actor_get_parent (window); + apriv->orig_parent = clutter_actor_get_parent (actor); - clutter_actor_reparent (window, + clutter_actor_reparent (actor, win_workspace == to ? workspace1 : workspace0); - clutter_actor_show_all (window); - clutter_actor_raise_top (window); + clutter_actor_show_all (actor); + clutter_actor_raise_top (actor); } else if (win_workspace < 0) { @@ -373,7 +380,7 @@ switch_workspace (MutterPlugin *plugin, else { /* Window on some other desktop */ - clutter_actor_hide (window); + clutter_actor_hide (actor); apriv->orig_parent = NULL; } @@ -414,11 +421,11 @@ on_minimize_effect_complete (ClutterTimeline *timeline, EffectCompleteData *data * Must reverse the effect of the effect; must hide it first to ensure * that the restoration will not be visible. */ - MutterPlugin *plugin = data->plugin; + MetaPlugin *plugin = data->plugin; ActorPrivate *apriv; - MutterWindow *mc_window = MUTTER_WINDOW (data->actor); + MetaWindowActor *window_actor = META_WINDOW_ACTOR (data->actor); - apriv = get_actor_private (MUTTER_WINDOW (data->actor)); + apriv = get_actor_private (META_WINDOW_ACTOR (data->actor)); apriv->tml_minimize = NULL; clutter_actor_hide (data->actor); @@ -430,7 +437,7 @@ on_minimize_effect_complete (ClutterTimeline *timeline, EffectCompleteData *data CLUTTER_GRAVITY_NORTH_WEST); /* Now notify the manager that we are done with this effect */ - mutter_plugin_minimize_completed (plugin, mc_window); + meta_plugin_minimize_completed (plugin, window_actor); g_free (data); } @@ -440,11 +447,11 @@ on_minimize_effect_complete (ClutterTimeline *timeline, EffectCompleteData *data * completion). */ static void -minimize (MutterPlugin *plugin, MutterWindow *mc_window) +minimize (MetaPlugin *plugin, MetaWindowActor *window_actor) { MetaWindowType type; - MetaWindow *meta_window = mutter_window_get_meta_window (mc_window); - ClutterActor *actor = CLUTTER_ACTOR (mc_window); + MetaWindow *meta_window = meta_window_actor_get_meta_window (window_actor); + ClutterActor *actor = CLUTTER_ACTOR (window_actor); type = meta_window_get_window_type (meta_window); @@ -453,7 +460,7 @@ minimize (MutterPlugin *plugin, MutterWindow *mc_window) { ClutterAnimation *animation; EffectCompleteData *data = g_new0 (EffectCompleteData, 1); - ActorPrivate *apriv = get_actor_private (mc_window); + ActorPrivate *apriv = get_actor_private (window_actor); apriv->is_minimized = TRUE; @@ -475,7 +482,7 @@ minimize (MutterPlugin *plugin, MutterWindow *mc_window) } else - mutter_plugin_minimize_completed (plugin, mc_window); + meta_plugin_minimize_completed (plugin, window_actor); } /* @@ -488,9 +495,9 @@ on_maximize_effect_complete (ClutterTimeline *timeline, EffectCompleteData *data /* * Must reverse the effect of the effect. */ - MutterPlugin * plugin = data->plugin; - MutterWindow *mc_window = MUTTER_WINDOW (data->actor); - ActorPrivate *apriv = get_actor_private (mc_window); + MetaPlugin *plugin = data->plugin; + MetaWindowActor *window_actor = META_WINDOW_ACTOR (data->actor); + ActorPrivate *apriv = get_actor_private (window_actor); apriv->tml_maximize = NULL; @@ -500,7 +507,7 @@ on_maximize_effect_complete (ClutterTimeline *timeline, EffectCompleteData *data CLUTTER_GRAVITY_NORTH_WEST); /* Now notify the manager that we are done with this effect */ - mutter_plugin_maximize_completed (plugin, mc_window); + meta_plugin_maximize_completed (plugin, window_actor); g_free (data); } @@ -514,13 +521,13 @@ on_maximize_effect_complete (ClutterTimeline *timeline, EffectCompleteData *data * (Something like a sound would be more appropriate.) */ static void -maximize (MutterPlugin *plugin, - MutterWindow *mc_window, +maximize (MetaPlugin *plugin, + MetaWindowActor *window_actor, gint end_x, gint end_y, gint end_width, gint end_height) { MetaWindowType type; - ClutterActor *actor = CLUTTER_ACTOR (mc_window); - MetaWindow *meta_window = mutter_window_get_meta_window (mc_window); + ClutterActor *actor = CLUTTER_ACTOR (window_actor); + MetaWindow *meta_window = meta_window_actor_get_meta_window (window_actor); gdouble scale_x = 1.0; gdouble scale_y = 1.0; @@ -533,7 +540,7 @@ maximize (MutterPlugin *plugin, { ClutterAnimation *animation; EffectCompleteData *data = g_new0 (EffectCompleteData, 1); - ActorPrivate *apriv = get_actor_private (mc_window); + ActorPrivate *apriv = get_actor_private (window_actor); gfloat width, height; gfloat x, y; @@ -571,7 +578,7 @@ maximize (MutterPlugin *plugin, return; } - mutter_plugin_maximize_completed (plugin, mc_window); + meta_plugin_maximize_completed (plugin, window_actor); } /* @@ -580,22 +587,22 @@ maximize (MutterPlugin *plugin, * (Just a skeleton code.) */ static void -unmaximize (MutterPlugin *plugin, - MutterWindow *mc_window, +unmaximize (MetaPlugin *plugin, + MetaWindowActor *window_actor, gint end_x, gint end_y, gint end_width, gint end_height) { - MetaWindow *meta_window = mutter_window_get_meta_window (mc_window); + MetaWindow *meta_window = meta_window_actor_get_meta_window (window_actor); MetaWindowType type = meta_window_get_window_type (meta_window); if (type == META_WINDOW_NORMAL) { - ActorPrivate *apriv = get_actor_private (mc_window); + ActorPrivate *apriv = get_actor_private (window_actor); apriv->is_maximized = FALSE; } /* Do this conditionally, if the effect requires completion callback. */ - mutter_plugin_unmaximize_completed (plugin, mc_window); + meta_plugin_unmaximize_completed (plugin, window_actor); } static void @@ -604,9 +611,9 @@ on_map_effect_complete (ClutterTimeline *timeline, EffectCompleteData *data) /* * Must reverse the effect of the effect. */ - MutterPlugin *plugin = data->plugin; - MutterWindow *mc_window = MUTTER_WINDOW (data->actor); - ActorPrivate *apriv = get_actor_private (mc_window); + MetaPlugin *plugin = data->plugin; + MetaWindowActor *window_actor = META_WINDOW_ACTOR (data->actor); + ActorPrivate *apriv = get_actor_private (window_actor); apriv->tml_map = NULL; @@ -614,7 +621,7 @@ on_map_effect_complete (ClutterTimeline *timeline, EffectCompleteData *data) CLUTTER_GRAVITY_NORTH_WEST); /* Now notify the manager that we are done with this effect */ - mutter_plugin_map_completed (plugin, mc_window); + meta_plugin_map_completed (plugin, window_actor); g_free (data); } @@ -624,11 +631,11 @@ on_map_effect_complete (ClutterTimeline *timeline, EffectCompleteData *data) * completion). */ static void -map (MutterPlugin *plugin, MutterWindow *mc_window) +map (MetaPlugin *plugin, MetaWindowActor *window_actor) { MetaWindowType type; - ClutterActor *actor = CLUTTER_ACTOR (mc_window); - MetaWindow *meta_window = mutter_window_get_meta_window (mc_window); + ClutterActor *actor = CLUTTER_ACTOR (window_actor); + MetaWindow *meta_window = meta_window_actor_get_meta_window (window_actor); type = meta_window_get_window_type (meta_window); @@ -636,7 +643,7 @@ map (MutterPlugin *plugin, MutterWindow *mc_window) { ClutterAnimation *animation; EffectCompleteData *data = g_new0 (EffectCompleteData, 1); - ActorPrivate *apriv = get_actor_private (mc_window); + ActorPrivate *apriv = get_actor_private (window_actor); clutter_actor_move_anchor_point_from_gravity (actor, CLUTTER_GRAVITY_CENTER); @@ -661,7 +668,7 @@ map (MutterPlugin *plugin, MutterWindow *mc_window) } else - mutter_plugin_map_completed (plugin, mc_window); + meta_plugin_map_completed (plugin, window_actor); } /* @@ -671,24 +678,24 @@ map (MutterPlugin *plugin, MutterWindow *mc_window) static void on_destroy_effect_complete (ClutterTimeline *timeline, EffectCompleteData *data) { - MutterPlugin *plugin = data->plugin; - MutterWindow *mc_window = MUTTER_WINDOW (data->actor); - ActorPrivate *apriv = get_actor_private (mc_window); + MetaPlugin *plugin = data->plugin; + MetaWindowActor *window_actor = META_WINDOW_ACTOR (data->actor); + ActorPrivate *apriv = get_actor_private (window_actor); apriv->tml_destroy = NULL; - mutter_plugin_destroy_completed (plugin, mc_window); + meta_plugin_destroy_completed (plugin, window_actor); } /* * Simple TV-out like effect. */ static void -destroy (MutterPlugin *plugin, MutterWindow *mc_window) +destroy (MetaPlugin *plugin, MetaWindowActor *window_actor) { MetaWindowType type; - ClutterActor *actor = CLUTTER_ACTOR (mc_window); - MetaWindow *meta_window = mutter_window_get_meta_window (mc_window); + ClutterActor *actor = CLUTTER_ACTOR (window_actor); + MetaWindow *meta_window = meta_window_actor_get_meta_window (window_actor); type = meta_window_get_window_type (meta_window); @@ -696,7 +703,7 @@ destroy (MutterPlugin *plugin, MutterWindow *mc_window) { ClutterAnimation *animation; EffectCompleteData *data = g_new0 (EffectCompleteData, 1); - ActorPrivate *apriv = get_actor_private (mc_window); + ActorPrivate *apriv = get_actor_private (window_actor); clutter_actor_move_anchor_point_from_gravity (actor, CLUTTER_GRAVITY_CENTER); @@ -715,13 +722,13 @@ destroy (MutterPlugin *plugin, MutterWindow *mc_window) data); } else - mutter_plugin_destroy_completed (plugin, mc_window); + meta_plugin_destroy_completed (plugin, window_actor); } static void -kill_switch_workspace (MutterPlugin *plugin) +kill_switch_workspace (MetaPlugin *plugin) { - MutterDefaultPluginPrivate *priv = MUTTER_DEFAULT_PLUGIN (plugin)->priv; + MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv; if (priv->tml_switch_workspace1) { @@ -732,11 +739,12 @@ kill_switch_workspace (MutterPlugin *plugin) } static void -kill_window_effects (MutterPlugin *plugin, MutterWindow *mc_window) +kill_window_effects (MetaPlugin *plugin, + MetaWindowActor *window_actor) { ActorPrivate *apriv; - apriv = get_actor_private (mc_window); + apriv = get_actor_private (window_actor); if (apriv->tml_minimize) { @@ -763,10 +771,10 @@ kill_window_effects (MutterPlugin *plugin, MutterWindow *mc_window) } } -static const MutterPluginInfo * -plugin_info (MutterPlugin *plugin) +static const MetaPluginInfo * +plugin_info (MetaPlugin *plugin) { - MutterDefaultPluginPrivate *priv = MUTTER_DEFAULT_PLUGIN (plugin)->priv; + MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv; return &priv->info; } diff --git a/src/compositor/shadow.c b/src/compositor/shadow.c index b204440e5..db8495bb0 100644 --- a/src/compositor/shadow.c +++ b/src/compositor/shadow.c @@ -20,7 +20,7 @@ static unsigned char* shadow_gaussian_make_tile (void); ClutterActor * -mutter_create_shadow_frame (MetaCompositor *compositor) +meta_create_shadow_frame (MetaCompositor *compositor) { ClutterActor *frame; diff --git a/src/compositor/shadow.h b/src/compositor/shadow.h index 3a1f90209..1277e237e 100644 --- a/src/compositor/shadow.h +++ b/src/compositor/shadow.h @@ -4,6 +4,6 @@ #include #include "compositor.h" -ClutterActor *mutter_create_shadow_frame (MetaCompositor *compositor); +ClutterActor *meta_create_shadow_frame (MetaCompositor *compositor); #endif /* SHADOW_H */ diff --git a/src/core/main.c b/src/core/main.c index b3a673e32..19e41d9b6 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -75,7 +75,7 @@ #ifdef HAVE_INTROSPECTION #include -#include "compositor/mutter-plugin-manager.h" +#include "compositor/meta-plugin-manager.h" #endif /** @@ -586,8 +586,8 @@ main (int argc, char **argv) * is initialized at this point, and we don't plan to run any real * plugin code. */ - MutterPluginManager *mgr = mutter_plugin_manager_get_default (); - if (!mutter_plugin_manager_load (mgr)) + MetaPluginManager *mgr = meta_plugin_manager_get_default (); + if (!meta_plugin_manager_load (mgr)) g_critical ("failed to load plugins"); } if (!g_irepository_dump (meta_args.introspect, &error)) diff --git a/src/core/prefs.c b/src/core/prefs.c index 800037c43..acd0f48ff 100644 --- a/src/core/prefs.c +++ b/src/core/prefs.c @@ -27,7 +27,7 @@ #include "prefs.h" #include "ui.h" #include "util.h" -#include "compositor/mutter-plugin-manager.h" +#include "compositor/meta-plugin-manager.h" #ifdef HAVE_GCONF #include #endif @@ -1058,7 +1058,7 @@ meta_prefs_init (void) #ifdef HAVE_GCONF GError *err = NULL; gchar **gconf_dir_cursor; - MutterPluginManager *plugin_manager; + MetaPluginManager *plugin_manager; if (default_client != NULL) return; @@ -1087,8 +1087,8 @@ meta_prefs_init (void) /* We now initialize plugins so that they can override any preference locations */ - plugin_manager = mutter_plugin_manager_get_default (); - mutter_plugin_manager_load (plugin_manager); + plugin_manager = meta_plugin_manager_get_default (); + meta_plugin_manager_load (plugin_manager); /* Pick up initial values. */ diff --git a/src/include/compositor-mutter.h b/src/include/compositor-mutter.h index ba3ab0cf9..d27e0da3f 100644 --- a/src/include/compositor-mutter.h +++ b/src/include/compositor-mutter.h @@ -30,13 +30,13 @@ #include "types.h" #include "compositor.h" -#include "mutter-window.h" +#include "meta-window-actor.h" /* Public compositor API */ -ClutterActor * mutter_get_stage_for_screen (MetaScreen *screen); -ClutterActor * mutter_get_overlay_group_for_screen (MetaScreen *screen); -Window mutter_get_overlay_window (MetaScreen *screen); -GList * mutter_get_windows (MetaScreen *screen); -ClutterActor * mutter_get_window_group_for_screen (MetaScreen *screen); +ClutterActor *meta_get_stage_for_screen (MetaScreen *screen); +ClutterActor *meta_get_overlay_group_for_screen (MetaScreen *screen); +Window meta_get_overlay_window (MetaScreen *screen); +GList *meta_get_window_actors (MetaScreen *screen); +ClutterActor *meta_get_window_group_for_screen (MetaScreen *screen); #endif diff --git a/src/include/mutter-plugin.h b/src/include/meta-plugin.h similarity index 60% rename from src/include/mutter-plugin.h rename to src/include/meta-plugin.h index 1599e979f..78eabe9c8 100644 --- a/src/include/mutter-plugin.h +++ b/src/include/meta-plugin.h @@ -21,8 +21,8 @@ * 02111-1307, USA. */ -#ifndef MUTTER_PLUGIN_H_ -#define MUTTER_PLUGIN_H_ +#ifndef META_PLUGIN_H_ +#define META_PLUGIN_H_ #include "types.h" #include "compositor.h" @@ -32,64 +32,64 @@ #include #include -#define MUTTER_TYPE_PLUGIN (mutter_plugin_get_type ()) -#define MUTTER_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MUTTER_TYPE_PLUGIN, MutterPlugin)) -#define MUTTER_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MUTTER_TYPE_PLUGIN, MutterPluginClass)) -#define MUTTER_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MUTTER_TYPE_PLUGIN)) -#define MUTTER_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MUTTER_TYPE_PLUGIN)) -#define MUTTER_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MUTTER_TYPE_PLUGIN, MutterPluginClass)) +#define META_TYPE_PLUGIN (meta_plugin_get_type ()) +#define META_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_PLUGIN, MetaPlugin)) +#define META_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_PLUGIN, MetaPluginClass)) +#define META_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_PLUGIN)) +#define META_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_PLUGIN)) +#define META_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_PLUGIN, MetaPluginClass)) /** - * MutterPlugin: (skip) + * MetaPlugin: (skip) * */ -typedef struct _MutterPlugin MutterPlugin; +typedef struct _MetaPlugin MetaPlugin; /** - * MutterPluginClass: (skip) + * MetaPluginClass: (skip) * */ -typedef struct _MutterPluginClass MutterPluginClass; -typedef struct _MutterPluginVersion MutterPluginVersion; -typedef struct _MutterPluginInfo MutterPluginInfo; -typedef struct _MutterPluginPrivate MutterPluginPrivate; +typedef struct _MetaPluginClass MetaPluginClass; +typedef struct _MetaPluginVersion MetaPluginVersion; +typedef struct _MetaPluginInfo MetaPluginInfo; +typedef struct _MetaPluginPrivate MetaPluginPrivate; -struct _MutterPlugin +struct _MetaPlugin { GObject parent; - MutterPluginPrivate *priv; + MetaPluginPrivate *priv; }; -struct _MutterPluginClass +struct _MetaPluginClass { GObjectClass parent_class; - void (*start) (MutterPlugin *plugin); + void (*start) (MetaPlugin *plugin); - void (*minimize) (MutterPlugin *plugin, - MutterWindow *actor); + void (*minimize) (MetaPlugin *plugin, + MetaWindowActor *actor); - void (*maximize) (MutterPlugin *plugin, - MutterWindow *actor, + void (*maximize) (MetaPlugin *plugin, + MetaWindowActor *actor, gint x, gint y, gint width, gint height); - void (*unmaximize) (MutterPlugin *plugin, - MutterWindow *actor, + void (*unmaximize) (MetaPlugin *plugin, + MetaWindowActor *actor, gint x, gint y, gint width, gint height); - void (*map) (MutterPlugin *plugin, - MutterWindow *actor); + void (*map) (MetaPlugin *plugin, + MetaWindowActor *actor); - void (*destroy) (MutterPlugin *plugin, - MutterWindow *actor); + void (*destroy) (MetaPlugin *plugin, + MetaWindowActor *actor); - void (*switch_workspace) (MutterPlugin *plugin, + void (*switch_workspace) (MetaPlugin *plugin, gint from, gint to, MetaMotionDirection direction); @@ -98,21 +98,21 @@ struct _MutterPluginClass * Called if an effects should be killed prematurely; the plugin must * call the completed() callback as if the effect terminated naturally. */ - void (*kill_window_effects) (MutterPlugin *plugin, - MutterWindow *actor); + void (*kill_window_effects) (MetaPlugin *plugin, + MetaWindowActor *actor); - void (*kill_switch_workspace) (MutterPlugin *plugin); + void (*kill_switch_workspace) (MetaPlugin *plugin); - /* General XEvent filter. This is fired *before* mutter itself handles + /* General XEvent filter. This is fired *before* meta itself handles * an event. Return TRUE to block any further processing. */ - gboolean (*xevent_filter) (MutterPlugin *plugin, - XEvent *event); + gboolean (*xevent_filter) (MetaPlugin *plugin, + XEvent *event); - const MutterPluginInfo * (*plugin_info) (MutterPlugin *plugin); + const MetaPluginInfo * (*plugin_info) (MetaPlugin *plugin); }; -struct _MutterPluginInfo +struct _MetaPluginInfo { const gchar *name; const gchar *version; @@ -121,18 +121,19 @@ struct _MutterPluginInfo const gchar *description; }; -GType mutter_plugin_get_type (void); +GType meta_plugin_get_type (void); -gulong mutter_plugin_features (MutterPlugin *plugin); -gboolean mutter_plugin_disabled (MutterPlugin *plugin); -gboolean mutter_plugin_running (MutterPlugin *plugin); -gboolean mutter_plugin_debug_mode (MutterPlugin *plugin); -const MutterPluginInfo * mutter_plugin_get_info (MutterPlugin *plugin); +gulong meta_plugin_features (MetaPlugin *plugin); +gboolean meta_plugin_disabled (MetaPlugin *plugin); +gboolean meta_plugin_running (MetaPlugin *plugin); +gboolean meta_plugin_debug_mode (MetaPlugin *plugin); -struct _MutterPluginVersion +const MetaPluginInfo * meta_plugin_get_info (MetaPlugin *plugin); + +struct _MetaPluginVersion { /* - * Version information; the first three numbers match the Mutter version + * Version information; the first three numbers match the Meta version * with which the plugin was compiled (see clutter-plugins/simple.c for sample * code). */ @@ -151,13 +152,13 @@ struct _MutterPluginVersion /* * Convenience macro to set up the plugin type. Based on GEdit. */ -#define MUTTER_PLUGIN_DECLARE(ObjectName, object_name) \ - G_MODULE_EXPORT MutterPluginVersion mutter_plugin_version = \ +#define META_PLUGIN_DECLARE(ObjectName, object_name) \ + G_MODULE_EXPORT MetaPluginVersion meta_plugin_version = \ { \ - MUTTER_MAJOR_VERSION, \ - MUTTER_MINOR_VERSION, \ - MUTTER_MICRO_VERSION, \ - MUTTER_PLUGIN_API_VERSION \ + MUTTER_MAJOR_VERSION, \ + MUTTER_MINOR_VERSION, \ + MUTTER_MICRO_VERSION, \ + MUTTER_PLUGIN_API_VERSION \ }; \ \ static GType g_define_type_id = 0; \ @@ -170,7 +171,7 @@ struct _MutterPluginVersion GType object_name##_register_type (GTypeModule *type_module); \ \ G_MODULE_EXPORT \ - GType mutter_plugin_register_type (GTypeModule *type_module); \ + GType meta_plugin_register_type (GTypeModule *type_module); \ \ GType \ object_name##_get_type () \ @@ -204,7 +205,7 @@ struct _MutterPluginVersion }; \ \ g_define_type_id = g_type_module_register_type (type_module, \ - MUTTER_TYPE_PLUGIN, \ + META_TYPE_PLUGIN, \ #ObjectName, \ &our_info, \ 0); \ @@ -214,59 +215,59 @@ struct _MutterPluginVersion } \ \ G_MODULE_EXPORT GType \ - mutter_plugin_register_type (GTypeModule *type_module) \ + meta_plugin_register_type (GTypeModule *type_module) \ { \ return object_name##_register_type (type_module); \ } \ void -mutter_plugin_switch_workspace_completed (MutterPlugin *plugin); +meta_plugin_switch_workspace_completed (MetaPlugin *plugin); void -mutter_plugin_minimize_completed (MutterPlugin *plugin, - MutterWindow *actor); +meta_plugin_minimize_completed (MetaPlugin *plugin, + MetaWindowActor *actor); void -mutter_plugin_maximize_completed (MutterPlugin *plugin, - MutterWindow *actor); +meta_plugin_maximize_completed (MetaPlugin *plugin, + MetaWindowActor *actor); void -mutter_plugin_unmaximize_completed (MutterPlugin *plugin, - MutterWindow *actor); +meta_plugin_unmaximize_completed (MetaPlugin *plugin, + MetaWindowActor *actor); void -mutter_plugin_map_completed (MutterPlugin *plugin, - MutterWindow *actor); +meta_plugin_map_completed (MetaPlugin *plugin, + MetaWindowActor *actor); void -mutter_plugin_destroy_completed (MutterPlugin *plugin, - MutterWindow *actor); +meta_plugin_destroy_completed (MetaPlugin *plugin, + MetaWindowActor *actor); ClutterActor * -mutter_plugin_get_overlay_group (MutterPlugin *plugin); +meta_plugin_get_overlay_group (MetaPlugin *plugin); ClutterActor * -mutter_plugin_get_window_group (MutterPlugin *plugin); +meta_plugin_get_window_group (MetaPlugin *plugin); ClutterActor * -mutter_plugin_get_stage (MutterPlugin *plugin); +meta_plugin_get_stage (MetaPlugin *plugin); void -mutter_plugin_query_screen_size (MutterPlugin *plugin, - int *width, - int *height); +meta_plugin_query_screen_size (MetaPlugin *plugin, + int *width, + int *height); void -mutter_plugin_set_stage_reactive (MutterPlugin *plugin, - gboolean reactive); +meta_plugin_set_stage_reactive (MetaPlugin *plugin, + gboolean reactive); void -mutter_plugin_set_stage_input_area (MutterPlugin *plugin, - gint x, gint y, gint width, gint height); +meta_plugin_set_stage_input_area (MetaPlugin *plugin, + gint x, gint y, gint width, gint height); void -mutter_plugin_set_stage_input_region (MutterPlugin *plugin, - XserverRegion region); +meta_plugin_set_stage_input_region (MetaPlugin *plugin, + XserverRegion region); /** * MetaModalOptions: @@ -275,7 +276,7 @@ mutter_plugin_set_stage_input_region (MutterPlugin *plugin, * @META_MODAL_KEYBOARD_ALREADY_GRABBED: if set the keyboard is already * grabbed by the plugin and should not be grabbed again. * - * Options that can be provided when calling mutter_plugin_begin_modal(). + * Options that can be provided when calling meta_plugin_begin_modal(). */ typedef enum { META_MODAL_POINTER_ALREADY_GRABBED = 1 << 0, @@ -283,26 +284,21 @@ typedef enum { } MetaModalOptions; gboolean -mutter_plugin_begin_modal (MutterPlugin *plugin, - Window grab_window, - Cursor cursor, - MetaModalOptions options, - guint32 timestamp); +meta_plugin_begin_modal (MetaPlugin *plugin, + Window grab_window, + Cursor cursor, + MetaModalOptions options, + guint32 timestamp); void -mutter_plugin_end_modal (MutterPlugin *plugin, - guint32 timestamp); +meta_plugin_end_modal (MetaPlugin *plugin, + guint32 timestamp); -GList * -mutter_plugin_get_windows (MutterPlugin *plugin); - -Display * -mutter_plugin_get_xdisplay (MutterPlugin *plugin); - -MetaScreen * -mutter_plugin_get_screen (MutterPlugin *plugin); +GList * meta_plugin_get_window_actors (MetaPlugin *plugin); +Display * meta_plugin_get_xdisplay (MetaPlugin *plugin); +MetaScreen *meta_plugin_get_screen (MetaPlugin *plugin); void -_mutter_plugin_effect_started (MutterPlugin *plugin); +_meta_plugin_effect_started (MetaPlugin *plugin); -#endif /* MUTTER_PLUGIN_H_ */ +#endif /* META_PLUGIN_H_ */ diff --git a/src/include/meta-window-actor.h b/src/include/meta-window-actor.h new file mode 100644 index 000000000..b1278bbaf --- /dev/null +++ b/src/include/meta-window-actor.h @@ -0,0 +1,69 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ + +/* + * Copyright (C) 2008 Matthew Allum + * Copyright (C) 2007 Iain Holmes + * Based on xcompmgr - (c) 2003 Keith Packard + * xfwm4 - (c) 2005-2007 Olivier Fourdan + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + */ + +#ifndef META_WINDOW_ACTOR_H_ +#define META_WINDOW_ACTOR_H_ + +#include +#include + +#include "compositor.h" + +/* + * MetaWindowActor object (ClutterGroup sub-class) + */ +#define META_TYPE_WINDOW_ACTOR (meta_window_actor_get_type ()) +#define META_WINDOW_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_WINDOW_ACTOR, MetaWindowActor)) +#define META_WINDOW_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_WINDOW_ACTOR, MetaWindowActorClass)) +#define META_IS_WINDOW_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_WINDOW_ACTOR)) +#define META_IS_WINDOW_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_WINDOW_ACTOR)) +#define META_WINDOW_ACTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_WINDOW_ACTOR, MetaWindowActorClass)) + +typedef struct _MetaWindowActor MetaWindowActor; +typedef struct _MetaWindowActorClass MetaWindowActorClass; +typedef struct _MetaWindowActorPrivate MetaWindowActorPrivate; + +struct _MetaWindowActorClass +{ + ClutterGroupClass parent_class; +}; + +struct _MetaWindowActor +{ + ClutterGroup parent; + + MetaWindowActorPrivate *priv; +}; + +GType meta_window_actor_get_type (void); + +Window meta_window_actor_get_x_window (MetaWindowActor *self); +gint meta_window_actor_get_workspace (MetaWindowActor *self); +MetaWindow * meta_window_actor_get_meta_window (MetaWindowActor *self); +ClutterActor * meta_window_actor_get_texture (MetaWindowActor *self); +gboolean meta_window_actor_is_override_redirect (MetaWindowActor *self); +const char * meta_window_actor_get_description (MetaWindowActor *self); +gboolean meta_window_actor_showing_on_its_workspace (MetaWindowActor *self); + +#endif /* META_WINDOW_ACTOR_H */ diff --git a/src/include/mutter-window.h b/src/include/mutter-window.h deleted file mode 100644 index 49f7f9232..000000000 --- a/src/include/mutter-window.h +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ - -/* - * Copyright (C) 2008 Matthew Allum - * Copyright (C) 2007 Iain Holmes - * Based on xcompmgr - (c) 2003 Keith Packard - * xfwm4 - (c) 2005-2007 Olivier Fourdan - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program 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 - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - */ - -#ifndef MUTTER_WINDOW_H_ -#define MUTTER_WINDOW_H_ - -#include -#include - -#include "compositor.h" - -/* - * MutterWindow object (ClutterGroup sub-class) - */ -#define MUTTER_TYPE_COMP_WINDOW (mutter_window_get_type ()) -#define MUTTER_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MUTTER_TYPE_COMP_WINDOW, MutterWindow)) -#define MUTTER_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MUTTER_TYPE_COMP_WINDOW, MutterWindowClass)) -#define MUTTER_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MUTTER_TYPE_COMP_WINDOW)) -#define MUTTER_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MUTTER_TYPE_COMP_WINDOW)) -#define MUTTER_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MUTTER_TYPE_COMP_WINDOW, MutterWindowClass)) - -typedef struct _MutterWindow MutterWindow; -typedef struct _MutterWindowClass MutterWindowClass; -typedef struct _MutterWindowPrivate MutterWindowPrivate; - -struct _MutterWindowClass -{ - ClutterGroupClass parent_class; -}; - -struct _MutterWindow -{ - ClutterGroup parent; - - MutterWindowPrivate *priv; -}; - -GType mutter_window_get_type (void); - -Window mutter_window_get_x_window (MutterWindow *mcw); -gint mutter_window_get_workspace (MutterWindow *mcw); -gboolean mutter_window_is_hidden (MutterWindow *mcw); -MetaWindow * mutter_window_get_meta_window (MutterWindow *mcw); -ClutterActor * mutter_window_get_texture (MutterWindow *mcw); -gboolean mutter_window_is_override_redirect (MutterWindow *mcw); -const char * mutter_window_get_description (MutterWindow *mcw); -gboolean mutter_window_showing_on_its_workspace (MutterWindow *mcw); - -#endif /* MUTTER_WINDOW_H */