Commit Graph

53 Commits

Author SHA1 Message Date
Behdad Esfahbod 04a47932a3 [paint] Remove enum trailing comma in C header
Fixes https://github.com/harfbuzz/harfbuzz/discussions/4188
2023-03-31 11:44:08 -06:00
Khaled Hosny 8bdaeddfcd 7.0.0 2023-02-11 23:52:58 +02:00
Khaled Hosny 0ea8bbd91a [doc] Use XSince for REPLACEME/EXPERIMENTAL
To hide them from gtk-doc so that we can finally enable gtkdoc-check.
2023-02-11 20:59:44 +02:00
Matthias Clasen c1a5d20951 [doc] Add a missing comma 2023-01-25 21:53:06 -05:00
Matthias Clasen f65b04c17c Tweak wording 2023-01-23 19:58:14 -07:00
Matthias Clasen 7e01976bcc [hb-paint] Add some details to the docs 2023-01-23 19:58:14 -07:00
Behdad Esfahbod eb00088bcf [paint] Docs 2023-01-20 13:57:39 -07:00
Behdad Esfahbod 638e0ed4fd [paint] Overlay custom-palette on top of chosen palette
Got to agree this is more ergonomic.
2023-01-20 13:57:39 -07:00
Behdad Esfahbod 1d58c8fb0e [paint] Typo 2023-01-18 21:14:24 -07:00
Behdad Esfahbod 8afd3ccb10 [paint] Add HB_PAINT_PALETTE_INDEX_CUSTOM 2023-01-18 20:43:10 -07:00
Behdad Esfahbod bd73314616 [paint] Add API for custom palettes 2023-01-18 20:37:21 -07:00
Behdad Esfahbod 7b0f9abc89 [paint] Add back "remote-control" API
This reverts commit f146299a40.
2022-12-27 12:38:49 -07:00
Behdad Esfahbod 43b0364eda [paint] Document composition modes 2022-12-27 12:29:53 -07:00
Behdad Esfahbod ec9e8a5993 [paint] Document extend modes. 2022-12-27 12:22:56 -07:00
Behdad Esfahbod c3a8c6bb8b [paint] More docs 2022-12-26 15:38:24 -07:00
Behdad Esfahbod 6ccbfabd4f [paint] Return bool from paint_image()
Fixes https://github.com/harfbuzz/harfbuzz/issues/3974
2022-12-24 10:44:25 -07:00
Matthias Clasen bbb89e62aa [paint] Document color lines as transient
Just so people don't get ideas.
2022-12-23 13:37:59 -07:00
Matthias Clasen 07ba5be393 [paint] Documentation tweaks 2022-12-23 13:37:59 -07:00
Matthias Clasen 21f78c8774 [paint] Document that colors are unpremultiplied
And mention that gradient interpolation must happen
in premultiplied space.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod fe4e9bd930 [colr] Add public vtable for hb_color_line_t 2022-12-23 13:37:59 -07:00
Matthias Clasen 6909701b36 [paint] Update docs 2022-12-23 13:37:59 -07:00
Behdad Esfahbod 381d410b1e [paint] Add HB_PAINT_IMAGE_FORMAT_BGRA and use it in hb-ft
Now hb-ft can render color emoji as well.

Just left COLRv2.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod c5f903872f [paint] Add bitmap width/height to paint_image callback
Such that we can add raw data as well.
2022-12-23 13:37:59 -07:00
Matthias Clasen eef47f2379 [paint] Fix the docs 2022-12-23 13:37:59 -07:00
Behdad Esfahbod 237955dffc [paint] Add slant to image() callback
And slant images in hb-view.
2022-12-23 13:37:59 -07:00
Matthias Clasen c221933977 [paint] Preserve foreground information 2022-12-23 13:37:59 -07:00
Matthias Clasen f146299a40 [paint] Drop unnecessary api 2022-12-23 13:37:59 -07:00
Matthias Clasen 6387004cad [paint] Simplify api
Drop the hb_paint_context_t struct from the API, and
only pass the font where we need it.
2022-12-23 13:37:59 -07:00
Matthias Clasen 71bd5a0dfc [paint] Resolve colors
We don't need to pass the index/alpha pairs to
client callbacks, and can just resolve the colors
internally.

Update test results.
2022-12-23 13:37:59 -07:00
Matthias Clasen 9be01b6bff [paint] Pass hb_paint_context_t along
Replace the font argument with a hb_paint_context_t
that carries the font, the palette index and the
foreground color.

The hb_font_paint_glyph() api now takes the palette
index and the foreground color as extra arguments.

Update all callers and regenerate test results.
2022-12-23 13:37:59 -07:00
Matthias Clasen 97224f3b63 [paint] Pass font to all callbacks
This will lead to easier implementations.

At the same time, we change the push_clip_glyph
callback to use the font as-is, no unscaling needed.

Update all callers and expected test results.
2022-12-23 13:37:59 -07:00
Matthias Clasen 32ce29f99e [font] Move hb_font_t typedef
This is needed to avoid circular header dependencies.
2022-12-23 13:37:59 -07:00
Matthias Clasen 08da126523 [docs] Linkify links 2022-12-23 13:37:59 -07:00
Matthias Clasen 9437f719a7 [paint] Document hb_paint_extend_t 2022-12-23 13:37:59 -07:00
Matthias Clasen 96cda3886c [paint] Clarify docs
Spell out where the different datas originate.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod ee2204469e [paint] Add get_empty / [sg]et_user_data 2022-12-23 13:37:59 -07:00
Behdad Esfahbod 85917e5b21 [paint] Fix docs 2022-12-23 13:37:59 -07:00
Matthias Clasen 0c77f1d9ab [paint] Documentation tweaks 2022-12-23 13:37:59 -07:00
Matthias Clasen 0a2f3673b9 [paint] Use tags for image formats
This fits better with the rest of the
HarfBuzz API.
2022-12-23 13:37:59 -07:00
Matthias Clasen 485ba9beb3 [paint] Spell out rectangle in the API
No need to abbreviate this.
2022-12-23 13:37:59 -07:00
Matthias Clasen 37f3f0fcc2 [paint] Change the image callback
Instead of passing the glyph ID, give
it the image blob, a mimetype, and
glyph extents (if available).

Update all callers.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod e799c33bb5 [paint] Fix function prototype 2022-12-23 13:37:59 -07:00
Matthias Clasen 82e23f322a paint: Add a paint-image callback
This will be used for image blobs like pngs and svgs.

FIXME: nail down and document sizing.
2022-12-23 13:37:59 -07:00
Matthias Clasen 56b02b6599 Update the docs
Mention that the color index will always be 0xFFFF
when using hb_paint API with fonts that don't have
color palettes.

And add an outline about which kinds of glyphs
require which callbacks.
2022-12-23 13:37:59 -07:00
Matthias Clasen 0d890061d1 Rename 'solid' to 'color'
'solid' does not really describe well what
the function does, and there is no strong
reason to stick 1:1 to the terminology used
in the spec.
2022-12-23 13:37:59 -07:00
Matthias Clasen 5afca91ff2 Add some docs 2022-12-23 13:37:59 -07:00
Matthias Clasen 44c68594f1 Some docs 2022-12-23 13:37:59 -07:00
Matthias Clasen 64f1b55d01 api fixes: use floats consistently 2022-12-23 13:37:59 -07:00
Matthias Clasen 627c857f8b rename pop_group_and_composite 2022-12-23 13:37:59 -07:00
Matthias Clasen c9350838c7 assorted fixes and changes 2022-12-23 13:37:59 -07:00