cosmic_text

Struct Editor

source
pub struct Editor<'buffer> { /* private fields */ }
Expand description

A wrapper of [Buffer] for easy editing

Implementations§

source§

impl<'buffer> Editor<'buffer>

source

pub fn new(buffer: impl Into<BufferRef<'buffer>>) -> Self

Create a new Editor with the provided [Buffer]

source

pub fn draw<F>( &self, font_system: &mut FontSystem, cache: &mut SwashCache, text_color: Color, cursor_color: Color, selection_color: Color, selected_text_color: Color, f: F, )
where F: FnMut(i32, i32, u32, u32, Color),

Draw the editor

Trait Implementations§

source§

impl<'buffer> Clone for Editor<'buffer>

source§

fn clone(&self) -> Editor<'buffer>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'buffer> Debug for Editor<'buffer>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'buffer> Edit<'buffer> for Editor<'buffer>

source§

fn buffer_ref(&self) -> &BufferRef<'buffer>

Get the internal BufferRef
source§

fn buffer_ref_mut(&mut self) -> &mut BufferRef<'buffer>

Get the internal BufferRef
source§

fn cursor(&self) -> Cursor

Get the current cursor
source§

fn set_cursor(&mut self, cursor: Cursor)

Set the current cursor
source§

fn selection(&self) -> Selection

Get the current selection position
source§

fn set_selection(&mut self, selection: Selection)

Set the current selection position
source§

fn auto_indent(&self) -> bool

Get the current automatic indentation setting
source§

fn set_auto_indent(&mut self, auto_indent: bool)

Enable or disable automatic indentation
source§

fn tab_width(&self) -> u16

Get the current tab width
source§

fn set_tab_width(&mut self, font_system: &mut FontSystem, tab_width: u16)

Set the current tab width. A tab_width of 0 is not allowed, and will be ignored
source§

fn shape_as_needed(&mut self, font_system: &mut FontSystem, prune: bool)

Shape lines until scroll, after adjusting scroll if the cursor moved
source§

fn delete_range(&mut self, start: Cursor, end: Cursor)

Delete text starting at start Cursor and ending at end Cursor
source§

fn insert_at( &mut self, cursor: Cursor, data: &str, attrs_list: Option<AttrsList>, ) -> Cursor

Insert text at specified cursor with specified attrs_list
source§

fn copy_selection(&self) -> Option<String>

Copy selection
source§

fn delete_selection(&mut self) -> bool

Delete selection, adjusting cursor and returning true if there was a selection
source§

fn apply_change(&mut self, change: &Change) -> bool

Apply a change
source§

fn start_change(&mut self)

Start collecting change
source§

fn finish_change(&mut self) -> Option<Change>

Get completed change
source§

fn action(&mut self, font_system: &mut FontSystem, action: Action)

Perform an Action on the editor
source§

fn cursor_position(&self) -> Option<(i32, i32)>

Get X and Y position of the top left corner of the cursor
source§

fn borrow_with<'font_system>( &'font_system mut self, font_system: &'font_system mut FontSystem, ) -> BorrowedWithFontSystem<'font_system, Self>
where Self: Sized,

Mutably borrows self together with an FontSystem for more convenient methods
source§

fn with_buffer<F: FnOnce(&Buffer) -> T, T>(&self, f: F) -> T

Get the internal Buffer
source§

fn with_buffer_mut<F: FnOnce(&mut Buffer) -> T, T>(&mut self, f: F) -> T

Get the internal Buffer, mutably
source§

fn redraw(&self) -> bool

Get the Buffer redraw flag
source§

fn set_redraw(&mut self, redraw: bool)

Set the Buffer redraw flag
source§

fn selection_bounds(&self) -> Option<(Cursor, Cursor)>

Get the bounds of the current selection
source§

fn insert_string(&mut self, data: &str, attrs_list: Option<AttrsList>)

Insert a string at the current cursor or replacing the current selection with the given attributes, or with the previous character’s attributes if None is given.

Auto Trait Implementations§

§

impl<'buffer> Freeze for Editor<'buffer>

§

impl<'buffer> RefUnwindSafe for Editor<'buffer>

§

impl<'buffer> Send for Editor<'buffer>

§

impl<'buffer> Sync for Editor<'buffer>

§

impl<'buffer> Unpin for Editor<'buffer>

§

impl<'buffer> !UnwindSafe for Editor<'buffer>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
source§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.