summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSam Spilsbury <sam.spilsbury@canonical.com>2011-02-01 17:26:11 +0800
committerSam Spilsbury <sam.spilsbury@canonical.com>2011-02-01 17:26:11 +0800
commit4ae95852e53075caed1558620127f0c1405fe474 (patch)
tree12396907cfded0311fa4afc7064d3afc9b7a9241 /include
parenteda4ce59d1010289f1cdd62e4ce03a3517dd61da (diff)
downloadmobileperf-4ae95852e53075caed1558620127f0c1405fe474.tar.gz
mobileperf-4ae95852e53075caed1558620127f0c1405fe474.tar.bz2
Allow semantic difference between frame window geometry and frame size.
Rationale: some window decorators or themes might want to specify a border input area that is slightly larger than the visible borders on screen (eg for enhanced resize handles, a11y purposes, etc) or the theme might want to specify some additional decoration which should affect placement but should not be interacted with. In this case we have a priv->border and priv->input window property. priv->border specifies the actual semantic size of the window decoration that should affect placement and priv->input specifies the extents of the frame window past the client. Fixes LP: #710271
Diffstat (limited to 'include')
-rw-r--r--include/core/core.h2
-rw-r--r--include/core/window.h3
-rw-r--r--include/decoration.h10
3 files changed, 10 insertions, 5 deletions
diff --git a/include/core/core.h b/include/core/core.h
index 0e677d1..5da8dd4 100644
--- a/include/core/core.h
+++ b/include/core/core.h
@@ -26,7 +26,7 @@
#ifndef _COMPIZ_CORE_H
#define _COMPIZ_CORE_H
-#define CORE_ABIVERSION 20110126
+#define CORE_ABIVERSION 20110131
#include <stdio.h>
#include <assert.h>
diff --git a/include/core/window.h b/include/core/window.h
index aa7fbde..a6e4b4a 100644
--- a/include/core/window.h
+++ b/include/core/window.h
@@ -343,7 +343,8 @@ class CompWindow :
const CompRegion & frameRegion () const;
void updateFrameRegion ();
- void setWindowFrameExtents (CompWindowExtents *input);
+ void setWindowFrameExtents (CompWindowExtents *border,
+ CompWindowExtents *frame = NULL);
unsigned int & wmType ();
diff --git a/include/decoration.h b/include/decoration.h
index 8e26e85..b0c731b 100644
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -175,7 +175,7 @@ typedef void (*decor_draw_func_t) (Display *xdisplay,
void *closure);
#define WINDOW_PROP_SIZE 12
-#define BASE_PROP_SIZE 13
+#define BASE_PROP_SIZE 21
#define QUAD_PROP_SIZE 9
#define N_QUADS_MAX 24
@@ -185,7 +185,9 @@ decor_version (void);
void
decor_quads_to_property (long *data,
Pixmap pixmap,
+ decor_extents_t *frame_input,
decor_extents_t *input,
+ decor_extents_t *frame_max_input,
decor_extents_t *max_input,
int min_width,
int min_height,
@@ -209,8 +211,10 @@ int
decor_pixmap_property_to_quads (long *data,
int size,
Pixmap *pixmap,
- decor_extents_t *input,
- decor_extents_t *max_input,
+ decor_extents_t *frame_input,
+ decor_extents_t *input,
+ decor_extents_t *frame_max_input,
+ decor_extents_t *max_input,
int *min_width,
int *min_height,
decor_quad_t *quad);