summaryrefslogtreecommitdiff
path: root/src/overlays.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/overlays.h')
-rw-r--r--src/overlays.h37
1 files changed, 11 insertions, 26 deletions
diff --git a/src/overlays.h b/src/overlays.h
index 19678e5..0c00101 100644
--- a/src/overlays.h
+++ b/src/overlays.h
@@ -1,40 +1,25 @@
#ifndef _OVERLAYS_H
#define _OVERLAYS_H
-#include <X11/Xlib.h>
+#include <X11/extensions/Xfixes.h>
#include <X11/extensions/Xrender.h>
-typedef struct _vwm_t vwm_t;
-typedef struct _vwm_xwindow_t vwm_xwindow_t;
+#include "xserver.h"
-/* everything needed by the per-window overlay's context */
-typedef struct _vwm_overlay_t {
- Pixmap text_pixmap; /* pixmap for overlayed text (kept around for XDrawText usage) */
- Picture text_picture; /* picture representation of text_pixmap */
- Picture shadow_picture; /* text shadow layer */
- Picture grapha_picture; /* graph A layer */
- Picture graphb_picture; /* graph B layer */
- Picture tmp_picture; /* 1 row worth of temporary picture space */
- Picture picture; /* overlay picture derived from the pixmap, for render compositing */
- int width; /* current width of the overlay */
- int height; /* current height of the overlay */
- int phase; /* current position within the (horizontally scrolling) graphs */
- int heirarchy_end; /* row where the process heirarchy currently ends */
- int snowflakes_cnt; /* count of snowflaked rows (reset to zero to truncate snowflakes display) */
- int gen_last_composed; /* the last composed vmon generation */
- int redraw_needed; /* if a redraw is required (like when the window is resized...) */
-} vwm_overlay_t;
typedef struct _vwm_overlays_t vwm_overlays_t;
+typedef struct _vwm_overlay_t vwm_overlay_t;
-int vwm_overlay_xwin_composed_height(vwm_t *vwm, vwm_xwindow_t *xwin);
-void vwm_overlay_xwin_reset_snowflakes(vwm_t *vwm, vwm_xwindow_t *xwin);
-void vwm_overlay_xwin_create(vwm_t *vwm, vwm_xwindow_t *xwin);
-void vwm_overlay_xwin_destroy(vwm_t *vwm, vwm_xwindow_t *xwin);
-void vwm_overlay_xwin_compose(vwm_t *vwm, vwm_xwindow_t *xwin);
-vwm_overlays_t * vwm_overlays_create(vwm_t *vwm);
+vwm_overlays_t * vwm_overlays_create(vwm_xserver_t *xserver);
void vwm_overlays_destroy(vwm_overlays_t *overlays);
void vwm_overlays_rate_increase(vwm_overlays_t *overlays);
void vwm_overlays_rate_decrease(vwm_overlays_t *overlays);
int vwm_overlays_update(vwm_overlays_t *overlays, int *desired_delay);
+vwm_overlay_t * vwm_overlay_create(vwm_overlays_t *overlays, int pid, int width, int height);
+void vwm_overlay_destroy(vwm_overlays_t *overlays, vwm_overlay_t *overlay);
+void vwm_overlay_reset_snowflakes(vwm_overlays_t *overlays, vwm_overlay_t *overlay);
+int vwm_overlay_set_visible_size(vwm_overlays_t *overlays, vwm_overlay_t *overlay, int width, int height);
+void vwm_overlay_compose(vwm_overlays_t *overlays, vwm_overlay_t *overlay, XserverRegion *res_damaged_region);
+void vwm_overlay_render(vwm_overlays_t *overlays, vwm_overlay_t *overlay, Picture dest, int x, int y, int width, int height);
+
#endif
© All Rights Reserved