|
|
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Request` enum in crate `wayland_client`."><meta name="keywords" content="rust, rustlang, rust-lang, Request"><title>wayland_client::protocol::wl_surface::Request - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script src="../../../storage.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="shortcut icon" href="../../../favicon.ico"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../../wayland_client/index.html'><div class='logo-container'><img src='../../../rust-logo.png' alt='logo'></div></a><p class='location'>Enum Request</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Destroy">Destroy</a><a href="#variant.Attach">Attach</a><a href="#variant.Damage">Damage</a><a href="#variant.Frame">Frame</a><a href="#variant.SetOpaqueRegion">SetOpaqueRegion</a><a href="#variant.SetInputRegion">SetInputRegion</a><a href="#variant.Commit">Commit</a><a href="#variant.SetBufferTransform">SetBufferTransform</a><a href="#variant.SetBufferScale">SetBufferScale</a><a href="#variant.DamageBuffer">DamageBuffer</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-MessageGroup">MessageGroup</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><p class='location'><a href='../../index.html'>wayland_client</a>::<wbr><a href='../index.html'>protocol</a>::<wbr><a href='index.html'>wl_surface</a></p><script>window.sidebarCurrent = {name: 'Request', ty: 'enum', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../../src/wayland_client/home/mrh/source/Trac3r-rust/target/debug/build/wayland-client-893466244f089367/out/wayland_c_api.rs.html#1' title='goto source code'>[src]</a></span><span class='in-band'>Enum <a href='../../index.html'>wayland_client</a>::<wbr><a href='../index.html'>protocol</a>::<wbr><a href='index.html'>wl_surface</a>::<wbr><a class="enum" href=''>Request</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust enum'>pub enum Request {
|
|
|
Destroy,
|
|
|
Attach {
|
|
|
buffer: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../wayland_client/struct.Proxy.html" title="struct wayland_client::Proxy">Proxy</a><<a class="struct" href="../../../wayland_client/protocol/wl_buffer/struct.WlBuffer.html" title="struct wayland_client::protocol::wl_buffer::WlBuffer">WlBuffer</a>>>,
|
|
|
x: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
y: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
},
|
|
|
Damage {
|
|
|
x: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
y: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
width: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
},
|
|
|
Frame {
|
|
|
callback: <a class="struct" href="../../../wayland_client/struct.Proxy.html" title="struct wayland_client::Proxy">Proxy</a><<a class="struct" href="../../../wayland_client/protocol/wl_callback/struct.WlCallback.html" title="struct wayland_client::protocol::wl_callback::WlCallback">WlCallback</a>>,
|
|
|
},
|
|
|
SetOpaqueRegion {
|
|
|
region: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../wayland_client/struct.Proxy.html" title="struct wayland_client::Proxy">Proxy</a><<a class="struct" href="../../../wayland_client/protocol/wl_region/struct.WlRegion.html" title="struct wayland_client::protocol::wl_region::WlRegion">WlRegion</a>>>,
|
|
|
},
|
|
|
SetInputRegion {
|
|
|
region: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../wayland_client/struct.Proxy.html" title="struct wayland_client::Proxy">Proxy</a><<a class="struct" href="../../../wayland_client/protocol/wl_region/struct.WlRegion.html" title="struct wayland_client::protocol::wl_region::WlRegion">WlRegion</a>>>,
|
|
|
},
|
|
|
Commit,
|
|
|
SetBufferTransform {
|
|
|
transform: <a class="enum" href="../../../wayland_client/protocol/wl_output/enum.Transform.html" title="enum wayland_client::protocol::wl_output::Transform">Transform</a>,
|
|
|
},
|
|
|
SetBufferScale {
|
|
|
scale: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
},
|
|
|
DamageBuffer {
|
|
|
x: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
y: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
width: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
|
|
|
},
|
|
|
}</pre></div><h2 id='variants' class='variants small-section-header'>
|
|
|
Variants<a href='#variants' class='anchor'></a></h2>
|
|
|
<div id="variant.Destroy" class="variant small-section-header"><a href="#variant.Destroy" class="anchor field"></a><code id='Destroy.v'>Destroy</code></div><div class='docblock'><p>delete surface</p>
|
|
|
<p>Deletes the surface and invalidates its object ID.</p>
|
|
|
<p>This is a destructor, once sent this object cannot be used any longer.</p>
|
|
|
</div><div id="variant.Attach" class="variant small-section-header"><a href="#variant.Attach" class="anchor field"></a><code id='Attach.v'>Attach</code></div><div class='docblock'><p>set the surface contents</p>
|
|
|
<p>Set a buffer as the content of this surface.</p>
|
|
|
<p>The new size of the surface is calculated based on the buffer
|
|
|
size transformed by the inverse buffer_transform and the
|
|
|
inverse buffer_scale. This means that the supplied buffer
|
|
|
must be an integer multiple of the buffer_scale.</p>
|
|
|
<p>The x and y arguments specify the location of the new pending
|
|
|
buffer's upper left corner, relative to the current buffer's upper
|
|
|
left corner, in surface-local coordinates. In other words, the
|
|
|
x and y, combined with the new surface size define in which
|
|
|
directions the surface's size changes.</p>
|
|
|
<p>Surface contents are double-buffered state, see wl_surface.commit.</p>
|
|
|
<p>The initial surface contents are void; there is no content.
|
|
|
wl_surface.attach assigns the given wl_buffer as the pending
|
|
|
wl_buffer. wl_surface.commit makes the pending wl_buffer the new
|
|
|
surface contents, and the size of the surface becomes the size
|
|
|
calculated from the wl_buffer, as described above. After commit,
|
|
|
there is no pending buffer until the next attach.</p>
|
|
|
<p>Committing a pending wl_buffer allows the compositor to read the
|
|
|
pixels in the wl_buffer. The compositor may access the pixels at
|
|
|
any time after the wl_surface.commit request. When the compositor
|
|
|
will not access the pixels anymore, it will send the
|
|
|
wl_buffer.release event. Only after receiving wl_buffer.release,
|
|
|
the client may reuse the wl_buffer. A wl_buffer that has been
|
|
|
attached and then replaced by another attach instead of committed
|
|
|
will not receive a release event, and is not used by the
|
|
|
compositor.</p>
|
|
|
<p>Destroying the wl_buffer after wl_buffer.release does not change
|
|
|
the surface contents. However, if the client destroys the
|
|
|
wl_buffer before receiving the wl_buffer.release event, the surface
|
|
|
contents become undefined immediately.</p>
|
|
|
<p>If wl_surface.attach is sent with a NULL wl_buffer, the
|
|
|
following wl_surface.commit will remove the surface content.</p>
|
|
|
</div><div class='autohide sub-variant' id='variant.Attach.fields'><h3>Fields of <b>Attach</b></h3><div><span id="variant.Attach.field.buffer" class="variant small-section-header"><a href="#variant.Attach.field.buffer" class="anchor field"></a><code id='Attach.v.buffer.v'>buffer: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../wayland_client/struct.Proxy.html" title="struct wayland_client::Proxy">Proxy</a><<a class="struct" href="../../../wayland_client/protocol/wl_buffer/struct.WlBuffer.html" title="struct wayland_client::protocol::wl_buffer::WlBuffer">WlBuffer</a>>></code></span><span id="variant.Attach.field.x" class="variant small-section-header"><a href="#variant.Attach.field.x" class="anchor field"></a><code id='Attach.v.x.v'>x: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><span id="variant.Attach.field.y" class="variant small-section-header"><a href="#variant.Attach.field.y" class="anchor field"></a><code id='Attach.v.y.v'>y: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span></div></div><div id="variant.Damage" class="variant small-section-header"><a href="#variant.Damage" class="anchor field"></a><code id='Damage.v'>Damage</code></div><div class='docblock'><p>mark part of the surface damaged</p>
|
|
|
<p>This request is used to describe the regions where the pending
|
|
|
buffer is different from the current surface contents, and where
|
|
|
the surface therefore needs to be repainted. The compositor
|
|
|
ignores the parts of the damage that fall outside of the surface.</p>
|
|
|
<p>Damage is double-buffered state, see wl_surface.commit.</p>
|
|
|
<p>The damage rectangle is specified in surface-local coordinates,
|
|
|
where x and y specify the upper left corner of the damage rectangle.</p>
|
|
|
<p>The initial value for pending damage is empty: no damage.
|
|
|
wl_surface.damage adds pending damage: the new pending damage
|
|
|
is the union of old pending damage and the given rectangle.</p>
|
|
|
<p>wl_surface.commit assigns pending damage as the current damage,
|
|
|
and clears pending damage. The server will clear the current
|
|
|
damage as it repaints the surface.</p>
|
|
|
<p>Alternatively, damage can be posted with wl_surface.damage_buffer
|
|
|
which uses buffer coordinates instead of surface coordinates,
|
|
|
and is probably the preferred and intuitive way of doing this.</p>
|
|
|
</div><div class='autohide sub-variant' id='variant.Damage.fields'><h3>Fields of <b>Damage</b></h3><div><span id="variant.Damage.field.x" class="variant small-section-header"><a href="#variant.Damage.field.x" class="anchor field"></a><code id='Damage.v.x.v'>x: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><span id="variant.Damage.field.y" class="variant small-section-header"><a href="#variant.Damage.field.y" class="anchor field"></a><code id='Damage.v.y.v'>y: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><span id="variant.Damage.field.width" class="variant small-section-header"><a href="#variant.Damage.field.width" class="anchor field"></a><code id='Damage.v.width.v'>width: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><span id="variant.Damage.field.height" class="variant small-section-header"><a href="#variant.Damage.field.height" class="anchor field"></a><code id='Damage.v.height.v'>height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span></div></div><div id="variant.Frame" class="variant small-section-header"><a href="#variant.Frame" class="anchor field"></a><code id='Frame.v'>Frame</code></div><div class='docblock'><p>request a frame throttling hint</p>
|
|
|
<p>Request a notification when it is a good time to start drawing a new
|
|
|
frame, by creating a frame callback. This is useful for throttling
|
|
|
redrawing operations, and driving animations.</p>
|
|
|
<p>When a client is animating on a wl_surface, it can use the 'frame'
|
|
|
request to get notified when it is a good time to draw and commit the
|
|
|
next frame of animation. If the client commits an update earlier than
|
|
|
that, it is likely that some updates will not make it to the display,
|
|
|
and the client is wasting resources by drawing too often.</p>
|
|
|
<p>The frame request will take effect on the next wl_surface.commit.
|
|
|
The notification will only be posted for one frame unless
|
|
|
requested again. For a wl_surface, the notifications are posted in
|
|
|
the order the frame requests were committed.</p>
|
|
|
<p>The server must send the notifications so that a client
|
|
|
will not send excessive updates, while still allowing
|
|
|
the highest possible update rate for clients that wait for the reply
|
|
|
before drawing again. The server should give some time for the client
|
|
|
to draw and commit after sending the frame callback events to let it
|
|
|
hit the next output refresh.</p>
|
|
|
<p>A server should avoid signaling the frame callbacks if the
|
|
|
surface is not visible in any way, e.g. the surface is off-screen,
|
|
|
or completely obscured by other opaque surfaces.</p>
|
|
|
<p>The object returned by this request will be destroyed by the
|
|
|
compositor after the callback is fired and as such the client must not
|
|
|
attempt to use it after that point.</p>
|
|
|
<p>The callback_data passed in the callback is the current time, in
|
|
|
milliseconds, with an undefined base.</p>
|
|
|
</div><div class='autohide sub-variant' id='variant.Frame.fields'><h3>Fields of <b>Frame</b></h3><div><span id="variant.Frame.field.callback" class="variant small-section-header"><a href="#variant.Frame.field.callback" class="anchor field"></a><code id='Frame.v.callback.v'>callback: <a class="struct" href="../../../wayland_client/struct.Proxy.html" title="struct wayland_client::Proxy">Proxy</a><<a class="struct" href="../../../wayland_client/protocol/wl_callback/struct.WlCallback.html" title="struct wayland_client::protocol::wl_callback::WlCallback">WlCallback</a>></code></span></div></div><div id="variant.SetOpaqueRegion" class="variant small-section-header"><a href="#variant.SetOpaqueRegion" class="anchor field"></a><code id='SetOpaqueRegion.v'>SetOpaqueRegion</code></div><div class='docblock'><p>set opaque region</p>
|
|
|
<p>This request sets the region of the surface that contains
|
|
|
opaque content.</p>
|
|
|
<p>The opaque region is an optimization hint for the compositor
|
|
|
that lets it optimize the redrawing of content behind opaque
|
|
|
regions. Setting an opaque region is not required for correct
|
|
|
behaviour, but marking transparent content as opaque will result
|
|
|
in repaint artifacts.</p>
|
|
|
<p>The opaque region is specified in surface-local coordinates.</p>
|
|
|
<p>The compositor ignores the parts of the opaque region that fall
|
|
|
outside of the surface.</p>
|
|
|
<p>Opaque region is double-buffered state, see wl_surface.commit.</p>
|
|
|
<p>wl_surface.set_opaque_region changes the pending opaque region.
|
|
|
wl_surface.commit copies the pending region to the current region.
|
|
|
Otherwise, the pending and current regions are never changed.</p>
|
|
|
<p>The initial value for an opaque region is empty. Setting the pending
|
|
|
opaque region has copy semantics, and the wl_region object can be
|
|
|
destroyed immediately. A NULL wl_region causes the pending opaque
|
|
|
region to be set to empty.</p>
|
|
|
</div><div class='autohide sub-variant' id='variant.SetOpaqueRegion.fields'><h3>Fields of <b>SetOpaqueRegion</b></h3><div><span id="variant.SetOpaqueRegion.field.region" class="variant small-section-header"><a href="#variant.SetOpaqueRegion.field.region" class="anchor field"></a><code id='SetOpaqueRegion.v.region.v'>region: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../wayland_client/struct.Proxy.html" title="struct wayland_client::Proxy">Proxy</a><<a class="struct" href="../../../wayland_client/protocol/wl_region/struct.WlRegion.html" title="struct wayland_client::protocol::wl_region::WlRegion">WlRegion</a>>></code></span></div></div><div id="variant.SetInputRegion" class="variant small-section-header"><a href="#variant.SetInputRegion" class="anchor field"></a><code id='SetInputRegion.v'>SetInputRegion</code></div><div class='docblock'><p>set input region</p>
|
|
|
<p>This request sets the region of the surface that can receive
|
|
|
pointer and touch events.</p>
|
|
|
<p>Input events happening outside of this region will try the next
|
|
|
surface in the server surface stack. The compositor ignores the
|
|
|
parts of the input region that fall outside of the surface.</p>
|
|
|
<p>The input region is specified in surface-local coordinates.</p>
|
|
|
<p>Input region is double-buffered state, see wl_surface.commit.</p>
|
|
|
<p>wl_surface.set_input_region changes the pending input region.
|
|
|
wl_surface.commit copies the pending region to the current region.
|
|
|
Otherwise the pending and current regions are never changed,
|
|
|
except cursor and icon surfaces are special cases, see
|
|
|
wl_pointer.set_cursor and wl_data_device.start_drag.</p>
|
|
|
<p>The initial value for an input region is infinite. That means the
|
|
|
whole surface will accept input. Setting the pending input region
|
|
|
has copy semantics, and the wl_region object can be destroyed
|
|
|
immediately. A NULL wl_region causes the input region to be set
|
|
|
to infinite.</p>
|
|
|
</div><div class='autohide sub-variant' id='variant.SetInputRegion.fields'><h3>Fields of <b>SetInputRegion</b></h3><div><span id="variant.SetInputRegion.field.region" class="variant small-section-header"><a href="#variant.SetInputRegion.field.region" class="anchor field"></a><code id='SetInputRegion.v.region.v'>region: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../wayland_client/struct.Proxy.html" title="struct wayland_client::Proxy">Proxy</a><<a class="struct" href="../../../wayland_client/protocol/wl_region/struct.WlRegion.html" title="struct wayland_client::protocol::wl_region::WlRegion">WlRegion</a>>></code></span></div></div><div id="variant.Commit" class="variant small-section-header"><a href="#variant.Commit" class="anchor field"></a><code id='Commit.v'>Commit</code></div><div class='docblock'><p>commit pending surface state</p>
|
|
|
<p>Surface state (input, opaque, and damage regions, attached buffers,
|
|
|
etc.) is double-buffered. Protocol requests modify the pending state,
|
|
|
as opposed to the current state in use by the compositor. A commit
|
|
|
request atomically applies all pending state, replacing the current
|
|
|
state. After commit, the new pending state is as documented for each
|
|
|
related request.</p>
|
|
|
<p>On commit, a pending wl_buffer is applied first, and all other state
|
|
|
second. This means that all coordinates in double-buffered state are
|
|
|
relative to the new wl_buffer coming into use, except for
|
|
|
wl_surface.attach itself. If there is no pending wl_buffer, the
|
|
|
coordinates are relative to the current surface contents.</p>
|
|
|
<p>All requests that need a commit to become effective are documented
|
|
|
to affect double-buffered state.</p>
|
|
|
<p>Other interfaces may add further double-buffered surface state.</p>
|
|
|
</div><div id="variant.SetBufferTransform" class="variant small-section-header"><a href="#variant.SetBufferTransform" class="anchor field"></a><code id='SetBufferTransform.v'>SetBufferTransform</code></div><div class='docblock'><p>sets the buffer transformation</p>
|
|
|
<p>This request sets an optional transformation on how the compositor
|
|
|
interprets the contents of the buffer attached to the surface. The
|
|
|
accepted values for the transform parameter are the values for
|
|
|
wl_output.transform.</p>
|
|
|
<p>Buffer transform is double-buffered state, see wl_surface.commit.</p>
|
|
|
<p>A newly created surface has its buffer transformation set to normal.</p>
|
|
|
<p>wl_surface.set_buffer_transform changes the pending buffer
|
|
|
transformation. wl_surface.commit copies the pending buffer
|
|
|
transformation to the current one. Otherwise, the pending and current
|
|
|
values are never changed.</p>
|
|
|
<p>The purpose of this request is to allow clients to render content
|
|
|
according to the output transform, thus permitting the compositor to
|
|
|
use certain optimizations even if the display is rotated. Using
|
|
|
hardware overlays and scanning out a client buffer for fullscreen
|
|
|
surfaces are examples of such optimizations. Those optimizations are
|
|
|
highly dependent on the compositor implementation, so the use of this
|
|
|
request should be considered on a case-by-case basis.</p>
|
|
|
<p>Note that if the transform value includes 90 or 270 degree rotation,
|
|
|
the width of the buffer will become the surface height and the height
|
|
|
of the buffer will become the surface width.</p>
|
|
|
<p>If transform is not one of the values from the
|
|
|
wl_output.transform enum the invalid_transform protocol error
|
|
|
is raised.</p>
|
|
|
<p>Only available since version 2 of the interface</p>
|
|
|
</div><div class='autohide sub-variant' id='variant.SetBufferTransform.fields'><h3>Fields of <b>SetBufferTransform</b></h3><div><span id="variant.SetBufferTransform.field.transform" class="variant small-section-header"><a href="#variant.SetBufferTransform.field.transform" class="anchor field"></a><code id='SetBufferTransform.v.transform.v'>transform: <a class="enum" href="../../../wayland_client/protocol/wl_output/enum.Transform.html" title="enum wayland_client::protocol::wl_output::Transform">Transform</a></code></span></div></div><div id="variant.SetBufferScale" class="variant small-section-header"><a href="#variant.SetBufferScale" class="anchor field"></a><code id='SetBufferScale.v'>SetBufferScale</code></div><div class='docblock'><p>sets the buffer scaling factor</p>
|
|
|
<p>This request sets an optional scaling factor on how the compositor
|
|
|
interprets the contents of the buffer attached to the window.</p>
|
|
|
<p>Buffer scale is double-buffered state, see wl_surface.commit.</p>
|
|
|
<p>A newly created surface has its buffer scale set to 1.</p>
|
|
|
<p>wl_surface.set_buffer_scale changes the pending buffer scale.
|
|
|
wl_surface.commit copies the pending buffer scale to the current one.
|
|
|
Otherwise, the pending and current values are never changed.</p>
|
|
|
<p>The purpose of this request is to allow clients to supply higher
|
|
|
resolution buffer data for use on high resolution outputs. It is
|
|
|
intended that you pick the same buffer scale as the scale of the
|
|
|
output that the surface is displayed on. This means the compositor
|
|
|
can avoid scaling when rendering the surface on that output.</p>
|
|
|
<p>Note that if the scale is larger than 1, then you have to attach
|
|
|
a buffer that is larger (by a factor of scale in each dimension)
|
|
|
than the desired surface size.</p>
|
|
|
<p>If scale is not positive the invalid_scale protocol error is
|
|
|
raised.</p>
|
|
|
<p>Only available since version 3 of the interface</p>
|
|
|
</div><div class='autohide sub-variant' id='variant.SetBufferScale.fields'><h3>Fields of <b>SetBufferScale</b></h3><div><span id="variant.SetBufferScale.field.scale" class="variant small-section-header"><a href="#variant.SetBufferScale.field.scale" class="anchor field"></a><code id='SetBufferScale.v.scale.v'>scale: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span></div></div><div id="variant.DamageBuffer" class="variant small-section-header"><a href="#variant.DamageBuffer" class="anchor field"></a><code id='DamageBuffer.v'>DamageBuffer</code></div><div class='docblock'><p>mark part of the surface damaged using buffer coordinates</p>
|
|
|
<p>This request is used to describe the regions where the pending
|
|
|
buffer is different from the current surface contents, and where
|
|
|
the surface therefore needs to be repainted. The compositor
|
|
|
ignores the parts of the damage that fall outside of the surface.</p>
|
|
|
<p>Damage is double-buffered state, see wl_surface.commit.</p>
|
|
|
<p>The damage rectangle is specified in buffer coordinates,
|
|
|
where x and y specify the upper left corner of the damage rectangle.</p>
|
|
|
<p>The initial value for pending damage is empty: no damage.
|
|
|
wl_surface.damage_buffer adds pending damage: the new pending
|
|
|
damage is the union of old pending damage and the given rectangle.</p>
|
|
|
<p>wl_surface.commit assigns pending damage as the current damage,
|
|
|
and clears pending damage. The server will clear the current
|
|
|
damage as it repaints the surface.</p>
|
|
|
<p>This request differs from wl_surface.damage in only one way - it
|
|
|
takes damage in buffer coordinates instead of surface-local
|
|
|
coordinates. While this generally is more intuitive than surface
|
|
|
coordinates, it is especially desirable when using wp_viewport
|
|
|
or when a drawing library (like EGL) is unaware of buffer scale
|
|
|
and buffer transform.</p>
|
|
|
<p>Note: Because buffer transformation changes and damage requests may
|
|
|
be interleaved in the protocol stream, it is impossible to determine
|
|
|
the actual mapping between surface and buffer damage until
|
|
|
wl_surface.commit time. Therefore, compositors wishing to take both
|
|
|
kinds of damage into account will have to accumulate damage from the
|
|
|
two requests separately and only transform from one to the other
|
|
|
after receiving the wl_surface.commit.</p>
|
|
|
<p>Only available since version 4 of the interface</p>
|
|
|
</div><div class='autohide sub-variant' id='variant.DamageBuffer.fields'><h3>Fields of <b>DamageBuffer</b></h3><div><span id="variant.DamageBuffer.field.x" class="variant small-section-header"><a href="#variant.DamageBuffer.field.x" class="anchor field"></a><code id='DamageBuffer.v.x.v'>x: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><span id="variant.DamageBuffer.field.y" class="variant small-section-header"><a href="#variant.DamageBuffer.field.y" class="anchor field"></a><code id='DamageBuffer.v.y.v'>y: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><span id="variant.DamageBuffer.field.width" class="variant small-section-header"><a href="#variant.DamageBuffer.field.width" class="anchor field"></a><code id='DamageBuffer.v.width.v'>width: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><span id="variant.DamageBuffer.field.height" class="variant small-section-header"><a href="#variant.DamageBuffer.field.height" class="anchor field"></a><code id='DamageBuffer.v.height.v'>height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span></div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-MessageGroup' class='impl'><code class='in-band'>impl <a class="trait" href="../../../wayland_client/trait.MessageGroup.html" title="trait wayland_client::MessageGroup">MessageGroup</a> for <a class="enum" href="../../../wayland_client/protocol/wl_surface/enum.Request.html" title="enum wayland_client::protocol::wl_surface::Request">Request</a></code><a href='#impl-MessageGroup' class='anchor'></a><a class='srclink' href='../../../src/wayland_client/home/mrh/source/Trac3r-rust/target/debug/build/wayland-client-893466244f089367/out/wayland_c_api.rs.html#1' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedconstant.MESSAGES' class="associatedconstant hidden"><code id='MESSAGES.v'>const <a href='../../../wayland_client/trait.MessageGroup.html#associatedconstant.MESSAGES' class="constant"><b>MESSAGES</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&'static [</a><a class="struct" href="../../../wayland_commons/wire/struct.MessageDesc.html" title="struct wayland_commons::wire::MessageDesc">MessageDesc</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code><a class='srclink' href='../../../src/wayland_client/home/mrh/source/Trac3r-rust/target/debug/build/wayland-client-893466244f089367/out/wayland_c_api.rs.html#1' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Wire representation of this MessageGroup</p>
|
|
|
</div><h4 id='associatedtype.Map' class="type"><code id='Map.t'>type <a href='../../../wayland_client/trait.MessageGroup.html#associatedtype.Map' class="type">Map</a> = <a class="enum" href="../../../wayland_client/enum.ProxyMap.html" title="enum wayland_client::ProxyMap">ProxyMap</a></code></h4><div class='docblock'><p>The wrapper type for ObjectMap allowing the mapping of Object and NewId arguments to the object map during parsing. <a href="../../../wayland_client/trait.MessageGroup.html#associatedtype.Map">Read more</a></p>
|
|
|
</div><h4 id='method.is_destructor' class="method hidden"><code id='is_destructor.v'>fn <a href='../../../wayland_client/trait.MessageGroup.html#tymethod.is_destructor' class='fnname'>is_destructor</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../../src/wayland_client/home/mrh/source/Trac3r-rust/target/debug/build/wayland-client-893466244f089367/out/wayland_c_api.rs.html#1' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Whether this message is a destructor <a href="../../../wayland_client/trait.MessageGroup.html#tymethod.is_destructor">Read more</a></p>
|
|
|
</div><h4 id='method.opcode' class="method hidden"><code id='opcode.v'>fn <a href='../../../wayland_client/trait.MessageGroup.html#tymethod.opcode' class='fnname'>opcode</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a></code><a class='srclink' href='../../../src/wayland_client/home/mrh/source/Trac3r-rust/target/debug/build/wayland-client-893466244f089367/out/wayland_c_api.rs.html#1' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>The opcode of this message</p>
|
|
|
</div><h4 id='method.child' class="method hidden"><code id='child.v'>fn <a href='../../../wayland_client/trait.MessageGroup.html#tymethod.child' class='fnname'>child</a><Meta: <a class="trait" href="../../../wayland_commons/map/trait.ObjectMetadata.html" title="trait wayland_commons::map::ObjectMetadata">ObjectMetadata</a>>(<br> opcode: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>, <br> version: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <br> meta: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Meta<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../wayland_commons/map/struct.Object.html" title="struct wayland_commons::map::Object">Object</a><Meta>></code><a class='srclink' href='../../../src/wayland_client/home/mrh/source/Trac3r-rust/target/debug/build/wayland-client-893466244f089367/out/wayland_c_api.rs.html#1' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Retrieve the child <code>Object</code> associated with this message if any</p>
|
|
|
</div><h4 id='method.from_raw' class="method hidden"><code id='from_raw.v'>fn <a href='../../../wayland_client/trait.MessageGroup.html#tymethod.from_raw' class='fnname'>from_raw</a>(msg: <a class="struct" href="../../../wayland_commons/wire/struct.Message.html" title="struct wayland_commons::wire::Message">Message</a>, map: &mut Self::<a class="type" href="../../../wayland_client/trait.MessageGroup.html#associatedtype.Map" title="type wayland_client::MessageGroup::Map">Map</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></code><a class='srclink' href='../../../src/wayland_client/home/mrh/source/Trac3r-rust/target/debug/build/wayland-client-893466244f089367/out/wayland_c_api.rs.html#1' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Construct a message from its raw representation</p>
|
|
|
</div><h4 id='method.into_raw' class="method hidden"><code id='into_raw.v'>fn <a href='../../../wayland_client/trait.MessageGroup.html#tymethod.into_raw' class='fnname'>into_raw</a>(self, sender_id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="struct" href="../../../wayland_commons/wire/struct.Message.html" title="struct wayland_commons::wire::Message">Message</a></code><a class='srclink' href='../../../src/wayland_client/home/mrh/source/Trac3r-rust/target/debug/build/wayland-client-893466244f089367/out/wayland_c_api.rs.html#1' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Turn this message into its raw representation</p>
|
|
|
</div><h4 id='method.from_raw_c' class="method hidden"><code id='from_raw_c.v'>unsafe fn <a href='../../../wayland_client/trait.MessageGroup.html#tymethod.from_raw_c' class='fnname'>from_raw_c</a>(<br> obj: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/core/ffi/enum.c_void.html" title="enum core::ffi::c_void">c_void</a>, <br> opcode: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <br> args: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="union" href="../../../wayland_client/sys/common/union.wl_argument.html" title="union wayland_client::sys::common::wl_argument">wl_argument</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../wayland_client/protocol/wl_surface/enum.Request.html" title="enum wayland_client::protocol::wl_surface::Request">Request</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></code><a class='srclink' href='../../../src/wayland_client/home/mrh/source/Trac3r-rust/target/debug/build/wayland-client-893466244f089367/out/wayland_c_api.rs.html#1' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Construct a message of this group from its C representation</p>
|
|
|
</div><h4 id='method.as_raw_c_in' class="method hidden"><code id='as_raw_c_in.v'>fn <a href='../../../wayland_client/trait.MessageGroup.html#tymethod.as_raw_c_in' class='fnname'>as_raw_c_in</a><F, T>(self, f: F) -> T <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&mut [</a><a class="union" href="../../../wayland_client/sys/common/union.wl_argument.html" title="union wayland_client::sys::common::wl_argument">wl_argument</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -> T, </span></code><a class='srclink' href='../../../src/wayland_client/home/mrh/source/Trac3r-rust/target/debug/build/wayland-client-893466244f089367/out/wayland_c_api.rs.html#1' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Build a C representation of this message <a href="../../../wayland_client/trait.MessageGroup.html#tymethod.as_raw_c_in">Read more</a></p>
|
|
|
</div></div></div><h2 id='synthetic-implementations' class='small-section-header'>Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a></h2><div id='synthetic-implementations-list'><h3 id='impl-Send' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../wayland_client/protocol/wl_surface/enum.Request.html" title="enum wayland_client::protocol::wl_surface::Request">Request</a></code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../wayland_client/protocol/wl_surface/enum.Request.html" title="enum wayland_client::protocol::wl_surface::Request">Request</a></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../wayland_client/protocol/wl_surface/enum.Request.html" title="enum wayland_client::protocol::wl_surface::Request">Request</a></code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../wayland_client/protocol/wl_surface/enum.Request.html" title="enum wayland_client::protocol::wl_surface::Request">Request</a></code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../wayland_client/protocol/wl_surface/enum.Request.html" title="enum wayland_client::protocol::wl_surface::Request">Request</a></code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></div></div><h2 id='blanket-implementations' class='small-section-header'>Blanket Implementations<a href='#blanket-implementations' class='anchor'></a></h2><div id='blanket-implementations-list'><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#544-549' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -> U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#546-548' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
|
|
</div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#553-555' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code id='from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(t: T) -> T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#554' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
|
|
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#572-578' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code id='Error.t'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error' class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
|
|
</div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#575-577' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
|
|
</div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href='#impl-TryInto%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#560-567' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-1' class="type"><code id='Error.t-1'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error' class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
|
|
</div><h4 id='method.try_into' class="method hidden"><code id='try_into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into' class='fnname'>try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#564-566' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
|
|
</div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href='#impl-BorrowMut%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow_mut' class="method hidden"><code id='borrow_mut.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut' class='fnname'>borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
|
|
|
</div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href='#impl-Borrow%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow' class="method hidden"><code id='borrow.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
|
|
|
</div></div><h3 id='impl-Any' class='impl'><code class='in-band'>impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code id='type_id.v'>fn <a href='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id' class='fnname'>type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
|
|
|
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd>↑</kbd></dt><dd>Move up in search results</dd><dt><kbd>↓</kbd></dt><dd>Move down in search results</dd><dt><kbd>↹</kbd></dt><dd>Switch tab</dd><dt><kbd>⏎</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../../";window.currentCrate = "wayland_client";</script><script src="../../../aliases.js"></script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html> |