From 66d0f14b32d11042872f6bfe33152521bf470e6a Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 14 Jun 2016 12:39:54 +0100 Subject: move the public form API --- include/netsurf/form.h | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 include/netsurf/form.h (limited to 'include') diff --git a/include/netsurf/form.h b/include/netsurf/form.h new file mode 100644 index 000000000..bffa13e29 --- /dev/null +++ b/include/netsurf/form.h @@ -0,0 +1,77 @@ +/* + * Copyright 2003 Phil Mellor + * Copyright 2003 James Bursa + * Copyright 2009 Paul Blokus + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file + * Form handling public interface. + */ + +#ifndef _NETSURF_FORM_H_ +#define _NETSURF_FORM_H_ + +struct form_control; +struct rect; + +/** Option in a select. */ +struct form_option { + void *node; /**< Corresponding DOM node */ + bool selected; + bool initial_selected; + char *value; + char *text; /**< NUL terminated. */ + struct form_option* next; +}; + +/** + * Process a selection from a form select menu. + * + * \param control form control with menu. + * \param item index of item selected from the menu. + */ +nserror form_select_process_selection(struct form_control *control, int item); + +/** + * get a form select menus option. + * + * \param control The form control. + * \param item The index of the menu entry to return. + * \return The form option at that index. + */ +struct form_option *form_select_get_option(struct form_control *control, int item); + +/** + * Get a form control name + * + * \param control The form control + * \return The form control name + */ +char *form_control_get_name(struct form_control *control); + + +/** + * Get a form control bounding rectangle + * + * \param[in] control The form control + * \param[out] r The rectangle to place the bounds in. + * \return NSERROR_OK on success or error code. + */ +nserror form_control_bounding_rect(struct form_control *control, struct rect *r); + +#endif -- cgit v1.2.3