[package]
edition = "2024"
rust-version = "1.92"
name = "eframe"
version = "0.34.1"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
build = false
include = [
"../../LICENSE-APACHE",
"../../LICENSE-MIT",
"**/*.rs",
"Cargo.toml",
"data/icon.png",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "egui framework - write GUI apps that compiles to web and/or natively"
homepage = "https://github.com/emilk/egui/tree/main/crates/eframe"
readme = "README.md"
keywords = [
"egui",
"gui",
"gamedev",
]
categories = [
"gui",
"game-development",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/emilk/egui/tree/main/crates/eframe"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
targets = [
"x86_64-unknown-linux-gnu",
"wasm32-unknown-unknown",
]
rustdoc-args = ["--generate-link-to-definition"]
[features]
__screenshot = []
accesskit = ["egui-winit/accesskit"]
android-game-activity = ["egui-winit/android-game-activity"]
android-native-activity = ["egui-winit/android-native-activity"]
default = [
"accesskit",
"default_fonts",
"wayland",
"web_screen_reader",
"wgpu",
"winit/default",
"x11",
]
default_fonts = ["egui/default_fonts"]
glow = [
"dep:egui_glow",
"dep:glow",
"dep:glutin-winit",
"dep:glutin",
]
persistence = [
"dep:home",
"egui-winit/serde",
"egui/persistence",
"ron",
"serde",
]
wayland = [
"egui-winit/wayland",
"egui-wgpu?/wayland",
"egui_glow?/wayland",
"glutin?/wayland",
"glutin-winit?/wayland",
]
web_screen_reader = [
"web-sys/SpeechSynthesis",
"web-sys/SpeechSynthesisUtterance",
]
wgpu = [
"wgpu_no_default_features",
"egui-wgpu/default",
]
wgpu_no_default_features = [
"dep:wgpu",
"dep:egui-wgpu",
"dep:pollster",
]
x11 = [
"egui-winit/x11",
"egui-wgpu?/x11",
"egui_glow?/x11",
"glutin?/x11",
"glutin?/glx",
"glutin-winit?/x11",
"glutin-winit?/glx",
]
[lib]
name = "eframe"
path = "src/lib.rs"
[dependencies.ahash]
version = "0.8.12"
features = [
"no-rng",
"std",
]
default-features = false
[dependencies.document-features]
version = "0.2.11"
[dependencies.egui]
version = "0.34.1"
features = ["bytemuck"]
default-features = false
[dependencies.egui_glow]
version = "0.34.1"
optional = true
default-features = false
[dependencies.glow]
version = "0.17.0"
optional = true
[dependencies.log]
version = "0.4.28"
features = ["std"]
[dependencies.parking_lot]
version = "0.12.5"
[dependencies.profiling]
version = "1.0.17"
default-features = false
[dependencies.raw-window-handle]
version = "0.6.2"
[dependencies.ron]
version = "0.12.0"
features = ["integer128"]
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true
[dependencies.static_assertions]
version = "1.1.0"
[dependencies.web-time]
version = "1.1.0"
[target.'cfg(any(target_os = "macos"))'.dependencies.objc2]
version = "0.6.4"
[target.'cfg(any(target_os = "macos"))'.dependencies.objc2-app-kit]
version = "0.3.2"
features = [
"std",
"NSApplication",
"NSBitmapImageRep",
"NSButton",
"NSControl",
"NSGraphics",
"NSImage",
"NSImageRep",
"NSMenu",
"NSMenuItem",
"NSResponder",
"NSView",
"NSWindow",
]
default-features = false
[target.'cfg(any(target_os = "macos"))'.dependencies.objc2-foundation]
version = "0.3.2"
features = [
"std",
"block2",
"NSData",
"NSString",
]
default-features = false
[target.'cfg(any(target_os = "windows"))'.dependencies.windows-sys]
version = "0.61.2"
features = [
"Win32_Foundation",
"Win32_System_Com",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_UI_Shell",
"Win32_UI_WindowsAndMessaging",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.egui-wgpu]
version = "0.34.1"
features = [
"winit",
"capture",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.egui-winit]
version = "0.34.1"
features = [
"clipboard",
"links",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.glutin]
version = "0.32.3"
features = [
"egl",
"wgl",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.glutin-winit]
version = "0.5.0"
features = [
"egl",
"wgl",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.home]
version = "0.5.9"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.image]
version = "0.25.6"
features = ["png"]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.pollster]
version = "0.4.0"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.winit]
version = "0.30.13"
features = ["rwh_06"]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.directories]
version = "6.0.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.bytemuck]
version = "1.24.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.egui-wgpu]
version = "0.34.1"
features = ["capture"]
optional = true
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.image]
version = "0.25.6"
features = ["png"]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3.77"
[target.'cfg(target_arch = "wasm32")'.dependencies.percent-encoding]
version = "2.3.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.108"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.58"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.77"
features = [
"AddEventListenerOptions",
"BinaryType",
"Blob",
"BlobPropertyBag",
"Clipboard",
"ClipboardEvent",
"ClipboardItem",
"CompositionEvent",
"console",
"CssStyleDeclaration",
"DataTransfer",
"DataTransferItem",
"DataTransferItemList",
"Document",
"DomRect",
"DragEvent",
"Element",
"Event",
"EventListener",
"EventTarget",
"ExtSRgb",
"File",
"FileList",
"FocusEvent",
"HtmlCanvasElement",
"HtmlElement",
"HtmlInputElement",
"InputEvent",
"KeyboardEvent",
"Location",
"MediaQueryList",
"MediaQueryListEvent",
"MouseEvent",
"Navigator",
"Node",
"NodeList",
"Performance",
"ResizeObserver",
"ResizeObserverBoxOptions",
"ResizeObserverEntry",
"ResizeObserverOptions",
"ResizeObserverSize",
"ShadowRoot",
"Storage",
"Touch",
"TouchEvent",
"PointerEvent",
"TouchList",
"WebGl2RenderingContext",
"WebglDebugRendererInfo",
"WebGlRenderingContext",
"WheelEvent",
"Window",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.wgpu]
version = "29.0.0"
features = ["std"]
optional = true
default-features = false
[lints.clippy]
allow_attributes = "warn"
as_ptr_cast_mut = "warn"
assigning_clones = "allow"
await_holding_lock = "warn"
bool_to_int_with_if = "warn"
branches_sharing_code = "warn"
cast_possible_wrap = "allow"
char_lit_as_u8 = "warn"
checked_conversions = "warn"
clear_with_drain = "warn"
clone_on_ref_ptr = "warn"
cloned_instead_of_copied = "warn"
coerce_container_to_any = "warn"
comparison_chain = "allow"
dbg_macro = "warn"
debug_assert_with_mut_call = "warn"
default_union_representation = "warn"
derive_partial_eq_without_eq = "warn"
disallowed_macros = "warn"
disallowed_methods = "warn"
disallowed_names = "warn"
disallowed_script_idents = "warn"
disallowed_types = "warn"
doc_broken_link = "warn"
doc_comment_double_space_linebreaks = "warn"
doc_include_without_cfg = "warn"
doc_link_with_quotes = "warn"
doc_markdown = "warn"
elidable_lifetime_names = "warn"
empty_enum = "warn"
empty_enum_variants_with_brackets = "warn"
empty_line_after_outer_attr = "warn"
enum_glob_use = "warn"
equatable_if_let = "warn"
exit = "warn"
expl_impl_clone_on_copy = "warn"
explicit_deref_methods = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
fallible_impl_from = "warn"
filter_map_next = "warn"
flat_map_option = "warn"
float_cmp_const = "warn"
fn_params_excessive_bools = "warn"
fn_to_numeric_cast_any = "warn"
from_iter_instead_of_collect = "warn"
get_unwrap = "warn"
if_let_mutex = "warn"
ignore_without_reason = "warn"
implicit_clone = "warn"
implied_bounds_in_impls = "warn"
imprecise_flops = "warn"
inconsistent_struct_constructor = "warn"
index_refutable_slice = "warn"
inefficient_to_string = "warn"
infinite_loop = "warn"
into_iter_without_iter = "warn"
invalid_upcast_comparisons = "warn"
ip_constant = "warn"
iter_filter_is_ok = "warn"
iter_filter_is_some = "warn"
iter_not_returning_iterator = "warn"
iter_on_empty_collections = "warn"
iter_on_single_items = "warn"
iter_over_hash_type = "warn"
iter_without_into_iter = "warn"
large_digit_groups = "warn"
large_futures = "warn"
large_include_file = "warn"
large_stack_arrays = "warn"
large_stack_frames = "warn"
large_types_passed_by_value = "warn"
let_underscore_must_use = "allow"
let_underscore_untyped = "allow"
let_unit_value = "warn"
linkedlist = "warn"
literal_string_with_formatting_args = "warn"
lossy_float_literal = "warn"
macro_use_imports = "warn"
manual_assert = "warn"
manual_clamp = "warn"
manual_instant_elapsed = "warn"
manual_is_power_of_two = "warn"
manual_is_variant_and = "warn"
manual_let_else = "warn"
manual_midpoint = "warn"
manual_ok_or = "warn"
manual_range_contains = "allow"
manual_string_new = "warn"
map_err_ignore = "warn"
map_flatten = "warn"
map_unwrap_or = "allow"
match_bool = "warn"
match_same_arms = "warn"
match_wild_err_arm = "warn"
match_wildcard_for_single_variants = "warn"
mem_forget = "warn"
mismatching_type_param_order = "warn"
missing_assert_message = "warn"
missing_enforced_import_renames = "warn"
missing_errors_doc = "warn"
missing_safety_doc = "warn"
mixed_attributes_style = "warn"
mut_mut = "warn"
mutex_integer = "warn"
needless_borrow = "warn"
needless_continue = "warn"
needless_for_each = "warn"
needless_pass_by_ref_mut = "warn"
needless_pass_by_value = "warn"
negative_feature_names = "warn"
non_std_lazy_statics = "warn"
non_zero_suggestions = "warn"
nonstandard_macro_braces = "warn"
option_as_ref_cloned = "warn"
option_option = "warn"
or_fun_call = "warn"
path_buf_push_overwrite = "warn"
pathbuf_init_then_push = "warn"
precedence_bits = "warn"
print_stderr = "warn"
print_stdout = "warn"
ptr_as_ptr = "warn"
ptr_cast_constness = "warn"
pub_underscore_fields = "warn"
pub_without_shorthand = "warn"
rc_mutex = "warn"
readonly_write_lock = "warn"
redundant_type_annotations = "warn"
ref_as_ptr = "warn"
ref_option_ref = "warn"
ref_patterns = "warn"
rest_pat_in_fully_bound_structs = "warn"
return_and_then = "warn"
same_functions_in_if_condition = "warn"
self_named_module_files = "allow"
self_only_used_in_recursion = "warn"
semicolon_if_nothing_returned = "warn"
set_contains_or_insert = "warn"
should_panic_without_expect = "allow"
significant_drop_tightening = "allow"
single_char_pattern = "warn"
single_match_else = "warn"
single_option_map = "warn"
str_split_at_newline = "warn"
str_to_string = "warn"
string_add = "warn"
string_add_assign = "warn"
string_lit_as_bytes = "warn"
string_lit_chars_any = "warn"
suspicious_command_arg_space = "warn"
suspicious_xor_used_as_pow = "warn"
todo = "warn"
too_long_first_doc_paragraph = "warn"
too_many_lines = "allow"
trailing_empty_array = "warn"
trait_duplication_in_bounds = "warn"
transmute_ptr_to_ptr = "warn"
tuple_array_conversions = "warn"
unchecked_time_subtraction = "warn"
undocumented_unsafe_blocks = "warn"
unimplemented = "warn"
uninhabited_references = "warn"
uninlined_format_args = "warn"
unnecessary_box_returns = "warn"
unnecessary_debug_formatting = "warn"
unnecessary_literal_bound = "warn"
unnecessary_safety_comment = "warn"
unnecessary_safety_doc = "warn"
unnecessary_self_imports = "warn"
unnecessary_semicolon = "warn"
unnecessary_struct_initialization = "warn"
unnecessary_wraps = "warn"
unnested_or_patterns = "warn"
unused_async = "warn"
unused_peekable = "warn"
unused_rounding = "warn"
unused_self = "warn"
unused_trait_names = "warn"
unwrap_used = "warn"
use_self = "warn"
useless_let_if_seq = "warn"
useless_transmute = "warn"
verbose_file_reads = "warn"
wildcard_dependencies = "warn"
wildcard_imports = "allow"
zero_sized_map_values = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust]
elided_lifetimes_in_paths = "warn"
rust_2021_prelude_collisions = "warn"
semicolon_in_expressions_from_macros = "warn"
trivial_casts = "allow"
trivial_numeric_casts = "warn"
unexpected_cfgs = "warn"
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
unused_qualifications = "allow"
[lints.rust.future_incompatible]
level = "warn"
priority = -1
[lints.rust.nonstandard_style]
level = "warn"
priority = -1
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1
[lints.rustdoc]
all = "warn"
broken_intra_doc_links = "warn"
missing_crate_level_docs = "warn"