Struct imgui::WindowDrawList [−][src]
pub struct WindowDrawList<'ui> { /* fields omitted */ }
Object implementing the custom draw API.
Called from Ui::get_window_draw_list
. No more than one instance of this
structure can live in a program at the same time.
The program will panic on creating a second instance.
Methods
impl<'ui> WindowDrawList<'ui>
[src]
impl<'ui> WindowDrawList<'ui>
pub fn channels_split<F: FnOnce(&ChannelsSplit)>(
&self,
channels_count: u32,
f: F
)
[src]
pub fn channels_split<F: FnOnce(&ChannelsSplit)>(
&self,
channels_count: u32,
f: F
)
Split into channels_count drawing channels. At the end of the closure, the channels are merged. The objects are then drawn in the increasing order of their channel number, and not in the order they were called.
Example
fn custom_drawing(ui: &Ui) { let draw_list = ui.get_window_draw_list(); draw_list.channels_split(2, |channels| { channels.set_current(1); // ... Draw channel 1 channels.set_current(0); // ... Draw channel 0 }); }
impl<'ui> WindowDrawList<'ui>
[src]
impl<'ui> WindowDrawList<'ui>
Drawing functions
pub fn add_line<P1, P2, C>(&'ui self, p1: P1, p2: P2, c: C) -> Line<'ui> where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
C: Into<ImColor>,
[src]
pub fn add_line<P1, P2, C>(&'ui self, p1: P1, p2: P2, c: C) -> Line<'ui> where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
C: Into<ImColor>,
Returns a line from point p1
to p2
with color c
.
pub fn add_rect<P1, P2, C>(&'ui self, p1: P1, p2: P2, c: C) -> Rect<'ui> where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
C: Into<ImColor>,
[src]
pub fn add_rect<P1, P2, C>(&'ui self, p1: P1, p2: P2, c: C) -> Rect<'ui> where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
C: Into<ImColor>,
Returns a rectangle whose upper-left corner is at point p1
and lower-right corner is at point p2
, with color c
.
pub fn add_rect_filled_multicolor<P1, P2, C1, C2, C3, C4>(
&self,
p1: P1,
p2: P2,
col_upr_left: C1,
col_upr_right: C2,
col_bot_right: C3,
col_bot_left: C4
) where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
C1: Into<ImColor>,
C2: Into<ImColor>,
C3: Into<ImColor>,
C4: Into<ImColor>,
[src]
pub fn add_rect_filled_multicolor<P1, P2, C1, C2, C3, C4>(
&self,
p1: P1,
p2: P2,
col_upr_left: C1,
col_upr_right: C2,
col_bot_right: C3,
col_bot_left: C4
) where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
C1: Into<ImColor>,
C2: Into<ImColor>,
C3: Into<ImColor>,
C4: Into<ImColor>,
Draw a rectangle whose upper-left corner is at point p1
and lower-right corner is at point p2
.
The remains parameters are the respective color of the corners
in the counter-clockwise starting from the upper-left corner
first.
pub fn add_triangle<P1, P2, P3, C>(
&'ui self,
p1: P1,
p2: P2,
p3: P3,
c: C
) -> Triangle<'ui> where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
P3: Into<ImVec2>,
C: Into<ImColor>,
[src]
pub fn add_triangle<P1, P2, P3, C>(
&'ui self,
p1: P1,
p2: P2,
p3: P3,
c: C
) -> Triangle<'ui> where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
P3: Into<ImVec2>,
C: Into<ImColor>,
Returns a triangle with the given 3 vertices p1
, p2
and p3
and color c
.
pub fn add_circle<P, C>(
&'ui self,
center: P,
radius: f32,
color: C
) -> Circle<'ui> where
P: Into<ImVec2>,
C: Into<ImColor>,
[src]
pub fn add_circle<P, C>(
&'ui self,
center: P,
radius: f32,
color: C
) -> Circle<'ui> where
P: Into<ImVec2>,
C: Into<ImColor>,
Returns a circle with the given center
, radius
and color
.
pub fn add_text<P, C, T>(&self, pos: P, col: C, text: T) where
P: Into<ImVec2>,
C: Into<ImColor>,
T: AsRef<str>,
[src]
pub fn add_text<P, C, T>(&self, pos: P, col: C, text: T) where
P: Into<ImVec2>,
C: Into<ImColor>,
T: AsRef<str>,
Draw a text whose upper-left corner is at point pos
.
pub fn add_bezier_curve<P1, P2, P3, P4, C>(
&'ui self,
pos0: P1,
cp0: P2,
cp1: P3,
pos1: P4,
color: C
) -> BezierCurve<'ui> where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
P3: Into<ImVec2>,
P4: Into<ImVec2>,
C: Into<ImColor>,
[src]
pub fn add_bezier_curve<P1, P2, P3, P4, C>(
&'ui self,
pos0: P1,
cp0: P2,
cp1: P3,
pos1: P4,
color: C
) -> BezierCurve<'ui> where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
P3: Into<ImVec2>,
P4: Into<ImVec2>,
C: Into<ImColor>,
Returns a Bezier curve stretching from pos0
to pos1
, whose
curvature is defined by cp0
and cp1
.
pub fn with_clip_rect<P1, P2, F>(&self, min: P1, max: P2, f: F) where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
F: FnOnce(),
[src]
pub fn with_clip_rect<P1, P2, F>(&self, min: P1, max: P2, f: F) where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
F: FnOnce(),
Push a clipping rectangle on the stack, run f
and pop it.
Clip all drawings done within the closure f
in the given
rectangle.
pub fn with_clip_rect_intersect<P1, P2, F>(&self, min: P1, max: P2, f: F) where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
F: FnOnce(),
[src]
pub fn with_clip_rect_intersect<P1, P2, F>(&self, min: P1, max: P2, f: F) where
P1: Into<ImVec2>,
P2: Into<ImVec2>,
F: FnOnce(),
Push a clipping rectangle on the stack, run f
and pop it.
Clip all drawings done within the closure f
in the given
rectangle. Intersect with all clipping rectangle previously on
the stack.
Trait Implementations
impl<'ui> Drop for WindowDrawList<'ui>
[src]
impl<'ui> Drop for WindowDrawList<'ui>
Auto Trait Implementations
impl<'ui> !Send for WindowDrawList<'ui>
impl<'ui> !Send for WindowDrawList<'ui>
impl<'ui> !Sync for WindowDrawList<'ui>
impl<'ui> !Sync for WindowDrawList<'ui>