msrd0
msrd0
Hm ... I don't like this. It makes claims about the internal structure of the C binding's struct - which has [an additional field in the samsung version](https://github.com/Samsung/rlottie/blob/master/src/binding/c/lottieanimation_capi.cpp#L36) for example.
> also rust bindings uses only first field of this struct Well, C++ is going to instantiate a struct with your definition and access and drop a struct with the...
Yes, that sounds like a good API design. Maybe don't have a `_ => Self::None` case though as that implies that literally any char has a meaning? I wouldn't expect...
Sorry for the delay on this PR. Is your intention to merge the changes on your fork into the telegram rlottie library? I really don't think it would be a...
Well, someone has to do the conversion, and I think it would make more sense for the rlottie binding to expose an API the way rlottie does it. I think...
> https://github.com/TelegramMessenger/rlottie/pull/4 haven't merged yet Yes I know, I even use that PR in my CI (https://github.com/msrd0/install-rlottie-action/blob/v1/action.yml#L34). It is very sad to see that no one seems to be maintaining...
I just searched through the rlottie code and it seems to be the case that there can only be those variants: https://github.com/TelegramMessenger/rlottie/blob/master/src/lottie/lottieparser.cpp#L643 Since the rlottie code kinda forces the enum,...
No, the C API isn't going to help you. The changes you linked to are only made to the C++ interface, the C interface is just a binding to that.
Yeah I see basically 3 options: - try to use bindgen with C++, or the [cxx](https://github.com/dtolnay/cxx) crate to bridge to C++ directly, which is likely going to be very painful...
It looks like this should work with Samsung version of rlottie too (https://github.com/Samsung/rlottie/commit/3be663ef40122aca6c748e91f060e6b15637bdb5), but with a different api.