Commit Graph

96 Commits

Author SHA1 Message Date
Vincent Sanders
79127cce82 ensure libsvgtiny plot style is correctly set up 2024-09-27 09:15:52 +01:00
Michael Drake
2bffbebad7 image handlers: Squash -Wcalloc-transposed-args (gcc-14) 2024-05-24 21:09:24 +01:00
Vincent Sanders
b5f4d905f9 use attributes to indicate switch fall through instead of comments 2024-03-05 21:33:13 +00:00
Vincent Sanders
199f86dcf1 avoid increased alignment warning 2024-03-05 11:58:16 +00:00
Vincent Sanders
cea268ddc6 width variable is only required with misconfigured libjpeg 2024-02-27 13:23:49 +00:00
Michael Drake
f68aca93b7 jpegxl: Ensure decoded bitmap format is converted to front end format 2023-11-26 17:26:09 +00:00
Michael Drake
d59f30c683 jpegxl: Tell libjxl to decode unpremultiply alpha if needed
On some platforms our bitmap format does not use premultiplied alpha.
2023-11-26 17:26:09 +00:00
Michael Drake
6fa4c04dea jpegxl: Designated initialiser for output format struct
So I could see the meanings of how we'd set up the decode.
2023-11-26 17:26:09 +00:00
Vincent Sanders
b19fcdd26f avoid the unecessary callback API 2023-11-26 17:26:09 +00:00
Vincent Sanders
dbe5d1ef87 Implement simple jpeg xl image handler 2023-11-26 17:26:09 +00:00
Michael Drake
f30f869ea4 rsvg246: Fix build against librsvg 2.48
The version of librsvg is used on Ubuntu 20.04TLS.
2022-12-13 13:02:44 +00:00
Michael Drake
68a4cd39cd rsvg246: Split out width/height acquisition 2022-12-13 13:02:44 +00:00
Vincent Sanders
9b57f64c55 add rsvg image decoder that uses the new API 2022-11-27 17:34:41 +00:00
Michael Drake
877bc2ce13 gif: Ensure we never pass NSERROR_OK to error broadcast 2022-11-04 13:52:17 +00:00
Michael Drake
afbd9cd5e8 gif: Mark gifs as complete after scanning source data
This allows libnsgif to distinguish between awaiting more
data, and a broken truncated GIF. In the latter case we
can display what we have.
2022-11-04 11:36:02 +00:00
Michael Drake
ce6a2c87da content: image cache: Avoid int overflow before size_t conversion 2022-10-23 17:22:56 +01:00
Vincent Sanders
40acd620b5 Ensure image cache logging does not cause division by zero at exit 2022-09-11 13:50:55 +01:00
John-Mark Bell
69adc31d07 inttypes: custom format for UnixLib ssize_t
UnixLib defines ssize_t to be a long int, which forces the
corresponding format string to need to be %ld to avoid compiler
warnings. Making this change uncovered a number of places where
we were using the wrong format specifier entirely (namely
PRIssizet where we meant PRIsizet). Fix these, too.
2022-06-03 02:34:22 +01:00
Michael Drake
8e56cc3b1a Bitmap: Implement test_opaque in core instead of in every frontend. 2022-03-29 15:25:33 +01:00
Michael Drake
feeda29c27 WebP: Optimisation: If it's opaque avoid any PMA conversions. 2022-03-28 16:06:02 +01:00
Michael Drake
4307230331 PNG: Allow support for premultiplied alpha.
LibPNG doesn't support premultiplied alpha, so now that the core
supports it, we can't just say that the decoded PNG is in the
core bitmap format.

So we now say it's in the core pixel layout, and if it's opaque
we say it has the same premultipled alpha setting as core bitmaps
because the conversion is costly and makes no difference.

