pub struct RefreshState {Show 16 fields
pub columns: usize,
pub lines: usize,
pub vln: usize,
pub vcs: usize,
pub lpromptw: usize,
pub rpromptw: usize,
pub scrolloff: usize,
pub region_highlight_start: Option<usize>,
pub region_highlight_end: Option<usize>,
pub old_video: Option<VideoBuffer>,
pub new_video: Option<VideoBuffer>,
pub lpromptbuf: String,
pub rpromptbuf: String,
pub need_full_redraw: bool,
pub predisplay: String,
pub postdisplay: String,
}Expand description
Composite of zle_refresh.c globals (winw/winh/vcs/vln/vmaxln,
oldmax, lastrow, lastcol, more_status, etc.) collected into one
struct. C uses separate file-statics per name
(int winw, winh, vcs, vln, ...).
Fields§
§columns: usizeNumber of columns.
lines: usizeNumber of lines.
vln: usizeCurrent line on screen (cursor row).
vcs: usizeCurrent column on screen (cursor col).
lpromptw: usizePrompt width (left).
rpromptw: usizeRight prompt width.
scrolloff: usizeScroll offset for horizontal scrolling.
region_highlight_start: Option<usize>Region highlight start.
region_highlight_end: Option<usize>Region highlight end.
old_video: Option<VideoBuffer>Old video buffer.
new_video: Option<VideoBuffer>New video buffer.
lpromptbuf: StringPrompt string (left).
rpromptbuf: StringRight prompt string.
need_full_redraw: boolWhether we need full redraw.
predisplay: StringPredisplay string (before main buffer).
postdisplay: StringPostdisplay string (after main buffer).
Implementations§
Source§impl RefreshState
impl RefreshState
Sourcepub fn new() -> RefreshState
pub fn new() -> RefreshState
Build the initial refresh state at zleread() entry.
Equivalent to the global nbuf/obuf/vln/vcs
allocation + reset performed by resetvideo() at
Src/Zle/zle_refresh.c:725 — terminal size queried once,
both video buffers allocated, need_full_redraw set so the
first paint touches every cell.
Sourcepub fn reset_video(&mut self)
pub fn reset_video(&mut self)
Reallocate the video buffers for the current terminal size
and arm a full redraw on the next paint. Equivalent to
resetvideo() from Src/Zle/zle_refresh.c:725 invoked after
SIGWINCH (the C source calls it from adjustwinsize() in
Src/init.c).
Sourcepub fn free_video(&mut self)
pub fn free_video(&mut self)
Drop both video buffers — used at ZLE shutdown. Equivalent
to freevideo() from Src/Zle/zle_refresh.c:700.
Sourcepub fn swap_buffers(&mut self)
pub fn swap_buffers(&mut self)
Promote the freshly-painted buffer to “previously displayed”
and clear the new-buffer slate for the next frame.
Equivalent to bufswap() from Src/Zle/zle_refresh.c:946 —
the C source swaps nbuf and obuf pointers and zeroes the
new nbuf so the diff loop has a clean target.
Trait Implementations§
Source§impl Clone for RefreshState
impl Clone for RefreshState
Source§fn clone(&self) -> RefreshState
fn clone(&self) -> RefreshState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RefreshState
impl Debug for RefreshState
Source§impl Default for RefreshState
impl Default for RefreshState
Source§fn default() -> RefreshState
fn default() -> RefreshState
Auto Trait Implementations§
impl Freeze for RefreshState
impl RefUnwindSafe for RefreshState
impl Send for RefreshState
impl Sync for RefreshState
impl Unpin for RefreshState
impl UnsafeUnpin for RefreshState
impl UnwindSafe for RefreshState
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
T, using the provided data to resolve any offsets.