Go to the source code of this file.
Data Structures | |
| struct | _MetaCompositorXRender |
| struct | _conv |
| struct | _shadow |
| struct | _MetaCompScreen |
| struct | _MetaCompWindow |
Defines | |
| #define | _GNU_SOURCE |
| #define | _XOPEN_SOURCE 500 |
| #define | USE_IDLE_REPAINT 1 |
| #define | have_name_window_pixmap(display) composite_at_least_version (display, 0, 2) |
| #define | have_cow(display) composite_at_least_version (display, 0, 3) |
| #define | OPAQUE 0xffffffff |
| #define | WINDOW_SOLID 0 |
| #define | WINDOW_ARGB 1 |
| #define | SHADOW_SMALL_RADIUS 3.0 |
| #define | SHADOW_MEDIUM_RADIUS 6.0 |
| #define | SHADOW_LARGE_RADIUS 12.0 |
| #define | SHADOW_SMALL_OFFSET_X (SHADOW_SMALL_RADIUS * -3 / 2) |
| #define | SHADOW_SMALL_OFFSET_Y (SHADOW_SMALL_RADIUS * -3 / 2) |
| #define | SHADOW_MEDIUM_OFFSET_X (SHADOW_MEDIUM_RADIUS * -3 / 2) |
| #define | SHADOW_MEDIUM_OFFSET_Y (SHADOW_MEDIUM_RADIUS * -5 / 4) |
| #define | SHADOW_LARGE_OFFSET_X -15 |
| #define | SHADOW_LARGE_OFFSET_Y -15 |
| #define | SHADOW_OPACITY 0.66 |
| #define | TRANS_OPACITY 0.75 |
| #define | DISPLAY_COMPOSITOR(display) ((MetaCompositorXRender *) meta_display_get_compositor (display)) |
Typedefs | |
| typedef enum _MetaCompWindowType | MetaCompWindowType |
| typedef enum _MetaShadowType | MetaShadowType |
| typedef struct _MetaCompositorXRender | MetaCompositorXRender |
| typedef struct _conv | conv |
| typedef struct _shadow | shadow |
| typedef struct _MetaCompScreen | MetaCompScreen |
| typedef struct _MetaCompWindow | MetaCompWindow |
Enumerations | |
| enum | _MetaCompWindowType { META_COMP_WINDOW_NORMAL, META_COMP_WINDOW_DND, META_COMP_WINDOW_DESKTOP, META_COMP_WINDOW_DOCK, META_COMP_WINDOW_MENU, META_COMP_WINDOW_DROP_DOWN_MENU, META_COMP_WINDOW_TOOLTIP } |
| enum | _MetaShadowType { META_SHADOW_SMALL, META_SHADOW_MEDIUM, META_SHADOW_LARGE, LAST_SHADOW_TYPE } |
Functions | |
| static gboolean | composite_at_least_version (MetaDisplay *display, int maj, int min) |
| static double | gaussian (double r, double x, double y) |
| static conv * | make_gaussian_map (double r) |
| static void | dump_xserver_region (const char *location, MetaDisplay *display, XserverRegion region) |
| static guchar | sum_gaussian (conv *map, double opacity, int x, int y, int width, int height) |
| static void | presum_gaussian (shadow *shad) |
| static void | generate_shadows (MetaCompScreen *info) |
| static XImage * | make_shadow (MetaDisplay *display, MetaScreen *screen, MetaShadowType shadow_type, double opacity, int width, int height) |
| static Picture | shadow_picture (MetaDisplay *display, MetaScreen *screen, MetaShadowType shadow_type, double opacity, Picture alpha_pict, int width, int height, int *wp, int *hp) |
| static MetaCompWindow * | find_window_for_screen (MetaScreen *screen, Window xwindow) |
| static MetaCompWindow * | find_window_in_display (MetaDisplay *display, Window xwindow) |
| static MetaCompWindow * | find_window_for_child_window_in_display (MetaDisplay *display, Window xwindow) |
| static Picture | solid_picture (MetaDisplay *display, MetaScreen *screen, gboolean argb, double a, double r, double g, double b) |
| static Picture | root_tile (MetaScreen *screen) |
| static Picture | create_root_buffer (MetaScreen *screen) |
| static void | paint_root (MetaScreen *screen, Picture root_buffer) |
| static gboolean | window_has_shadow (MetaCompWindow *cw) |
| static XserverRegion | win_extents (MetaCompWindow *cw) |
| static XserverRegion | border_size (MetaCompWindow *cw) |
| static XRenderPictFormat * | get_window_format (MetaCompWindow *cw) |
| static Picture | get_window_picture (MetaCompWindow *cw) |
| static void | paint_dock_shadows (MetaScreen *screen, Picture root_buffer, XserverRegion region) |
| static void | paint_windows (MetaScreen *screen, GList *windows, Picture root_buffer, XserverRegion region) |
| static void | paint_all (MetaScreen *screen, XserverRegion region) |
| static void | repair_screen (MetaScreen *screen) |
| static void | repair_display (MetaDisplay *display) |
| static gboolean | compositor_idle_cb (gpointer data) |
| static void | add_repair (MetaDisplay *display) |
| static void | add_damage (MetaScreen *screen, XserverRegion damage) |
| static void | damage_screen (MetaScreen *screen) |
| static void | repair_win (MetaCompWindow *cw) |
| static void | free_win (MetaCompWindow *cw, gboolean destroy) |
| static void | map_win (MetaDisplay *display, MetaScreen *screen, Window id) |
| static void | unmap_win (MetaDisplay *display, MetaScreen *screen, Window id) |
| static void | determine_mode (MetaDisplay *display, MetaScreen *screen, MetaCompWindow *cw) |
| static gboolean | is_shaped (MetaDisplay *display, Window xwindow) |
| static void | get_window_type (MetaDisplay *display, MetaCompWindow *cw) |
| static void | add_win (MetaScreen *screen, MetaWindow *window, Window xwindow) |
| static void | destroy_win (MetaDisplay *display, Window xwindow, gboolean gone) |
| static void | restack_win (MetaCompWindow *cw, Window above) |
| static void | resize_win (MetaCompWindow *cw, int x, int y, int width, int height, int border_width, gboolean override_redirect) |
| static void | process_circulate_notify (MetaCompositorXRender *compositor, XCirculateEvent *event) |
| static void | process_configure_notify (MetaCompositorXRender *compositor, XConfigureEvent *event) |
| static void | process_property_notify (MetaCompositorXRender *compositor, XPropertyEvent *event) |
| static void | expose_area (MetaScreen *screen, XRectangle *rects, int nrects) |
| static void | process_expose (MetaCompositorXRender *compositor, XExposeEvent *event) |
| static void | process_unmap (MetaCompositorXRender *compositor, XUnmapEvent *event) |
| static void | process_map (MetaCompositorXRender *compositor, XMapEvent *event) |
| static void | process_reparent (MetaCompositorXRender *compositor, XReparentEvent *event, MetaWindow *window) |
| static void | process_create (MetaCompositorXRender *compositor, XCreateWindowEvent *event, MetaWindow *window) |
| static void | process_destroy (MetaCompositorXRender *compositor, XDestroyWindowEvent *event) |
| static void | process_damage (MetaCompositorXRender *compositor, XDamageNotifyEvent *event) |
| static void | process_shape (MetaCompositorXRender *compositor, XShapeEvent *event) |
| static int | timeout_debug (MetaCompositorXRender *compositor) |
| static void | xrender_add_window (MetaCompositor *compositor, MetaWindow *window, Window xwindow, XWindowAttributes *attrs) |
| static void | xrender_remove_window (MetaCompositor *compositor, Window xwindow) |
| static void | show_overlay_window (MetaScreen *screen, Window cow) |
| static void | hide_overlay_window (MetaScreen *screen, Window cow) |
| static Window | get_output_window (MetaScreen *screen) |
| static void | xrender_manage_screen (MetaCompositor *compositor, MetaScreen *screen) |
| static void | xrender_unmanage_screen (MetaCompositor *compositor, MetaScreen *screen) |
| static void | xrender_set_updates (MetaCompositor *compositor, MetaWindow *window, gboolean updates) |
| static void | xrender_destroy (MetaCompositor *compositor) |
| static void | xrender_process_event (MetaCompositor *compositor, XEvent *event, MetaWindow *window) |
| static Pixmap | xrender_get_window_pixmap (MetaCompositor *compositor, MetaWindow *window) |
| static void | xrender_set_active_window (MetaCompositor *compositor, MetaScreen *screen, MetaWindow *window) |
| MetaCompositor * | meta_compositor_xrender_new (MetaDisplay *display) |
Variables | |
| double | shadow_offsets_x [LAST_SHADOW_TYPE] |
| double | shadow_offsets_y [LAST_SHADOW_TYPE] |
| static MetaCompositor | comp_info |
| #define _GNU_SOURCE |
Definition at line 24 of file compositor-xrender.c.
| #define _XOPEN_SOURCE 500 |
Definition at line 25 of file compositor-xrender.c.
| #define DISPLAY_COMPOSITOR | ( | display | ) | ((MetaCompositorXRender *) meta_display_get_compositor (display)) |
Definition at line 243 of file compositor-xrender.c.
Referenced by add_repair(), dump_xserver_region(), get_window_type(), paint_all(), repair_display(), resize_win(), and root_tile().
| #define have_cow | ( | display | ) | composite_at_least_version (display, 0, 3) |
Definition at line 79 of file compositor-xrender.c.
Referenced by get_output_window(), and show_overlay_window().
| #define have_name_window_pixmap | ( | display | ) | composite_at_least_version (display, 0, 2) |
Definition at line 77 of file compositor-xrender.c.
Referenced by free_win(), get_window_picture(), paint_windows(), resize_win(), and xrender_get_window_pixmap().
| #define OPAQUE 0xffffffff |
Definition at line 223 of file compositor-xrender.c.
Referenced by add_win(), determine_mode(), paint_windows(), process_property_notify(), and win_extents().
| #define SHADOW_LARGE_OFFSET_X -15 |
Definition at line 236 of file compositor-xrender.c.
| #define SHADOW_LARGE_OFFSET_Y -15 |
Definition at line 237 of file compositor-xrender.c.
| #define SHADOW_LARGE_RADIUS 12.0 |
| #define SHADOW_MEDIUM_OFFSET_X (SHADOW_MEDIUM_RADIUS * -3 / 2) |
Definition at line 234 of file compositor-xrender.c.
| #define SHADOW_MEDIUM_OFFSET_Y (SHADOW_MEDIUM_RADIUS * -5 / 4) |
Definition at line 235 of file compositor-xrender.c.
| #define SHADOW_MEDIUM_RADIUS 6.0 |
| #define SHADOW_OPACITY 0.66 |
| #define SHADOW_SMALL_OFFSET_X (SHADOW_SMALL_RADIUS * -3 / 2) |
Definition at line 232 of file compositor-xrender.c.
| #define SHADOW_SMALL_OFFSET_Y (SHADOW_SMALL_RADIUS * -3 / 2) |
Definition at line 233 of file compositor-xrender.c.
| #define SHADOW_SMALL_RADIUS 3.0 |
| #define TRANS_OPACITY 0.75 |
Definition at line 241 of file compositor-xrender.c.
| #define USE_IDLE_REPAINT 1 |
Definition at line 61 of file compositor-xrender.c.
| #define WINDOW_ARGB 1 |
Definition at line 226 of file compositor-xrender.c.
Referenced by determine_mode(), paint_windows(), and window_has_shadow().
| #define WINDOW_SOLID 0 |
Definition at line 225 of file compositor-xrender.c.
Referenced by determine_mode(), and paint_windows().
| typedef struct _MetaCompositorXRender MetaCompositorXRender |
| typedef struct _MetaCompScreen MetaCompScreen |
| typedef struct _MetaCompWindow MetaCompWindow |
| typedef enum _MetaCompWindowType MetaCompWindowType |
| typedef enum _MetaShadowType MetaShadowType |
| enum _MetaCompWindowType |
| META_COMP_WINDOW_NORMAL | |
| META_COMP_WINDOW_DND | |
| META_COMP_WINDOW_DESKTOP | |
| META_COMP_WINDOW_DOCK | |
| META_COMP_WINDOW_MENU | |
| META_COMP_WINDOW_DROP_DOWN_MENU | |
| META_COMP_WINDOW_TOOLTIP |
Definition at line 84 of file compositor-xrender.c.
| enum _MetaShadowType |
Definition at line 95 of file compositor-xrender.c.
| static void add_damage | ( | MetaScreen * | screen, | |
| XserverRegion | damage | |||
| ) | [static] |
Definition at line 1460 of file compositor-xrender.c.
References add_repair(), _MetaCompScreen::all_damage, meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_display(), and NULL.
Referenced by damage_screen(), destroy_win(), determine_mode(), expose_area(), repair_win(), resize_win(), unmap_win(), and xrender_set_active_window().
| static void add_repair | ( | MetaDisplay * | display | ) | [static] |
Definition at line 1439 of file compositor-xrender.c.
References compositor_idle_cb(), DISPLAY_COMPOSITOR, NULL, and _MetaCompositorXRender::repaint_id.
Referenced by add_damage(), process_circulate_notify(), process_damage(), process_property_notify(), and xrender_set_active_window().
| static void add_win | ( | MetaScreen * | screen, | |
| MetaWindow * | window, | |||
| Window | xwindow | |||
| ) | [static] |
Definition at line 1801 of file compositor-xrender.c.
References _MetaCompWindow::alpha_pict, _MetaCompWindow::attrs, _MetaCompWindow::border_clip, _MetaCompWindow::border_size, _MetaCompWindow::damage, _MetaCompWindow::damaged, determine_mode(), _MetaCompScreen::dock_windows, _MetaCompWindow::extents, FALSE, get_window_type(), _MetaCompWindow::id, is_shaped(), map_win(), META_COMP_WINDOW_DOCK, meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_display(), META_SHADOW_LARGE, META_SHADOW_MEDIUM, meta_window_has_focus(), _MetaCompWindow::needs_shadow, NULL, _MetaCompWindow::opacity, OPAQUE, _MetaCompScreen::output, _MetaCompWindow::screen, _MetaCompWindow::shadow, _MetaCompWindow::shadow_dx, _MetaCompWindow::shadow_dy, _MetaCompWindow::shadow_height, _MetaCompWindow::shadow_pict, _MetaCompWindow::shadow_type, _MetaCompWindow::shadow_width, _MetaCompWindow::shaped, _MetaCompWindow::type, _MetaCompWindow::window, window_has_shadow(), _MetaCompScreen::windows, and _MetaCompScreen::windows_by_xid.
Referenced by process_create(), process_reparent(), and xrender_add_window().
| static XserverRegion border_size | ( | MetaCompWindow * | cw | ) | [static] |
Definition at line 1006 of file compositor-xrender.c.
References _MetaCompWindow::attrs, FALSE, _MetaCompWindow::id, meta_display_get_xdisplay(), meta_error_trap_pop(), meta_error_trap_push(), meta_screen_get_display(), _MetaCompWindow::screen, and screen.
Referenced by paint_windows().
| static gboolean composite_at_least_version | ( | MetaDisplay * | display, | |
| int | maj, | |||
| int | min | |||
| ) | [inline, static] |
Definition at line 65 of file compositor-xrender.c.
References meta_display_get_compositor_version().
| static gboolean compositor_idle_cb | ( | gpointer | data | ) | [static] |
Definition at line 1428 of file compositor-xrender.c.
References _MetaCompositorXRender::display, FALSE, _MetaCompositorXRender::repaint_id, and repair_display().
Referenced by add_repair().
| static Picture create_root_buffer | ( | MetaScreen * | screen | ) | [static] |
Definition at line 826 of file compositor-xrender.c.
References meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_display(), meta_screen_get_screen_number(), meta_screen_get_size(), NULL, _MetaCompScreen::output, screen_height, and screen_width.
Referenced by paint_all().
| static void damage_screen | ( | MetaScreen * | screen | ) | [static] |
Definition at line 1483 of file compositor-xrender.c.
References add_damage(), dump_xserver_region(), meta_display_get_xdisplay(), meta_screen_get_display(), and meta_screen_get_size().
Referenced by process_configure_notify(), process_property_notify(), and show_overlay_window().
| static void destroy_win | ( | MetaDisplay * | display, | |
| Window | xwindow, | |||
| gboolean | gone | |||
| ) | [static] |
Definition at line 1888 of file compositor-xrender.c.
References add_damage(), dump_xserver_region(), _MetaCompWindow::extents, find_window_in_display(), free_win(), meta_screen_get_compositor_data(), NULL, _MetaCompWindow::screen, screen, TRUE, _MetaCompScreen::windows, and _MetaCompScreen::windows_by_xid.
Referenced by process_destroy(), and process_reparent().
| static void determine_mode | ( | MetaDisplay * | display, | |
| MetaScreen * | screen, | |||
| MetaCompWindow * | cw | |||
| ) | [static] |
Definition at line 1682 of file compositor-xrender.c.
References add_damage(), _MetaCompWindow::alpha_pict, _MetaCompWindow::attrs, dump_xserver_region(), _MetaCompWindow::extents, meta_display_get_xdisplay(), _MetaCompWindow::mode, NULL, _MetaCompWindow::opacity, OPAQUE, _MetaCompWindow::shadow_pict, WINDOW_ARGB, and WINDOW_SOLID.
Referenced by add_win(), process_property_notify(), and xrender_set_active_window().
| static void dump_xserver_region | ( | const char * | location, | |
| MetaDisplay * | display, | |||
| XserverRegion | region | |||
| ) | [static] |
Definition at line 292 of file compositor-xrender.c.
References _MetaCompositorXRender::debug, DISPLAY_COMPOSITOR, and meta_display_get_xdisplay().
Referenced by damage_screen(), destroy_win(), determine_mode(), expose_area(), paint_all(), process_configure_notify(), repair_win(), resize_win(), unmap_win(), and xrender_set_active_window().
| static void expose_area | ( | MetaScreen * | screen, | |
| XRectangle * | rects, | |||
| int | nrects | |||
| ) | [static] |
Definition at line 2290 of file compositor-xrender.c.
References add_damage(), dump_xserver_region(), meta_display_get_xdisplay(), and meta_screen_get_display().
Referenced by process_expose().
| static MetaCompWindow* find_window_for_child_window_in_display | ( | MetaDisplay * | display, | |
| Window | xwindow | |||
| ) | [static] |
Definition at line 688 of file compositor-xrender.c.
References find_window_in_display(), meta_display_get_xdisplay(), and NULL.
Referenced by process_property_notify().
| static MetaCompWindow* find_window_for_screen | ( | MetaScreen * | screen, | |
| Window | xwindow | |||
| ) | [static] |
Definition at line 659 of file compositor-xrender.c.
References meta_screen_get_compositor_data(), NULL, and _MetaCompScreen::windows_by_xid.
Referenced by find_window_in_display(), map_win(), unmap_win(), xrender_get_window_pixmap(), and xrender_set_active_window().
| static MetaCompWindow* find_window_in_display | ( | MetaDisplay * | display, | |
| Window | xwindow | |||
| ) | [static] |
Definition at line 671 of file compositor-xrender.c.
References find_window_for_screen(), meta_display_get_screens(), and NULL.
Referenced by destroy_win(), find_window_for_child_window_in_display(), process_circulate_notify(), process_configure_notify(), process_create(), process_damage(), process_expose(), process_map(), process_property_notify(), process_shape(), and process_unmap().
| static void free_win | ( | MetaCompWindow * | cw, | |
| gboolean | destroy | |||
| ) | [static] |
Definition at line 1533 of file compositor-xrender.c.
References _MetaCompWindow::alpha_pict, _MetaCompWindow::border_clip, _MetaCompWindow::border_size, _MetaCompWindow::damage, _MetaCompScreen::dock_windows, _MetaCompWindow::extents, FALSE, have_name_window_pixmap, META_COMP_WINDOW_DOCK, meta_display_get_xdisplay(), meta_error_trap_pop(), meta_error_trap_push(), meta_screen_get_compositor_data(), meta_screen_get_display(), NULL, _MetaCompWindow::picture, _MetaCompWindow::screen, _MetaCompWindow::shadow, _MetaCompWindow::shadow_pict, and _MetaCompWindow::type.
Referenced by destroy_win(), unmap_win(), and xrender_unmanage_screen().
| static double gaussian | ( | double | r, | |
| double | x, | |||
| double | y | |||
| ) | [static] |
| static void generate_shadows | ( | MetaCompScreen * | info | ) | [static] |
Definition at line 452 of file compositor-xrender.c.
References _shadow::gaussian_map, LAST_SHADOW_TYPE, make_gaussian_map(), presum_gaussian(), SHADOW_LARGE_RADIUS, SHADOW_MEDIUM_RADIUS, SHADOW_SMALL_RADIUS, and _MetaCompScreen::shadows.
Referenced by xrender_manage_screen().
| static Window get_output_window | ( | MetaScreen * | screen | ) | [static] |
Definition at line 2517 of file compositor-xrender.c.
References have_cow, meta_display_get_xdisplay(), meta_screen_get_display(), and meta_screen_get_xroot().
Referenced by xrender_manage_screen().
| static XRenderPictFormat* get_window_format | ( | MetaCompWindow * | cw | ) | [static] |
Definition at line 1026 of file compositor-xrender.c.
References _MetaCompWindow::attrs, meta_display_get_xdisplay(), meta_screen_get_display(), meta_screen_get_screen_number(), _MetaCompWindow::screen, and screen.
Referenced by get_window_picture().
| static Picture get_window_picture | ( | MetaCompWindow * | cw | ) | [static] |
Definition at line 1042 of file compositor-xrender.c.
References FALSE, get_window_format(), have_name_window_pixmap, _MetaCompWindow::id, meta_display_get_xdisplay(), meta_error_trap_pop(), meta_error_trap_push(), meta_screen_get_display(), _MetaCompWindow::screen, and screen.
Referenced by paint_windows().
| static void get_window_type | ( | MetaDisplay * | display, | |
| MetaCompWindow * | cw | |||
| ) | [static] |
Definition at line 1744 of file compositor-xrender.c.
References _MetaCompositorXRender::atom_net_wm_window_type, _MetaCompositorXRender::atom_net_wm_window_type_desktop, _MetaCompositorXRender::atom_net_wm_window_type_dialog, _MetaCompositorXRender::atom_net_wm_window_type_dnd, _MetaCompositorXRender::atom_net_wm_window_type_dock, _MetaCompositorXRender::atom_net_wm_window_type_dropdown_menu, _MetaCompositorXRender::atom_net_wm_window_type_menu, _MetaCompositorXRender::atom_net_wm_window_type_normal, _MetaCompositorXRender::atom_net_wm_window_type_splash, _MetaCompositorXRender::atom_net_wm_window_type_toolbar, _MetaCompositorXRender::atom_net_wm_window_type_tooltip, _MetaCompositorXRender::atom_net_wm_window_type_utility, DISPLAY_COMPOSITOR, _MetaCompWindow::id, META_COMP_WINDOW_DESKTOP, META_COMP_WINDOW_DND, META_COMP_WINDOW_DOCK, META_COMP_WINDOW_DROP_DOWN_MENU, META_COMP_WINDOW_MENU, META_COMP_WINDOW_NORMAL, META_COMP_WINDOW_TOOLTIP, meta_prop_get_atom_list(), meta_XFree, NULL, and _MetaCompWindow::type.
Referenced by add_win(), and process_property_notify().
| static void hide_overlay_window | ( | MetaScreen * | screen, | |
| Window | cow | |||
| ) | [static] |
Definition at line 2502 of file compositor-xrender.c.
References meta_display_get_xdisplay(), meta_screen_get_display(), and NULL.
Referenced by xrender_unmanage_screen().
| static gboolean is_shaped | ( | MetaDisplay * | display, | |
| Window | xwindow | |||
| ) | [static] |
Definition at line 1724 of file compositor-xrender.c.
References FALSE, meta_display_get_xdisplay(), and meta_display_has_shape().
Referenced by add_win().
| static conv* make_gaussian_map | ( | double | r | ) | [static] |
Definition at line 256 of file compositor-xrender.c.
References _conv::data, gaussian(), and _conv::size.
Referenced by generate_shadows().
| static XImage* make_shadow | ( | MetaDisplay * | display, | |
| MetaScreen * | screen, | |||
| MetaShadowType | shadow_type, | |||
| double | opacity, | |||
| int | width, | |||
| int | height | |||
| ) | [static] |
Definition at line 470 of file compositor-xrender.c.
References _shadow::gaussian_map, meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_screen_number(), NULL, _shadow::shadow_corner, _shadow::shadow_top, _MetaCompScreen::shadows, _conv::size, and sum_gaussian().
Referenced by shadow_picture().
| static void map_win | ( | MetaDisplay * | display, | |
| MetaScreen * | screen, | |||
| Window | id | |||
| ) | [static] |
Definition at line 1620 of file compositor-xrender.c.
References _MetaCompWindow::attrs, _MetaCompWindow::damaged, FALSE, find_window_for_screen(), meta_display_get_xdisplay(), and NULL.
Referenced by add_win(), and process_map().
| MetaCompositor* meta_compositor_xrender_new | ( | MetaDisplay * | display | ) |
Definition at line 3009 of file compositor-xrender.c.
References _MetaCompositorXRender::atom_net_wm_window_opacity, _MetaCompositorXRender::atom_net_wm_window_type, _MetaCompositorXRender::atom_net_wm_window_type_desktop, _MetaCompositorXRender::atom_net_wm_window_type_dialog, _MetaCompositorXRender::atom_net_wm_window_type_dnd, _MetaCompositorXRender::atom_net_wm_window_type_dock, _MetaCompositorXRender::atom_net_wm_window_type_dropdown_menu, _MetaCompositorXRender::atom_net_wm_window_type_menu, _MetaCompositorXRender::atom_net_wm_window_type_normal, _MetaCompositorXRender::atom_net_wm_window_type_splash, _MetaCompositorXRender::atom_net_wm_window_type_toolbar, _MetaCompositorXRender::atom_net_wm_window_type_tooltip, _MetaCompositorXRender::atom_net_wm_window_type_utility, _MetaCompositorXRender::atom_x_root_pixmap, _MetaCompositorXRender::atom_x_set_root, _MetaCompositorXRender::compositor, _MetaCompositorXRender::display, _MetaCompositorXRender::enabled, meta_display_get_xdisplay(), NULL, _MetaCompositorXRender::repaint_id, timeout_debug(), and TRUE.
Referenced by meta_compositor_new().
| static void paint_all | ( | MetaScreen * | screen, | |
| XserverRegion | region | |||
| ) | [static] |
Definition at line 1347 of file compositor-xrender.c.
References create_root_buffer(), DISPLAY_COMPOSITOR, dump_xserver_region(), meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_display(), meta_screen_get_size(), paint_windows(), _MetaCompScreen::root_buffer, _MetaCompScreen::root_picture, screen_height, screen_width, solid_picture(), TRUE, and _MetaCompScreen::windows.
Referenced by repair_screen().
| static void paint_dock_shadows | ( | MetaScreen * | screen, | |
| Picture | root_buffer, | |||
| XserverRegion | region | |||
| ) | [static] |
Definition at line 1084 of file compositor-xrender.c.
References _MetaCompWindow::attrs, _MetaCompScreen::black_picture, _MetaCompWindow::border_clip, _MetaCompScreen::dock_windows, meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_display(), NULL, _MetaCompWindow::shadow, _MetaCompWindow::shadow_dx, _MetaCompWindow::shadow_dy, _MetaCompWindow::shadow_height, and _MetaCompWindow::shadow_width.
Referenced by paint_windows().
| static void paint_root | ( | MetaScreen * | screen, | |
| Picture | root_buffer | |||
| ) | [static] |
Definition at line 861 of file compositor-xrender.c.
References meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_display(), meta_screen_get_size(), NULL, root_tile(), and _MetaCompScreen::root_tile.
Referenced by paint_windows().
| static void paint_windows | ( | MetaScreen * | screen, | |
| GList * | windows, | |||
| Picture | root_buffer, | |||
| XserverRegion | region | |||
| ) | [static] |
Definition at line 1123 of file compositor-xrender.c.
References _MetaCompWindow::alpha_pict, _MetaCompWindow::attrs, _MetaCompScreen::black_picture, _MetaCompWindow::border_clip, border_size(), _MetaCompWindow::border_size, _MetaCompScreen::clip_changed, _MetaCompWindow::damaged, _MetaCompWindow::extents, FALSE, get_window_picture(), have_name_window_pixmap, META_COMP_WINDOW_DESKTOP, META_COMP_WINDOW_DOCK, meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_display(), meta_screen_get_screen_number(), meta_screen_get_size(), meta_screen_get_xroot(), _MetaCompWindow::mode, NULL, _MetaCompWindow::opacity, OPAQUE, paint_dock_shadows(), paint_root(), _MetaCompWindow::picture, screen_height, screen_width, _MetaCompWindow::shadow, _MetaCompWindow::shadow_dx, _MetaCompWindow::shadow_dy, _MetaCompWindow::shadow_height, _MetaCompWindow::shadow_width, solid_picture(), _MetaCompWindow::type, win_extents(), WINDOW_ARGB, and WINDOW_SOLID.
Referenced by paint_all().
| static void presum_gaussian | ( | shadow * | shad | ) | [static] |
Definition at line 395 of file compositor-xrender.c.
References _shadow::gaussian_map, _shadow::shadow_corner, _shadow::shadow_top, _conv::size, and sum_gaussian().
Referenced by generate_shadows().
| static void process_circulate_notify | ( | MetaCompositorXRender * | compositor, | |
| XCirculateEvent * | event | |||
| ) | [static] |
Definition at line 2094 of file compositor-xrender.c.
References add_repair(), _MetaCompScreen::clip_changed, _MetaCompositorXRender::display, find_window_in_display(), _MetaCompWindow::id, meta_screen_get_compositor_data(), NULL, restack_win(), _MetaCompWindow::screen, screen, TRUE, and _MetaCompScreen::windows.
Referenced by xrender_process_event().
| static void process_configure_notify | ( | MetaCompositorXRender * | compositor, | |
| XConfigureEvent * | event | |||
| ) | [static] |
Definition at line 2130 of file compositor-xrender.c.
References damage_screen(), _MetaCompWindow::damaged, _MetaCompositorXRender::debug, _MetaCompositorXRender::display, dump_xserver_region(), _MetaCompWindow::extents, find_window_in_display(), _MetaRectangle::height, meta_display_get_xdisplay(), meta_display_screen_for_root(), meta_screen_get_compositor_data(), meta_window_get_rect(), _MetaCompWindow::needs_shadow, NULL, resize_win(), restack_win(), _MetaCompScreen::root_buffer, screen, _MetaCompWindow::shaped, _MetaRectangle::width, _MetaCompWindow::window, _MetaRectangle::x, and _MetaRectangle::y.
Referenced by xrender_process_event().
| static void process_create | ( | MetaCompositorXRender * | compositor, | |
| XCreateWindowEvent * | event, | |||
| MetaWindow * | window | |||
| ) | [static] |
Definition at line 2380 of file compositor-xrender.c.
References add_win(), _MetaCompositorXRender::display, find_window_in_display(), meta_display_screen_for_root(), NULL, and screen.
Referenced by xrender_process_event().
| static void process_damage | ( | MetaCompositorXRender * | compositor, | |
| XDamageNotifyEvent * | event | |||
| ) | [static] |
Definition at line 2404 of file compositor-xrender.c.
References add_repair(), _MetaCompositorXRender::display, FALSE, find_window_in_display(), NULL, and repair_win().
Referenced by xrender_process_event().
| static void process_destroy | ( | MetaCompositorXRender * | compositor, | |
| XDestroyWindowEvent * | event | |||
| ) | [static] |
Definition at line 2397 of file compositor-xrender.c.
References destroy_win(), _MetaCompositorXRender::display, and FALSE.
Referenced by xrender_process_event().
| static void process_expose | ( | MetaCompositorXRender * | compositor, | |
| XExposeEvent * | event | |||
| ) | [static] |
Definition at line 2305 of file compositor-xrender.c.
References _MetaCompWindow::attrs, _MetaCompositorXRender::display, expose_area(), find_window_in_display(), meta_display_screen_for_root(), NULL, _MetaCompWindow::screen, and screen.
Referenced by xrender_process_event().
| static void process_map | ( | MetaCompositorXRender * | compositor, | |
| XMapEvent * | event | |||
| ) | [static] |
Definition at line 2355 of file compositor-xrender.c.
References _MetaCompositorXRender::display, find_window_in_display(), map_win(), and _MetaCompWindow::screen.
Referenced by xrender_process_event().
| static void process_property_notify | ( | MetaCompositorXRender * | compositor, | |
| XPropertyEvent * | event | |||
| ) | [static] |
Definition at line 2191 of file compositor-xrender.c.
References add_repair(), _MetaCompositorXRender::atom_net_wm_window_opacity, _MetaCompositorXRender::atom_net_wm_window_type, _MetaCompositorXRender::atom_x_root_pixmap, _MetaCompositorXRender::atom_x_set_root, damage_screen(), _MetaCompWindow::damaged, determine_mode(), _MetaCompositorXRender::display, _MetaCompWindow::extents, FALSE, find_window_for_child_window_in_display(), find_window_in_display(), get_window_type(), meta_display_get_xdisplay(), meta_display_screen_for_root(), meta_prop_get_cardinal(), meta_screen_get_compositor_data(), meta_screen_get_xroot(), _MetaCompWindow::needs_shadow, NULL, _MetaCompWindow::opacity, OPAQUE, _MetaCompScreen::root_tile, _MetaCompWindow::screen, screen, _MetaCompWindow::shadow, TRUE, win_extents(), and window_has_shadow().
Referenced by meta_window_property_notify(), and xrender_process_event().
| static void process_reparent | ( | MetaCompositorXRender * | compositor, | |
| XReparentEvent * | event, | |||
| MetaWindow * | window | |||
| ) | [static] |
Definition at line 2366 of file compositor-xrender.c.
References add_win(), destroy_win(), _MetaCompositorXRender::display, FALSE, meta_display_screen_for_root(), NULL, and screen.
Referenced by xrender_process_event().
| static void process_shape | ( | MetaCompositorXRender * | compositor, | |
| XShapeEvent * | event | |||
| ) | [static] |
Definition at line 2421 of file compositor-xrender.c.
References _MetaCompWindow::attrs, _MetaCompositorXRender::display, FALSE, find_window_in_display(), NULL, resize_win(), _MetaCompWindow::shaped, and TRUE.
Referenced by xrender_process_event().
| static void process_unmap | ( | MetaCompositorXRender * | compositor, | |
| XUnmapEvent * | event | |||
| ) | [static] |
Definition at line 2337 of file compositor-xrender.c.
References _MetaCompositorXRender::display, find_window_in_display(), _MetaCompWindow::screen, and unmap_win().
Referenced by xrender_process_event().
| static void repair_display | ( | MetaDisplay * | display | ) | [static] |
Definition at line 1409 of file compositor-xrender.c.
References DISPLAY_COMPOSITOR, meta_display_get_screens(), _MetaCompositorXRender::repaint_id, and repair_screen().
Referenced by compositor_idle_cb(), and xrender_process_event().
| static void repair_screen | ( | MetaScreen * | screen | ) | [static] |
Definition at line 1391 of file compositor-xrender.c.
References _MetaCompScreen::all_damage, _MetaCompScreen::clip_changed, FALSE, meta_display_get_xdisplay(), meta_error_trap_pop(), meta_error_trap_push(), meta_screen_get_compositor_data(), meta_screen_get_display(), NULL, and paint_all().
Referenced by repair_display().
| static void repair_win | ( | MetaCompWindow * | cw | ) | [static] |
Definition at line 1503 of file compositor-xrender.c.
References add_damage(), _MetaCompWindow::attrs, _MetaCompWindow::damage, _MetaCompWindow::damaged, dump_xserver_region(), FALSE, meta_display_get_xdisplay(), meta_error_trap_pop(), meta_error_trap_push(), meta_screen_get_display(), _MetaCompWindow::screen, screen, TRUE, and win_extents().
Referenced by process_damage().
| static void resize_win | ( | MetaCompWindow * | cw, | |
| int | x, | |||
| int | y, | |||
| int | width, | |||
| int | height, | |||
| int | border_width, | |||
| gboolean | override_redirect | |||
| ) | [static] |
Definition at line 1975 of file compositor-xrender.c.
References add_damage(), _MetaCompWindow::attrs, _MetaCompScreen::clip_changed, DISPLAY_COMPOSITOR, dump_xserver_region(), _MetaCompWindow::extents, have_name_window_pixmap, meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_display(), meta_window_is_shaded(), NULL, _MetaCompWindow::picture, _MetaCompWindow::screen, screen, _MetaCompWindow::shadow, TRUE, win_extents(), and _MetaCompWindow::window.
Referenced by process_configure_notify(), and process_shape().
| static void restack_win | ( | MetaCompWindow * | cw, | |
| Window | above | |||
| ) | [static] |
Definition at line 1921 of file compositor-xrender.c.
References _MetaCompWindow::id, meta_screen_get_compositor_data(), NULL, _MetaCompWindow::screen, screen, and _MetaCompScreen::windows.
Referenced by process_circulate_notify(), and process_configure_notify().
| static Picture root_tile | ( | MetaScreen * | screen | ) | [static] |
Definition at line 749 of file compositor-xrender.c.
References DISPLAY_COMPOSITOR, FALSE, meta_display_get_xdisplay(), meta_screen_get_display(), meta_screen_get_screen_number(), meta_screen_get_xroot(), NULL, and TRUE.
Referenced by paint_root().
| static Picture shadow_picture | ( | MetaDisplay * | display, | |
| MetaScreen * | screen, | |||
| MetaShadowType | shadow_type, | |||
| double | opacity, | |||
| Picture | alpha_pict, | |||
| int | width, | |||
| int | height, | |||
| int * | wp, | |||
| int * | hp | |||
| ) | [static] |
Definition at line 596 of file compositor-xrender.c.
References make_shadow(), meta_display_get_xdisplay(), and meta_screen_get_xroot().
Referenced by win_extents().
| static void show_overlay_window | ( | MetaScreen * | screen, | |
| Window | cow | |||
| ) | [static] |
Definition at line 2478 of file compositor-xrender.c.
References damage_screen(), have_cow, meta_display_get_xdisplay(), meta_screen_get_display(), and NULL.
Referenced by xrender_manage_screen().
| static Picture solid_picture | ( | MetaDisplay * | display, | |
| MetaScreen * | screen, | |||
| gboolean | argb, | |||
| double | a, | |||
| double | r, | |||
| double | g, | |||
| double | b | |||
| ) | [static] |
Definition at line 705 of file compositor-xrender.c.
References meta_display_get_xdisplay(), meta_screen_get_xroot(), and TRUE.
Referenced by paint_all(), paint_windows(), and xrender_manage_screen().
| static guchar sum_gaussian | ( | conv * | map, | |
| double | opacity, | |||
| int | x, | |||
| int | y, | |||
| int | width, | |||
| int | height | |||
| ) | [static] |
Definition at line 342 of file compositor-xrender.c.
References _conv::data, and _conv::size.
Referenced by make_shadow(), and presum_gaussian().
| static int timeout_debug | ( | MetaCompositorXRender * | compositor | ) | [static] |
Definition at line 2445 of file compositor-xrender.c.
References _MetaCompositorXRender::debug, FALSE, NULL, and _MetaCompositorXRender::show_redraw.
Referenced by meta_compositor_xrender_new().
| static void unmap_win | ( | MetaDisplay * | display, | |
| MetaScreen * | screen, | |||
| Window | id | |||
| ) | [static] |
Definition at line 1652 of file compositor-xrender.c.
References add_damage(), _MetaCompWindow::attrs, _MetaCompScreen::clip_changed, _MetaCompWindow::damaged, dump_xserver_region(), _MetaCompWindow::extents, FALSE, find_window_for_screen(), _MetaCompScreen::focus_window, free_win(), meta_screen_get_compositor_data(), NULL, TRUE, and _MetaCompWindow::window.
Referenced by process_unmap().
| static XserverRegion win_extents | ( | MetaCompWindow * | cw | ) | [static] |
Definition at line 946 of file compositor-xrender.c.
References _MetaCompWindow::alpha_pict, _MetaCompWindow::attrs, meta_display_get_xdisplay(), meta_screen_get_display(), _MetaCompWindow::needs_shadow, _MetaCompWindow::opacity, OPAQUE, _MetaCompWindow::screen, screen, _MetaCompWindow::shadow, _MetaCompWindow::shadow_dx, _MetaCompWindow::shadow_dy, _MetaCompWindow::shadow_height, shadow_offsets_x, shadow_offsets_y, SHADOW_OPACITY, shadow_picture(), _MetaCompWindow::shadow_type, and _MetaCompWindow::shadow_width.
Referenced by paint_windows(), process_property_notify(), repair_win(), resize_win(), and xrender_set_active_window().
| static gboolean window_has_shadow | ( | MetaCompWindow * | cw | ) | [static] |
Definition at line 888 of file compositor-xrender.c.
References FALSE, _MetaCompScreen::have_shadows, META_COMP_WINDOW_DESKTOP, META_COMP_WINDOW_DND, META_COMP_WINDOW_DROP_DOWN_MENU, META_COMP_WINDOW_MENU, META_COMP_WINDOW_TOOLTIP, meta_screen_get_compositor_data(), meta_window_get_frame(), _MetaCompWindow::mode, NULL, _MetaCompWindow::screen, _MetaCompWindow::shaped, TRUE, _MetaCompWindow::type, _MetaCompWindow::window, and WINDOW_ARGB.
Referenced by add_win(), process_property_notify(), and xrender_set_active_window().
| static void xrender_add_window | ( | MetaCompositor * | compositor, | |
| MetaWindow * | window, | |||
| Window | xwindow, | |||
| XWindowAttributes * | attrs | |||
| ) | [static] |
Definition at line 2454 of file compositor-xrender.c.
References add_win(), _MetaCompositorXRender::display, FALSE, meta_error_trap_pop(), meta_error_trap_push(), meta_screen_for_x_screen(), and screen.
| static void xrender_destroy | ( | MetaCompositor * | compositor | ) | [static] |
Definition at line 2693 of file compositor-xrender.c.
| static Pixmap xrender_get_window_pixmap | ( | MetaCompositor * | compositor, | |
| MetaWindow * | window | |||
| ) | [static] |
Definition at line 2827 of file compositor-xrender.c.
References find_window_for_screen(), have_name_window_pixmap, meta_frame_get_xwindow(), meta_window_get_display(), meta_window_get_frame(), meta_window_get_screen(), meta_window_get_xwindow(), meta_window_is_shaded(), NULL, and screen.
| static void xrender_manage_screen | ( | MetaCompositor * | compositor, | |
| MetaScreen * | screen | |||
| ) | [static] |
Definition at line 2541 of file compositor-xrender.c.
References _MetaCompScreen::all_damage, _MetaCompScreen::black_picture, _MetaCompScreen::clip_changed, _MetaCompScreen::compositor_active, FALSE, _MetaCompScreen::focus_window, generate_shadows(), get_output_window(), _MetaCompScreen::have_shadows, meta_display_get_focus_window(), meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_display(), meta_screen_get_screen_number(), meta_screen_get_xroot(), meta_screen_set_cm_selection(), meta_screen_set_compositor_data(), NULL, _MetaCompScreen::output, _MetaCompScreen::overlays, _MetaCompScreen::root_buffer, _MetaCompScreen::root_picture, _MetaCompScreen::root_tile, _MetaCompScreen::screen, show_overlay_window(), solid_picture(), TRUE, _MetaCompScreen::windows, and _MetaCompScreen::windows_by_xid.
| static void xrender_process_event | ( | MetaCompositor * | compositor, | |
| XEvent * | event, | |||
| MetaWindow * | window | |||
| ) | [static] |
Definition at line 2752 of file compositor-xrender.c.
References _MetaCompositorXRender::display, FALSE, meta_display_get_damage_event_base(), meta_display_get_shape_event_base(), meta_error_trap_pop(), meta_error_trap_push(), process_circulate_notify(), process_configure_notify(), process_create(), process_damage(), process_destroy(), process_expose(), process_map(), process_property_notify(), process_reparent(), process_shape(), process_unmap(), and repair_display().
| static void xrender_remove_window | ( | MetaCompositor * | compositor, | |
| Window | xwindow | |||
| ) | [static] |
Definition at line 2470 of file compositor-xrender.c.
| static void xrender_set_active_window | ( | MetaCompositor * | compositor, | |
| MetaScreen * | screen, | |||
| MetaWindow * | window | |||
| ) | [static] |
Definition at line 2855 of file compositor-xrender.c.
References add_damage(), add_repair(), _MetaCompWindow::attrs, _MetaCompScreen::clip_changed, determine_mode(), _MetaCompositorXRender::display, dump_xserver_region(), _MetaCompWindow::extents, find_window_for_screen(), _MetaCompScreen::focus_window, meta_display_get_xdisplay(), meta_frame_get_xwindow(), meta_screen_get_compositor_data(), META_SHADOW_LARGE, META_SHADOW_MEDIUM, meta_window_get_frame(), meta_window_get_xwindow(), _MetaCompWindow::needs_shadow, NULL, _MetaCompWindow::shadow, _MetaCompWindow::shadow_type, TRUE, win_extents(), and window_has_shadow().
| static void xrender_set_updates | ( | MetaCompositor * | compositor, | |
| MetaWindow * | window, | |||
| gboolean | updates | |||
| ) | [static] |
Definition at line 2683 of file compositor-xrender.c.
| static void xrender_unmanage_screen | ( | MetaCompositor * | compositor, | |
| MetaScreen * | screen | |||
| ) | [static] |
Definition at line 2627 of file compositor-xrender.c.
References _MetaCompScreen::black_picture, free_win(), _shadow::gaussian_map, _MetaCompScreen::have_shadows, hide_overlay_window(), LAST_SHADOW_TYPE, meta_display_get_xdisplay(), meta_screen_get_compositor_data(), meta_screen_get_display(), meta_screen_get_xroot(), meta_screen_set_compositor_data(), meta_screen_unset_cm_selection(), NULL, _MetaCompScreen::output, _MetaCompScreen::root_picture, _MetaCompScreen::shadows, TRUE, _MetaCompScreen::windows, and _MetaCompScreen::windows_by_xid.
MetaCompositor comp_info [static] |
Initial value:
{
xrender_destroy,
xrender_manage_screen,
xrender_unmanage_screen,
xrender_add_window,
xrender_remove_window,
xrender_set_updates,
xrender_process_event,
xrender_get_window_pixmap,
xrender_set_active_window
}
Definition at line 2996 of file compositor-xrender.c.
| double shadow_offsets_x[LAST_SHADOW_TYPE] |
| double shadow_offsets_y[LAST_SHADOW_TYPE] |
1.5.5