Struct xcb::x::PolyLine

source ·
pub struct PolyLine<'a> {
    pub coordinate_mode: CoordMode,
    pub drawable: Drawable,
    pub gc: Gcontext,
    pub points: &'a [Point],
}
Expand description

Draw lines

Draws points.len()-1 lines between each pair of points (point[i], point[i+1]) in the points array. The lines are drawn in the order listed in the array. They join correctly at all intermediate points, and if the first and last points coincide, the first and last lines also join correctly. For any given line, a pixel is not drawn more than once. If thin (zero line-width) lines intersect, the intersecting pixels are drawn multiple times. If wide lines intersect, the intersecting pixels are drawn only once, as though the entire request were a single, filled shape.

§Example

// Draw a straight line on a window
let points = &[
    x::Point { x: 10, y: 10 },
    x::Point { x: 100, y: 10 },
];
conn.send_request(&x::PolyLine {
    coordinate_mode: x::CoordMode::Origin,
    drawable: x::Drawable::Window(window),
    gc,
    points,
});
conn.flush()?;

This request has no reply.

Associated cookie types are VoidCookie and VoidCookieChecked.

Fields§

§coordinate_mode: CoordMode
§drawable: Drawable

The drawable to draw the line(s) on.

§gc: Gcontext

The graphics context to use.

§points: &'a [Point]

An array of points.

Trait Implementations§

source§

impl<'a> Clone for PolyLine<'a>

source§

fn clone(&self) -> PolyLine<'a>

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<'a> Debug for PolyLine<'a>

source§

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

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

impl<'a> RawRequest for PolyLine<'a>

source§

fn raw_request(&self, c: &Connection, checked: bool) -> u64

Actual implementation of the request sending Read more
source§

impl<'a> Request for PolyLine<'a>

source§

type Cookie = VoidCookie

The default cookie associated to this request.
source§

const IS_VOID: bool = true

false if the request returns a reply, true otherwise.
source§

impl<'a> RequestWithoutReply for PolyLine<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for PolyLine<'a>

§

impl<'a> RefUnwindSafe for PolyLine<'a>

§

impl<'a> Send for PolyLine<'a>

§

impl<'a> Sync for PolyLine<'a>

§

impl<'a> Unpin for PolyLine<'a>

§

impl<'a> UnwindSafe for PolyLine<'a>

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> 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.