[package] name = "hui" description = "Simple UI library for games and other interactive applications" repository = "https://github.com/griffi-gh/hui" readme = "../README.md" authors = ["griffi-gh "] rust-version = "1.75" version = "0.1.0-alpha.4" edition = "2021" license = "GPL-3.0-or-later" publish = true include = [ "assets/**/*", "src/**/*.rs", "Cargo.toml", ] [dependencies] hashbrown = "0.14" nohash-hasher = "0.2" glam = "0.27" fontdue = "0.8" rect_packer = "0.2" log = "0.4" document-features = "0.2" derive_setters = "0.1" derive_more = "0.99" tinyset = "0.4" image = { version = "0.25", default-features = false, optional = true } [features] default = ["el_all", "image", "builtin_font", "pixel_perfect_text"] #! Image loading support: ## Enable image loading support using the `image` crate image = ["dep:image"] #! #### Built-in font: ## Enable the built-in font (ProggyTiny, adds *35kb* to the executable) builtin_font = [] #! #### Pixel-perfect rendering: ## Round all vertex positions to nearest integer coordinates (not recommended) pixel_perfect = ["pixel_perfect_text"] ## Apply pixel-perfect rendering hack to text (fixes blurry text rendering) pixel_perfect_text = [] #! Make sure to disable both features if you are not rendering UI "as-is" at 1:1 scale\ #! For exmaple, you should disable them if using DPI (or any other form of) scaling while passing the virtual resolution to the ui or rendering it in 3d space #! #### Built-in elements: ## Enable all built-in elements el_all = [ "el_container", "el_fill_rect", "el_spacer", "el_br", "el_text", "el_image", "el_progress_bar", "el_slider", "el_transformer", "el_interactable", ] ## Enable the built-in `Container` element el_container = [] ## Enable the built-in `FillRect` element el_fill_rect = [] ## Enable the built-in `Spacer` element el_spacer = [] ## Enable the built-in `Break` element el_br = [] ## Enable the built-in `Text` element el_text = [] ## Enable the built-in `Image` element el_image = [] ## Enable the built-in `ProgressBar` element el_progress_bar = [] ## Enable the built-in `Slider` element el_slider = [] ## Enable the built-in `Transformer` element el_transformer = [] ## Enable the built-in `Interactable` element el_interactable = [] # ## Enable multi-threading support (currently only affects some 3rd-party libraries) # parallel = ["fontdue/parallel"]