From 5ac45472c7af8ccf686ea93791e491899889f087 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Sun, 6 Mar 2011 13:58:02 +0000 Subject: Fix broken CONTENT_PLUGIN API. Add a default content handler for Amiga using the plugin interface, which passes unknown files (currently images only) through DataTypes. svn path=/trunk/netsurf/; revision=11924 --- desktop/plugin.h | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 desktop/plugin.h (limited to 'desktop') diff --git a/desktop/plugin.h b/desktop/plugin.h new file mode 100644 index 000000000..3fb207e8e --- /dev/null +++ b/desktop/plugin.h @@ -0,0 +1,59 @@ +/* + * Copyright 2011 Chris Young + * + * 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 Content handler for plugins (interface) + */ + +#ifndef NETSURF_DESKTOP_PLUGIN_H_ +#define NETSURF_DESKTOP_PLUGIN_H_ + +#ifdef WITH_PLUGIN + +#include + +#if defined(riscos) +#include "riscos/plugin.h" +#elif defined(nsamiga) +#include "amiga/plugin.h" +#endif + +struct box; +struct browser_window; +struct content; +struct object_params; +struct rect; +struct http_parameter; + +/* function definitions */ +bool plugin_handleable(const char *mime_type); +bool plugin_create(struct content *c, const struct http_parameter *params); +bool plugin_convert(struct content *c); +void plugin_reformat(struct content *c, int width, int height); +void plugin_destroy(struct content *c); +bool plugin_redraw(struct content *c, int x, int y, + int width, int height, const struct rect *clip, + float scale, colour background_colour); +void plugin_open(struct content *c, struct browser_window *bw, + struct content *page, unsigned int index, struct box *box, + struct object_params *params); +void plugin_close(struct content *c); +bool plugin_clone(const struct content *old, struct content *new_content); + +#endif /* WITH_PLUGIN */ +#endif -- cgit v1.2.3