ferroui-base 0.3.0

The base library of FerroUI: the property system, layout, input, styling, media, text, animation, data binding and the compositor
Documentation
//! The input system: input elements, routed input events, input devices
//! and focus.

pub mod gesture_recognizers;
pub mod navigation;
pub mod platform;
pub mod raw;
pub mod text_input;

mod access_key_handler;
mod async_data_transfer_extensions;
mod async_data_transfer_item_extensions;
mod async_to_sync_data_transfer;
mod async_to_sync_data_transfer_item;
mod context_requested_event_args;
mod cursor;
mod data_format;
mod data_format_kind;
mod data_format_of_t;
mod data_transfer;
mod data_transfer_extensions;
mod data_transfer_item;
mod data_transfer_item_extensions;
mod drag_drop;
mod drag_drop_device;
mod drag_drop_effects;
mod drag_event_args;
mod find_next_element_options;
mod focus_helpers;
mod focus_changed_event_args;
mod focus_changing_event_args;
mod focus_manager;
mod gestures;
mod holding_routed_event_args;
mod i_access_key_handler;
mod i_async_data_transfer;
mod i_async_data_transfer_item;
mod i_clickable_control;
mod i_closeable;
mod i_command;
mod i_command_source;
mod i_custom_keyboard_navigation;
mod i_data_transfer;
mod i_data_transfer_item;
mod i_focus_manager;
mod i_focus_scope;
mod i_input_device;
mod i_input_element;
mod i_input_manager;
mod i_input_root;
mod i_key_modifiers_event_args;
mod i_keyboard_device;
mod i_keyboard_navigation_handler;
mod i_main_menu;
mod i_mouse_device;
mod i_pen_device;
mod i_navigable_container;
mod i_pointer;
mod i_pointer_device;
mod i_scrollable;
mod input_element;
mod input_element_gestures;
mod input_extensions;
mod input_manager;
mod input_method;
mod key;
mod key_device_type;
mod key_binding;
mod key_event_args;
mod key_gesture;
mod key_symbol_helper;
mod keyboard_device;
mod keyboard_navigation;
mod keyboard_navigation_handler;
mod keyboard_navigation_mode;
mod mouse_device;
mod navigation_direction;
mod navigation_method;
mod pen_device;
mod physical_key;
mod physical_key_extensions;
mod pinch_event_args;
mod pointer;
mod pointer_delta_event_args;
mod pointer_event_args;
mod pointer_over_pre_processor;
mod pointer_point;
mod pointer_wheel_event_args;
mod pull_gesture_event_args;
mod scroll_gesture_event_args;
mod swipe_direction;
mod swipe_gesture_event_args;
mod sync_to_async_data_transfer;
mod sync_to_async_data_transfer_item;
mod tapped_event_args;
mod text_input_event_args;
mod touch_device;
mod vector_event_args;
mod window_decorations_element_role;