On the other hand if it is not opaque we now admit that it is
not premultipled alpha so it gets converted if needed.
2022-03-28 16:05:47 +01:00
Michael Drake
d0da09a7ca Image: JPEG: Decode to client bitmap format where possible. 2022-03-27 13:25:37 +01:00
Michael Drake
bbfc0ca353 Image: JPEG: Warn if not using libjpeg-turbo.
Replaces RISC OS warning with a more general and relevant one.
2022-03-27 11:03:43 +01:00
Michael Drake
d33af42911 Image: WebP: Decode to client bitmap format where possible. 2022-03-27 10:50:29 +01:00
Michael Drake
41995c3999 Image: WebP: Correct output buffer size for rowstride. 2022-03-27 10:41:27 +01:00
Michael Drake
fba7a349c0 Image: Sprite: Avoid multiple bitmap format conversions. 2022-03-27 10:17:48 +01:00
Michael Drake
694a3b4c98 Image: RSVG: Just use bitmap to client for conversion. 2022-03-27 09:58:21 +01:00
Michael Drake
b0e7de8bff Image: PNG: Decode to client bitmap format. 2022-03-27 09:58:21 +01:00
Michael Drake
cde6a10ef4 Image: GIF: Decode directly to client bitmap format. 2022-03-27 09:58:21 +01:00
Michael Drake
d00c049d02 Bitmap: Move bitmap pixel to colour macro to bitmap header. 2022-03-27 09:58:21 +01:00
Michael Drake
1bbb499f88 Image: WebP: Call bitmap format conversion after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-27 09:58:21 +01:00
Michael Drake
df6ff85305 Image: RSVG: Call bitmap format conversion after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-27 09:58:21 +01:00
Michael Drake
052acc752c Image: PNG: Call bitmap format conversion after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-26 15:45:00 +00:00
Michael Drake
7bf6a88c9c Image: Sprite: Call bitmap format conversion after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-26 15:45:00 +00:00
Michael Drake
2f0fbbcaa0 Image: JPEG: Call bitmap format conversion after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-26 15:45:00 +00:00
Michael Drake
c7dce05437 Image: ICO: Abstract image decode into helper. 2022-03-26 15:45:00 +00:00
Michael Drake
60b12cd9fe Image: ICO: Call bitmap format conversion after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-26 15:45:00 +00:00
Michael Drake
e7a355bf8d Image: GIF: Call bitmap format conversion before/after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-26 15:45:00 +00:00
Michael Drake
27a89439a2 Image: BMP: Call bitmap format conversion after decode.
Currently a no-op, because we decode to the default format
and no front end requests anything but the default format.
2022-03-26 15:45:00 +00:00
Michael Drake
002c3c1a7c Bitmap API: Clean up creation flags. 2022-03-24 18:09:28 +00:00
Michael Drake
a4cb24ed46 Image: ICO: Update for new libnsbmp API. 2022-03-24 12:01:53 +00:00
Michael Drake
b6238c6c5c Image: BMP: Update for new libnsbmp API. 2022-03-24 12:01:36 +00:00
Michael Drake
1dd3c80d9b PNG: Bytes per pixel is always 4. 2022-03-24 11:12:57 +00:00
Michael Drake
7c3382834e GIF: Update to new libnsgif API.
Set required colour component order.
2022-03-23 17:52:20 +00:00
Michael Drake
ae9047b1ed GIF: Tolerate errors during scan if at least one frame. 2022-03-03 19:03:29 +00:00
Michael Drake
2e9ef8feae GIF: Update to latest libnsgif API. 2022-02-26 14:55:13 +00:00
Vincent Sanders
5207ecf308 split out the about scheme imagecache page generator 2020-09-20 16:36:01 +01:00
Vincent Sanders
ebe1b05114 improve desktop text search header usage
remove unecessary inclusion of desktop search header in content
  header which has knock on effect of not having ctype or string
  system headers dragged in unecessarily.

Futher this highlighted use of ctype API where internal ascii
  processing ought to be used.
2020-06-24 23:49:59 +01:00
Vincent Sanders
3a7fc30a5f implement content opacity check through the function table 2020-05-13 19:03:14 +01:00
Vincent Sanders
b39db1dac4 add missing header includes from previous change 2020-05-08 09:08:31 +01:00