[package] name = "skia-safe" description = "Safe Skia Bindings for Rust" homepage = "https://github.com/rust-skia/rust-skia" repository = "https://github.com/rust-skia/rust-skia" documentation = "https://rust-skia.github.io/doc/skia_safe" readme = "README.md" # 5 max keywords = ["skia", "rust-bindings", "vulkan", "opengl", "pdf"] # 6 max categories = [ "api-bindings", "graphics", "multimedia::images", "rendering::graphics-api", "visualization", ] license = "MIT" version = "0.80.1" authors = ["Armin Sander "] edition = "2021" [lib] doctest = false [features] default = ["binary-cache", "embed-icudtl"] all-linux = ["gl", "egl", "vulkan", "x11", "wayland", "textlayout", "svg", "webp"] all-windows = ["gl", "vulkan", "d3d", "textlayout", "svg", "webp"] all-macos = ["gl", "vulkan", "metal", "textlayout", "svg", "webp"] gl = ["gpu", "skia-bindings/gl"] egl = ["gl", "skia-bindings/egl"] x11 = ["gl", "skia-bindings/x11"] wayland = ["egl", "skia-bindings/wayland"] vulkan = ["gpu", "skia-bindings/vulkan"] metal = ["gpu", "skia-bindings/metal"] d3d = ["gpu", "windows", "skia-bindings/d3d"] textlayout = ["skia-bindings/textlayout"] svg = ["skia-bindings/svg", "dep:base64", "dep:percent-encoding", "skia-svg-macros"] ureq = ["dep:ureq"] webp = ["webp-encode", "webp-decode"] webp-encode = ["skia-bindings/webp-encode"] webp-decode = ["skia-bindings/webp-decode"] use-system-jpeg-turbo = ["skia-bindings/use-system-jpeg-turbo"] binary-cache = ["skia-bindings/binary-cache"] embed-icudtl = ["skia-bindings/embed-icudtl"] embed-freetype = ["skia-bindings/embed-freetype"] freetype-woff2 = ["skia-bindings/freetype-woff2"] # test only save-svg-images = [] # implied only, do not use gpu = [] shaper = ["textlayout", "skia-bindings/shaper"] [dependencies] bitflags = "2.0" lazy_static = "1.4" skia-bindings = { version = "=0.80.0", path = "../skia-bindings", default-features = false } # D3D types & ComPtr windows = { version = "0.58.0", features = [ "Win32", "Win32_Graphics", "Win32_Graphics_Dxgi", "Win32_Graphics_Direct3D12", "Win32_Graphics_Direct3D", "Win32_Foundation", "Win32_Graphics_Dxgi_Common", ], optional = true } # svg ureq = { version = "2.8.0", optional = true } base64 = { version = "0.22.0", optional = true } percent-encoding = { version = "2.3.1", optional = true } skia-svg-macros = { version = "0.1.0", path = "../skia-svg-macros", optional = true } [dev-dependencies] serial_test = "3.0" static_assertions = "1.1" winit = "0.30.2" # gl-window [target.'cfg(all(not(target_os = "android"), not(target_os = "emscripten"), not(target_os = "ios")))'.dev-dependencies] glutin = "0.32.0" glutin-winit = "0.5.0" raw-window-handle = "0.6.0" gl-rs = { version = "0.14.0", package = "gl" } # metal-window [target.'cfg(target_os = "macos")'.dev-dependencies] metal-rs = { package = "metal", version = "0.24.0" } raw-window-handle = "0.6.0" objc = "0.2.7" cocoa = "0.26.0" core-graphics-types = "0.1.1" foreign-types-shared = "0.1.1" # d3d-window [target.'cfg(target_os = "windows")'.dev-dependencies] anyhow = { version = "1.0.75" } windows = { version = "0.58.0", features = [ "Win32", "Win32_Graphics", "Win32_Graphics_Dxgi", "Win32_Graphics_Direct3D12", "Win32_Graphics_Direct3D", "Win32_Foundation", "Win32_Graphics_Dxgi_Common", ] }