diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2021-06-25 14:01:54 +0100 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2021-06-25 14:03:04 +0100 |
commit | e177254db462891236454a262afc8f1f7a31eaf8 (patch) | |
tree | a9b54b97392531cb4de89b2d538e5a468a9eec7a | |
parent | 4b15a49bde7343c707263c7ee1d73be07a0bf060 (diff) | |
download | netsurf-e177254db462891236454a262afc8f1f7a31eaf8.tar.gz netsurf-e177254db462891236454a262afc8f1f7a31eaf8.tar.bz2 |
RISC OS: Image: Remove forward declaration.
-rw-r--r-- | frontends/riscos/image.c | 134 |
1 files changed, 63 insertions, 71 deletions
diff --git a/frontends/riscos/image.c b/frontends/riscos/image.c index 4cf28692a..885364ebc 100644 --- a/frontends/riscos/image.c +++ b/frontends/riscos/image.c @@ -29,74 +29,6 @@ #include "riscos/gui.h" #include "riscos/tinct.h" -static bool image_redraw_tinct(osspriteop_id header, int x, int y, - int req_width, int req_height, int width, int height, - colour background_colour, bool repeatx, bool repeaty, - bool alpha, unsigned int tinct_options); -static bool image_redraw_os(osspriteop_id header, int x, int y, - int req_width, int req_height, int width, int height); - -/** - * Plot an image at the given coordinates using the method specified - * - * \param area The sprite area containing the sprite - * \param x Left edge of sprite - * \param y Top edge of sprite - * \param req_width The requested width of the sprite - * \param req_height The requested height of the sprite - * \param width The actual width of the sprite - * \param height The actual height of the sprite - * \param background_colour The background colour to blend to - * \param repeatx Repeat the image in the x direction - * \param repeaty Repeat the image in the y direction - * \param background Use background image settings (otherwise foreground) - * \param type The plot method to use - * \return true on success, false otherwise - */ -bool image_redraw(osspriteop_area *area, int x, int y, int req_width, - int req_height, int width, int height, - colour background_colour, - bool repeatx, bool repeaty, bool background, image_type type) -{ - unsigned int tinct_options; - - /* failed decompression/loading can result in no image being present */ - if (!area) - return false; - - osspriteop_id header = (osspriteop_id) - ((char*) area + area->first); - req_width *= 2; - req_height *= 2; - width *= 2; - height *= 2; - tinct_options = background ? nsoption_int(plot_bg_quality) : - nsoption_int(plot_fg_quality); - switch (type) { - case IMAGE_PLOT_TINCT_ALPHA: - return image_redraw_tinct(header, x, y, - req_width, req_height, - width, height, - background_colour, - repeatx, repeaty, true, - tinct_options); - case IMAGE_PLOT_TINCT_OPAQUE: - return image_redraw_tinct(header, x, y, - req_width, req_height, - width, height, - background_colour, - repeatx, repeaty, false, - tinct_options); - case IMAGE_PLOT_OS: - return image_redraw_os(header, x, y, req_width, - req_height, width, height); - default: - break; - } - - return false; -} - /** * Plot an image at the given coordinates using tinct * @@ -114,7 +46,7 @@ bool image_redraw(osspriteop_area *area, int x, int y, int req_width, * \param tinct_options The base option set to use * \return true on success, false otherwise */ -bool image_redraw_tinct(osspriteop_id header, int x, int y, +static bool image_redraw_tinct(osspriteop_id header, int x, int y, int req_width, int req_height, int width, int height, colour background_colour, bool repeatx, bool repeaty, bool alpha, unsigned int tinct_options) @@ -150,7 +82,6 @@ bool image_redraw_tinct(osspriteop_id header, int x, int y, return true; } - /** * Plot an image at the given coordinates using os_spriteop * @@ -163,7 +94,7 @@ bool image_redraw_tinct(osspriteop_id header, int x, int y, * \param height The actual height of the sprite * \return true on success, false otherwise */ -bool image_redraw_os(osspriteop_id header, int x, int y, int req_width, +static bool image_redraw_os(osspriteop_id header, int x, int y, int req_width, int req_height, int width, int height) { int size; @@ -227,3 +158,64 @@ bool image_redraw_os(osspriteop_id header, int x, int y, int req_width, return true; } + +/** + * Plot an image at the given coordinates using the method specified + * + * \param area The sprite area containing the sprite + * \param x Left edge of sprite + * \param y Top edge of sprite + * \param req_width The requested width of the sprite + * \param req_height The requested height of the sprite + * \param width The actual width of the sprite + * \param height The actual height of the sprite + * \param background_colour The background colour to blend to + * \param repeatx Repeat the image in the x direction + * \param repeaty Repeat the image in the y direction + * \param background Use background image settings (otherwise foreground) + * \param type The plot method to use + * \return true on success, false otherwise + */ +bool image_redraw(osspriteop_area *area, int x, int y, int req_width, + int req_height, int width, int height, + colour background_colour, + bool repeatx, bool repeaty, bool background, image_type type) +{ + unsigned int tinct_options; + + /* failed decompression/loading can result in no image being present */ + if (!area) + return false; + + osspriteop_id header = (osspriteop_id) + ((char*) area + area->first); + req_width *= 2; + req_height *= 2; + width *= 2; + height *= 2; + tinct_options = background ? nsoption_int(plot_bg_quality) : + nsoption_int(plot_fg_quality); + switch (type) { + case IMAGE_PLOT_TINCT_ALPHA: + return image_redraw_tinct(header, x, y, + req_width, req_height, + width, height, + background_colour, + repeatx, repeaty, true, + tinct_options); + case IMAGE_PLOT_TINCT_OPAQUE: + return image_redraw_tinct(header, x, y, + req_width, req_height, + width, height, + background_colour, + repeatx, repeaty, false, + tinct_options); + case IMAGE_PLOT_OS: + return image_redraw_os(header, x, y, req_width, + req_height, width, height); + default: + break; + } + + return false; +} |