summaryrefslogtreecommitdiff
path: root/src/cwindow.h
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <ssp@src.gnome.org>2005-11-16 18:18:01 +0000
committerSøren Sandmann Pedersen <ssp@src.gnome.org>2005-11-16 18:18:01 +0000
commita16f89793b8caa6e8778d8b30d6367c4e0ecb822 (patch)
treecc1d8cfa2e9121a763b8cf38161376089773c5f7 /src/cwindow.h
parentd0095e947f0a586f0f9aa65a20fea5a67f7f214c (diff)
downloadmetacity-a16f89793b8caa6e8778d8b30d6367c4e0ecb822.tar.gz
*** empty log message ***
Diffstat (limited to 'src/cwindow.h')
-rw-r--r--src/cwindow.h107
1 files changed, 107 insertions, 0 deletions
diff --git a/src/cwindow.h b/src/cwindow.h
new file mode 100644
index 00000000..b2224faf
--- /dev/null
+++ b/src/cwindow.h
@@ -0,0 +1,107 @@
+#include "config.h"
+#include <X11/extensions/Xfixes.h>
+#include <X11/extensions/Xdamage.h>
+#include <X11/extensions/Xrender.h>
+#include <glib.h>
+#include "screen.h"
+
+#define USE_RENDER 0
+
+typedef struct CWindow CWindow;
+typedef struct Quad Quad;
+typedef struct Point Point;
+typedef struct Rectangle Rectangle;
+typedef struct Distortion Distortion;
+
+struct Point
+{
+ int x, y;
+};
+
+struct Quad
+{
+ Point points[4];
+};
+
+struct Rectangle
+{
+ int x, y;
+ int width, height;
+};
+
+struct Distortion
+{
+ Rectangle source;
+ Quad destination;
+};
+
+void cwindow_set_transformation (CWindow *window,
+ const Distortion *distortions,
+ int n_distortions);
+void cwindow_free (CWindow *cwindow);
+XserverRegion cwindow_extents (CWindow *cwindow);
+XserverRegion cwindow_get_opaque_region (CWindow *cwindow);
+Drawable cwindow_get_drawable (CWindow *cwindow);
+Window cwindow_get_xwindow (CWindow *cwindow);
+gboolean cwindow_get_viewable (CWindow *cwindow);
+gboolean cwindow_get_input_only (CWindow *cwindow);
+Visual * cwindow_get_visual (CWindow *cwindow);
+XserverRegion cwindow_get_last_painted_extents (CWindow *cwindow);
+void cwindow_set_last_painted_extents (CWindow *cwindow,
+ XserverRegion region);
+void cwindow_destroy_last_painted_extents (CWindow *cwindow);
+int cwindow_get_x (CWindow *cwindow);
+int cwindow_get_y (CWindow *cwindow);
+int cwindow_get_width (CWindow *cwindow);
+int cwindow_get_height (CWindow *cwindow);
+int cwindow_get_border_width (CWindow *cwindow);
+MetaScreen * cwindow_get_screen (CWindow *cwindow);
+Damage cwindow_get_damage (CWindow *cwindow);
+void cwindow_set_pending_x (CWindow *cwindow,
+ int pending_x);
+void cwindow_set_pending_y (CWindow *cwindow,
+ int pending_y);
+void cwindow_set_pending_width (CWindow *cwindow,
+ int width);
+void cwindow_set_pending_height (CWindow *cwindow,
+ int height);
+void cwindow_set_pending_border_width (CWindow *cwindow,
+ int border_width);
+void cwindow_set_x (CWindow *cwindow,
+ int x);
+void cwindow_set_y (CWindow *cwindow,
+ int y);
+void cwindow_set_width (CWindow *cwindow,
+ int width);
+void cwindow_set_height (CWindow *cwindow,
+ int height);
+Pixmap cwindow_get_pixmap (CWindow *cwindow);
+void cwindow_set_border_width (CWindow *cwindow,
+ int border_width);
+void cwindow_set_viewable (CWindow *cwindow,
+ gboolean viewable);
+CWindow * cwindow_new (MetaCompositor *compositor,
+ Window xwindow,
+ XWindowAttributes *attrs);
+XID * cwindow_get_xid_address (CWindow *cwindow);
+MetaCompositor *cwindow_get_compositor (CWindow *cwindow);
+#if 0
+void cwindow_draw (CWindow *cwindow,
+ Picture picture,
+ XserverRegion damaged_region);
+#endif
+gboolean cwindow_is_translucent (CWindow *cwindow);
+void cwindow_draw_warped (CWindow *cwindow,
+ MetaScreen *screen,
+ Picture picture,
+ Quad *destination);
+void cwindow_process_damage_notify (CWindow *cwindow,
+ XDamageNotifyEvent *event);
+void cwindow_process_configure_notify (CWindow *cwindow,
+ XConfigureEvent *event);
+void cwindow_draw (CWindow *cwindow,
+ Picture destination,
+ XserverRegion clip);
+void cwindow_freeze (CWindow *cwindow);
+void cwindow_thaw (CWindow *cwindow);
+void cwindow_set_translucent (CWindow *cwindow, gboolean translucent);