src/hb-paint.h


Log

Author Commit Date CI Message
Behdad Esfahbod a23021e1 2025-04-23T00:43:56 [COLRv1] Simplify paint_glyph() Pass a non-synthetic font to the client, so they don't have to worry about it. The only issue left, is that now when paint_glyph() paints an outline glyph (not color glyph), it would be double-slanted. I'm leaning towards removing painting of outline glyphs from the paint API and change the paint API to return a boolean.
Behdad Esfahbod bf28ca5f 2025-04-22T22:53:09 [paint] Mention hb_font_is_synthetic()
Behdad Esfahbod 4c0a925e 2025-04-22T22:36:28 [paint] Document clip_glyph vs synthetic shapes hurdle
Behdad Esfahbod a69713b5 2025-04-22T21:01:04 [color] Move slanting to font layer COLRv1 is still being double-slanted. Investigating.
Behdad Esfahbod 000a0ad7 2025-03-15T14:37:44 [paint] Add push_font_transform() / push_inverse_font_transform() Fixes https://github.com/harfbuzz/harfbuzz/issues/5146
Khaled Hosny fc42cdd6 2025-01-08T22:17:03 [docs] Reduce warnings
Khaled Hosny c1eb66d4 2023-09-08T21:54:32 8.2.0
Behdad Esfahbod 5560eb60 2023-08-14T17:05:22 [paint] Fix docs
Behdad Esfahbod 74527670 2023-08-14T15:57:24 [COLR/cairo] Add paint_color_glyph func Implement in cairo to use scaled-font's glyph cache.
Behdad Esfahbod 04a47932 2023-03-31T11:44:08 [paint] Remove enum trailing comma in C header Fixes https://github.com/harfbuzz/harfbuzz/discussions/4188
Khaled Hosny 8bdaeddf 2023-02-11T23:44:58 7.0.0
Khaled Hosny 0ea8bbd9 2023-02-11T20:01:06 [doc] Use XSince for REPLACEME/EXPERIMENTAL To hide them from gtk-doc so that we can finally enable gtkdoc-check.
Matthias Clasen c1a5d209 2023-01-25T21:52:05 [doc] Add a missing comma
Matthias Clasen f65b04c1 2023-01-23T21:57:05 Tweak wording
Matthias Clasen 7e01976b 2023-01-23T20:44:22 [hb-paint] Add some details to the docs
Behdad Esfahbod eb00088b 2023-01-20T13:55:13 [paint] Docs
Behdad Esfahbod 638e0ed4 2023-01-20T13:01:22 [paint] Overlay custom-palette on top of chosen palette Got to agree this is more ergonomic.
Behdad Esfahbod 1d58c8fb 2023-01-18T21:14:24 [paint] Typo
Behdad Esfahbod 8afd3ccb 2023-01-18T20:43:10 [paint] Add HB_PAINT_PALETTE_INDEX_CUSTOM
Behdad Esfahbod bd733146 2023-01-18T20:37:21 [paint] Add API for custom palettes
Behdad Esfahbod 7b0f9abc 2022-12-27T12:37:53 [paint] Add back "remote-control" API This reverts commit f146299a405b8338542a245b85e664de29f0c972.
Behdad Esfahbod 43b0364e 2022-12-27T12:29:53 [paint] Document composition modes
Behdad Esfahbod ec9e8a59 2022-12-27T12:22:56 [paint] Document extend modes.
Behdad Esfahbod c3a8c6bb 2022-12-26T15:38:24 [paint] More docs
Behdad Esfahbod 6ccbfabd 2022-12-24T10:44:25 [paint] Return bool from paint_image() Fixes https://github.com/harfbuzz/harfbuzz/issues/3974
Matthias Clasen bbb89e62 2022-12-23T13:30:26 [paint] Document color lines as transient Just so people don't get ideas.
Matthias Clasen 07ba5be3 2022-12-23T01:10:35 [paint] Documentation tweaks
Matthias Clasen 21f78c87 2022-12-23T00:30:40 [paint] Document that colors are unpremultiplied And mention that gradient interpolation must happen in premultiplied space.
Behdad Esfahbod fe4e9bd9 2022-12-22T20:14:19 [colr] Add public vtable for hb_color_line_t
Matthias Clasen 6909701b 2022-12-22T15:32:09 [paint] Update docs
Behdad Esfahbod 381d410b 2022-12-22T13:21:48 [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.
Behdad Esfahbod c5f90387 2022-12-22T12:16:55 [paint] Add bitmap width/height to paint_image callback Such that we can add raw data as well.
Matthias Clasen eef47f23 2022-12-22T14:16:02 [paint] Fix the docs
Behdad Esfahbod 237955df 2022-12-22T08:12:47 [paint] Add slant to image() callback And slant images in hb-view.
Matthias Clasen c2219339 2022-12-21T18:39:27 [paint] Preserve foreground information
Matthias Clasen f146299a 2022-12-21T17:24:02 [paint] Drop unnecessary api
Matthias Clasen 6387004c 2022-12-21T16:43:19 [paint] Simplify api Drop the hb_paint_context_t struct from the API, and only pass the font where we need it.
Matthias Clasen 71bd5a0d 2022-12-21T16:18:46 [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.
Matthias Clasen 9be01b6b 2022-12-21T14:04:32 [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.
Matthias Clasen 97224f3b 2022-12-21T02:11:36 [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.
Matthias Clasen 32ce29f9 2022-12-21T07:42:36 [font] Move hb_font_t typedef This is needed to avoid circular header dependencies.
Matthias Clasen 08da1265 2022-12-19T14:36:29 [docs] Linkify links
Matthias Clasen 9437f719 2022-12-19T14:29:39 [paint] Document hb_paint_extend_t
Matthias Clasen 96cda388 2022-12-19T09:59:33 [paint] Clarify docs Spell out where the different datas originate.
Behdad Esfahbod ee220446 2022-12-18T13:50:34 [paint] Add get_empty / [sg]et_user_data
Behdad Esfahbod 85917e5b 2022-12-18T13:08:45 [paint] Fix docs
Matthias Clasen 0c77f1d9 2022-12-17T14:10:28 [paint] Documentation tweaks
Matthias Clasen 0a2f3673 2022-12-17T13:51:23 [paint] Use tags for image formats This fits better with the rest of the HarfBuzz API.
Matthias Clasen 485ba9be 2022-12-17T12:25:04 [paint] Spell out rectangle in the API No need to abbreviate this.
Matthias Clasen 37f3f0fc 2022-12-17T11:49:18 [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.
Behdad Esfahbod e799c33b 2022-12-17T09:00:20 [paint] Fix function prototype
Matthias Clasen 82e23f32 2022-12-17T00:33:59 paint: Add a paint-image callback This will be used for image blobs like pngs and svgs. FIXME: nail down and document sizing.
Matthias Clasen 56b02b65 2022-12-16T23:58:37 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.
Matthias Clasen 0d890061 2022-12-17T00:07:30 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.
Matthias Clasen 5afca91f 2022-12-16T06:43:43 Add some docs
Matthias Clasen 44c68594 2022-12-16T00:48:28 Some docs
Matthias Clasen 64f1b55d 2022-12-14T23:58:25 api fixes: use floats consistently
Matthias Clasen 627c857f 2022-12-14T22:36:54 rename pop_group_and_composite
Matthias Clasen c9350838 2022-12-14T22:32:40 assorted fixes and changes
Matthias Clasen 42324aef 2022-12-14T22:04:46 hb-paint: annotation fix
Matthias Clasen efe13a19 2022-12-14T09:50:52 fix introspection
Matthias Clasen 83d0a49f 2022-12-13T21:14:25 wip: hb-paint