-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rust bindings #17
Comments
Great, thanks! A couple of questions/comments:
|
Yeah, I took a look and it seems similar to what I'm going for atm. I'm trying to use the bindgen rust crate to automatically generate the bindings so that it could respond to any changes to the project and it seems like it may work. (also just a note I'm pretty new to basically everything(rust,c,git) so please feel free to give me any pointers) |
Thanks for looking into it. I have no experience with Rust at all but I'm impressed by the language and community. I'm happy to help and support Rust developers interested in Datoviz. Currently glfw is a hard requirement, but a longer-term goal would be to support other backends (Qt5 is the priority, there is some work in progress). I've made sure that the glfw-dependent code is isolated and somewhat abstracted away so that supporting other backends should not be too hard. I'd be interested in seeing an alternative windowing API to see how close it is from glfw and to see if I can update the code a bit to make the implementation easier. |
Keeps giving me this warning when I try to run a rust program with bindings to datoviz, not sure if its a big deal though since it doesn't currently stop it from running |
I think these are mostly harmless warnings, see https://www.gitmemory.com/issue/KhronosGroup/Vulkan-ValidationLayers/2729/824406355 |
Does the python bindings generator do some special handling with colormaps to get it to work? With bindgen and rust I cant seem to make bindings to the colormaps.h functions (bindgen cant generate bindings to inlined functions but it wont even generate bindings to the non-inlined ones in that file). Should they be exported or something so they can be used when datoviz is linked as a dll? |
Have a look at: https://github.com/datoviz/datoviz/blob/main/bindings/cython/datoviz/pydatoviz.pyx#L557-L578 If that doesn't work with Rust, we could perhaps export a few colormap-related functions. Any suggestions for the functions and signatures? |
Also how does the branch structure of this project work? Should I make pull requests to the dev branch with the incomplete code and w.i.p's or wait till it's done and request to the main branch |
I'd suggest to wait for a couple of days (hopefully) until I merge dev into main |
I'm not too sure which specific functions, it seems like all of the ones in the colormap functions section should be exported |
Actually I don't expect most of these functions to be used directly. There are two functions that are vectorized (they work on arrays): |
The dev branch has now been merged to main. |
Slowly working on some rust bindings. Opening this to ask some related questions and/or update on the progress.
The text was updated successfully, but these errors were encountered: