mirror of
https://github.com/brl/mutter.git
synced 2024-11-13 09:46:08 -05:00
d900d83522
We do, in fact, need freezing to affect window geometry, so that move-resize operations (such as an interactive resize from the left, or a resize of a popup centered by the application) occur atomically. So to make map effects work properly, only exclude the initial placement of a window from freezing. (In the future, we may want to consider whether pure moves of a window being done in response to a user drag should also be excluded from freezing.) Rename meta_window_sync_actor_position() to meta_window_sync_actor_geometry() for clarity. https://bugzilla.gnome.org/show_bug.cgi?id=693922
70 lines
3.2 KiB
C
70 lines
3.2 KiB
C
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
|
|
#ifndef META_WINDOW_ACTOR_PRIVATE_H
|
|
#define META_WINDOW_ACTOR_PRIVATE_H
|
|
|
|
#include <config.h>
|
|
|
|
#include <X11/extensions/Xdamage.h>
|
|
#include <meta/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);
|
|
void meta_window_actor_post_paint (MetaWindowActor *self);
|
|
void meta_window_actor_frame_complete (MetaWindowActor *self,
|
|
CoglFrameInfo *frame_info,
|
|
gint64 presentation_time);
|
|
|
|
void meta_window_actor_invalidate_shadow (MetaWindowActor *self);
|
|
|
|
void meta_window_actor_set_redirected (MetaWindowActor *self, gboolean state);
|
|
|
|
gboolean meta_window_actor_should_unredirect (MetaWindowActor *self);
|
|
|
|
void meta_window_actor_get_shape_bounds (MetaWindowActor *self,
|
|
cairo_rectangle_int_t *bounds);
|
|
|
|
gboolean meta_window_actor_effect_in_progress (MetaWindowActor *self);
|
|
void meta_window_actor_sync_actor_geometry (MetaWindowActor *self,
|
|
gboolean did_placement);
|
|
void meta_window_actor_sync_visibility (MetaWindowActor *self);
|
|
void meta_window_actor_update_shape (MetaWindowActor *self);
|
|
void meta_window_actor_update_opacity (MetaWindowActor *self);
|
|
void meta_window_actor_mapped (MetaWindowActor *self);
|
|
void meta_window_actor_unmapped (MetaWindowActor *self);
|
|
void meta_window_actor_set_updates_frozen (MetaWindowActor *self,
|
|
gboolean updates_frozen);
|
|
void meta_window_actor_queue_frame_drawn (MetaWindowActor *self,
|
|
gboolean no_delay_frame);
|
|
|
|
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 */
|