src/hb-paint.hh


Log

Author Commit Date CI Message
Behdad Esfahbod b1258cdd 2025-03-16T16:22:52 Merge branch 'main' into HVF
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
Behdad Esfahbod b13c8127 2025-02-22T22:00:25 [paint] Simplify transforms Transform nodes are rarely no-op anyway. Don't optimize them away.
Behdad Esfahbod 4d525392 2025-02-22T16:43:33 [geometry] Add scale_around_center & skew_around_center
Behdad Esfahbod a5b083b7 2025-02-22T16:32:20 [paint] Use transforms from hb-geometry
Behdad Esfahbod 120bc2c6 2025-02-22T16:24:35 [paint] Add rotate_around_center
Behdad Esfahbod e1b92c09 2025-02-22T16:08:50 [paint] Use hb_sincos()
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 75e6498d 2023-03-14T12:41:46 Don't use M_PI Fixes https://github.com/harfbuzz/harfbuzz/issues/4166 Happy Pi Day!
Behdad Esfahbod 2accbdc0 2023-01-25T14:40:04 [paint] Minor skew
Behdad Esfahbod 626f8e4d 2023-01-25T14:33:46 [paint] Fix skew to match Chrome
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 bd733146 2023-01-18T20:37:21 [paint] Add API for custom palettes
Behdad Esfahbod 3ff91c44 2022-12-31T14:49:41 [paint] Optimize transform operations again
Behdad Esfahbod 6b47fcb1 2022-12-31T11:40:12 [paint] Add internal push_skew/pop_skew API
Behdad Esfahbod 46adf31b 2022-12-31T11:35:39 [paint] Add internal push_rotate/pop_rotate API
Behdad Esfahbod ce783512 2022-12-31T11:32:15 [paint] Add internal push_scale/pop_scale API
Behdad Esfahbod 7363eb37 2022-12-31T11:24:42 [paint] Add internal push_translate/pop_translate
Behdad Esfahbod df916779 2022-12-31T11:12:02 [paint] Call internal API internally
Behdad Esfahbod 99da0e6c 2022-12-31T11:04:40 [paint] Avoid div-by-zero
Behdad Esfahbod f70c5d6f 2022-12-24T10:56:06 [paint] Continue returning bool from paint_image() https://github.com/harfbuzz/harfbuzz/commit/6ccbfabd4fcc5d4cca99be10552c270205fd7792#commitcomment-94127307
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.
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 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.
Behdad Esfahbod 84953953 2022-12-21T09:03:13 [paint] Fix slant
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 0a2f3673 2022-12-17T13:51:23 [paint] Use tags for image formats This fits better with the rest of the HarfBuzz API.
Behdad Esfahbod 4b0285ba 2022-12-17T11:18:42 [colr] Use slant_xy
Matthias Clasen a935e4b0 2022-12-17T12:59:58 [paint] Add synthetic slant to root transform
Matthias Clasen 686e627b 2022-12-17T12:44:16 [paint] Set up root transform in one place Instead of spreading this in all the tables, make hb_paint_funcs_t provide a push/pop_root_transform that does all the setup.
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.
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 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 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 83d0a49f 2022-12-13T21:14:25 wip: hb-paint