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_selections: Vec<(ShapeIdx, Vec<RowVertexIndices>)>,
}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: boolAny label hovered this frame?
is_dragging: boolAre we in drag-to-select state?
has_reached_primary: boolHave we reached the widget containing the primary selection?
has_reached_secondary: boolHave we reached the widget containing the secondary selection?
text_to_copy: StringAccumulated text to copy.
last_copied_galley_rect: Option<Rect>§painted_selections: Vec<(ShapeIdx, Vec<RowVertexIndices>)>Painted selections this frame.
Kept so we can undo a bad selection visualization if we don’t see both ends of the selection this frame.
Implementations§
Source§impl LabelSelectionState
impl LabelSelectionState
pub fn has_selection(&self) -> bool
pub fn clear_selection(&mut self)
fn copy_text( &mut self, new_galley_rect: Rect, galley: &Galley, cursor_range: &CCursorRange, )
Sourcepub fn label_text_selection(
ui: &Ui,
response: &Response,
galley_pos: Pos2,
galley: Arc<Galley>,
fallback_color: Color32,
underline: Stroke,
)
pub fn label_text_selection( ui: &Ui, response: &Response, galley_pos: Pos2, galley: Arc<Galley>, fallback_color: Color32, underline: Stroke, )
Handle text selection state for a label or similar widget.
Make sure the widget senses clicks and drags.
This also takes care of painting the galley.
fn cursor_for( &mut self, ui: &Ui, response: &Response, global_from_galley: TSTransform, galley: &Galley, ) -> TextCursorState
Trait Implementations§
Source§impl Clone for LabelSelectionState
impl Clone for LabelSelectionState
Source§fn clone(&self) -> LabelSelectionState
fn clone(&self) -> LabelSelectionState
Returns a duplicate 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
Source§impl Default for LabelSelectionState
impl Default for LabelSelectionState
Source§impl Plugin for LabelSelectionState
impl Plugin for LabelSelectionState
Source§fn debug_name(&self) -> &'static str
fn debug_name(&self) -> &'static str
Plugin name. Read more
Source§fn on_begin_pass(&mut self, ctx: &Context)
fn on_begin_pass(&mut self, ctx: &Context)
Called at the start of each pass. Read more
Source§fn on_end_pass(&mut self, ctx: &Context)
fn on_end_pass(&mut self, ctx: &Context)
Called at the end of each pass. Read more
Source§fn input_hook(&mut self, input: &mut RawInput)
fn input_hook(&mut self, input: &mut RawInput)
Called just before the input is processed. Read more
Source§fn output_hook(&mut self, output: &mut FullOutput)
fn output_hook(&mut self, output: &mut FullOutput)
Called just before the output is passed to the backend. Read more
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