6 /*#include "render2/render.h"*/
47 typedef struct FrameDecor {
54 DecorSizeType sizetypex;
55 DecorSizeType sizetypey;
58 int xoff, yoff; /* offsets for shape*/
59 struct RrSurface *surface;
62 typedef struct Frame {
76 struct RrSurface *surface;
78 struct FrameDecor *framedecor;
84 gboolean iconify_press;
90 void frame_shutdown();
93 void frame_show(Frame *self);
94 void frame_hide(Frame *self);
95 void frame_adjust_shape(Frame *self);
96 void frame_adjust_area(Frame *self, gboolean moved, gboolean resized);
97 void frame_adjust_state(Frame *self);
98 void frame_adjust_focus(Frame *self, gboolean hilite);
99 void frame_adjust_title(Frame *self);
100 void frame_adjust_icon(Frame *self);
101 void frame_grab_client(Frame *self, Client *client);
102 void frame_release_client(Frame *self, Client *client);
104 Context frame_context_from_string(char *name);
106 Context frame_context(Client *self, Window win);
108 /*! Applies gravity to the client's position to find where the frame should
110 @return The proper coordinates for the frame, based on the client.
112 void frame_client_gravity(Frame *self, int *x, int *y);
114 /*! Reversly applies gravity to the frame's position to find where the client
115 should be positioned.
116 @return The proper coordinates for the client, based on the frame.
118 void frame_frame_gravity(Frame *self, int *x, int *y);