# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "sdl3"
version = "0.18.4"
authors = [
    "Tony Aldridge <tony@angry-lawyer.com>",
    "Cobrand <cobrandw@gmail.com>",
    "Mischa Spiegelmock <me@mish.dev>",
    "Lokathor <@Lokathor@mastodon.social>",
]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Bindings to SDL3, a cross-platform library to abstract the platform-specific details for building applications."
documentation = "https://docs.rs/sdl3/latest/sdl3/"
readme = "README.md"
keywords = [
    "graphics",
    "engine",
    "cross-platform",
    "input",
    "audio",
]
categories = [
    "rendering",
    "api-bindings",
    "game-engines",
    "multimedia",
]
license = "MIT"
repository = "https://github.com/vhspace/sdl3-rs"
resolver = "2"

[package.metadata.docs.rs]
features = [
    "default",
    "raw-window-handle",
]

[package.metadata.vcpkg]
dependencies = ["sdl3"]
dev-dependencies = ["sdl3"]
git = "https://github.com/microsoft/vcpkg"
rev = "b322364"

[package.metadata.vcpkg.target.x86_64-pc-windows-msvc]
triplet = "x64-windows-static-md"

[features]
ash = ["sdl3-sys/use-ash-v0-38"]
build-from-source = [
    "sdl3-sys/build-from-source",
    "sdl3-image-sys?/build-from-source",
    "sdl3-ttf-sys?/build-from-source",
    "sdl3-mixer-sys?/build-from-source",
]
build-from-source-static = [
    "sdl3-sys/build-from-source-static",
    "sdl3-image-sys?/build-from-source-static",
    "sdl3-ttf-sys?/build-static-vendored",
    "sdl3-mixer-sys?/build-static-vendored",
]
build-from-source-unix-console = ["sdl3-sys/sdl-unix-console-build"]
default = []
gfx = ["c_vec"]
hidapi = []
image = ["dep:sdl3-image-sys"]
link-framework = ["sdl3-sys/link-framework"]
main = ["dep:sdl3-main"]
mixer = ["dep:sdl3-mixer-sys"]
raw-window-handle = [
    "dep:raw-window-handle",
    "dep:objc2",
]
static-link = ["sdl3-sys/link-static"]
test-mode = []
ttf = ["dep:sdl3-ttf-sys"]
unsafe_textures = []
use-pkg-config = ["sdl3-sys/use-pkg-config"]
use-vcpkg = ["sdl3-sys/use-vcpkg"]

[lib]
name = "sdl3"
path = "src/sdl3/lib.rs"

[[example]]
name = "animation"
path = "examples/animation.rs"

[[example]]
name = "audio-capture-and-replay"
path = "examples/audio-capture-and-replay.rs"

[[example]]
name = "audio-queue-squarewave"
path = "examples/audio-queue-squarewave.rs"

[[example]]
name = "audio-squarewave"
path = "examples/audio-squarewave.rs"

[[example]]
name = "audio-wav"
path = "examples/audio-wav.rs"

[[example]]
name = "audio-whitenoise"
path = "examples/audio-whitenoise.rs"

[[example]]
name = "cursor"
path = "examples/cursor.rs"
required-features = ["image"]

[[example]]
name = "demo"
path = "examples/demo.rs"

[[example]]
name = "demo_games_02_woodeneye"
path = "examples/demo_games/a02_woodeneye_008.rs"

[[example]]
name = "dialog"
path = "examples/dialog.rs"

[[example]]
name = "draw_triangle"
path = "examples/draw_triangle.rs"

[[example]]
name = "events"
path = "examples/events.rs"

[[example]]
name = "filesystem"
path = "examples/filesystem.rs"

[[example]]
name = "game-of-life"
path = "examples/game-of-life.rs"

[[example]]
name = "game-of-life-unsafe-textures"
path = "examples/game-of-life-unsafe-textures.rs"
required-features = ["unsafe_textures"]

[[example]]
name = "gamepad"
path = "examples/gamepad.rs"

[[example]]
name = "gfx-demo"
path = "examples/gfx-demo.rs"
required-features = ["gfx"]

[[example]]
name = "gpu-clear"
path = "examples/gpu-clear.rs"

[[example]]
name = "gpu-cube"
path = "examples/gpu-cube.rs"

[[example]]
name = "gpu-particles"
path = "examples/gpu-particles.rs"

[[example]]
name = "gpu-texture"
path = "examples/gpu-texture.rs"

[[example]]
name = "gpu-triangle"
path = "examples/gpu-triangle.rs"

[[example]]
name = "haptic"
path = "examples/haptic.rs"

[[example]]
name = "image-demo"
path = "examples/image-demo.rs"
required-features = ["image"]

[[example]]
name = "joystick"
path = "examples/joystick.rs"

