| 1 | [package] |
| 2 | name = "skia-safe" |
| 3 | |
| 4 | description = "Safe Skia Bindings for Rust" |
| 5 | homepage = "https://github.com/rust-skia/rust-skia" |
| 6 | repository = "https://github.com/rust-skia/rust-skia" |
| 7 | documentation = "https://rust-skia.github.io/doc/skia_safe" |
| 8 | readme = "README.md" |
| 9 | # 5 max |
| 10 | keywords = ["skia" , "rust-bindings" , "vulkan" , "opengl" , "pdf" ] |
| 11 | # 6 max |
| 12 | categories = [ |
| 13 | "api-bindings" , |
| 14 | "graphics" , |
| 15 | "multimedia::images" , |
| 16 | "rendering::graphics-api" , |
| 17 | "visualization" , |
| 18 | ] |
| 19 | license = "MIT" |
| 20 | |
| 21 | version = "0.84.0" |
| 22 | authors = ["Armin Sander <armin@replicator.org>" ] |
| 23 | edition = "2021" |
| 24 | rust-version.workspace = true |
| 25 | |
| 26 | [lib] |
| 27 | doctest = false |
| 28 | |
| 29 | [features] |
| 30 | default = ["binary-cache" , "embed-icudtl" ] |
| 31 | all-linux = ["gl" , "egl" , "vulkan" , "x11" , "wayland" , "textlayout" , "svg" , "webp" ] |
| 32 | all-windows = ["gl" , "vulkan" , "d3d" , "textlayout" , "svg" , "webp" ] |
| 33 | all-macos = ["gl" , "vulkan" , "metal" , "textlayout" , "svg" , "webp" ] |
| 34 | gl = ["gpu" , "skia-bindings/gl" ] |
| 35 | egl = ["gl" , "skia-bindings/egl" ] |
| 36 | x11 = ["gl" , "skia-bindings/x11" ] |
| 37 | wayland = ["egl" , "skia-bindings/wayland" ] |
| 38 | vulkan = ["gpu" , "skia-bindings/vulkan" ] |
| 39 | metal = ["gpu" , "skia-bindings/metal" ] |
| 40 | d3d = ["gpu" , "windows" , "skia-bindings/d3d" ] |
| 41 | textlayout = ["skia-bindings/textlayout" ] |
| 42 | svg = ["skia-bindings/svg" , "dep:base64" , "dep:percent-encoding" , "skia-svg-macros" ] |
| 43 | ureq = ["dep:ureq" ] |
| 44 | webp = ["webp-encode" , "webp-decode" ] |
| 45 | webp-encode = ["skia-bindings/webp-encode" ] |
| 46 | webp-decode = ["skia-bindings/webp-decode" ] |
| 47 | use-system-jpeg-turbo = ["skia-bindings/use-system-jpeg-turbo" ] |
| 48 | binary-cache = ["skia-bindings/binary-cache" ] |
| 49 | embed-icudtl = ["skia-bindings/embed-icudtl" ] |
| 50 | embed-freetype = ["skia-bindings/embed-freetype" ] |
| 51 | freetype-woff2 = ["skia-bindings/freetype-woff2" ] |
| 52 | # test only |
| 53 | save-svg-images = [] |
| 54 | |
| 55 | # implied only, do not use |
| 56 | gpu = [] |
| 57 | shaper = ["textlayout" , "skia-bindings/shaper" ] |
| 58 | |
| 59 | # vulkan-window example |
| 60 | vulkan-window = ["dep:ash" , "dep:vulkano" , "winit/rwh_05" ] |
| 61 | |
| 62 | [dependencies] |
| 63 | bitflags = "2.0" |
| 64 | lazy_static = "1.4" |
| 65 | skia-bindings = { version = "=0.84.0" , path = "../skia-bindings" , default-features = false } |
| 66 | |
| 67 | # vulkan-window example |
| 68 | ash = { version = "^0.38.0" , optional = true } |
| 69 | vulkano = { version = "0.35" , optional = true } |
| 70 | |
| 71 | # D3D types & ComPtr |
| 72 | windows = { version = "0.61.1" , features = [ |
| 73 | "Win32" , |
| 74 | "Win32_Graphics" , |
| 75 | "Win32_Graphics_Dxgi" , |
| 76 | "Win32_Graphics_Direct3D12" , |
| 77 | "Win32_Graphics_Direct3D" , |
| 78 | "Win32_Foundation" , |
| 79 | "Win32_Graphics_Dxgi_Common" , |
| 80 | ], optional = true } |
| 81 | |
| 82 | # svg |
| 83 | ureq = { version = "3.0.4" , optional = true } |
| 84 | base64 = { version = "0.22.0" , optional = true } |
| 85 | percent-encoding = { version = "2.3.1" , optional = true } |
| 86 | skia-svg-macros = { version = "0.1.0" , path = "../skia-svg-macros" , optional = true } |
| 87 | |
| 88 | [dev-dependencies] |
| 89 | serial_test = "3.0" |
| 90 | static_assertions = "1.1" |
| 91 | winit = "0.30.2" |
| 92 | |
| 93 | # gl-window |
| 94 | [target.'cfg(all(not(target_os = "android"), not(target_os = "emscripten"), not(target_os = "ios")))'.dev-dependencies] |
| 95 | glutin = "0.32.0" |
| 96 | glutin-winit = "0.5.0" |
| 97 | raw-window-handle = "0.6.0" |
| 98 | gl-rs = { version = "0.14.0" , package = "gl" } |
| 99 | |
| 100 | # metal-window |
| 101 | [target.'cfg(target_os = "macos")'.dev-dependencies] |
| 102 | metal-rs = { package = "metal" , version = "0.24.0" } |
| 103 | raw-window-handle = "0.6.0" |
| 104 | objc = "0.2.7" |
| 105 | cocoa = "0.26.0" |
| 106 | core-graphics-types = "0.1.1" |
| 107 | foreign-types-shared = "0.1.1" |
| 108 | |
| 109 | # d3d-window |
| 110 | [target.'cfg(target_os = "windows")'.dev-dependencies] |
| 111 | anyhow = { version = "1.0.75" } |
| 112 | windows = { version = "0.61.1" , features = [ |
| 113 | "Win32" , |
| 114 | "Win32_Graphics" , |
| 115 | "Win32_Graphics_Dxgi" , |
| 116 | "Win32_Graphics_Direct3D12" , |
| 117 | "Win32_Graphics_Direct3D" , |
| 118 | "Win32_Foundation" , |
| 119 | "Win32_Graphics_Dxgi_Common" , |
| 120 | ] } |
| 121 | |