rofi  1.5.4
widget-internal.h
Go to the documentation of this file.
1 /*
2  * rofi
3  *
4  * MIT/X11 License
5  * Copyright © 2013-2017 Qball Cow <qball@gmpclient.org>
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining
8  * a copy of this software and associated documentation files (the
9  * "Software"), to deal in the Software without restriction, including
10  * without limitation the rights to use, copy, modify, merge, publish,
11  * distribute, sublicense, and/or sell copies of the Software, and to
12  * permit persons to whom the Software is furnished to do so, subject to
13  * the following conditions:
14  *
15  * The above copyright notice and this permission notice shall be
16  * included in all copies or substantial portions of the Software.
17  *
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25  *
26  */
27 
28 #ifndef WIDGET_INTERNAL_H
29 #define WIDGET_INTERNAL_H
30 
31 #include "theme.h"
35 struct _widget
36 {
40  short x;
42  short y;
44  short w;
46  short h;
56 
58  gboolean enabled;
60  gboolean expand;
62  gboolean end;
64  struct _widget *parent;
66  gboolean need_redraw;
68  int ( *get_width )( struct _widget * );
70  int ( *get_height )( struct _widget * );
72  void ( *draw )( struct _widget *widget, cairo_t *draw );
74  void ( *resize )( struct _widget *, short, short );
76  void ( *update )( struct _widget * );
77 
79  gboolean ( *motion_notify )( struct _widget *, gint x, gint y );
80 
81  int ( *get_desired_height )( struct _widget * );
82  int ( *get_desired_width )( struct _widget * );
83 
90 
92  void ( *free )( struct _widget *widget );
93 
95  char *name;
96  const char *state;
97 };
98 
108 void widget_init ( widget *wid, widget *parent, WidgetType type, const char *name );
109 
116 void widget_set_state ( widget *widget, const char *state );
117 
125 int widget_padding_get_left ( const widget *wid );
126 
134 int widget_padding_get_right ( const widget *wid );
135 
143 int widget_padding_get_top ( const widget *wid );
144 
152 int widget_padding_get_bottom ( const widget *wid );
153 
161 int widget_padding_get_remaining_width ( const widget *wid );
177 int widget_padding_get_padding_height ( const widget *wid );
185 int widget_padding_get_padding_width ( const widget *wid );
186 #endif // WIDGET_INTERNAL_H
_widget::end
gboolean end
Definition: widget-internal.h:62
widget_padding_get_left
int widget_padding_get_left(const widget *wid)
Definition: widget.c:497
widget_padding_get_bottom
int widget_padding_get_bottom(const widget *wid)
Definition: widget.c:527
widget_padding_get_padding_width
int widget_padding_get_padding_width(const widget *wid)
Definition: widget.c:559
WidgetType
WidgetType
Definition: widget.h:57
_widget::enabled
gboolean enabled
Definition: widget-internal.h:58
_widget::trigger_action_cb_data
void * trigger_action_cb_data
Definition: widget-internal.h:89
widget
struct _widget widget
Definition: widget.h:51
widget_padding_get_remaining_width
int widget_padding_get_remaining_width(const widget *wid)
Definition: widget.c:538
_widget::expand
gboolean expand
Definition: widget-internal.h:60
_widget::get_height
int(* get_height)(struct _widget *)
Definition: widget-internal.h:70
_widget::margin
RofiPadding margin
Definition: widget-internal.h:52
_widget::get_desired_width
int(* get_desired_width)(struct _widget *)
Definition: widget-internal.h:82
_widget::get_desired_height
int(* get_desired_height)(struct _widget *)
Definition: widget-internal.h:81
_widget::get_width
int(* get_width)(struct _widget *)
Definition: widget-internal.h:68
widget_find_mouse_target_cb
widget *(* widget_find_mouse_target_cb)(widget *widget, WidgetType type, gint x, gint y)
Definition: widget.h:99
_widget::def_border_radius
RofiPadding def_border_radius
Definition: widget-internal.h:51
_widget::def_margin
RofiPadding def_margin
Definition: widget-internal.h:48
_widget::state
const char * state
Definition: widget-internal.h:96
_widget::draw
void(* draw)(struct _widget *widget, cairo_t *draw)
Definition: widget-internal.h:72
widget_padding_get_right
int widget_padding_get_right(const widget *wid)
Definition: widget.c:507
widget_padding_get_top
int widget_padding_get_top(const widget *wid)
Definition: widget.c:517
_widget::name
char * name
Definition: widget-internal.h:95
_widget::def_border
RofiPadding def_border
Definition: widget-internal.h:50
theme.h
_widget::free
void(* free)(struct _widget *widget)
Definition: widget-internal.h:92
_widget::trigger_action
widget_trigger_action_cb trigger_action
Definition: widget-internal.h:87
_widget::y
short y
Definition: widget-internal.h:42
_widget::x
short x
Definition: widget-internal.h:40
RofiPadding
Definition: rofi-types.h:130
widget_set_state
void widget_set_state(widget *widget, const char *state)
Definition: widget.c:58
_widget::parent
struct _widget * parent
Definition: widget-internal.h:64
widget_padding_get_padding_height
int widget_padding_get_padding_height(const widget *wid)
Definition: widget.c:552
_widget::h
short h
Definition: widget-internal.h:46
_widget::motion_notify
gboolean(* motion_notify)(struct _widget *, gint x, gint y)
Definition: widget-internal.h:79
_widget::w
short w
Definition: widget-internal.h:44
_widget::border
RofiPadding border
Definition: widget-internal.h:54
_widget::def_padding
RofiPadding def_padding
Definition: widget-internal.h:49
widget_trigger_action_cb
WidgetTriggerActionResult(* widget_trigger_action_cb)(widget *widget, guint action, gint x, gint y, void *user_data)
Definition: widget.h:112
_widget::border_radius
RofiPadding border_radius
Definition: widget-internal.h:55
_widget::find_mouse_target
widget_find_mouse_target_cb find_mouse_target
Definition: widget-internal.h:85
widget_init
void widget_init(widget *wid, widget *parent, WidgetType type, const char *name)
Definition: widget.c:37
_widget::resize
void(* resize)(struct _widget *, short, short)
Definition: widget-internal.h:74
widget_padding_get_remaining_height
int widget_padding_get_remaining_height(const widget *wid)
Definition: widget.c:545
_widget::padding
RofiPadding padding
Definition: widget-internal.h:53
_widget::need_redraw
gboolean need_redraw
Definition: widget-internal.h:66
_widget::update
void(* update)(struct _widget *)
Definition: widget-internal.h:76
_widget
Definition: widget-internal.h:36
_widget::type
WidgetType type
Definition: widget-internal.h:38