Struct x11rb_protocol::protocol::xproto::PolyLineRequest
source · pub struct PolyLineRequest<'input> {
pub coordinate_mode: CoordMode,
pub drawable: Drawable,
pub gc: Gcontext,
pub points: Cow<'input, [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.
§Fields
drawable
- The drawable to draw the line(s) on.gc
- The graphics context to use.points_len
- The number ofxcb_point_t
structures inpoints
.points
- An array of points.coordinate_mode
-
§Errors
Drawable
- TODO: reasons?GContext
- TODO: reasons?Match
- TODO: reasons?Value
- TODO: reasons?
§Example
/*
* Draw a straight line.
*
*/
void my_example(xcb_connection_t *conn, xcb_drawable_t drawable, xcb_gcontext_t gc) {
xcb_poly_line(conn, XCB_COORD_MODE_ORIGIN, drawable, gc, 2,
(xcb_point_t[]) { {10, 10}, {100, 10} });
xcb_flush(conn);
}
Fields§
§coordinate_mode: CoordMode
§drawable: Drawable
§gc: Gcontext
§points: Cow<'input, [Point]>
Implementations§
source§impl<'input> PolyLineRequest<'input>
impl<'input> PolyLineRequest<'input>
sourcepub fn serialize(self) -> BufWithFds<[Cow<'input, [u8]>; 3]>
pub fn serialize(self) -> BufWithFds<[Cow<'input, [u8]>; 3]>
Serialize this request into bytes for the provided connection
sourcepub fn try_parse_request(
header: RequestHeader,
value: &'input [u8]
) -> Result<Self, ParseError>
pub fn try_parse_request( header: RequestHeader, value: &'input [u8] ) -> Result<Self, ParseError>
Parse this request given its header, its body, and any fds that go along with it
sourcepub fn into_owned(self) -> PolyLineRequest<'static>
pub fn into_owned(self) -> PolyLineRequest<'static>
Clone all borrowed data in this PolyLineRequest.
Trait Implementations§
source§impl<'input> Clone for PolyLineRequest<'input>
impl<'input> Clone for PolyLineRequest<'input>
source§fn clone(&self) -> PolyLineRequest<'input>
fn clone(&self) -> PolyLineRequest<'input>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'input> Debug for PolyLineRequest<'input>
impl<'input> Debug for PolyLineRequest<'input>
source§impl<'input> Default for PolyLineRequest<'input>
impl<'input> Default for PolyLineRequest<'input>
source§fn default() -> PolyLineRequest<'input>
fn default() -> PolyLineRequest<'input>
source§impl<'de, 'input> Deserialize<'de> for PolyLineRequest<'input>
impl<'de, 'input> Deserialize<'de> for PolyLineRequest<'input>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl<'input> Hash for PolyLineRequest<'input>
impl<'input> Hash for PolyLineRequest<'input>
source§impl<'input> Ord for PolyLineRequest<'input>
impl<'input> Ord for PolyLineRequest<'input>
source§fn cmp(&self, other: &PolyLineRequest<'input>) -> Ordering
fn cmp(&self, other: &PolyLineRequest<'input>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl<'input> PartialEq for PolyLineRequest<'input>
impl<'input> PartialEq for PolyLineRequest<'input>
source§fn eq(&self, other: &PolyLineRequest<'input>) -> bool
fn eq(&self, other: &PolyLineRequest<'input>) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl<'input> PartialOrd for PolyLineRequest<'input>
impl<'input> PartialOrd for PolyLineRequest<'input>
source§fn partial_cmp(&self, other: &PolyLineRequest<'input>) -> Option<Ordering>
fn partial_cmp(&self, other: &PolyLineRequest<'input>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more