Struct egui::text_selection::LabelSelectionState
source · pub struct LabelSelectionState {
selection: Option<CurrentSelection>,
selection_bbox_last_frame: Rect,
selection_bbox_this_frame: Rect,
any_hovered: bool,
is_dragging: bool,
has_reached_primary: bool,
has_reached_secondary: bool,
text_to_copy: String,
last_copied_galley_rect: Option<Rect>,
painted_shape_idx: Vec<ShapeIdx>,
}
Expand description
Handles text selection in labels (NOT in crate::TextEdit
)s.
One state for all labels, because we only support text selection in one label at a time.
Fields§
§selection: Option<CurrentSelection>
The current selection, if any.
selection_bbox_last_frame: Rect
§selection_bbox_this_frame: Rect
§any_hovered: bool
Any label hovered this frame?
is_dragging: bool
Are we in drag-to-select state?
has_reached_primary: bool
Have we reached the widget containing the primary selection?
has_reached_secondary: bool
Have we reached the widget containing the secondary selection?
text_to_copy: String
Accumulated text to copy.
last_copied_galley_rect: Option<Rect>
§painted_shape_idx: Vec<ShapeIdx>
Painted selections this frame.
Implementations§
source§impl LabelSelectionState
impl LabelSelectionState
pub(crate) fn register(ctx: &Context)
pub fn load(ctx: &Context) -> Self
pub fn store(self, ctx: &Context)
fn begin_frame(ctx: &Context)
fn end_frame(ctx: &Context)
pub fn has_selection(&self) -> bool
pub fn clear_selection(&mut self)
fn copy_text( &mut self, galley_pos: Pos2, galley: &Galley, cursor_range: &CursorRange, )
sourcepub fn label_text_selection(
ui: &Ui,
response: &Response,
galley_pos: Pos2,
galley: &Galley,
)
pub fn label_text_selection( ui: &Ui, response: &Response, galley_pos: Pos2, galley: &Galley, )
Handle text selection state for a label or similar widget.
Make sure the widget senses clicks and drags.
This should be called after painting the text, because this will also paint the text cursor/selection on top.
fn cursor_for( &mut self, ui: &Ui, response: &Response, galley_pos: Pos2, galley: &Galley, ) -> TextCursorState
fn on_label( &mut self, ui: &Ui, response: &Response, galley_pos: Pos2, galley: &Galley, )
Trait Implementations§
source§impl Clone for LabelSelectionState
impl Clone for LabelSelectionState
source§fn clone(&self) -> LabelSelectionState
fn clone(&self) -> LabelSelectionState
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for LabelSelectionState
impl Debug for LabelSelectionState
Auto Trait Implementations§
impl Freeze for LabelSelectionState
impl RefUnwindSafe for LabelSelectionState
impl Send for LabelSelectionState
impl Sync for LabelSelectionState
impl Unpin for LabelSelectionState
impl UnwindSafe for LabelSelectionState
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more