On Thursday, 24 October 2024 at 12:02:00 UTC, IchorDev wrote:
On Thursday, 3 October 2024 at 11:15:16 UTC, cookiewitch wrote:
After 9 months of development and 252 commits later, finally
0.7.0 gets to see the sunlight!
This project certainly seems promising, although I’m rather
worried about how many classes there are with almost no data—so
many allocations for what could just be a struct with function
pointers, no? That’s how FreeType does ‘inheritance’ in pure C.
Fluid nodes aren't just pointers to functions, so no. I think
switching to struct based code would intensely increase Fluid's
complexity, both for me and anyone trying to start using it. I
don't think it's worth it.
Anyway, at this stage, how difficult is it to make a custom
Fluid backend? (e.g. SDL2 for input or a different renderer)
The backend API still isn't very polished. It's not difficult,
but it takes some time to prepare. I also regret choosing a
Raylib-like API rather than an event-based on. I want to change
that in a later update, probably 0.8.0 or 0.9.0.
Also does this project have proper text layout support? I
noticed there’s a dependency on FreeType; but FreeType doesn’t
do layout, only rendering. I’m about to release
[BindBC-Pango](https://github.com/BindBC/bindbc-pango) if you
need a text layout engine. They’re absolutely imperative for
acceptable internationalisation support.
That is true, Fluid can only do the basic left-to-right text
layout right now. To be frank, it isn't even able to center or
right align text. So far I've opted for Freetype, because I'm
more familiar with APIs of its kind and I wanted to save some of
my time, but it might be about time I tried Pango. Thank you for
your work on the bindings, I'll check them out!