[package] name = "vidya-ffi" version = "0.1.0" edition = "2021" description = "Vidya C ABI backed by the Rust egui implementation" license = "MIT" publish = false # Produces `libvidya.so` / `libvidya.dylib`. egui is the only backend now — the # raylib and cimgui ones this name used to be interchangeable with are gone. [lib] name = "vidya" crate-type = ["cdylib"] [dependencies] # The Rust semantic layer this ABI exposes. Renamed so the cdylib itself can # keep the `vidya` lib name. vidya_core = { package = "vidya", path = "../vidya-core" } # `default_fonts` matters here: the root crate turns egui's defaults off, and a # shared library has no host app to install a font set for it. egui = { version = "0.31", features = ["default_fonts"] } egui-winit = "0.31" egui_glow = "0.31" glow = "0.16" # Decoding the images an `:image` node paints. png = "0.17" glutin = "0.32" glutin-winit = "0.5" winit = "0.30" # Reading a pasted picture off the clipboard, which egui does not deliver. # Desktop only: arboard has no Android backend. [target.'cfg(not(target_os = "android"))'.dependencies] arboard = { version = "3", default-features = false, features = ["image-data"] } # `vidya_open_url` is an ACTION_VIEW intent there, which is a JNI call against # the activity the glue holds. Nothing else on this side needs a JVM. [target.'cfg(target_os = "android")'.dependencies] jni = "0.22"