[[example]]
name = "keyboard-state"
path = "examples/keyboard-state.rs"

[[example]]
name = "log"
path = "examples/log.rs"

[[example]]
name = "main-callbacks-api"
path = "examples/main-callbacks-api.rs"
required-features = ["main"]

[[example]]
name = "message-box"
path = "examples/message-box.rs"

[[example]]
name = "mixer-demo"
path = "examples/mixer-demo.rs"
required-features = ["mixer"]

[[example]]
name = "mouse-state"
path = "examples/mouse-state.rs"

[[example]]
name = "no-renderer"
path = "examples/no-renderer.rs"

[[example]]
name = "properties"
path = "examples/properties.rs"

[[example]]
name = "raw-window-handle-with-wgpu"
path = "examples/raw-window-handle-with-wgpu/main.rs"
required-features = ["raw-window-handle"]

[[example]]
name = "relative-mouse-state"
path = "examples/relative-mouse-state.rs"

[[example]]
name = "render-geometry"
path = "examples/render-geometry.rs"

[[example]]
name = "renderer-target"
path = "examples/renderer-target.rs"

[[example]]
name = "renderer-texture"
path = "examples/renderer-texture.rs"

[[example]]
name = "renderer-yuv"
path = "examples/renderer-yuv.rs"

[[example]]
name = "renderer_01_change_the_color"
path = "examples/renderer/a01_change_the_color.rs"

[[example]]
name = "renderer_02_primitives"
path = "examples/renderer/a02_primitives.rs"

[[example]]
name = "renderer_03_lines"
path = "examples/renderer/a03_lines.rs"

[[example]]
name = "renderer_04_points"
path = "examples/renderer/a04_points.rs"

[[example]]
name = "renderer_05_rectangles"
path = "examples/renderer/a05_rectangles.rs"

[[example]]
name = "renderer_06_textures_lifetime_solution"
path = "examples/renderer/a06_textures_lifetime_solution.rs"
required-features = ["unsafe_textures"]

[[example]]
name = "renderer_07_streaming_textures"
path = "examples/renderer/a07_streaming_textures.rs"
required-features = ["unsafe_textures"]

[[example]]
name = "renderer_08_rotating_textures"
path = "examples/renderer/a08_rotating_textures.rs"
required-features = ["unsafe_textures"]

[[example]]
name = "renderer_09_scaling_textures"
path = "examples/renderer/a09_scaling_textures.rs"
required-features = ["unsafe_textures"]

[[example]]
name = "resource-manager"
path = "examples/resource-manager.rs"
required-features = [
    "ttf",
    "image",
]

[[example]]
name = "sensors"
path = "examples/sensors.rs"
required-features = ["hidapi"]

[[example]]
name = "spinning_cube"
path = "examples/spinning_cube.rs"

[[example]]
name = "ttf-demo"
path = "examples/ttf-demo.rs"
required-features = ["ttf"]

[[example]]
name = "virtual-joysticks"
path = "examples/virtual-joysticks.rs"

[[example]]
name = "window-properties"
path = "examples/window-properties.rs"

[[test]]
name = "audio"
path = "tests/audio.rs"

[[test]]
name = "clipboard"
path = "tests/clipboard.rs"

[[test]]
name = "events"
path = "tests/events.rs"

[[test]]
name = "iostream"
path = "tests/iostream.rs"

[[test]]
name = "raw_window_handle"
path = "tests/raw_window_handle.rs"

[[test]]
name = "render"
path = "tests/render.rs"

[[test]]
name = "video"
path = "tests/video.rs"

[dependencies.bitflags]
version = "2.11.1"

[dependencies.c_vec]
version = "2"
optional = true

[dependencies.libc]
version = "0.2.186"

[dependencies.raw-window-handle]
version = "0.6.2"
optional = true

[dependencies.sdl3-image-sys]
version = "0.6"
optional = true

[dependencies.sdl3-main]
version = "0.6"
optional = true

[dependencies.sdl3-mixer-sys]
version = "0.6"
optional = true

[dependencies.sdl3-sys]
version = "0.6.5"
features = ["metadata"]

[dependencies.sdl3-ttf-sys]
version = "0.6"
optional = true

[dev-dependencies.env_logger]
version = "0.11.10"

[dev-dependencies.pollster]
version = "0.4.0"

[dev-dependencies.rand]
version = "0.10.1"

[dev-dependencies.wgpu]
version = "29.0.1"
features = ["spirv"]

[build-dependencies.sdl3-sys]
version = "0.6.5"
features = ["only-metadata"]

[target.'cfg(target_os = "macos")'.dependencies.objc2]
version = "0.6.4"
optional = true

[target."cfg(windows)".dev-dependencies.windows]
version = "0.62"

[target."cfg(windows)".dev-dependencies.windows-core]
version = "0.62"
features = ["std"]
