6 /*#include "render2/render.h"*/
40 #define FRAME_HANDLE_Y(f) (f->innersize.top + f->client->area.height + \
50 typedef struct FrameDecor {
57 DecorSizeType sizetypex;
58 DecorSizeType sizetypey;
61 /* struct RrSurface *surface; SOOOOON!*/
64 typedef struct Frame {
75 struct FrameDecor *framedecor;
77 int width; /* width of client + borders */
78 int height; /* height of client + borders */
79 int bwidth; /* border width */
80 int cbwidth; /* client border width */
86 gboolean iconify_press;
92 void frame_shutdown();
95 void frame_show(Frame *self);
96 void frame_hide(Frame *self);
97 void frame_adjust_shape(Frame *self);
98 void frame_adjust_area(Frame *self, gboolean moved, gboolean resized);
99 void frame_adjust_state(Frame *self);
100 void frame_adjust_focus(Frame *self, gboolean hilite);
101 void frame_adjust_title(Frame *self);
102 void frame_adjust_icon(Frame *self);
103 void frame_grab_client(Frame *self, Client *client);
104 void frame_release_client(Frame *self, Client *client);
106 Context frame_context_from_string(char *name);
108 Context frame_context(Client *self, Window win);
110 /*! Applies gravity to the client's position to find where the frame should
112 @return The proper coordinates for the frame, based on the client.
114 void frame_client_gravity(Frame *self, int *x, int *y);
116 /*! Reversly applies gravity to the frame's position to find where the client
117 should be positioned.
118 @return The proper coordinates for the client, based on the frame.
120 void frame_frame_gravity(Frame *self, int *x, int *y);