1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
// Copyright 2018 The xi-editor Authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. //! Platform abstraction for druid toolkit. //! //! `druid-shell` is an abstraction around a given platform UI & application //! framework. It provides common types, which then defer to a platform-defined //! implementation. #![no_std] //// #![feature(const_transmute)] //// #![deny(intra_doc_link_resolution_failure)] #![allow(clippy::new_without_default)] pub use piet_common as piet; pub use piet_common::kurbo; #[cfg(target_os = "windows")] #[macro_use] extern crate winapi; #[cfg(all(target_os = "macos", not(feature = "use_gtk")))] #[macro_use] extern crate objc; #[cfg(not(any(feature = "use_gtk", target_os = "linux")))] #[macro_use] ////extern crate lazy_static; mod application; ////mod clipboard; mod common_util; ////mod dialog; mod error; ////mod hotkey; ////mod keyboard; ////mod keycodes; ////mod menu; mod mouse; //TODO: don't expose this directly? currently making this private causes //a bunch of compiler warnings, so let's revisit that later. pub mod platform; mod runloop; mod window; pub use application::Application; ////pub use clipboard::{Clipboard, ClipboardFormat, FormatId}; ////pub use dialog::{FileDialogOptions, FileDialogType, FileInfo, FileSpec}; pub use error::Error; ////pub use hotkey::{HotKey, KeyCompare, RawMods, SysMods}; ////pub use keyboard::{KeyEvent, KeyModifiers}; ////pub use keycodes::KeyCode; ////pub use menu::Menu; pub use mouse::{Cursor, MouseButton, MouseEvent}; ////pub use runloop::RunLoop; pub use window::{Text, TimerToken, WinCtx, WinHandler, WindowIdType, WindowBuilder, WindowHandle}; pub use platform::{DruidContext, start_display, draw_to_display, set_display_pixels, show_touch}; ////