Copy purify.fvwm2rc to /tmp - add instructions in README.
[fvwm.git] / fvwm / frame.h
blobab425df8923d03bf1f46d2360b31721e2637c69f
1 /* -*-c-*- */
3 #ifndef FRAME_H
4 #define FRAME_H
6 /* ---------------------------- included header files ---------------------- */
8 /* ---------------------------- global definitions ------------------------- */
10 /* ---------------------------- global macros ------------------------------ */
12 /* ---------------------------- type definitions --------------------------- */
14 typedef enum
16 FRAME_MR_SETUP,
17 FRAME_MR_SETUP_BY_APP,
18 FRAME_MR_OPAQUE,
19 FRAME_MR_SHRINK,
20 FRAME_MR_SCROLL,
21 /* used internally only, do not set these in any calls */
22 FRAME_MR_FORCE_SETUP,
23 FRAME_MR_FORCE_SETUP_NO_W,
24 /* used by AddWindow() to suppress drawing during window setup */
25 FRAME_MR_DONT_DRAW = 0x80
26 } frame_move_resize_mode;
28 typedef struct
30 rectangle title_g;
31 rectangle button_g[NUMBER_OF_TITLE_BUTTONS];
32 } frame_title_layout_t;
34 /* details are hidden in frame.c */
35 typedef void *frame_move_resize_args;
37 /* ---------------------------- exported variables (globals) --------------- */
39 /* ---------------------------- interface functions ------------------------ */
41 void frame_init(void);
42 Bool is_frame_hide_window(
43 Window w);
44 void frame_destroyed_frame(
45 Window frame_w);
46 frame_move_resize_args frame_create_move_resize_args(
47 FvwmWindow *fw, frame_move_resize_mode mr_mode,
48 rectangle *start_g, rectangle *end_g, int anim_steps, int shade_dir);
49 void frame_update_move_resize_args(
50 frame_move_resize_args mr_args, rectangle *end_g);
51 void frame_free_move_resize_args(
52 FvwmWindow *fw, frame_move_resize_args mr_args);
53 void frame_get_titlebar_dimensions(
54 FvwmWindow *fw, rectangle *frame_g, rectangle *diff_g,
55 frame_title_layout_t *title_layout);
56 void frame_get_sidebar_geometry(
57 FvwmWindow *fw, DecorFaceStyle *borderstyle, rectangle *frame_g,
58 rectangle *ret_g, Bool *ret_has_x_marks, Bool *ret_has_y_marks);
59 int frame_window_id_to_context(
60 FvwmWindow *fw, Window w, int *ret_num);
61 void frame_move_resize(
62 FvwmWindow *fw, frame_move_resize_args mr_args);
63 void frame_setup_window(
64 FvwmWindow *fw, int x, int y, int w, int h,
65 Bool do_send_configure_notify);
66 void frame_setup_window_app_request(
67 FvwmWindow *fw, int x, int y, int w, int h,
68 Bool do_send_configure_notify);
69 void frame_force_setup_window(
70 FvwmWindow *fw, int x, int y, int w, int h,
71 Bool do_send_configure_notify);
72 void frame_setup_shape(
73 FvwmWindow *fw, int w, int h, int shape_mode);
75 #endif /* FRAME_H */