deploy: 95756b1a57
This commit is contained in:
commit
0fa87f2b35
16382 changed files with 734838 additions and 0 deletions
54
cosmic/widget/canvas/path/lyon_path/commands/index.html
Normal file
54
cosmic/widget/canvas/path/lyon_path/commands/index.html
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<!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="A generic representation for paths that allow more control over how endpoints and control points are stored."><title>cosmic::widget::canvas::path::lyon_path::commands - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../../../../static.files/rustdoc-aa0817cf.css"><meta name="rustdoc-vars" data-root-path="../../../../../../" data-static-root-path="../../../../../../static.files/" data-current-crate="cosmic" data-themes="" data-resource-suffix="" data-rustdoc-version="1.90.0-nightly (3048886e5 2025-07-30)" data-channel="nightly" data-search-js="search-fa3e91e5.js" data-settings-js="settings-5514c975.js" ><script src="../../../../../../static.files/storage-68b7e25d.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../../../../static.files/main-eebb9057.js"></script><noscript><link rel="stylesheet" href="../../../../../../static.files/noscript-32bb7600.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../../../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../../../../cosmic/index.html">cosmic</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module commands</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#motivation" title="Motivation">Motivation</a></li><li><a href="#examples" title="Examples">Examples</a></li></ul><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In cosmic::<wbr>widget::<wbr>canvas::<wbr>path::<wbr>lyon_<wbr>path</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../../../../index.html">cosmic</a>::<wbr><a href="../../../../index.html">widget</a>::<wbr><a href="../../../index.html">canvas</a>::<wbr><a href="../../index.html">path</a>::<wbr><a href="../index.html">lyon_path</a></div><h1>Module <span>commands</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A generic representation for paths that allow more control over how
|
||||
endpoints and control points are stored.</p>
|
||||
<h2 id="motivation"><a class="doc-anchor" href="#motivation">§</a>Motivation</h2>
|
||||
<p>The default <code>Path</code> data structure in this crate is works well for the
|
||||
most common use cases. Sometimes, however, it is useful to be able to
|
||||
specify exactly how endpoints and control points are stored instead of
|
||||
relying on implicitly following the order of the events.</p>
|
||||
<p>This module contains bricks to help with building custom path representations.
|
||||
The central piece is the <a href="struct.PathCommands.html"><code>PathCommands</code></a> buffer and
|
||||
its <a href="struct.PathCommandsBuilder.html"><code>PathCommandsBuilder</code></a>, providing a compact
|
||||
representation for path events with IDs instead of positions.</p>
|
||||
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
|
||||
<p>The following example shows how <code>PathCommands</code> can be used together with an
|
||||
external buffers for positions to implement features similar to the default
|
||||
Path type with a different data structure.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>lyon_path::{EndpointId, Event, IdEvent, commands::PathCommands};
|
||||
<span class="kw">let </span>points = <span class="kw-2">&</span>[
|
||||
[<span class="number">0.0</span>, <span class="number">0.0</span>],
|
||||
[<span class="number">1.0</span>, <span class="number">1.0</span>],
|
||||
[<span class="number">0.0</span>, <span class="number">2.0</span>],
|
||||
];
|
||||
|
||||
<span class="kw">let </span><span class="kw-2">mut </span>cmds = PathCommands::builder();
|
||||
cmds.begin(EndpointId(<span class="number">0</span>));
|
||||
cmds.line_to(EndpointId(<span class="number">1</span>));
|
||||
cmds.line_to(EndpointId(<span class="number">2</span>));
|
||||
cmds.end(<span class="bool-val">true</span>);
|
||||
|
||||
<span class="kw">let </span>cmds = cmds.build();
|
||||
|
||||
<span class="kw">for </span>event <span class="kw">in </span><span class="kw-2">&</span>cmds {
|
||||
<span class="kw">match </span>event {
|
||||
IdEvent::Begin { at } => { <span class="macro">println!</span>(<span class="string">"move to {:?}"</span>, points[at.to_usize()]); }
|
||||
IdEvent::Line { to, .. } => { <span class="macro">println!</span>(<span class="string">"line to {:?}"</span>, points[to.to_usize()]); }
|
||||
IdEvent::End { close: <span class="bool-val">true</span>, .. } => { <span class="macro">println!</span>(<span class="string">"close"</span>); }
|
||||
<span class="kw">_ </span>=> { <span class="macro">panic!</span>(<span class="string">"unexpected event!"</span>) }
|
||||
}
|
||||
}
|
||||
|
||||
<span class="comment">// Iterate over the points directly using CommandsPathSlice
|
||||
</span><span class="kw">for </span>event <span class="kw">in </span>cmds.path_slice(points, points).events() {
|
||||
<span class="kw">match </span>event {
|
||||
Event::Begin { at } => { <span class="macro">println!</span>(<span class="string">"move to {:?}"</span>, at); }
|
||||
Event::Line { to, .. } => { <span class="macro">println!</span>(<span class="string">"line to {:?}"</span>, to); }
|
||||
Event::End { close: <span class="bool-val">true</span>, .. } => { <span class="macro">println!</span>(<span class="string">"close"</span>); }
|
||||
<span class="kw">_ </span>=> { <span class="macro">panic!</span>(<span class="string">"unexpected event!"</span>) }
|
||||
}
|
||||
}
|
||||
</code></pre></div>
|
||||
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.CommandsPathSlice.html" title="struct cosmic::widget::canvas::path::lyon_path::commands::CommandsPathSlice">Commands<wbr>Path<wbr>Slice</a></dt><dd>A view on a <a href="struct.PathCommands.html"><code>PathCommands</code></a> buffer and
|
||||
two slices for endpoints and control points, providing similar
|
||||
functionalities as <code>PathSlice</code>.</dd><dt><a class="struct" href="struct.Events.html" title="struct cosmic::widget::canvas::path::lyon_path::commands::Events">Events</a></dt><dd>An iterator of <code>Event<&Endpoint, &ControlPoint></code>.</dd><dt><a class="struct" href="struct.Iter.html" title="struct cosmic::widget::canvas::path::lyon_path::commands::Iter">Iter</a></dt><dd>An iterator of <code>Event<&Endpoint, &ControlPoint></code>.</dd><dt><a class="struct" href="struct.PathCommands.html" title="struct cosmic::widget::canvas::path::lyon_path::commands::PathCommands">Path<wbr>Commands</a></dt><dd>The commands of a path encoded in a single array using IDs to refer
|
||||
to endpoints and control points externally.</dd><dt><a class="struct" href="struct.PathCommandsBuilder.html" title="struct cosmic::widget::canvas::path::lyon_path::commands::PathCommandsBuilder">Path<wbr>Commands<wbr>Builder</a></dt><dd>Builds path commands.</dd><dt><a class="struct" href="struct.PathCommandsSlice.html" title="struct cosmic::widget::canvas::path::lyon_path::commands::PathCommandsSlice">Path<wbr>Commands<wbr>Slice</a></dt><dd>A view over <a href="struct.PathCommands.html"><code>PathCommands</code></a>.</dd><dt><a class="struct" href="struct.PointEvents.html" title="struct cosmic::widget::canvas::path::lyon_path::commands::PointEvents">Point<wbr>Events</a></dt><dd>An iterator of <code>PathEvent</code>.</dd></dl></section></div></main></body></html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
window.SIDEBAR_ITEMS = {"struct":["CommandsPathSlice","Events","Iter","PathCommands","PathCommandsBuilder","PathCommandsSlice","PointEvents"]};
|
||||
File diff suppressed because one or more lines are too long
283
cosmic/widget/canvas/path/lyon_path/commands/struct.Events.html
Normal file
283
cosmic/widget/canvas/path/lyon_path/commands/struct.Events.html
Normal file
File diff suppressed because one or more lines are too long
275
cosmic/widget/canvas/path/lyon_path/commands/struct.Iter.html
Normal file
275
cosmic/widget/canvas/path/lyon_path/commands/struct.Iter.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue