[package]
name = "egui_glow"
version.workspace = true
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui natively using the glow library"
edition.workspace = true
rust-version.workspace = true
homepage = "https://github.com/emilk/egui/tree/master/crates/egui_glow"
license.workspace = true
readme = "README.md"
repository = "https://github.com/emilk/egui/tree/master/crates/egui_glow"
categories = ["gui", "game-development"]
keywords = ["glow", "egui", "gui", "gamedev"]
include = [
  "../LICENSE-APACHE",
  "../LICENSE-MIT",
  "**/*.rs",
  "Cargo.toml",
  "src/shader/*.glsl",
]

[package.metadata.docs.rs]
all-features = true


[features]
default = []

## For the `winit` integration:
## enable cut/copy/paste to os clipboard.
##
## if disabled a clipboard will be simulated so you can still copy/paste within the egui app.
clipboard = ["egui-winit?/clipboard"]

## For the `winit` integration:
## enable opening links in a browser when an egui hyperlink is clicked.
links = ["egui-winit?/links"]

## Enable profiling with the [`puffin`](https://docs.rs/puffin) crate.
puffin = ["dep:puffin", "egui-winit?/puffin", "egui/puffin"]

## Enable [`winit`](https://docs.rs/winit) integration. On Linux, requires either `wayland` or `x11`
winit = ["egui-winit", "dep:winit"]

## Enables Wayland support for winit.
wayland = ["winit?/wayland"]

## Enables x11 support for winit.
x11 = ["winit?/x11"]


[dependencies]
egui = { workspace = true, default-features = false, features = ["bytemuck"] }

bytemuck = "1.7"
glow.workspace = true
log.workspace = true
memoffset = "0.9"

#! ### Optional dependencies
## Enable this when generating docs.
document-features = { workspace = true, optional = true }

# Native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egui-winit = { workspace = true, optional = true, default-features = false }
puffin = { workspace = true, optional = true }
winit = { workspace = true, optional = true, default-features = false, features = [
  "rwh_06", # for compatibility with egui-winit
] }

# Web:
[target.'cfg(target_arch = "wasm32")'.dependencies]
web-sys = { version = "0.3", features = ["console"] }
wasm-bindgen = "0.2"


[dev-dependencies]
glutin = "0.31"        # examples/pure_glow
glutin-winit = "0.4.0"
# glutin stuck on old version of raw-window-handle:
rwh_05 = { package = "raw-window-handle", version = "0.5.2", features = [
  "std",
] }

[[example]]
name = "pure_glow"
required-features = [
  "winit",
  "egui/default_fonts",
  "winit/rwh_05",       # glutin stuck on old version of raw-window-handle
]
