2
* Copyright © 2006 Novell, Inc.
4
* Permission to use, copy, modify, distribute, and sell this software
5
* and its documentation for any purpose is hereby granted without
6
* fee, provided that the above copyright notice appear in all copies
7
* and that both that copyright notice and this permission notice
8
* appear in supporting documentation, and that the name of
9
* Novell, Inc. not be used in advertising or publicity pertaining to
10
* distribution of the software without specific, written prior permission.
11
* Novell, Inc. makes no representations about the suitability of this
12
* software for any purpose. It is provided "as is" without express or
15
* NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
16
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
17
* NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR
18
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
19
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
20
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
21
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
23
* Author: David Reveman <davidr@novell.com>
34
#define GRAVITY_WEST (1 << 0)
35
#define GRAVITY_EAST (1 << 1)
36
#define GRAVITY_NORTH (1 << 2)
37
#define GRAVITY_SOUTH (1 << 3)
39
#define ALIGN_LEFT (0)
40
#define ALIGN_RIGHT (1 << 0)
42
#define ALIGN_BOTTOM (1 << 1)
44
#define CLAMP_HORZ (1 << 0)
45
#define CLAMP_VERT (1 << 1)
47
#define XX_MASK (1 << 12)
48
#define XY_MASK (1 << 13)
49
#define YX_MASK (1 << 14)
50
#define YY_MASK (1 << 15)
52
typedef struct _decor_point {
58
typedef struct _decor_matrix {
64
typedef struct _decor_quad {
74
typedef struct _decor_extents {
81
typedef struct _decor_context decor_context_t;
83
struct _decor_context {
89
int left_corner_space;
90
int right_corner_space;
92
int bottom_corner_space;
98
decor_quads_to_property (long *data,
100
decor_extents_t *input,
101
decor_extents_t *max_input,
108
decor_set_horz_quad_line (decor_quad_t *q,
121
decor_set_vert_quad_row (decor_quad_t *q,
134
decor_set_common_window_quads (decor_context_t *c,
140
decor_set_window_quads (decor_context_t *c,
147
decor_set_no_title_window_quads (decor_context_t *c,
153
decor_set_shadow_quads (decor_context_t *c,