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 | |