2 Copyright (C) 1992 Lucid, Inc.
3 Copyright (C) 2000-2018 Free Software Foundation, Inc.
5 This file is part of the Lucid Widget Library.
7 The Lucid Widget Library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 1, or (at your option)
12 The Lucid Widget Library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
21 #ifndef LWLIB_INTERNAL_H
22 #define LWLIB_INTERNAL_H
26 struct widget_xft_data
;
28 typedef struct _widget_instance
34 struct widget_xft_data
*xft_data
;
37 struct _widget_info
* info
;
38 struct _widget_instance
* next
;
41 typedef struct _widget_info
48 lw_callback pre_activate_cb
;
49 lw_callback selection_cb
;
50 lw_callback post_activate_cb
;
51 lw_callback highlight_cb
;
52 struct _widget_instance
* instances
;
53 struct _widget_info
* next
;
56 typedef Widget (*widget_creation_function
) (widget_instance
*instance
);
58 typedef struct _widget_creation_entry
61 widget_creation_function function
;
62 } widget_creation_entry
;
64 /* update all other instances of a widget. Can be used in a callback when
65 a widget has been used by the user */
67 lw_internal_update_other_instances (Widget
, XtPointer
, XtPointer
);
69 /* get the widget_value for a widget in a given instance */
71 lw_get_widget_value_for_widget (widget_instance
*, Widget
);
73 widget_info
*lw_get_widget_info (LWLIB_ID
);
74 widget_instance
* lw_get_widget_instance (Widget
);
76 #endif /* LWLIB_INTERNAL_H */