Nico Weber
8f415e7b21
LibGfx: Introduce ICC::Profile::create
...
This can be used to programmatically create ICC::Profile objects.
2023-03-04 21:38:47 +00:00
Nico Weber
8179327068
LibGfx: Add fallible ICC::Profile::try_for_each_tag
...
Similar to 13b18a1
or d0f3f3d
.
2023-02-19 23:46:36 +01:00
Nico Weber
1457e36b79
LibGfx: Write ICC tag table
...
All offsets and sizes are set to 0 for now, so this still doesn't
produce a valid icc file. It gets closer, though.
2023-02-19 00:01:44 +01:00
Nico Weber
e8a2c17f8f
LibGfx: Add an accessor for the raw ICC Version minor_and_bugfix byte
...
This is makes it easier to write this value back out.
2023-02-17 20:05:50 -07:00
Nico Weber
78d849bce2
LibGfx: Make ICCHeader use RenderingIntent enum
...
No behavior change.
2023-02-17 20:05:50 -07:00
Nico Weber
9ba3c8e36d
LibGfx: Move ICC::Profile towards "Fallible Constructors" pattern
...
Not quite there yet due to check_required_tags() / check_tag_types(),
but getting closer :^)
2023-02-15 10:15:24 +01:00
Nico Weber
db614b47dd
LibGfx: Move ICC::Profile::read_header() out of class
...
This one is slightly more involved: To make it nice, extract
all the Profile fields that belong to the header into a separate
struct.
2023-02-15 10:15:24 +01:00
Nico Weber
272e5321e3
LibGfx: Move ICC::Profile::read_tag_table() out of class
2023-02-15 10:15:24 +01:00
Nico Weber
006dff6878
LibGfx: Move ICC::Profile::read_tag() out of class
2023-02-15 10:15:24 +01:00
Nico Weber
b5deccf859
LibGfx: Split ICC/Profile.{h,cpp} into several files
...
s15Fixed16Number and XYZNumber are somewhat awkwardly duplicated
in both Profile.cpp and TagTypes.cpp. Other than that, this is a
pure code move.
No behavior change.
2023-01-28 00:27:07 +00:00
Nico Weber
6d51d8ad32
LibGfx: Bump copyright year in ICC/Profile.{h,cpp}
2023-01-28 00:27:07 +00:00
Nico Weber
721b280849
LibGfx: Move ICCProfile.{h,cpp} to ICC/Profile.{h,cpp}
2023-01-28 00:27:07 +00:00