4 * Copyright (C) 2011 Nikita Zlobin <cook60020tmp@mail.ru>
6 **************************************************************************
7 * This file contains desktop panel API, used in Window Docker
8 **************************************************************************
10 * Window Docker is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 3 of the License, or
13 * (at your option) any later version.
15 * Window Docker is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with Window Docker. If not, see <http://www.gnu.org/licenses/>
22 * or write to the Free Software Foundation, Inc.,
23 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
34 struct { int h
, w
; } scr_t
;
46 * Non-standard orientation - tilted sides (e.g. in frames with non-square geometry) */
55 GtkWidget
* container
;
86 guint enter_cb_id
, leave_cb_id
;
89 #define PANEL_WINDOW( w ) ((PanelWindow *) w)
92 * PanelWindowRequest - request form for panel initialization.
96 extern PanelWindow
* panelWindow_Alloc (void);
97 extern void panelWindow_Init (PanelWindow
* panel
);
100 extern void panelWindow_AH_Toggle (PanelWindow
* panel
, gboolean autohide
);
101 static inline gboolean
panelWindow_AH_Used (PanelWindow
* panel
) { return panel
->docking
.autohiding
; }
104 extern void panelWindow_Side_Set (PanelWindow
* panel
, side_t side
);
105 extern void panelWindow_Pos_Set (PanelWindow
* panel
, double pos
);
106 extern void panelWindow_AH_ShowDuration_Set (PanelWindow
* panel
, double sec
);
107 extern void panelWindow_AH_HideDuration_Set (PanelWindow
* panel
, double sec
);
108 extern void panelWindow_AH_Border_Set (PanelWindow
* panel
, guint thickness
);
110 static inline side_t
panelWindow_Side (PanelWindow
* panel
) { return panel
->docking
.side
; }
111 static inline double panelWindow_Pos (PanelWindow
* panel
) { return panel
->docking
.pos
; }
112 static inline double panelWindow_AH_ShowDuration (PanelWindow
* panel
) { return panel
->docking
.timeout
.show
; }
113 static inline double panelWindow_AH_HideDuration (PanelWindow
* panel
) { return panel
->docking
.timeout
.hide
; }
114 static inline guint
panelWindow_AH_Border (PanelWindow
* panel
) { return panel
->docking
.border
; }
116 /* Get internal objects */
117 static inline GtkWidget
* panelWindow_Container (PanelWindow
* panel
) { return panel
->win
; }
119 #endif /*__PANEL_H__ */