From a1a0dfa52a40cc99c48fb812fa1b3864c5f642b8 Mon Sep 17 00:00:00 2001 From: reinelt Date: Tue, 21 Feb 2006 05:50:34 +0000 Subject: [lcd4linux @ 2006-02-21 05:50:34 by reinelt] keypad support from Cris Maj git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@641 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- widget.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'widget.c') diff --git a/widget.c b/widget.c index 5476cd1..5ade00c 100644 --- a/widget.c +++ b/widget.c @@ -1,4 +1,4 @@ -/* $Id: widget.c,v 1.22 2006/01/30 05:47:38 reinelt Exp $ +/* $Id: widget.c,v 1.23 2006/02/21 05:50:34 reinelt Exp $ * * generic widget handling * @@ -21,6 +21,9 @@ * * * $Log: widget.c,v $ + * Revision 1.23 2006/02/21 05:50:34 reinelt + * keypad support from Cris Maj + * * Revision 1.22 2006/01/30 05:47:38 reinelt * graphic subsystem changed to full-color RGBA * @@ -318,3 +321,21 @@ int widget_add(const char *name, const int type, const int layer, const int row, return 0; } + +/* return the found widget, or else NULL */ +WIDGET *widget_find(int type, void *needle) +{ + WIDGET *widget = NULL; + int i; + + for (i = 0; i < nWidgets; i++) { + widget = &(Widgets[i]); + if (widget->class->type == type) { + if (widget->class->find != NULL && widget->class->find(widget, needle) == 0) + break; + } + widget = NULL; + } + + return widget; +} -- cgit v1.2.3