GFXprim
2D bitmap graphics library with emphasis on speed and correctness
Loading...
Searching...
No Matches
gp_widget_scroll_area.h
1//SPDX-License-Identifier: LGPL-2.0-or-later
2
3/*
4
5 Copyright (c) 2014-2020 Cyril Hrubis <metan@ucw.cz>
6
7 */
8
9#ifndef GP_WIDGET_SCROLL_AREA_H
10#define GP_WIDGET_SCROLL_AREA_H
11
12struct gp_widget_scroll_area {
13 /* offset for the layout inside */
14 gp_coord x_off;
15 gp_coord y_off;
16
17 /*
18 * If non-zero the widget minimal size is set into the stone
19 * and the content scrolls if the inner widget size is bigger.
20 */
21 gp_size min_w;
22 gp_size min_h;
23
24 /* Internal do not touch */
25 int scrollbar_x:1;
26 int scrollbar_y:1;
27 int area_focused:1;
28 int child_focused:1;
29
30 gp_widget *child;
31};
32
42gp_widget *gp_widget_scroll_area_new(gp_size min_w, gp_size min_h, gp_widget *child);
43
52int gp_widget_scroll_area_move(gp_widget *self, gp_coord x_off, gp_coord y_off);
53
62gp_widget *gp_widget_scroll_area_put(gp_widget *self, gp_widget *child);
63
64#endif /* GP_WIDGET_SCROLL_AREA_H */
int gp_coord
Integer type for coordinates i.e. x, y, ...
Definition gp_types.h:19
unsigned int gp_size
Integer type for sizes i.e. w, h, ...
Definition gp_types.h:24