2010-10-18 13:27:14 -04:00
|
|
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
|
|
|
|
|
|
#ifndef META_WINDOW_ACTOR_PRIVATE_H
|
|
|
|
#define META_WINDOW_ACTOR_PRIVATE_H
|
|
|
|
|
|
|
|
#include <X11/extensions/Xdamage.h>
|
2018-07-10 04:36:24 -04:00
|
|
|
|
|
|
|
#include "compositor/meta-plugin-manager.h"
|
|
|
|
#include "compositor/meta-surface-actor.h"
|
|
|
|
#include "meta/compositor-mutter.h"
|
2010-10-18 13:27:14 -04:00
|
|
|
|
2018-12-21 15:12:49 -05:00
|
|
|
struct _MetaWindowActorClass
|
|
|
|
{
|
|
|
|
ClutterActorClass parent;
|
2018-12-21 15:51:02 -05:00
|
|
|
|
|
|
|
void (*frame_complete) (MetaWindowActor *actor,
|
|
|
|
ClutterFrameInfo *frame_info,
|
|
|
|
int64_t presentation_time);
|
|
|
|
|
2019-06-27 13:33:24 -04:00
|
|
|
void (*assign_surface_actor) (MetaWindowActor *actor,
|
|
|
|
MetaSurfaceActor *surface_actor);
|
2018-12-21 15:51:02 -05:00
|
|
|
|
|
|
|
void (*queue_frame_drawn) (MetaWindowActor *actor,
|
|
|
|
gboolean skip_sync_delay);
|
|
|
|
|
|
|
|
void (*pre_paint) (MetaWindowActor *actor);
|
|
|
|
void (*post_paint) (MetaWindowActor *actor);
|
|
|
|
void (*queue_destroy) (MetaWindowActor *actor);
|
2019-12-09 09:06:58 -05:00
|
|
|
void (*set_frozen) (MetaWindowActor *actor,
|
|
|
|
gboolean frozen);
|
2020-03-03 04:26:54 -05:00
|
|
|
void (*update_regions) (MetaWindowActor *actor);
|
2018-12-21 15:12:49 -05:00
|
|
|
};
|
|
|
|
|
2019-05-07 06:08:13 -04:00
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
META_WINDOW_ACTOR_CHANGE_SIZE = 1 << 0,
|
|
|
|
META_WINDOW_ACTOR_CHANGE_POSITION = 1 << 1
|
|
|
|
} MetaWindowActorChanges;
|
|
|
|
|
2017-11-30 22:17:02 -05:00
|
|
|
void meta_window_actor_queue_destroy (MetaWindowActor *self);
|
2010-10-18 13:27:14 -04:00
|
|
|
|
|
|
|
void meta_window_actor_show (MetaWindowActor *self,
|
|
|
|
MetaCompEffect effect);
|
|
|
|
void meta_window_actor_hide (MetaWindowActor *self,
|
|
|
|
MetaCompEffect effect);
|
|
|
|
|
2015-07-06 00:08:08 -04:00
|
|
|
void meta_window_actor_size_change (MetaWindowActor *self,
|
|
|
|
MetaSizeChange which_change,
|
|
|
|
MetaRectangle *old_frame_rect,
|
|
|
|
MetaRectangle *old_buffer_rect);
|
2010-10-18 13:27:14 -04:00
|
|
|
|
|
|
|
void meta_window_actor_pre_paint (MetaWindowActor *self);
|
2011-06-13 18:09:59 -04:00
|
|
|
void meta_window_actor_post_paint (MetaWindowActor *self);
|
2012-11-12 14:11:08 -05:00
|
|
|
void meta_window_actor_frame_complete (MetaWindowActor *self,
|
2016-06-08 01:07:09 -04:00
|
|
|
ClutterFrameInfo *frame_info,
|
2012-11-12 14:11:08 -05:00
|
|
|
gint64 presentation_time);
|
2010-10-18 13:27:14 -04:00
|
|
|
|
|
|
|
gboolean meta_window_actor_effect_in_progress (MetaWindowActor *self);
|
2019-05-07 06:08:13 -04:00
|
|
|
|
|
|
|
MetaWindowActorChanges meta_window_actor_sync_actor_geometry (MetaWindowActor *self,
|
|
|
|
gboolean did_placement);
|
|
|
|
|
2010-10-18 13:27:14 -04:00
|
|
|
void meta_window_actor_update_opacity (MetaWindowActor *self);
|
|
|
|
void meta_window_actor_mapped (MetaWindowActor *self);
|
|
|
|
void meta_window_actor_unmapped (MetaWindowActor *self);
|
2014-06-17 13:06:10 -04:00
|
|
|
void meta_window_actor_sync_updates_frozen (MetaWindowActor *self);
|
2013-02-14 13:40:55 -05:00
|
|
|
void meta_window_actor_queue_frame_drawn (MetaWindowActor *self,
|
|
|
|
gboolean no_delay_frame);
|
2010-10-18 13:27:14 -04:00
|
|
|
|
2015-07-05 23:58:40 -04:00
|
|
|
void meta_window_actor_effect_completed (MetaWindowActor *actor,
|
|
|
|
MetaPluginEffect event);
|
2010-10-18 13:27:14 -04:00
|
|
|
|
2013-10-13 07:47:53 -04:00
|
|
|
MetaSurfaceActor *meta_window_actor_get_surface (MetaWindowActor *self);
|
2019-06-27 13:33:24 -04:00
|
|
|
|
|
|
|
void meta_window_actor_assign_surface_actor (MetaWindowActor *self,
|
|
|
|
MetaSurfaceActor *surface_actor);
|
|
|
|
|
2018-04-04 04:10:32 -04:00
|
|
|
MetaWindowActor *meta_window_actor_from_window (MetaWindow *window);
|
2019-06-13 14:16:37 -04:00
|
|
|
MetaWindowActor *meta_window_actor_from_actor (ClutterActor *actor);
|
2013-10-13 07:47:53 -04:00
|
|
|
|
2019-07-12 13:33:17 -04:00
|
|
|
void meta_window_actor_set_geometry_scale (MetaWindowActor *window_actor,
|
|
|
|
int geometry_scale);
|
|
|
|
|
|
|
|
int meta_window_actor_get_geometry_scale (MetaWindowActor *window_actor);
|
|
|
|
|
2019-08-26 09:09:53 -04:00
|
|
|
void meta_window_actor_notify_damaged (MetaWindowActor *window_actor);
|
|
|
|
|
2019-08-17 04:00:46 -04:00
|
|
|
gboolean meta_window_actor_is_frozen (MetaWindowActor *self);
|
|
|
|
|
|
|
|
gboolean meta_window_actor_is_opaque (MetaWindowActor *self);
|
|
|
|
|
2020-03-03 04:26:54 -05:00
|
|
|
void meta_window_actor_update_regions (MetaWindowActor *self);
|
|
|
|
|
2010-10-18 13:27:14 -04:00
|
|
|
#endif /* META_WINDOW_ACTOR_PRIVATE_H */
|