1
#include "gtk-window-decorator.h"
10
dist (double x1, double y1,
13
return sqrt (square (x1 - x2) + square (y1 - y2));
17
get_window_prop (Window xwindow,
30
gdk_error_trap_push ();
33
result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
37
False, XA_WINDOW, &type, &format, &nitems,
38
&bytes_after, (void*) &w);
39
err = gdk_error_trap_pop ();
40
if (err != Success || result != Success)
43
if (type != XA_WINDOW)
56
get_mwm_prop (Window xwindow)
60
int err, result, format;
61
unsigned long n, left;
63
unsigned int decor = MWM_DECOR_ALL;
65
xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
67
gdk_error_trap_push ();
69
result = XGetWindowProperty (xdisplay, xwindow, mwm_hints_atom,
70
0L, 20L, FALSE, mwm_hints_atom,
71
&actual, &format, &n, &left, &data);
73
err = gdk_error_trap_pop ();
74
if (err != Success || result != Success)
79
MwmHints *mwm_hints = (MwmHints *) data;
81
if (n >= PROP_MOTIF_WM_HINT_ELEMENTS)
83
if (mwm_hints->flags & MWM_HINTS_DECORATIONS)
84
decor = mwm_hints->decorations;
93
/* from clearlooks theme */
95
rgb_to_hls (gdouble *r,
143
s = (max - min) / (max + min);
145
s = (max - min) / (2 - max - min);
149
h = (green - blue) / delta;
150
else if (green == max)
151
h = 2 + (blue - red) / delta;
152
else if (blue == max)
153
h = 4 + (red - green) / delta;
166
hls_to_rgb (gdouble *h,
179
if (lightness <= 0.5)
180
m2 = lightness * (1 + saturation);
182
m2 = lightness + saturation - lightness * saturation;
184
m1 = 2 * lightness - m2;
201
r = m1 + (m2 - m1) * hue / 60;
205
r = m1 + (m2 - m1) * (240 - hue) / 60;
216
g = m1 + (m2 - m1) * hue / 60;
220
g = m1 + (m2 - m1) * (240 - hue) / 60;
231
b = m1 + (m2 - m1) * hue / 60;
235
b = m1 + (m2 - m1) * (240 - hue) / 60;
246
shade (const decor_color_t *a,
258
rgb_to_hls (&red, &green, &blue);
263
else if (green < 0.0)
272
hls_to_rgb (&red, &green, &blue);