pub use access_key_handler::{AccessKeyEventArgs, AccessKeyHandler, AccessKeyPressedEventArgs, AccessKeyRegistration};
pub use async_data_transfer_extensions::{AsyncDataTransferExtensions, AsyncDataTransferItems};
pub use async_data_transfer_item_extensions::AsyncDataTransferItemExtensions;
pub use context_requested_event_args::ContextRequestedEventArgs;
pub use data_format::DataFormat;
pub use data_format_kind::DataFormatKind;
pub use data_format_of_t::DataFormatOf;
pub use data_transfer::DataTransfer;
pub use data_transfer_extensions::{DataTransferExtensions, DataTransferItems};
pub use data_transfer_item::DataTransferItem;
pub use data_transfer_item_extensions::DataTransferItemExtensions;
pub use drag_drop::DragDrop;
pub use drag_drop_device::DragDropDevice;
pub use drag_drop_effects::DragDropEffects;
pub use drag_event_args::DragEventArgs;
pub use i_async_data_transfer::IAsyncDataTransfer;
pub use i_async_data_transfer_item::{IAsyncDataTransferItem, LocalBoxFuture};
pub use i_data_transfer::IDataTransfer;
pub use i_data_transfer_item::IDataTransferItem;
pub use i_access_key_handler::IAccessKeyHandler;
pub use i_main_menu::IMainMenu;
pub use cursor::{Cursor, ParseCursorError, StandardCursorType};
pub use find_next_element_options::FindNextElementOptions;
pub use focus_changed_event_args::FocusChangedEventArgs;
pub(crate) use focus_helpers::FocusHelpers;
pub use focus_changing_event_args::FocusChangingEventArgs;
pub use focus_manager::FocusManager;
pub use gestures::Gestures;
pub use holding_routed_event_args::{HoldingRoutedEventArgs, HoldingState};
pub use i_clickable_control::IClickableControl;
pub use i_closeable::ICloseable;
pub use i_command::ICommand;
pub use i_command_source::ICommandSource;
pub use i_custom_keyboard_navigation::ICustomKeyboardNavigation;
pub use i_pen_device::IPenDevice;
pub use key_binding::KeyBinding;
pub use key_symbol_helper::KeySymbolHelper;
pub use pen_device::PenDevice;
pub use touch_device::TouchDevice;
pub use i_focus_manager::IFocusManager;
pub use i_focus_scope::IFocusScope;
pub use i_input_device::IInputDevice;
pub use i_input_element::IInputElement;
pub use i_input_manager::IInputManager;
pub use i_input_root::IInputRoot;
pub use i_key_modifiers_event_args::IKeyModifiersEventArgs;
pub use i_keyboard_device::{IKeyboardDevice, KeyModifiers, KeyStates, ParseKeyModifiersError, RawInputModifiers};
pub use i_keyboard_navigation_handler::IKeyboardNavigationHandler;
pub use i_mouse_device::IMouseDevice;
pub use i_navigable_container::INavigableContainer;
pub use i_scrollable::IScrollable;
pub use i_pointer::{IPointer, PointerType};
pub use i_pointer_device::IPointerDevice;
pub use input_element::{InputElement, InputElementImpl, InputElementImplExt, InputElementVTable};
pub use input_manager::InputManager;
pub use input_method::InputMethod;
pub use key::{Key, ParseKeyError};
pub use key_device_type::KeyDeviceType;
pub use key_event_args::KeyEventArgs;
pub use key_gesture::KeyGesture;
pub use keyboard_device::KeyboardDevice;
pub use keyboard_navigation::KeyboardNavigation;
pub use keyboard_navigation_handler::KeyboardNavigationHandler;
pub use navigation::{XYFocus, XYFocusNavigationModes, XYFocusNavigationStrategy};
pub use navigation_direction::NavigationDirection;
pub use keyboard_navigation_mode::KeyboardNavigationMode;
pub use mouse_device::MouseDevice;
pub use navigation_method::NavigationMethod;
pub use physical_key::{ParsePhysicalKeyError, PhysicalKey};
pub use pinch_event_args::{PinchEndedEventArgs, PinchEventArgs};
pub use pointer::{CaptureSource, Pointer};
pub use pointer_delta_event_args::PointerDeltaEventArgs;
pub use pointer_event_args::{
    IntermediatePoints, MouseButton, PointerCaptureChangingEventArgs, PointerCaptureLostEventArgs, PointerEventArgs,
    PointerPressedEventArgs, PointerReleasedEventArgs,
};
pub use pointer_over_pre_processor::PointerOverPreProcessor;
pub use pointer_point::{PointerPoint, PointerPointProperties, PointerUpdateKind};
pub use pointer_wheel_event_args::PointerWheelEventArgs;
pub use pull_gesture_event_args::{PullDirection, PullGestureEndedEventArgs, PullGestureEventArgs};
pub use scroll_gesture_event_args::{
    ScrollGestureEndedEventArgs, ScrollGestureEventArgs, ScrollGestureInertiaStartingEventArgs,
};
pub use swipe_direction::SwipeDirection;
pub use swipe_gesture_event_args::{SwipeGestureEndedEventArgs, SwipeGestureEventArgs};
pub use tapped_event_args::TappedEventArgs;
pub use text_input_event_args::TextInputEventArgs;
pub use vector_event_args::VectorEventArgs;
pub use window_decorations_element_role::WindowDecorationsElementRole;

#[cfg(test)]
mod data_transfer_tests;
#[cfg(test)]
mod input_tests;