Commit graph

741 commits

Author SHA1 Message Date
Matthias Clasen
c221933977 [paint] Preserve foreground information 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
5d7553d38f view: Add a --font-palette option 2022-12-23 13:37:59 -07:00
Matthias Clasen
d094e76cbc hb-view: Pass fg color to hb_font_paint_glyph 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
b1500babaa utils: Some cairo helper tweaks 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
Behdad Esfahbod
cf02d13302 [cairo] Remove unused struct 2022-12-23 13:37:59 -07:00
Matthias Clasen
a3ba723876 Drop an unneeded include 2022-12-23 13:37:59 -07:00
Matthias Clasen
0800d1879c Try to fix autotools build 2022-12-23 13:37:59 -07:00
Matthias Clasen
5451b78f4a Don't use alloca
It complicates things on Windows, for no
big win. Just preallocate a reasonable amount.
2022-12-23 13:37:59 -07:00
Matthias Clasen
7c12db46ff Try to fix msvc build 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
3590ee74f4 [util] Fix bot 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
81bf089273 [hb-view] Use color render callback if HB_DRAW >= 2 2022-12-23 13:37:59 -07:00
Matthias Clasen
c65f580b93 Drop hb-test
This was a test binary to assist in developing
the hb-paint code. Not needed anymore, now that
hb-view has the same code in the cairo userfont
backend.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
9672aa8610 [util] Fix compiler warning 2022-12-23 13:37:59 -07:00
Matthias Clasen
955bd30365 Fix hb-cairo-utils
This was a stupid mistake, and hard to track down.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
3573956705 [util] Include stdio.h 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
7accbe97d8 [util] Fix argument order and root transform PNGs 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
529dc40d7d [util] Adjust scaling
Still doesn't render PNGs.

Fix a few compiler warnings
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
bcc9ab27fc [hb-view] Fix transformation
No need for cairo patch; that patch was wrong.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
c996fc58ec [hb-view] Remove redundant check 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
bec5354030 [hb-view] Fix render_color_glyph extents coordinate system
Needs cairo fix:
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/371
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
95ccd66481 [hb-view] Set glyph extents in render_color_glyph
Works around limitation in cairo-recording-surface unboundedness.

Extents are wrong but at least renders something now.
2022-12-23 13:37:59 -07:00
Matthias Clasen
6cadf280f2 Use hb-cairo-utils in hb-test
Just to prove that it works.
2022-12-23 13:37:59 -07:00
Matthias Clasen
8bcd13dd91 small fixup to hb-cairo-utils 2022-12-23 13:37:59 -07:00
Matthias Clasen
6c49822cad wip: Use hb-paint in hb-view
This doesn't paint anything yet.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
3b32eab38e [colr] Fix compiler warning 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
e3153654cb [colr] Fix PNG placement 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
f07ce68f9c Remove unused function 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
Matthias Clasen
9876e30c6e test: Support png images via paint_image 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
2c07828603 test: More debug spew 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
fdf17dbf34 Try fixing bots 2022-12-23 13:37:59 -07:00
Matthias Clasen
5c6329555e Apply root transform
This commit applies scale, slant is still missing.
2022-12-23 13:37:59 -07:00
Matthias Clasen
794fa4c3c1 sweep gradients etc 2022-12-23 13:37:59 -07:00
Matthias Clasen
d07fdc69dd test: dump color lines 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
Matthias Clasen
5a123e8691 quick testcase 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
0066e824f0 [util] Fix vertical positioning with --glyphs 2022-12-23 13:37:38 -07:00
Behdad Esfahbod
265b699fbd [util] Improve --glyphs 2022-12-23 13:31:48 -07:00
Behdad Esfahbod
d45f7265e9 [hb-view/hb-shape] Add --glyphs
This makes hb-view take output of hb-shape and render it.
2022-12-23 13:13:29 -07:00
Garret Rieger
1a51f71afd [subset] don't segfault when --help-all is specified w/ instancing options. 2022-12-19 16:02:05 -07:00
Nirbheek Chauhan
c7dd63d1a0 meson: Provide binaries when built as a subproject 2022-12-18 08:28:55 +02:00
Khaled Hosny
6add69a6ec [hb-view] Allow building without cairo-ft
Fixes https://github.com/harfbuzz/harfbuzz/issues/3925
2022-12-16 21:10:15 +02:00