rofi  1.7.0
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 {
39  short x;
41  short y;
43  short w;
45  short h;
55 
58 
60  gboolean enabled;
62  gboolean expand;
64  gboolean end;
66  struct _widget *parent;
68  gboolean need_redraw;
70  int (*get_width)(struct _widget *);
72  int (*get_height)(struct _widget *);
74  void (*draw)(struct _widget *widget, cairo_t *draw);
76  void (*resize)(struct _widget *, short, short);
78  void (*update)(struct _widget *);
79 
81  gboolean (*motion_notify)(struct _widget *, gint x, gint y);
82 
83  int (*get_desired_height)(struct _widget *);
84  int (*get_desired_width)(struct _widget *);
85 
86  void (*set_state)(struct _widget *, const char *);
87 
94 
96  void (*free)(struct _widget *widget);
97 
99  char *name;
100  const char *state;
101 };
102 
113  const char *name);
114 
121 void widget_set_state(widget *widget, const char *state);
122 
130 int widget_padding_get_left(const widget *wid);
131 
139 int widget_padding_get_right(const widget *wid);
140 
148 int widget_padding_get_top(const widget *wid);
149 
157 int widget_padding_get_bottom(const widget *wid);
158 
191 #endif // WIDGET_INTERNAL_H
struct _widget widget
Definition: widget.h:51
widget *(* widget_find_mouse_target_cb)(widget *widget, WidgetType type, gint x, gint y)
Definition: widget.h:98
WidgetType
Definition: widget.h:56
WidgetTriggerActionResult(* widget_trigger_action_cb)(widget *widget, guint action, gint x, gint y, void *user_data)
Definition: widget.h:113
RofiCursorType
Definition: rofi-types.h:142
void(* free)(struct _widget *widget)
void(* set_state)(struct _widget *, const char *)
gboolean end
const char * state
RofiPadding border
widget_find_mouse_target_cb find_mouse_target
gboolean enabled
gboolean need_redraw
widget_trigger_action_cb trigger_action
void * trigger_action_cb_data
RofiPadding padding
int(* get_desired_height)(struct _widget *)
int(* get_width)(struct _widget *)
RofiPadding margin
RofiPadding border_radius
RofiPadding def_border_radius
int(* get_height)(struct _widget *)
char * name
RofiPadding def_margin
RofiCursorType cursor_type
RofiPadding def_border
struct _widget * parent
void(* update)(struct _widget *)
gboolean expand
RofiPadding def_padding
void(* draw)(struct _widget *widget, cairo_t *draw)
gboolean(* motion_notify)(struct _widget *, gint x, gint y)
void(* resize)(struct _widget *, short, short)
int(* get_desired_width)(struct _widget *)
WidgetType type
int widget_padding_get_remaining_width(const widget *wid)
Definition: widget.c:624
void widget_init(widget *wid, widget *parent, WidgetType type, const char *name)
Definition: widget.c:44
void widget_set_state(widget *widget, const char *state)
Definition: widget.c:72
int widget_padding_get_padding_width(const widget *wid)
Definition: widget.c:642
int widget_padding_get_left(const widget *wid)
Definition: widget.c:581
int widget_padding_get_right(const widget *wid)
Definition: widget.c:591
int widget_padding_get_padding_height(const widget *wid)
Definition: widget.c:636
int widget_padding_get_top(const widget *wid)
Definition: widget.c:603
int widget_padding_get_bottom(const widget *wid)
Definition: widget.c:613
int widget_padding_get_remaining_height(const widget *wid)
Definition: widget.c:630