diff options
Diffstat (limited to 'src/utils/html.h')
-rw-r--r-- | src/utils/html.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/utils/html.h b/src/utils/html.h new file mode 100644 index 0000000..92fe2ea --- /dev/null +++ b/src/utils/html.h @@ -0,0 +1,88 @@ +/* + * HTML document generation + * + * Copyright (C) 2017 Patrick McDermott + * + * This file is part of Marquee. + * + * Marquee 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, either version 3 of the License, or + * (at your option) any later version. + * + * Marquee 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 Marquee. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef MQ_HTML_H +#define MQ_HTML_H + +#include <glib.h> + +gchar * +mq_html_document(const gchar *title, ...) G_GNUC_NULL_TERMINATED; + +#define TEXT_ELEMENT(ELEM) \ + gchar * \ + mq_html_##ELEM(const gchar *text); \ + gchar * \ + mq_html_##ELEM##_free(gchar *text); +TEXT_ELEMENT(h1) +TEXT_ELEMENT(h2) +TEXT_ELEMENT(h3) +TEXT_ELEMENT(h4) +TEXT_ELEMENT(h5) +TEXT_ELEMENT(h6) +TEXT_ELEMENT(p) +#undef TEXT_ELEMENT + +gchar * +mq_html_container(const gchar *element, ...) G_GNUC_NULL_TERMINATED; + +gchar * +mq_html_list(const gchar *type, GDestroyNotify destroy, ...) + G_GNUC_NULL_TERMINATED; + +gchar * +mq_html_list_v(const gchar *type, gchar **children); + +gchar * +mq_html_notebook(gboolean vertical, const gchar *name, guint current_page, ...) + G_GNUC_NULL_TERMINATED; + +gchar * +mq_html_form(const gchar *submit_label, const gchar *reset_label, ...) + G_GNUC_NULL_TERMINATED; + +gchar * +mq_html_input_text(const gchar *name, const gchar *label, const gchar *value); + +gchar * +mq_html_input_number_i(const gchar *name, const gchar *label, + gint min, gint step, gint max, gint value); + +gchar * +mq_html_input_number_d(const gchar *name, const gchar *label, + gdouble min, gdouble step, gdouble max, gdouble value); + +gchar * +mq_html_input_radio(const gchar *name, const gchar *label, gboolean checked); + +gchar * +mq_html_input_checkbox(const gchar *name, const gchar *label, gboolean checked); + +gchar * +mq_html_input_select(const gchar *name, const gchar *label, + const gchar *selected, + GDestroyNotify destroy_value, GDestroyNotify destroy_label, ...) + G_GNUC_NULL_TERMINATED; + +gchar * +mq_html_input_iframe(const gchar *src); + +#endif |