[][src]Struct conrod_core::text::cursor::Index

pub struct Index {
    pub line: usize,
    pub char: usize,
}

An index representing the position of a cursor within some text.

Fields

line: usize

The index of the line upon which the cursor is situated.

char: usize

The index within all possible cursor positions for the line.

For example, for the line foo, a char of 1 would indicate the cursor's position as f|oo where | is the cursor.

Implementations

impl Index[src]

pub fn previous_word_start<I>(self, text: &str, line_infos: I) -> Option<Self> where
    I: Iterator<Item = Info>, 
[src]

The cursor index of the beginning of the word (block of non-whitespace) before self.

If self is at the beginning of the line, call previous, which returns the last index position of the previous line, or None if it's the first line

If self points to whitespace, skip past that whitespace, then return the index of the start of the word that precedes the whitespace

If self is in the middle or end of a word, return the index of the start of that word

pub fn next_word_end<I>(self, text: &str, line_infos: I) -> Option<Self> where
    I: Iterator<Item = Info>, 
[src]

The cursor index of the end of the first word (block of non-whitespace) after self.

If self is at the end of the text, this returns None.

If self is at the end of a line other than the last, this returns the first index of the next line.

If self points to whitespace, skip past that whitespace, then return the index of the end of the word after the whitespace

If self is in the middle or start of a word, return the index of the end of that word

pub fn previous<I>(self, line_infos: I) -> Option<Self> where
    I: Iterator<Item = Info>, 
[src]

The cursor index that comes before self.

If self is at the beginning of the text, this returns None.

If self is at the beginning of a line other than the first, this returns the last index position of the previous line.

If self is a position other than the start of a line, it will return the position that is immediately to the left.

pub fn next<I>(self, line_infos: I) -> Option<Self> where
    I: Iterator<Item = Info>, 
[src]

The cursor index that follows self.

If self is at the end of the text, this returns None.

If self is at the end of a line other than the last, this returns the first index of the next line.

If self is a position other than the end of a line, it will return the position that is immediately to the right.

pub fn clamp_to_lines<I>(self, line_infos: I) -> Self where
    I: Iterator<Item = Info>, 
[src]

Clamps self to the given lines.

If self would lie after the end of the last line, return the index at the end of the last line.

If line_infos is empty, returns cursor at line=0 char=0.

Trait Implementations

impl Clone for Index[src]

impl Copy for Index[src]

impl Debug for Index[src]

impl Eq for Index[src]

impl Ord for Index[src]

impl PartialEq<Index> for Index[src]

impl PartialOrd<Index> for Index[src]

impl StructuralEq for Index[src]

impl StructuralPartialEq for Index[src]

Auto Trait Implementations

impl RefUnwindSafe for Index

impl Send for Index

impl Sync for Index

impl Unpin for Index

impl UnwindSafe for Index

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Style for T where
    T: Any + Debug + PartialEq<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.