4 * Copyright (c) Tuomo Valkonen 1999-2006.
6 * Ion is free software; you can redistribute it and/or modify it under
7 * the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation; either version 2.1 of the License, or
9 * (at your option) any later version.
12 #ifndef ION_IONCORE_FRAME_H
13 #define ION_IONCORE_FRAME_H
15 #include <libtu/stringstore.h>
16 #include <libtu/setparam.h>
17 #include <libextl/extl.h>
24 #include "rectangle.h"
27 #define FRAME_SAVED_VERT 0x0008
28 #define FRAME_SAVED_HORIZ 0x0010
29 #define FRAME_SHADED 0x0020
30 #define FRAME_SHADED_TOGGLE 0x0040
31 /*#define FRAME_DEST_EMPTY 0x0100*/
32 #define FRAME_MAXED_VERT 0x0200
33 #define FRAME_MAXED_HORIZ 0x0400
34 #define FRAME_MIN_HORIZ 0x0800
36 /*#define FRAME_SZH_USEMINMAX 0x1000 */
37 /*#define FRAME_FWD_CWIN_RQGEOM 0x2000 */
39 #define FRAME_SHOW_NUMBERS 0x4000
70 GrTransparency tr_mode;
75 WFrameBarMode barmode;
77 double bar_max_width_q;
83 extern WFrame *create_frame(WWindow *parent, const WFitParams *fp,
85 extern bool frame_init(WFrame *frame, WWindow *parent, const WFitParams *fp,
87 extern void frame_deinit(WFrame *frame);
88 extern bool frame_rqclose(WFrame *frame);
92 extern void frame_set_mode(WFrame *frame, WFrameMode mode);
93 extern WFrameMode frame_mode(WFrame *frame);
95 /* Resize and reparent */
96 extern bool frame_fitrep(WFrame *frame, WWindow *par, const WFitParams *fp);
97 extern void frame_size_hints(WFrame *frame, WSizeHints *hints_ret);
100 extern void frame_activated(WFrame *frame);
101 extern void frame_inactivated(WFrame *frame);
104 extern int frame_nth_tab_w(WFrame *frame, int n);
105 extern int frame_nth_tab_iw(WFrame *frame, int n);
106 extern int frame_nth_tab_x(WFrame *frame, int n);
107 extern int frame_tab_at_x(WFrame *frame, int x);
108 extern void frame_update_attr_nth(WFrame *frame, int i);
110 extern bool frame_set_shaded(WFrame *frame, int sp);
111 extern bool frame_is_shaded(WFrame *frame);
112 extern bool frame_set_numbers(WFrame *frame, int sp);
113 extern bool frame_is_numbers(WFrame *frame);
115 extern int frame_default_index(WFrame *frame);
118 extern void frame_managed_notify(WFrame *frame, WRegion *sub, const char *how);
119 extern void frame_managed_remove(WFrame *frame, WRegion *reg);
122 extern ExtlTab frame_get_configuration(WFrame *frame);
123 extern WRegion *frame_load(WWindow *par, const WFitParams *fp, ExtlTab tab);
124 extern void frame_do_load(WFrame *frame, ExtlTab tab);
126 extern WHook *frame_managed_changed_hook;
128 #endif /* ION_IONCORE_FRAME_H */