1#![warn(rustdoc::broken_intra_doc_links)]
30#![allow(clippy::new_without_default)]
31#![deny(clippy::trivially_copy_pass_by_ref)]
32#![doc(
33 html_logo_url = "https://raw.githubusercontent.com/linebender/druid/screenshots/images/doc_logo.png"
34)]
35#![allow(clippy::iter_overeager_cloned)]
37
38#[cfg(all(
42 any(target_os = "freebsd", target_os = "linux", target_os = "openbsd"),
43 feature = "gtk"
44))]
45extern crate gtk_rs as gtk;
46
47#[cfg(feature = "image")]
48pub use piet::image_crate as image;
49pub use piet::kurbo;
50pub use piet_common as piet;
51
52#[cfg(feature = "raw-win-handle")]
54pub use raw_window_handle;
55
56#[macro_use]
57mod util;
58
59mod application;
60mod backend;
61mod clipboard;
62mod common_util;
63mod dialog;
64mod error;
65mod hotkey;
66mod keyboard;
67mod menu;
68mod mouse;
69mod region;
70mod scale;
71mod screen;
72mod window;
73
74pub mod platform;
75pub mod text;
76
77pub use application::{AppHandler, Application};
78pub use clipboard::{Clipboard, ClipboardFormat, FormatId};
79pub use common_util::Counter;
80pub use dialog::{FileDialogOptions, FileInfo, FileSpec};
81pub use error::Error;
82pub use hotkey::{HotKey, RawMods, SysMods};
83pub use keyboard::{Code, IntoKey, KbKey, KeyEvent, KeyState, Location, Modifiers};
84pub use menu::Menu;
85pub use mouse::{Cursor, CursorDesc, MouseButton, MouseButtons, MouseEvent};
86pub use region::Region;
87pub use scale::{Scalable, Scale, ScaledArea};
88pub use screen::{Monitor, Screen};
89pub use window::{
90 FileDialogToken, IdleHandle, IdleToken, TextFieldToken, TimerToken, WinHandler, WindowBuilder,
91 WindowHandle, WindowLevel, WindowState,
92};
93
94pub use keyboard_types;