diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2011-03-06 13:58:02 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2011-03-06 13:58:02 +0000 |
commit | 5ac45472c7af8ccf686ea93791e491899889f087 (patch) | |
tree | 9d64a00ac2ceff5686f247ad163839a880f71b71 /riscos/plugin.c | |
parent | bfadf014825099ca4021a083fca7a6a83d737331 (diff) | |
download | netsurf-5ac45472c7af8ccf686ea93791e491899889f087.tar.gz netsurf-5ac45472c7af8ccf686ea93791e491899889f087.tar.bz2 |
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
Diffstat (limited to 'riscos/plugin.c')
-rw-r--r-- | riscos/plugin.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/riscos/plugin.c b/riscos/plugin.c index 25b2afe54..c3065ed37 100644 --- a/riscos/plugin.c +++ b/riscos/plugin.c @@ -183,8 +183,7 @@ static void plugin_fetch_callback(fetch_msg msg, void *p, const void *data, * \param params Parameters associated with the content * \return true on success, false otherwise */ -bool plugin_create(struct content *c, struct content *parent, - const char *params[]) +bool plugin_create(struct content *c, const http_parameter *params) { LOG(("plugin_create")); c->data.plugin.bw = 0; @@ -213,11 +212,9 @@ bool plugin_create(struct content *c, struct content *parent, * \param height Height of available space * \return true on success, false otherwise */ -bool plugin_convert(struct content *c, int width, int height) +bool plugin_convert(struct content *c) { LOG(("plugin_convert")); - c->width = width; - c->height = height; content_set_ready(c); content_set_done(c); @@ -535,6 +532,24 @@ void plugin_reformat(struct content *c, int width, int height) } } + +bool plugin_clone(const struct content *old, struct content *new_content) +{ + LOG(("plugin_clone")); + /* We "clone" the old content by replaying creation and conversion */ + if (plugin_create(new_content, NULL) == false) + return false; + + if (old->status == CONTENT_STATUS_READY || + old->status == CONTENT_STATUS_DONE) { + if (plugin_convert(new_content) == false) + return false; + } + + return true; +} + + /** * Creates a system variable from the mimetype * |