From 9efe4e3fb22d78b84e103b4536e5f615ac1949dc Mon Sep 17 00:00:00 2001 From: kl-botsu Date: Tue, 12 Dec 2023 21:33:23 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20khonsula?= =?UTF-8?q?bs/kludgine@52f58c39b0ab4e1e280d27f7228e8ccd9a377f50=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/implementors/core/clone/trait.Clone.js | 2 +- main/implementors/core/cmp/trait.Eq.js | 2 +- main/implementors/core/cmp/trait.PartialEq.js | 2 +- main/implementors/core/convert/trait.From.js | 2 +- .../core/default/trait.Default.js | 2 +- main/implementors/core/fmt/trait.Debug.js | 2 +- main/implementors/core/marker/trait.Copy.js | 2 +- .../core/marker/trait.StructuralEq.js | 2 +- .../core/marker/trait.StructuralPartialEq.js | 2 +- .../core/ops/deref/trait.Deref.js | 2 +- .../core/ops/deref/trait.DerefMut.js | 2 +- main/implementors/core/ops/drop/trait.Drop.js | 2 +- .../core/ops/index/trait.IndexMut.js | 2 +- .../figures/traits/trait.ScreenScale.js | 2 +- main/kludgine/app/fn.run.html | 2 +- main/kludgine/app/index.html | 2 +- main/kludgine/app/struct.WindowHandle.html | 6 +- main/kludgine/app/trait.WindowBehavior.html | 68 ++-- main/kludgine/enum.AnyTexture.html | 6 +- main/kludgine/enum.Origin.html | 6 +- main/kludgine/index.html | 2 +- main/kludgine/macro.include_texture.html | 3 +- main/kludgine/render/index.html | 2 +- main/kludgine/render/struct.Drawing.html | 6 +- main/kludgine/render/struct.Renderer.html | 22 +- main/kludgine/shapes/index.html | 2 +- main/kludgine/shapes/struct.CornerRadii.html | 24 +- main/kludgine/shapes/struct.Endpoint.html | 2 +- main/kludgine/shapes/struct.PathBuilder.html | 57 ++- .../kludgine/shapes/struct.StrokeOptions.html | 42 +-- .../shapes/trait.DefaultStrokeWidth.html | 8 +- .../sprite/enum.SpriteParseError.html | 2 +- main/kludgine/sprite/enum.SpriteSource.html | 2 +- main/kludgine/struct.ClipGuard.html | 12 +- main/kludgine/struct.CollectedTexture.html | 6 +- main/kludgine/struct.Color.html | 342 +++++++++--------- main/kludgine/struct.Drawable.html | 8 +- main/kludgine/struct.Frame.html | 14 +- main/kludgine/struct.Graphics.html | 30 +- main/kludgine/struct.Kludgine.html | 13 +- main/kludgine/struct.RenderingGraphics.html | 16 +- main/kludgine/struct.SharedTexture.html | 18 +- main/kludgine/struct.Texture.html | 33 +- main/kludgine/struct.TextureCollection.html | 17 +- main/kludgine/struct.TextureRegion.html | 10 +- main/kludgine/text/enum.TextOrigin.html | 14 +- main/kludgine/text/index.html | 2 +- main/kludgine/text/struct.GlyphInfo.html | 4 +- main/kludgine/text/struct.MeasuredGlyph.html | 6 +- main/kludgine/text/struct.MeasuredText.html | 4 +- main/kludgine/text/struct.PreparedText.html | 4 +- main/kludgine/text/struct.Text.html | 16 +- .../kludgine/tilemap/struct.LayerContext.html | 20 +- main/kludgine/tilemap/struct.ObjectLayer.html | 2 +- main/kludgine/tilemap/trait.Layers.html | 20 +- main/kludgine/tilemap/trait.TileList.html | 2 +- main/kludgine/trait.Clipped.html | 10 +- main/kludgine/trait.DrawableExt.html | 10 +- main/kludgine/trait.DrawableSource.html | 4 +- main/kludgine/trait.KludgineGraphics.html | 4 +- main/kludgine/trait.ShapeSource.html | 2 +- main/kludgine/trait.TextureSource.html | 4 +- main/search-index.js | 2 +- main/src/kludgine/app.rs.html | 14 - main/src/kludgine/atlas.rs.html | 28 +- main/src/kludgine/lib.rs.html | 266 ++++++++++---- main/src/kludgine/render.rs.html | 4 +- main/src/kludgine/sealed.rs.html | 4 +- main/src/kludgine/shapes.rs.html | 312 ++++++++-------- main/src/kludgine/text.rs.html | 66 +--- 70 files changed, 888 insertions(+), 747 deletions(-) diff --git a/main/implementors/core/clone/trait.Clone.js b/main/implementors/core/clone/trait.Clone.js index 8fa6ce874..a598a8fb9 100644 --- a/main/implementors/core/clone/trait.Clone.js +++ b/main/implementors/core/clone/trait.Clone.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl Clone for TileMapFocus"],["impl<Unit: Clone> Clone for TextOrigin<Unit>"],["impl<Unit: Clone, const TEXTURED: bool> Clone for Path<Unit, TEXTURED>"],["impl Clone for SpriteSource"],["impl<Unit: Clone, const TEXTURED: bool> Clone for Shape<Unit, TEXTURED>"],["impl<T> Clone for SpriteSheet<T>where\n T: Debug + Clone,"],["impl Clone for FrameTagError"],["impl<Unit: Clone> Clone for CornerRadii<Unit>"],["impl<Unit: Clone> Clone for Endpoint<Unit>"],["impl Clone for ObjectId"],["impl<T: Clone> Clone for SpriteMap<T>"],["impl<Unit: Clone> Clone for PathEvent<Unit>"],["impl Clone for SharedTexture"],["impl<'a, Unit: Clone> Clone for Text<'a, Unit>"],["impl Clone for Sprite"],["impl Clone for SpriteAnimations"],["impl<Unit: Clone> Clone for Origin<Unit>"],["impl Clone for GlyphInfo"],["impl Clone for SpriteFrame"],["impl Clone for MeasuredGlyph"],["impl Clone for FrameParseError"],["impl Clone for TextureRegion"],["impl<Unit: Clone> Clone for StrokeOptions<Unit>"],["impl<Unit: Clone> Clone for MeasuredText<Unit>"],["impl Clone for TextureCollection"],["impl Clone for CollectedTexture"],["impl<Message: Clone> Clone for WindowHandle<Message>"],["impl Clone for InvalidSpriteTag"],["impl Clone for AnimationMode"],["impl Clone for SpriteAnimation"],["impl Clone for Color"]] +"kludgine":[["impl Clone for Sprite"],["impl Clone for AnimationMode"],["impl<Unit: Clone> Clone for MeasuredText<Unit>"],["impl<Unit: Clone> Clone for PathEvent<Unit>"],["impl Clone for TextureCollection"],["impl Clone for SpriteSource"],["impl Clone for SpriteFrame"],["impl Clone for TextureRegion"],["impl<'a, Unit: Clone> Clone for Text<'a, Unit>"],["impl<Unit: Clone, const TEXTURED: bool> Clone for Path<Unit, TEXTURED>"],["impl Clone for FrameParseError"],["impl Clone for SharedTexture"],["impl Clone for FrameTagError"],["impl<Unit: Clone> Clone for CornerRadii<Unit>"],["impl<Unit: Clone> Clone for TextOrigin<Unit>"],["impl Clone for SpriteAnimations"],["impl Clone for InvalidSpriteTag"],["impl<T: Clone> Clone for SpriteMap<T>"],["impl Clone for CollectedTexture"],["impl Clone for GlyphInfo"],["impl<Unit: Clone> Clone for Origin<Unit>"],["impl Clone for MeasuredGlyph"],["impl Clone for ObjectId"],["impl Clone for SpriteAnimation"],["impl<Unit: Clone> Clone for StrokeOptions<Unit>"],["impl<Unit: Clone> Clone for Endpoint<Unit>"],["impl<T> Clone for SpriteSheet<T>where\n T: Debug + Clone,"],["impl Clone for TileMapFocus"],["impl Clone for Color"],["impl<Unit: Clone, const TEXTURED: bool> Clone for Shape<Unit, TEXTURED>"],["impl<Message: Clone> Clone for WindowHandle<Message>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/cmp/trait.Eq.js b/main/implementors/core/cmp/trait.Eq.js index ab050bfa1..9449f2e58 100644 --- a/main/implementors/core/cmp/trait.Eq.js +++ b/main/implementors/core/cmp/trait.Eq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<Unit: Eq> Eq for TextOrigin<Unit>"],["impl Eq for FrameTagError"],["impl Eq for InvalidSpriteTag"],["impl Eq for FrameParseError"],["impl Eq for SharedTexture"],["impl Eq for TextureRegion"],["impl<Unit: Eq> Eq for Origin<Unit>"],["impl<Unit: Eq> Eq for CornerRadii<Unit>"],["impl Eq for ObjectId"],["impl Eq for Color"]] +"kludgine":[["impl Eq for SharedTexture"],["impl<Unit: Eq> Eq for CornerRadii<Unit>"],["impl Eq for FrameTagError"],["impl Eq for TextureRegion"],["impl Eq for Color"],["impl Eq for FrameParseError"],["impl Eq for ObjectId"],["impl<Unit: Eq> Eq for Origin<Unit>"],["impl<Unit: Eq> Eq for TextOrigin<Unit>"],["impl Eq for InvalidSpriteTag"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/cmp/trait.PartialEq.js b/main/implementors/core/cmp/trait.PartialEq.js index c56380fd8..c83d2861c 100644 --- a/main/implementors/core/cmp/trait.PartialEq.js +++ b/main/implementors/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<Unit: PartialEq, const TEXTURED: bool> PartialEq<Shape<Unit, TEXTURED>> for Shape<Unit, TEXTURED>"],["impl PartialEq<InvalidSpriteTag> for InvalidSpriteTag"],["impl<Unit: PartialEq> PartialEq<Origin<Unit>> for Origin<Unit>"],["impl PartialEq<ObjectId> for ObjectId"],["impl PartialEq<Color> for Color"],["impl PartialEq<TextureRegion> for TextureRegion"],["impl PartialEq<SharedTexture> for SharedTexture"],["impl<Unit: PartialEq> PartialEq<TextOrigin<Unit>> for TextOrigin<Unit>"],["impl<Unit: PartialEq> PartialEq<StrokeOptions<Unit>> for StrokeOptions<Unit>"],["impl PartialEq<FrameParseError> for FrameParseError"],["impl PartialEq<FrameTagError> for FrameTagError"],["impl<Unit: PartialEq> PartialEq<CornerRadii<Unit>> for CornerRadii<Unit>"]] +"kludgine":[["impl<Unit: PartialEq> PartialEq<CornerRadii<Unit>> for CornerRadii<Unit>"],["impl PartialEq<SharedTexture> for SharedTexture"],["impl PartialEq<ObjectId> for ObjectId"],["impl PartialEq<InvalidSpriteTag> for InvalidSpriteTag"],["impl PartialEq<TextureRegion> for TextureRegion"],["impl<Unit: PartialEq> PartialEq<StrokeOptions<Unit>> for StrokeOptions<Unit>"],["impl<Unit: PartialEq> PartialEq<TextOrigin<Unit>> for TextOrigin<Unit>"],["impl PartialEq<FrameParseError> for FrameParseError"],["impl PartialEq<FrameTagError> for FrameTagError"],["impl PartialEq<Color> for Color"],["impl<Unit: PartialEq, const TEXTURED: bool> PartialEq<Shape<Unit, TEXTURED>> for Shape<Unit, TEXTURED>"],["impl<Unit: PartialEq> PartialEq<Origin<Unit>> for Origin<Unit>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/convert/trait.From.js b/main/implementors/core/convert/trait.From.js index c0dc0d684..587739691 100644 --- a/main/implementors/core/convert/trait.From.js +++ b/main/implementors/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<'a, Unit> From<Text<'a, Unit>> for Drawable<Text<'a, Unit>, Unit>where\n Unit: Default,"],["impl<Unit, const TEXTURED: bool> From<Path<Unit, TEXTURED>> for PathBuilder<Unit, TEXTURED>where\n Unit: Default,"],["impl From<CollectedTexture> for SpriteSource"],["impl<Unit> From<StrokeOptions<Unit>> for StrokeOptionswhere\n Unit: FloatConversion<Float = f32>,"],["impl<'a, T, Unit> From<&'a T> for Drawable<&'a T, Unit>where\n T: DrawableSource,\n Unit: Default,"],["impl From<CollectedTexture> for AnyTexture"],["impl<'a, Unit> From<&'a String> for Text<'a, Unit>"],["impl From<Texture> for AnyTexture"],["impl From<TextureRegion> for AnyTexture"],["impl From<Color> for Color"],["impl From<SpriteAnimations> for Sprite"],["impl From<SharedTexture> for TextureRegion"],["impl From<Texture> for SharedTexture"],["impl<Unit> From<(Point<Unit>, Color)> for Endpoint<Unit>"],["impl From<SharedTexture> for AnyTexture"],["impl From<ImageError> for SpriteParseError"],["impl From<Color> for Color"],["impl From<Color> for Color"],["impl From<Error<Infallible>> for SpriteParseError"],["impl<Unit> From<Unit> for CornerRadii<Unit>where\n Unit: Copy,"],["impl<Unit> From<Color> for StrokeOptions<Unit>where\n Unit: DefaultStrokeWidth,"],["impl From<TextureRegion> for SpriteSource"],["impl<Unit> From<Point<Unit>> for Endpoint<Unit>"],["impl<'a, Unit> From<&'a str> for Text<'a, Unit>"]] +"kludgine":[["impl From<SharedTexture> for AnyTexture"],["impl<'a, Unit> From<Text<'a, Unit>> for Drawable<Text<'a, Unit>, Unit>where\n Unit: Default,"],["impl<Unit> From<Point<Unit>> for Endpoint<Unit>"],["impl From<Texture> for AnyTexture"],["impl From<Color> for Color"],["impl From<Error<Infallible>> for SpriteParseError"],["impl From<SharedTexture> for TextureRegion"],["impl From<TextureRegion> for SpriteSource"],["impl From<Color> for Color"],["impl<Unit> From<StrokeOptions<Unit>> for StrokeOptionswhere\n Unit: FloatConversion<Float = f32>,"],["impl<'a, Unit> From<&'a str> for Text<'a, Unit>"],["impl From<Color> for Color"],["impl From<Texture> for SharedTexture"],["impl<Unit> From<Color> for StrokeOptions<Unit>where\n Unit: DefaultStrokeWidth,"],["impl From<CollectedTexture> for SpriteSource"],["impl<'a, T, Unit> From<&'a T> for Drawable<&'a T, Unit>where\n T: DrawableSource,\n Unit: Default,"],["impl<Unit> From<Unit> for CornerRadii<Unit>where\n Unit: Copy,"],["impl<Unit, const TEXTURED: bool> From<Path<Unit, TEXTURED>> for PathBuilder<Unit, TEXTURED>where\n Unit: Default,"],["impl From<CollectedTexture> for AnyTexture"],["impl From<TextureRegion> for AnyTexture"],["impl<'a, Unit> From<&'a String> for Text<'a, Unit>"],["impl<Unit> From<(Point<Unit>, Color)> for Endpoint<Unit>"],["impl From<SpriteAnimations> for Sprite"],["impl From<ImageError> for SpriteParseError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/default/trait.Default.js b/main/implementors/core/default/trait.Default.js index 2c971cd80..3d5741479 100644 --- a/main/implementors/core/default/trait.Default.js +++ b/main/implementors/core/default/trait.Default.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<O> Default for ObjectLayer<O>"],["impl<Unit> Default for StrokeOptions<Unit>where\n Unit: DefaultStrokeWidth,"],["impl<Unit> Default for TextOrigin<Unit>"],["impl<Unit> Default for Endpoint<Unit>where\n Unit: Default,"],["impl<Unit, const TEXTURED: bool> Default for Shape<Unit, TEXTURED>"],["impl Default for Drawing"],["impl Default for TileMapFocus"],["impl<Unit: Default, const TEXTURED: bool> Default for Path<Unit, TEXTURED>"],["impl<T> Default for SpriteMap<T>"],["impl<Unit> Default for PathBuilder<Unit, false>where\n Unit: Default + Copy,"],["impl<Unit> Default for Origin<Unit>"]] +"kludgine":[["impl Default for TileMapFocus"],["impl<O> Default for ObjectLayer<O>"],["impl<Unit: Default, const TEXTURED: bool> Default for Path<Unit, TEXTURED>"],["impl<Unit, const TEXTURED: bool> Default for Shape<Unit, TEXTURED>"],["impl<Unit> Default for Endpoint<Unit>where\n Unit: Default,"],["impl<Unit> Default for StrokeOptions<Unit>where\n Unit: DefaultStrokeWidth,"],["impl<Unit> Default for Origin<Unit>"],["impl Default for Drawing"],["impl<Unit> Default for PathBuilder<Unit, false>where\n Unit: Default + Copy,"],["impl<T> Default for SpriteMap<T>"],["impl<Unit> Default for TextOrigin<Unit>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/fmt/trait.Debug.js b/main/implementors/core/fmt/trait.Debug.js index 497e9438e..4397bef83 100644 --- a/main/implementors/core/fmt/trait.Debug.js +++ b/main/implementors/core/fmt/trait.Debug.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<Tiles: Debug> Debug for TileArray<Tiles>"],["impl<Unit: Debug> Debug for Origin<Unit>"],["impl Debug for MeasuredGlyph"],["impl Debug for SpriteSource"],["impl<'gfx> Debug for Graphics<'gfx>"],["impl Debug for TileMapFocus"],["impl Debug for AnimationMode"],["impl<Unit: Debug> Debug for MeasuredText<Unit>"],["impl Debug for TileKind"],["impl Debug for Texture"],["impl Debug for SpriteAnimation"],["impl Debug for CollectedTexture"],["impl<Unit: Debug> Debug for PathEvent<Unit>"],["impl Debug for FrameParseError"],["impl<Unit: Debug, const TEXTURED: bool> Debug for Path<Unit, TEXTURED>"],["impl<O: Debug> Debug for ObjectLayer<O>"],["impl Debug for SpriteAnimations"],["impl Debug for Kludgine"],["impl<'a, Unit: Debug> Debug for Text<'a, Unit>"],["impl Debug for Sprite"],["impl<Unit: Debug> Debug for CornerRadii<Unit>"],["impl<T: Debug> Debug for SpriteMap<T>"],["impl<Unit: Debug> Debug for TextOrigin<Unit>"],["impl Debug for Color"],["impl Debug for SpriteParseError"],["impl Debug for PreparedText"],["impl<'clip, T> Debug for ClipGuard<'clip, T>where\n T: Clipped + Debug,"],["impl Debug for DebugGrid"],["impl Debug for FrameTagError"],["impl<Unit: Debug> Debug for StrokeOptions<Unit>"],["impl Debug for SharedTexture"],["impl<Unit: Debug, const TEXTURED: bool> Debug for Shape<Unit, TEXTURED>"],["impl Debug for AnyTexture"],["impl<'render, 'gfx> Debug for Renderer<'render, 'gfx>"],["impl Debug for TextureRegion"],["impl Debug for Drawing"],["impl Debug for ObjectId"],["impl Debug for SpriteFrame"],["impl<T> Debug for SpriteSheet<T>where\n T: Debug + Debug,"],["impl Debug for InvalidSpriteTag"],["impl<O: Debug> Debug for ObjectInfo<O>"],["impl<Message: Debug> Debug for WindowHandle<Message>"],["impl Debug for GlyphInfo"],["impl<Unit: Debug> Debug for PreparedGraphic<Unit>"],["impl<Unit: Debug> Debug for Endpoint<Unit>"]] +"kludgine":[["impl Debug for PreparedText"],["impl Debug for MeasuredGlyph"],["impl Debug for SpriteAnimation"],["impl Debug for TileKind"],["impl<'gfx> Debug for Graphics<'gfx>"],["impl<'render, 'gfx> Debug for Renderer<'render, 'gfx>"],["impl Debug for GlyphInfo"],["impl<Unit: Debug> Debug for TextOrigin<Unit>"],["impl Debug for SpriteAnimations"],["impl<T: Debug> Debug for SpriteMap<T>"],["impl Debug for FrameTagError"],["impl<Unit: Debug> Debug for PathEvent<Unit>"],["impl<Unit: Debug> Debug for PreparedGraphic<Unit>"],["impl<Unit: Debug> Debug for Endpoint<Unit>"],["impl Debug for Texture"],["impl<'clip, T> Debug for ClipGuard<'clip, T>where\n T: Clipped + Debug,"],["impl<Tiles: Debug> Debug for TileArray<Tiles>"],["impl Debug for Sprite"],["impl<Message: Debug> Debug for WindowHandle<Message>"],["impl Debug for TextureRegion"],["impl Debug for AnyTexture"],["impl<Unit: Debug> Debug for CornerRadii<Unit>"],["impl Debug for TileMapFocus"],["impl<Unit: Debug> Debug for MeasuredText<Unit>"],["impl Debug for Kludgine"],["impl Debug for ObjectId"],["impl<T> Debug for SpriteSheet<T>where\n T: Debug + Debug,"],["impl Debug for SpriteParseError"],["impl<'a, Unit: Debug> Debug for Text<'a, Unit>"],["impl Debug for FrameParseError"],["impl<O: Debug> Debug for ObjectInfo<O>"],["impl Debug for Drawing"],["impl<Unit: Debug, const TEXTURED: bool> Debug for Shape<Unit, TEXTURED>"],["impl<Unit: Debug> Debug for Origin<Unit>"],["impl<Unit: Debug, const TEXTURED: bool> Debug for Path<Unit, TEXTURED>"],["impl Debug for AnimationMode"],["impl Debug for DebugGrid"],["impl Debug for Color"],["impl Debug for SpriteSource"],["impl Debug for CollectedTexture"],["impl Debug for SpriteFrame"],["impl<Unit: Debug> Debug for StrokeOptions<Unit>"],["impl<O: Debug> Debug for ObjectLayer<O>"],["impl Debug for InvalidSpriteTag"],["impl Debug for SharedTexture"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/marker/trait.Copy.js b/main/implementors/core/marker/trait.Copy.js index bb2dc4a62..49377cc3b 100644 --- a/main/implementors/core/marker/trait.Copy.js +++ b/main/implementors/core/marker/trait.Copy.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<Unit: Copy> Copy for Origin<Unit>"],["impl Copy for FrameParseError"],["impl<Unit: Copy> Copy for StrokeOptions<Unit>"],["impl<Unit: Copy> Copy for TextOrigin<Unit>"],["impl Copy for GlyphInfo"],["impl Copy for InvalidSpriteTag"],["impl Copy for Color"],["impl<'a, Unit: Copy> Copy for Text<'a, Unit>"],["impl Copy for ObjectId"],["impl Copy for FrameTagError"],["impl<Unit: Copy> Copy for Endpoint<Unit>"],["impl<Unit: Copy> Copy for CornerRadii<Unit>"],["impl Copy for TileMapFocus"],["impl<Unit: Copy> Copy for PathEvent<Unit>"]] +"kludgine":[["impl Copy for FrameTagError"],["impl<Unit: Copy> Copy for StrokeOptions<Unit>"],["impl Copy for InvalidSpriteTag"],["impl<Unit: Copy> Copy for Endpoint<Unit>"],["impl Copy for GlyphInfo"],["impl<Unit: Copy> Copy for PathEvent<Unit>"],["impl<Unit: Copy> Copy for Origin<Unit>"],["impl Copy for Color"],["impl Copy for FrameParseError"],["impl<Unit: Copy> Copy for TextOrigin<Unit>"],["impl<'a, Unit: Copy> Copy for Text<'a, Unit>"],["impl Copy for TileMapFocus"],["impl Copy for ObjectId"],["impl<Unit: Copy> Copy for CornerRadii<Unit>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/marker/trait.StructuralEq.js b/main/implementors/core/marker/trait.StructuralEq.js index be0b0176b..ba3829ef3 100644 --- a/main/implementors/core/marker/trait.StructuralEq.js +++ b/main/implementors/core/marker/trait.StructuralEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<Unit> StructuralEq for Origin<Unit>"],["impl StructuralEq for Color"],["impl StructuralEq for FrameParseError"],["impl StructuralEq for TextureRegion"],["impl StructuralEq for InvalidSpriteTag"],["impl<Unit> StructuralEq for TextOrigin<Unit>"],["impl StructuralEq for FrameTagError"],["impl StructuralEq for ObjectId"],["impl<Unit> StructuralEq for CornerRadii<Unit>"]] +"kludgine":[["impl StructuralEq for FrameTagError"],["impl<Unit> StructuralEq for TextOrigin<Unit>"],["impl StructuralEq for InvalidSpriteTag"],["impl StructuralEq for FrameParseError"],["impl StructuralEq for Color"],["impl<Unit> StructuralEq for CornerRadii<Unit>"],["impl StructuralEq for TextureRegion"],["impl<Unit> StructuralEq for Origin<Unit>"],["impl StructuralEq for ObjectId"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/marker/trait.StructuralPartialEq.js b/main/implementors/core/marker/trait.StructuralPartialEq.js index e2f8ba72c..f0081558c 100644 --- a/main/implementors/core/marker/trait.StructuralPartialEq.js +++ b/main/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<Unit> StructuralPartialEq for Origin<Unit>"],["impl StructuralPartialEq for FrameParseError"],["impl StructuralPartialEq for Color"],["impl StructuralPartialEq for FrameTagError"],["impl<Unit, const TEXTURED: bool> StructuralPartialEq for Shape<Unit, TEXTURED>"],["impl<Unit> StructuralPartialEq for TextOrigin<Unit>"],["impl<Unit> StructuralPartialEq for CornerRadii<Unit>"],["impl StructuralPartialEq for TextureRegion"],["impl StructuralPartialEq for ObjectId"],["impl StructuralPartialEq for InvalidSpriteTag"],["impl<Unit> StructuralPartialEq for StrokeOptions<Unit>"]] +"kludgine":[["impl StructuralPartialEq for InvalidSpriteTag"],["impl<Unit, const TEXTURED: bool> StructuralPartialEq for Shape<Unit, TEXTURED>"],["impl StructuralPartialEq for FrameTagError"],["impl<Unit> StructuralPartialEq for TextOrigin<Unit>"],["impl StructuralPartialEq for Color"],["impl<Unit> StructuralPartialEq for CornerRadii<Unit>"],["impl StructuralPartialEq for TextureRegion"],["impl<Unit> StructuralPartialEq for Origin<Unit>"],["impl<Unit> StructuralPartialEq for StrokeOptions<Unit>"],["impl StructuralPartialEq for FrameParseError"],["impl StructuralPartialEq for ObjectId"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/ops/deref/trait.Deref.js b/main/implementors/core/ops/deref/trait.Deref.js index 1540c8c97..efe2707b1 100644 --- a/main/implementors/core/ops/deref/trait.Deref.js +++ b/main/implementors/core/ops/deref/trait.Deref.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl Deref for SharedTexture"],["impl Deref for Graphics<'_>"],["impl<'gfx> Deref for Renderer<'_, 'gfx>"],["impl<T> Deref for ClipGuard<'_, T>where\n T: Clipped,"],["impl<T> Deref for SpriteMap<T>"],["impl Deref for PreparedText"],["impl<'ctx, 'pass> Deref for LayerContext<'_, 'ctx, 'pass>"]] +"kludgine":[["impl Deref for Graphics<'_>"],["impl<T> Deref for SpriteMap<T>"],["impl Deref for PreparedText"],["impl<T> Deref for ClipGuard<'_, T>where\n T: Clipped,"],["impl<'gfx> Deref for Renderer<'_, 'gfx>"],["impl<'ctx, 'pass> Deref for LayerContext<'_, 'ctx, 'pass>"],["impl Deref for SharedTexture"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/ops/deref/trait.DerefMut.js b/main/implementors/core/ops/deref/trait.DerefMut.js index eab92c66d..65c179171 100644 --- a/main/implementors/core/ops/deref/trait.DerefMut.js +++ b/main/implementors/core/ops/deref/trait.DerefMut.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<T> DerefMut for ClipGuard<'_, T>where\n T: Clipped,"],["impl<'gfx> DerefMut for Renderer<'_, 'gfx>"],["impl DerefMut for Graphics<'_>"],["impl DerefMut for PreparedText"],["impl<'ctx, 'pass> DerefMut for LayerContext<'_, 'ctx, 'pass>"]] +"kludgine":[["impl DerefMut for Graphics<'_>"],["impl<'ctx, 'pass> DerefMut for LayerContext<'_, 'ctx, 'pass>"],["impl<T> DerefMut for ClipGuard<'_, T>where\n T: Clipped,"],["impl<'gfx> DerefMut for Renderer<'_, 'gfx>"],["impl DerefMut for PreparedText"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/ops/drop/trait.Drop.js b/main/implementors/core/ops/drop/trait.Drop.js index 013d947ca..1268edb49 100644 --- a/main/implementors/core/ops/drop/trait.Drop.js +++ b/main/implementors/core/ops/drop/trait.Drop.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl Drop for CollectedTexture"],["impl Drop for Frame<'_>"],["impl<T> Drop for ClipGuard<'_, T>where\n T: Clipped,"],["impl Drop for Renderer<'_, '_>"]] +"kludgine":[["impl<T> Drop for ClipGuard<'_, T>where\n T: Clipped,"],["impl Drop for Frame<'_>"],["impl Drop for Renderer<'_, '_>"],["impl Drop for CollectedTexture"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/core/ops/index/trait.IndexMut.js b/main/implementors/core/ops/index/trait.IndexMut.js index 1dec91621..624f5b889 100644 --- a/main/implementors/core/ops/index/trait.IndexMut.js +++ b/main/implementors/core/ops/index/trait.IndexMut.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<O> IndexMut<usize> for ObjectLayer<O>"],["impl<O> IndexMut<ObjectId> for ObjectLayer<O>"]] +"kludgine":[["impl<O> IndexMut<ObjectId> for ObjectLayer<O>"],["impl<O> IndexMut<usize> for ObjectLayer<O>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/implementors/figures/traits/trait.ScreenScale.js b/main/implementors/figures/traits/trait.ScreenScale.js index b9979857b..e00813f80 100644 --- a/main/implementors/figures/traits/trait.ScreenScale.js +++ b/main/implementors/figures/traits/trait.ScreenScale.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"kludgine":[["impl<Unit> ScreenScale for TextOrigin<Unit>where\n Unit: ScreenScale<Px = Px, Lp = Lp, UPx = UPx>,"],["impl<Unit> ScreenScale for CornerRadii<Unit>where\n Unit: ScreenScale<Lp = Lp, Px = Px, UPx = UPx>,"],["impl<Unit> ScreenScale for StrokeOptions<Unit>where\n Unit: ScreenScale<Px = Px, Lp = Lp, UPx = UPx>,"]] +"kludgine":[["impl<Unit> ScreenScale for TextOrigin<Unit>where\n Unit: ScreenScale<Px = Px, Lp = Lp, UPx = UPx>,"],["impl<Unit> ScreenScale for StrokeOptions<Unit>where\n Unit: ScreenScale<Px = Px, Lp = Lp, UPx = UPx>,"],["impl<Unit> ScreenScale for CornerRadii<Unit>where\n Unit: ScreenScale<Lp = Lp, Px = Px, UPx = UPx>,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/kludgine/app/fn.run.html b/main/kludgine/app/fn.run.html index be93a021d..8ef12cd28 100644 --- a/main/kludgine/app/fn.run.html +++ b/main/kludgine/app/fn.run.html @@ -1,4 +1,4 @@ -run in kludgine::app - Rust

Function kludgine::app::run

source ·
pub fn run<RenderFn>(render_fn: RenderFn) -> Result<(), EventLoopError>where
+run in kludgine::app - Rust

Function kludgine::app::run

source ·
pub fn run<RenderFn>(render_fn: RenderFn) -> Result<(), EventLoopError>where
     RenderFn: for<'render, 'gfx, 'window> FnMut(Renderer<'render, 'gfx>, Window<'window>) -> bool + Send + UnwindSafe + 'static,
Expand description

Runs a callback as a single window. Continues to run until false is returned.

Errors

diff --git a/main/kludgine/app/index.html b/main/kludgine/app/index.html index 11d2e94df..a61af0635 100644 --- a/main/kludgine/app/index.html +++ b/main/kludgine/app/index.html @@ -1,3 +1,3 @@ -kludgine::app - Rust

Module kludgine::app

source ·
Expand description

Application and Windowing Support.

+kludgine::app - Rust

Module kludgine::app

source ·
Expand description

Application and Windowing Support.

Re-exports

  • pub use appit::winit;

Structs

Traits

Functions

  • Runs a callback as a single window. Continues to run until false is returned.
\ No newline at end of file diff --git a/main/kludgine/app/struct.WindowHandle.html b/main/kludgine/app/struct.WindowHandle.html index 03b2138ee..72ec725d0 100644 --- a/main/kludgine/app/struct.WindowHandle.html +++ b/main/kludgine/app/struct.WindowHandle.html @@ -1,12 +1,12 @@ -WindowHandle in kludgine::app - Rust

Struct kludgine::app::WindowHandle

source ·
pub struct WindowHandle<Message = ()>(/* private fields */);
Expand description

A handle to a window.

+WindowHandle in kludgine::app - Rust

Struct kludgine::app::WindowHandle

source ·
pub struct WindowHandle<Message = ()>(/* private fields */);
Expand description

A handle to a window.

This handle does not prevent the window from being closed.

-

Implementations§

source§

impl<Message> WindowHandle<Message>

source

pub fn send(&self, message: Message) -> Result<(), Message>

Sends message to the window. If the message cannot be

+

Implementations§

source§

impl<Message> WindowHandle<Message>

source

pub fn send(&self, message: Message) -> Result<(), Message>

Sends message to the window. If the message cannot be

Returns Ok if the message was successfully sent. The message may not be received even if this function returns Ok, if the window closes between when the message was sent and when the message is received.

Errors

If the window is already closed, this function returns Err(message).

-

Trait Implementations§

source§

impl<Message: Clone> Clone for WindowHandle<Message>

source§

fn clone(&self) -> WindowHandle<Message>

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<Message: Debug> Debug for WindowHandle<Message>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<Message> RefUnwindSafe for WindowHandle<Message>

§

impl<Message> Send for WindowHandle<Message>where +

Trait Implementations§

source§

impl<Message: Clone> Clone for WindowHandle<Message>

source§

fn clone(&self) -> WindowHandle<Message>

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<Message: Debug> Debug for WindowHandle<Message>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<Message> RefUnwindSafe for WindowHandle<Message>

§

impl<Message> Send for WindowHandle<Message>where Message: Send,

§

impl<Message> Sync for WindowHandle<Message>where Message: Send,

§

impl<Message> Unpin for WindowHandle<Message>

§

impl<Message> UnwindSafe for WindowHandle<Message>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere diff --git a/main/kludgine/app/trait.WindowBehavior.html b/main/kludgine/app/trait.WindowBehavior.html index 5936118a8..db17f56f8 100644 --- a/main/kludgine/app/trait.WindowBehavior.html +++ b/main/kludgine/app/trait.WindowBehavior.html @@ -1,8 +1,8 @@ -WindowBehavior in kludgine::app - Rust
pub trait WindowBehavior<WindowEvent = ()>: Sized + 'staticwhere
+WindowBehavior in kludgine::app - Rust
pub trait WindowBehavior<WindowEvent = ()>: Sized + 'staticwhere
     WindowEvent: Send + 'static,{
     type Context: UnwindSafe + Send + 'static;
 
-
Show 37 methods // Required methods +
Show 36 methods // Required methods fn initialize( window: Window<'_, WindowEvent>, graphics: &mut Graphics<'_>, @@ -22,7 +22,6 @@ graphics: &mut Graphics<'_> ) { ... } fn power_preference() -> PowerPreference { ... } - fn filter_mode() -> FilterMode { ... } fn limits(adapter_limits: Limits) -> Limits { ... } fn multisample_count() -> NonZeroU32 { ... } fn clear_color(&self) -> Option<Color> { ... } @@ -216,34 +215,33 @@

This is called directly before render() and is a perfect place to update any prepared graphics as needed.

source

fn power_preference() -> PowerPreference

Returns the power preference to initialize wgpu with.

-
source

fn filter_mode() -> FilterMode

Returns the filter mode to use when rendering textures with wgpu.

-
source

fn limits(adapter_limits: Limits) -> Limits

Returns the limits to apply for the wgpu instance.

-
source

fn multisample_count() -> NonZeroU32

Returns the number of multisamples to perform when rendering this +

source

fn limits(adapter_limits: Limits) -> Limits

Returns the limits to apply for the wgpu instance.

+
source

fn multisample_count() -> NonZeroU32

Returns the number of multisamples to perform when rendering this window.

When 1 is returned, multisampling will be fully disabled.

-
source

fn clear_color(&self) -> Option<Color>

Returns the color to clear the window with. If None is returned, the +

source

fn clear_color(&self) -> Option<Color>

Returns the color to clear the window with. If None is returned, the window will not be cleared between redraws.

The default implementation returns Some(Color::BLACK).

-
source

fn composite_alpha_mode( +

source

fn composite_alpha_mode( &self, supported_modes: &[CompositeAlphaMode] ) -> CompositeAlphaMode

Returns the composite alpha mode to use for rendering the wgpu surface on the window.

supported_modes contains the list of detected alpha modes supported by the surface.

-
source

fn run() -> Result<(), EventLoopError>where +

source

fn run() -> Result<(), EventLoopError>where Self::Context: Default,

Launches a Kludgine app using this window as the primary window.

Errors

Returns an [EventLoopError] upon the loop exiting due to an error. See EventLoop::run for more information.

-
source

fn run_with(context: Self::Context) -> Result<(), EventLoopError>

Launches a Kludgine app using this window as the primary window.

+
source

fn run_with(context: Self::Context) -> Result<(), EventLoopError>

Launches a Kludgine app using this window as the primary window.

The context is passed along to initialize() once the thread it is running on is spawned.

Errors

Returns an [EventLoopError] upon the loop exiting due to an error. See EventLoop::run for more information.

-
source

fn close_requested( +

source

fn close_requested( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine @@ -251,56 +249,56 @@

Errors
of the user clicking the close button.

If the window should be closed, return true. To prevent closing the window, return false.

-
source

fn focus_changed( +

source

fn focus_changed( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine )

The window has gained or lost keyboard focus. [RunningWindow::focused()] returns the current state.

-
source

fn occlusion_changed( +

source

fn occlusion_changed( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine )

The window has been occluded or revealed. [RunningWindow::occluded()] returns the current state.

-
source

fn scale_factor_changed( +

source

fn scale_factor_changed( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine )

The window’s scale factor has changed. [RunningWindow::scale()] returns the current scale.

-
source

fn resized(&mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine)

The window has been resized. [RunningWindow::inner_size()] +

source

fn resized(&mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine)

The window has been resized. [RunningWindow::inner_size()] returns the current size.

-
source

fn theme_changed( +

source

fn theme_changed( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine )

The window’s theme has been updated. [RunningWindow::theme()] returns the current theme.

-
source

fn dropped_file( +

source

fn dropped_file( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, path: PathBuf )

A file has been dropped on the window.

-
source

fn hovered_file( +

source

fn hovered_file( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, path: PathBuf )

A file is hovering over the window.

-
source

fn hovered_file_cancelled( +

source

fn hovered_file_cancelled( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine )

A file being overed has been cancelled.

-
source

fn received_character( +

source

fn received_character( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, char: char )

An input event has generated a character.

-
source

fn keyboard_input( +

source

fn keyboard_input( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, @@ -308,38 +306,38 @@

Errors
input: KeyEvent, is_synthetic: bool )

A keyboard event occurred while the window was focused.

-
source

fn modifiers_changed( +

source

fn modifiers_changed( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine )

The keyboard modifier keys have changed. [RunningWindow::modifiers()] returns the current modifier keys state.

-
source

fn ime( +

source

fn ime( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, ime: Ime )

An international input even thas occurred for the window.

-
source

fn cursor_moved( +

source

fn cursor_moved( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, device_id: DeviceId, position: PhysicalPosition<f64> )

A cursor has moved over the window.

-
source

fn cursor_entered( +

source

fn cursor_entered( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, device_id: DeviceId )

A cursor has hovered over the window.

-
source

fn cursor_left( +

source

fn cursor_left( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, device_id: DeviceId )

A cursor is no longer hovering over the window.

-
source

fn mouse_wheel( +

source

fn mouse_wheel( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, @@ -347,7 +345,7 @@

Errors
delta: MouseScrollDelta, phase: TouchPhase )

An event from a mouse wheel.

-
source

fn mouse_input( +

source

fn mouse_input( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, @@ -355,7 +353,7 @@

Errors
state: ElementState, button: MouseButton )

A mouse button was pressed or released.

-
source

fn touchpad_pressure( +

source

fn touchpad_pressure( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, @@ -363,7 +361,7 @@

Errors
pressure: f32, stage: i64 )

A pressure-sensitive touchpad was touched.

-
source

fn axis_motion( +

source

fn axis_motion( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, @@ -371,13 +369,13 @@

Errors
axis: AxisId, value: f64 )

A multi-axis input device has registered motion.

-
source

fn touch( +

source

fn touch( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, touch: Touch )

A touch event.

-
source

fn touchpad_magnify( +

source

fn touchpad_magnify( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, @@ -385,13 +383,13 @@

Errors
delta: f64, phase: TouchPhase )

A touchpad-originated magnification gesture.

-
source

fn smart_magnify( +

source

fn smart_magnify( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, device_id: DeviceId )

A request to smart-magnify the window.

-
source

fn touchpad_rotate( +

source

fn touchpad_rotate( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, @@ -399,7 +397,7 @@

Errors
delta: f32, phase: TouchPhase )

A touchpad-originated rotation gesture.

-
source

fn event( +

source

fn event( &mut self, window: Window<'_, WindowEvent>, kludgine: &mut Kludgine, diff --git a/main/kludgine/enum.AnyTexture.html b/main/kludgine/enum.AnyTexture.html index 40eab6e6d..ed264ac81 100644 --- a/main/kludgine/enum.AnyTexture.html +++ b/main/kludgine/enum.AnyTexture.html @@ -1,4 +1,4 @@ -AnyTexture in kludgine - Rust

Implementations§

source§

impl AnyTexture

source

pub fn size(&self) -> Size<UPx>

Returns the size of the texture.

-

Trait Implementations§

source§

impl Debug for AnyTexture

source§

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

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

impl From<CollectedTexture> for AnyTexture

source§

fn from(texture: CollectedTexture) -> Self

Converts to this type from the input type.
source§

impl From<SharedTexture> for AnyTexture

source§

fn from(texture: SharedTexture) -> Self

Converts to this type from the input type.
source§

impl From<Texture> for AnyTexture

source§

fn from(texture: Texture) -> Self

Converts to this type from the input type.
source§

impl From<TextureRegion> for AnyTexture

source§

fn from(texture: TextureRegion) -> Self

Converts to this type from the input type.
source§

impl TextureSource for AnyTexture

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Implementations§

source§

impl AnyTexture

source

pub fn size(&self) -> Size<UPx>

Returns the size of the texture.

+

Trait Implementations§

source§

impl Debug for AnyTexture

source§

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

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

impl From<CollectedTexture> for AnyTexture

source§

fn from(texture: CollectedTexture) -> Self

Converts to this type from the input type.
source§

impl From<SharedTexture> for AnyTexture

source§

fn from(texture: SharedTexture) -> Self

Converts to this type from the input type.
source§

impl From<Texture> for AnyTexture

source§

fn from(texture: Texture) -> Self

Converts to this type from the input type.
source§

impl From<TextureRegion> for AnyTexture

source§

fn from(texture: TextureRegion) -> Self

Converts to this type from the input type.
source§

impl TextureSource for AnyTexture

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<A> Cast for A

§

fn cast<To>(self) -> Towhere diff --git a/main/kludgine/enum.Origin.html b/main/kludgine/enum.Origin.html index 5a743e608..5f9455dbf 100644 --- a/main/kludgine/enum.Origin.html +++ b/main/kludgine/enum.Origin.html @@ -1,4 +1,4 @@ -Origin in kludgine - Rust

Enum kludgine::Origin

source ·
pub enum Origin<Unit> {
+Origin in kludgine - Rust

Enum kludgine::Origin

source ·
pub enum Origin<Unit> {
     TopLeft,
     Center,
     Custom(Point<Unit>),
@@ -12,9 +12,9 @@
 
§

Custom(Point<Unit>)

The graphic should be drawn so that the provided relative location appears at the rendered location. When rotating the graphic, it will rotate around this point.

-

Trait Implementations§

source§

impl<Unit: Clone> Clone for Origin<Unit>

source§

fn clone(&self) -> Origin<Unit>

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<Unit: Debug> Debug for Origin<Unit>

source§

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

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

impl<Unit> Default for Origin<Unit>

source§

fn default() -> Origin<Unit>

Returns the “default value” for a type. Read more
source§

impl<Unit: PartialEq> PartialEq<Origin<Unit>> for Origin<Unit>

source§

fn eq(&self, other: &Origin<Unit>) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl<Unit: Clone> Clone for Origin<Unit>

source§

fn clone(&self) -> Origin<Unit>

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<Unit: Debug> Debug for Origin<Unit>

source§

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

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

impl<Unit> Default for Origin<Unit>

source§

fn default() -> Origin<Unit>

Returns the “default value” for a type. Read more
source§

impl<Unit: PartialEq> PartialEq<Origin<Unit>> for Origin<Unit>

source§

fn eq(&self, other: &Origin<Unit>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<Unit: Copy> Copy for Origin<Unit>

source§

impl<Unit: Eq> Eq for Origin<Unit>

source§

impl<Unit> StructuralEq for Origin<Unit>

source§

impl<Unit> StructuralPartialEq for Origin<Unit>

Auto Trait Implementations§

§

impl<Unit> RefUnwindSafe for Origin<Unit>where +sufficient, and should not be overridden without very good reason.

source§

impl<Unit: Copy> Copy for Origin<Unit>

source§

impl<Unit: Eq> Eq for Origin<Unit>

source§

impl<Unit> StructuralEq for Origin<Unit>

source§

impl<Unit> StructuralPartialEq for Origin<Unit>

Auto Trait Implementations§

§

impl<Unit> RefUnwindSafe for Origin<Unit>where Unit: RefUnwindSafe,

§

impl<Unit> Send for Origin<Unit>where Unit: Send,

§

impl<Unit> Sync for Origin<Unit>where Unit: Sync,

§

impl<Unit> Unpin for Origin<Unit>where diff --git a/main/kludgine/index.html b/main/kludgine/index.html index f5177cfc5..5907fa71f 100644 --- a/main/kludgine/index.html +++ b/main/kludgine/index.html @@ -1,4 +1,4 @@ -kludgine - Rust

Crate kludgine

source ·
Expand description

Kludgine (Redux)

+kludgine - Rust

Crate kludgine

source ·
Expand description

Kludgine (Redux)

This branch is a rewrite of Kludgine. See the v0.5.0 tag for the currently released source.

Kludgine aims to be a lightweight, efficient 2d rendering framework powered by diff --git a/main/kludgine/macro.include_texture.html b/main/kludgine/macro.include_texture.html index 5c43ffed8..58d41ccc0 100644 --- a/main/kludgine/macro.include_texture.html +++ b/main/kludgine/macro.include_texture.html @@ -1,5 +1,6 @@ -include_texture in kludgine - Rust

macro_rules! include_texture {
+include_texture in kludgine - Rust
macro_rules! include_texture {
     ($path:expr) => { ... };
+    ($path:expr, $filter_mode:expr) => { ... };
 }
Expand description

Loads a texture’s bytes into the executable.

This macro takes a single parameter, which is forwarded along to include_bytes!. The bytes that are loaded are then parsed using diff --git a/main/kludgine/render/index.html b/main/kludgine/render/index.html index 7df672d20..4f06ad0ac 100644 --- a/main/kludgine/render/index.html +++ b/main/kludgine/render/index.html @@ -1,4 +1,4 @@ -kludgine::render - Rust

Module kludgine::render

source ·
Expand description

An easy-to-use batching renderer.

+kludgine::render - Rust

Module kludgine::render

source ·
Expand description

An easy-to-use batching renderer.

Structs

  • A composite, multi-operation graphic, created with an easy-to-use Renderer-driven API.
  • An easy-to-use graphics renderer that batches operations on the GPU automatically.
\ No newline at end of file diff --git a/main/kludgine/render/struct.Drawing.html b/main/kludgine/render/struct.Drawing.html index 2c17f28f9..d5dbc91ca 100644 --- a/main/kludgine/render/struct.Drawing.html +++ b/main/kludgine/render/struct.Drawing.html @@ -1,4 +1,4 @@ -Drawing in kludgine::render - Rust

Struct kludgine::render::Drawing

source ·
pub struct Drawing { /* private fields */ }
Expand description

A composite, multi-operation graphic, created with an easy-to-use +Drawing in kludgine::render - Rust

Struct kludgine::render::Drawing

source ·
pub struct Drawing { /* private fields */ }
Expand description

A composite, multi-operation graphic, created with an easy-to-use Renderer-driven API.

The process of preparing individual graphics and then rendering them allows for efficient rendering. The downside is that it can be harder to use, and @@ -7,13 +7,13 @@

This type allows rendering a batch of drawing operations using a Renderer. Once the renderer is dropped, this type’s vertex buffer and index buffer are updated.

-

Implementations§

source§

impl Drawing

source

pub fn new_frame<'rendering, 'gfx>( +

Implementations§

source§

impl Drawing

source

pub fn new_frame<'rendering, 'gfx>( &'rendering mut self, graphics: &'rendering mut Graphics<'gfx> ) -> Renderer<'rendering, 'gfx>

Clears the currently prepared graphics and returns a new Renderer to prepare new graphics.

Once the renderer is dropped, this type is ready to be rendered.

-
source

pub fn render<'pass>(&'pass self, graphics: &mut RenderingGraphics<'_, 'pass>)

Renders the prepared graphics from the last frame.

+
source

pub fn render<'pass>(&'pass self, graphics: &mut RenderingGraphics<'_, 'pass>)

Renders the prepared graphics from the last frame.

Trait Implementations§

source§

impl Debug for Drawing

source§

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

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

impl Default for Drawing

source§

fn default() -> Drawing

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/main/kludgine/render/struct.Renderer.html b/main/kludgine/render/struct.Renderer.html index 235b82e1d..aa5a6a3b1 100644 --- a/main/kludgine/render/struct.Renderer.html +++ b/main/kludgine/render/struct.Renderer.html @@ -82,7 +82,7 @@ clip rect’s origin.

clip is relative to the current clip rect and cannot extend the current clipping rectangle.

-

Methods from Deref<Target = Graphics<'gfx>>§

Methods from Deref<Target = Graphics<'gfx>>§

source

pub fn prepare_text( &mut self, buffer: &Buffer, default_color: Color, @@ -92,14 +92,14 @@ used.

origin allows controlling how the text will be drawn relative to the coordinate provided in render().

-

source

pub fn device(&self) -> &'gfx Device

Returns a reference to the underlying [wgpu::Device].

-
source

pub fn queue(&self) -> &'gfx Queue

Returns a reference to the underlying [wgpu::Queue].

-
source

pub fn font_system(&mut self) -> &mut FontSystem

Returns a mutable reference to the [cosmic_text::FontSystem] used when +

source

pub fn device(&self) -> &'gfx Device

Returns a reference to the underlying [wgpu::Device].

+
source

pub fn queue(&self) -> &'gfx Queue

Returns a reference to the underlying [wgpu::Queue].

+
source

pub fn font_system(&mut self) -> &mut FontSystem

Returns a mutable reference to the [cosmic_text::FontSystem] used when rendering text.

-
source

pub fn size(&self) -> Size<UPx>

Returns the current clipped size of the context.

+
source

pub fn size(&self) -> Size<UPx>

Returns the current clipped size of the context.

If this context has not been clipped, the value returned will be equivalent to Kludgine::size.

-
source

pub fn clip_rect(&self) -> Rect<UPx>

Returns the current rectangular area of the context.

+
source

pub fn clip_rect(&self) -> Rect<UPx>

Returns the current rectangular area of the context.

If this context has not been clipped, the value returned will be equivalent to Kludgine::size with an origin of 0,0.

Methods from Deref<Target = Kludgine>§

source

pub fn font_system(&mut self) -> &mut FontSystem

Returns a mutable reference to the [cosmic_text::FontSystem] used when @@ -119,16 +119,16 @@

source

pub fn text_attrs(&self) -> Attrs<'_>

Returns the current text attributes.

source

pub fn set_text_attributes(&mut self, attrs: Attrs<'_>)

Sets the current text attributes.

source

pub fn reset_text_attributes(&mut self)

Resets all of the text related properties to their default settings.

-
source

pub fn resize(&mut self, new_size: Size<UPx>, new_scale: f32, queue: &Queue)

Updates the size and scale of this Kludgine instance.

+
source

pub fn resize(&mut self, new_size: Size<UPx>, new_scale: f32, queue: &Queue)

Updates the size and scale of this Kludgine instance.

This function updates data stored in the GPU that affects how graphics are rendered. It should be called before calling next_frame() if the size or scale of the underlying surface has changed.

-
source

pub fn next_frame(&mut self) -> Frame<'_>

Begins rendering a new frame.

-
source

pub fn size(&self) -> Size<UPx>

Returns the currently configured size to render.

-
source

pub fn scale(&self) -> Fraction

Returns the current scaling factor for the display this instance is +

source

pub fn next_frame(&mut self) -> Frame<'_>

Begins rendering a new frame.

+
source

pub fn size(&self) -> Size<UPx>

Returns the currently configured size to render.

+
source

pub fn scale(&self) -> Fraction

Returns the current scaling factor for the display this instance is rendering to.

Trait Implementations§

source§

impl Clipped for Renderer<'_, '_>

source§

fn push_clip(&mut self, clip: Rect<UPx>)

Pushes a new clipping state to the clipping stack. Read more
source§

fn pop_clip(&mut self)

Restores the clipping rect to the previous state before the last call to -Clipped::push_clip(). Read more
source§

fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

Returns a ClipGuard that causes all drawing operations to be offset +Clipped::push_clip(). Read more
source§

fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

Returns a ClipGuard that causes all drawing operations to be offset and clipped to clip until it is dropped. Read more
source§

impl<'render, 'gfx> Debug for Renderer<'render, 'gfx>

source§

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

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

impl<'gfx> Deref for Renderer<'_, 'gfx>

§

type Target = Graphics<'gfx>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'gfx> DerefMut for Renderer<'_, 'gfx>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl Drop for Renderer<'_, '_>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'render, 'gfx> !RefUnwindSafe for Renderer<'render, 'gfx>

§

impl<'render, 'gfx> Send for Renderer<'render, 'gfx>

§

impl<'render, 'gfx> Sync for Renderer<'render, 'gfx>

§

impl<'render, 'gfx> Unpin for Renderer<'render, 'gfx>

§

impl<'render, 'gfx> !UnwindSafe for Renderer<'render, 'gfx>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/main/kludgine/shapes/index.html b/main/kludgine/shapes/index.html index 454aa7cbd..6f1441bfe 100644 --- a/main/kludgine/shapes/index.html +++ b/main/kludgine/shapes/index.html @@ -1,3 +1,3 @@ -kludgine::shapes - Rust

Module kludgine::shapes

source ·
Expand description

Types for drawing paths and shapes.

+kludgine::shapes - Rust

Module kludgine::shapes

source ·
Expand description

Types for drawing paths and shapes.

Structs

Enums

Traits

Type Aliases

\ No newline at end of file diff --git a/main/kludgine/shapes/struct.CornerRadii.html b/main/kludgine/shapes/struct.CornerRadii.html index e081eca77..71fc821ee 100644 --- a/main/kludgine/shapes/struct.CornerRadii.html +++ b/main/kludgine/shapes/struct.CornerRadii.html @@ -1,4 +1,4 @@ -CornerRadii in kludgine::shapes - Rust
pub struct CornerRadii<Unit> {
+CornerRadii in kludgine::shapes - Rust
pub struct CornerRadii<Unit> {
     pub top_left: Unit,
     pub top_right: Unit,
     pub bottom_right: Unit,
@@ -9,20 +9,20 @@
 
§top_right: Unit

The radius of the top right rounded corner.

§bottom_right: Unit

The radius of the bottom right rounded corner.

§bottom_left: Unit

The radius of the bottom left rounded corner.

-

Implementations§

source§

impl<Unit> CornerRadii<Unit>

source

pub fn map<UnitB>(self, map: impl FnMut(Unit) -> UnitB) -> CornerRadii<UnitB>

Passes each radius definition to map and returns a new set of radii +

Implementations§

source§

impl<Unit> CornerRadii<Unit>

source

pub fn map<UnitB>(self, map: impl FnMut(Unit) -> UnitB) -> CornerRadii<UnitB>

Passes each radius definition to map and returns a new set of radii with the results.

-
source§

impl<Unit> CornerRadii<Unit>where - Unit: PartialOrd + Copy,

source

pub fn clamped(self, size: Unit) -> Self

Returns this set of radii clamped so that no corner radius has a width +

source§

impl<Unit> CornerRadii<Unit>where + Unit: PartialOrd + Copy,

source

pub fn clamped(self, size: Unit) -> Self

Returns this set of radii clamped so that no corner radius has a width or height larger than size’s.

-

Trait Implementations§

source§

impl<Unit: Clone> Clone for CornerRadii<Unit>

source§

fn clone(&self) -> CornerRadii<Unit>

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<Unit: Debug> Debug for CornerRadii<Unit>

source§

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

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

impl<Unit> From<Unit> for CornerRadii<Unit>where - Unit: Copy,

source§

fn from(radii: Unit) -> Self

Converts to this type from the input type.
source§

impl<Unit: PartialEq> PartialEq<CornerRadii<Unit>> for CornerRadii<Unit>

source§

fn eq(&self, other: &CornerRadii<Unit>) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl<Unit: Clone> Clone for CornerRadii<Unit>

source§

fn clone(&self) -> CornerRadii<Unit>

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<Unit: Debug> Debug for CornerRadii<Unit>

source§

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

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

impl<Unit> From<Unit> for CornerRadii<Unit>where + Unit: Copy,

source§

fn from(radii: Unit) -> Self

Converts to this type from the input type.
source§

impl<Unit: PartialEq> PartialEq<CornerRadii<Unit>> for CornerRadii<Unit>

source§

fn eq(&self, other: &CornerRadii<Unit>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<Unit> ScreenScale for CornerRadii<Unit>where - Unit: ScreenScale<Lp = Lp, Px = Px, UPx = UPx>,

§

type Lp = CornerRadii<Lp>

This type when measuring with Lp.
§

type Px = CornerRadii<Px>

This type when measuring with Px.
§

type UPx = CornerRadii<UPx>

This type when measuring with UPx.
source§

fn into_px(self, scale: Fraction) -> Self::Px

Converts this value from its current unit into device pixels (Px) -using the provided scale factor.
source§

fn from_px(px: Self::Px, scale: Fraction) -> Self

Converts from pixels into this type, using the provided scale factor.
source§

fn into_upx(self, scale: Fraction) -> Self::UPx

Converts this value from its current unit into device pixels -(UPx) using the provided scale factor.
source§

fn from_upx(px: Self::UPx, scale: Fraction) -> Self

Converts from unsigned pixels into this type, using the provided scale factor.
source§

fn into_lp(self, scale: Fraction) -> Self::Lp

Converts this value from its current unit into device independent pixels -(Lp) using the provided scale factor.
source§

fn from_lp(lp: Self::Lp, scale: Fraction) -> Self

Converts from Lp into this type, using the provided scale factor.
source§

impl<Unit> Zero for CornerRadii<Unit>where - Unit: Zero,

source§

const ZERO: Self = _

The zero value for this type.
source§

fn is_zero(&self) -> bool

Returns true if self represents 0.
source§

impl<Unit: Copy> Copy for CornerRadii<Unit>

source§

impl<Unit: Eq> Eq for CornerRadii<Unit>

source§

impl<Unit> StructuralEq for CornerRadii<Unit>

source§

impl<Unit> StructuralPartialEq for CornerRadii<Unit>

Auto Trait Implementations§

§

impl<Unit> RefUnwindSafe for CornerRadii<Unit>where +sufficient, and should not be overridden without very good reason.

source§

impl<Unit> ScreenScale for CornerRadii<Unit>where + Unit: ScreenScale<Lp = Lp, Px = Px, UPx = UPx>,

§

type Lp = CornerRadii<Lp>

This type when measuring with Lp.
§

type Px = CornerRadii<Px>

This type when measuring with Px.
§

type UPx = CornerRadii<UPx>

This type when measuring with UPx.
source§

fn into_px(self, scale: Fraction) -> Self::Px

Converts this value from its current unit into device pixels (Px) +using the provided scale factor.
source§

fn from_px(px: Self::Px, scale: Fraction) -> Self

Converts from pixels into this type, using the provided scale factor.
source§

fn into_upx(self, scale: Fraction) -> Self::UPx

Converts this value from its current unit into device pixels +(UPx) using the provided scale factor.
source§

fn from_upx(px: Self::UPx, scale: Fraction) -> Self

Converts from unsigned pixels into this type, using the provided scale factor.
source§

fn into_lp(self, scale: Fraction) -> Self::Lp

Converts this value from its current unit into device independent pixels +(Lp) using the provided scale factor.
source§

fn from_lp(lp: Self::Lp, scale: Fraction) -> Self

Converts from Lp into this type, using the provided scale factor.
source§

impl<Unit> Zero for CornerRadii<Unit>where + Unit: Zero,

source§

const ZERO: Self = _

The zero value for this type.
source§

fn is_zero(&self) -> bool

Returns true if self represents 0.
source§

impl<Unit: Copy> Copy for CornerRadii<Unit>

source§

impl<Unit: Eq> Eq for CornerRadii<Unit>

source§

impl<Unit> StructuralEq for CornerRadii<Unit>

source§

impl<Unit> StructuralPartialEq for CornerRadii<Unit>

Auto Trait Implementations§

§

impl<Unit> RefUnwindSafe for CornerRadii<Unit>where Unit: RefUnwindSafe,

§

impl<Unit> Send for CornerRadii<Unit>where Unit: Send,

§

impl<Unit> Sync for CornerRadii<Unit>where Unit: Sync,

§

impl<Unit> Unpin for CornerRadii<Unit>where diff --git a/main/kludgine/shapes/struct.Endpoint.html b/main/kludgine/shapes/struct.Endpoint.html index d643af27d..785e8a361 100644 --- a/main/kludgine/shapes/struct.Endpoint.html +++ b/main/kludgine/shapes/struct.Endpoint.html @@ -6,7 +6,7 @@

§color: Color

The color to associate with this endpoint.

Implementations§

source§

impl<Unit> Endpoint<Unit>

source

pub fn new(location: Point<Unit>, color: Color) -> Self

Returns a new endpoint with a given location and color.

Trait Implementations§

source§

impl<Unit: Clone> Clone for Endpoint<Unit>

source§

fn clone(&self) -> Endpoint<Unit>

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<Unit: Debug> Debug for Endpoint<Unit>

source§

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

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

impl<Unit> Default for Endpoint<Unit>where - Unit: Default,

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<Unit> From<(Point<Unit>, Color)> for Endpoint<Unit>

source§

fn from(fields: (Point<Unit>, Color)) -> Self

Converts to this type from the input type.
source§

impl<Unit> From<Point<Unit>> for Endpoint<Unit>

source§

fn from(location: Point<Unit>) -> Self

Converts to this type from the input type.
source§

impl<Unit: Copy> Copy for Endpoint<Unit>

Auto Trait Implementations§

§

impl<Unit> RefUnwindSafe for Endpoint<Unit>where + Unit: Default,

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<Unit> From<(Point<Unit>, Color)> for Endpoint<Unit>

source§

fn from(fields: (Point<Unit>, Color)) -> Self

Converts to this type from the input type.
source§

impl<Unit> From<Point<Unit>> for Endpoint<Unit>

source§

fn from(location: Point<Unit>) -> Self

Converts to this type from the input type.
source§

impl<Unit: Copy> Copy for Endpoint<Unit>

Auto Trait Implementations§

§

impl<Unit> RefUnwindSafe for Endpoint<Unit>where Unit: RefUnwindSafe,

§

impl<Unit> Send for Endpoint<Unit>where Unit: Send,

§

impl<Unit> Sync for Endpoint<Unit>where Unit: Sync,

§

impl<Unit> Unpin for Endpoint<Unit>where diff --git a/main/kludgine/shapes/struct.PathBuilder.html b/main/kludgine/shapes/struct.PathBuilder.html index f9c4ebc45..2f233be7a 100644 --- a/main/kludgine/shapes/struct.PathBuilder.html +++ b/main/kludgine/shapes/struct.PathBuilder.html @@ -1,24 +1,23 @@ -PathBuilder in kludgine::shapes - Rust
pub struct PathBuilder<Unit, const TEXTURED: bool> { /* private fields */ }
Expand description

Builds a Path.

-

Implementations§

source§

impl<Unit> PathBuilder<Unit, false>where - Unit: Copy,

source

pub fn new(start_at: impl Into<Endpoint<Unit>>) -> Self

Creates a new path with the initial position start_at.

-
source

pub fn reset(&mut self, start_at: impl Into<Endpoint<Unit>>)

Clears this builder to a state as if it had just been created with +PathBuilder in kludgine::shapes - Rust

pub struct PathBuilder<Unit, const TEXTURED: bool> { /* private fields */ }
Expand description

Builds a Path.

+

Implementations§

source§

impl<Unit> PathBuilder<Unit, false>where + Unit: Copy,

source

pub fn new(start_at: impl Into<Endpoint<Unit>>) -> Self

Creates a new path with the initial position start_at.

+
source

pub fn reset(&mut self, start_at: impl Into<Endpoint<Unit>>)

Clears this builder to a state as if it had just been created with new().

-
source

pub fn build(self) -> Path<Unit, false>

Returns the built path.

-
source

pub fn line_to(self, end_at: impl Into<Endpoint<Unit>>) -> Self

Create a straight line from the current location to end_at.

-
source

pub fn quadratic_curve_to( +

source

pub fn line_to(self, end_at: impl Into<Endpoint<Unit>>) -> Self

Create a straight line from the current location to end_at.

+
source

pub fn quadratic_curve_to( self, control: ControlPoint<Unit>, end_at: impl Into<Endpoint<Unit>> ) -> Self

Create a quadratic curve from the current location to end_at using control as the curve’s control point.

-
source

pub fn cubic_curve_to( +

source

pub fn cubic_curve_to( self, control1: ControlPoint<Unit>, control2: ControlPoint<Unit>, end_at: impl Into<Endpoint<Unit>> ) -> Self

Create a cubic curve from the current location to end_at using control1 and control2 as the curve’s control points.

-
source

pub fn arc( +

source

pub fn arc( self, center: impl Into<Endpoint<Unit>>, radii: Size<Unit>, @@ -27,33 +26,39 @@ Unit: FloatConversion<Float = f32>,

Add a clockwise arc starting at the current location.

The arc will be drawn for an oval of size radii. The amount of rotation the arc will be drawn is controlled by sweep.

-
source

pub fn close(self) -> Path<Unit, false>

Closes the path, connecting the current location to the shape’s starting -location.

-

source§

impl<Unit> PathBuilder<Unit, true>where - Unit: Copy,

source

pub fn arc_counter( + self, + center: impl Into<Endpoint<Unit>>, + radii: Size<Unit>, + sweep: Angle +) -> Selfwhere + Unit: FloatConversion<Float = f32>,

Add a counter-clockwise arc starting at the current location.

+

The arc will be drawn for an oval of size radii. The amount of +rotation the arc will be drawn is controlled by sweep.

+

source§

impl<Unit> PathBuilder<Unit, true>where + Unit: Copy,

source

pub fn new_textured( start_at: impl Into<Endpoint<Unit>>, texture: Point<UPx> ) -> Self

Creates a new path with the initial position start_at.

-
source

pub fn reset( +

source

pub fn reset( &mut self, start_at: impl Into<Endpoint<Unit>>, texture: Point<UPx> )

Clears this builder to a state as if it had just been created with new_textured().

-
source

pub fn build(self) -> Path<Unit, true>

Returns the built path.

-
source

pub fn line_to( +

source

pub fn line_to( self, end_at: impl Into<Endpoint<Unit>>, texture: Point<UPx> ) -> Self

Create a straight line from the current location to end_at.

-
source

pub fn quadratic_curve_to( +

source

pub fn quadratic_curve_to( self, control: ControlPoint<Unit>, end_at: impl Into<Endpoint<Unit>>, texture: Point<UPx> ) -> Self

Create a quadratic curve from the current location to end_at using control as the curve’s control point.

-
source

pub fn cubic_curve_to( +

source

pub fn cubic_curve_to( self, control1: ControlPoint<Unit>, control2: ControlPoint<Unit>, @@ -61,7 +66,7 @@ texture: Point<UPx> ) -> Self

Create a cubic curve from the current location to end_at using control1 and control2 as the curve’s control points.

-
source

pub fn arc( +

source

pub fn arc( self, center: Point<Unit>, radii: Size<Unit>, @@ -71,7 +76,19 @@ Unit: FloatConversion<Float = f32>,

Add a clockwise arc starting at the current location.

The arc will be drawn for an oval of size radii. The amount of rotation the arc will be drawn is controlled by sweep.

-
source

pub fn close(self) -> Path<Unit, true>

Closes the path, connecting the current location to the shape’s starting +

source

pub fn arc_counter( + self, + center: Point<Unit>, + radii: Size<Unit>, + sweep: Angle, + texture: impl Into<Endpoint<UPx>> +) -> Selfwhere + Unit: FloatConversion<Float = f32>,

Add a counter-clockwise arc starting at the current location.

+

The arc will be drawn for an oval of size radii. The amount of +rotation the arc will be drawn is controlled by sweep.

+
source§

impl<Unit, const TEXTURED: bool> PathBuilder<Unit, TEXTURED>where + Unit: Copy,

source

pub fn build(self) -> Path<Unit, TEXTURED>

Returns the built path.

+
source

pub fn close(self) -> Path<Unit, TEXTURED>

Closes the path, connecting the current location to the shape’s starting location.

Trait Implementations§

source§

impl<Unit> Default for PathBuilder<Unit, false>where Unit: Default + Copy,

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<Unit, const TEXTURED: bool> From<Path<Unit, TEXTURED>> for PathBuilder<Unit, TEXTURED>where diff --git a/main/kludgine/shapes/struct.StrokeOptions.html b/main/kludgine/shapes/struct.StrokeOptions.html index 609c90b71..0aa0b2819 100644 --- a/main/kludgine/shapes/struct.StrokeOptions.html +++ b/main/kludgine/shapes/struct.StrokeOptions.html @@ -1,4 +1,4 @@ -StrokeOptions in kludgine::shapes - Rust
pub struct StrokeOptions<Unit> {
+StrokeOptions in kludgine::shapes - Rust
pub struct StrokeOptions<Unit> {
     pub color: Color,
     pub line_width: Unit,
     pub line_join: LineJoin,
@@ -21,30 +21,30 @@
 
§tolerance: f32

Maximum allowed distance to the path when building an approximation.

See Flattening and tolerance. Default value: StrokeOptions::DEFAULT_TOLERANCE.

-

Implementations§

source§

impl<Unit> StrokeOptions<Unit>

source

pub fn colored(self, color: Color) -> Self

Sets the color of this stroke and returns self.

-
source

pub fn line_join(self, join: LineJoin) -> Self

Sets the line join style and returns self.

-
source

pub fn start_cap(self, cap: LineCap) -> Self

Sets the line cap style for the start of line segments and returns self.

-
source

pub fn end_cap(self, cap: LineCap) -> Self

Sets the line cap style for the end of line segments and returns self.

-
source

pub fn miter_limit(self, limit: f32) -> Self

Sets the miter limit and returns self.

-
source§

impl StrokeOptions<Px>

source

pub fn px_wide(px: impl Into<Px>) -> Self

Returns the default options with a line width of px.

-
source§

impl StrokeOptions<Lp>

source

pub fn lp_wide(lp: impl Into<Lp>) -> Self

Returns the default options with a line width of lp.

-
source

pub fn mm_wide(mm: impl Into<FloatOrInt>) -> Self

Returns the default options with the line width specified in +

Implementations§

source§

impl<Unit> StrokeOptions<Unit>

source

pub fn colored(self, color: Color) -> Self

Sets the color of this stroke and returns self.

+
source

pub fn line_join(self, join: LineJoin) -> Self

Sets the line join style and returns self.

+
source

pub fn start_cap(self, cap: LineCap) -> Self

Sets the line cap style for the start of line segments and returns self.

+
source

pub fn end_cap(self, cap: LineCap) -> Self

Sets the line cap style for the end of line segments and returns self.

+
source

pub fn miter_limit(self, limit: f32) -> Self

Sets the miter limit and returns self.

+
source§

impl StrokeOptions<Px>

source

pub fn px_wide(px: impl Into<Px>) -> Self

Returns the default options with a line width of px.

+
source§

impl StrokeOptions<Lp>

source

pub fn lp_wide(lp: impl Into<Lp>) -> Self

Returns the default options with a line width of lp.

+
source

pub fn mm_wide(mm: impl Into<FloatOrInt>) -> Self

Returns the default options with the line width specified in millimeters.

-
source

pub fn cm_wide(cm: impl Into<FloatOrInt>) -> Self

Returns the default options with the line width specified in +

source

pub fn cm_wide(cm: impl Into<FloatOrInt>) -> Self

Returns the default options with the line width specified in centimeters.

-
source

pub fn points_wide(points: impl Into<FloatOrInt>) -> Self

Returns the default options with the line width specified in +

source

pub fn points_wide(points: impl Into<FloatOrInt>) -> Self

Returns the default options with the line width specified in points (1/72 of an inch).

-
source

pub fn inches_wide(inches: impl Into<FloatOrInt>) -> Self

Returns the default options with the line width specified in inches.

-

Trait Implementations§

source§

impl<Unit: Clone> Clone for StrokeOptions<Unit>

source§

fn clone(&self) -> StrokeOptions<Unit>

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<Unit: Debug> Debug for StrokeOptions<Unit>

source§

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

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

impl<Unit> Default for StrokeOptions<Unit>where - Unit: DefaultStrokeWidth,

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<Unit> From<Color> for StrokeOptions<Unit>where - Unit: DefaultStrokeWidth,

source§

fn from(color: Color) -> Self

Converts to this type from the input type.
source§

impl<Unit> From<StrokeOptions<Unit>> for StrokeOptionswhere - Unit: FloatConversion<Float = f32>,

source§

fn from(options: StrokeOptions<Unit>) -> Self

Converts to this type from the input type.
source§

impl<Unit: PartialEq> PartialEq<StrokeOptions<Unit>> for StrokeOptions<Unit>

source§

fn eq(&self, other: &StrokeOptions<Unit>) -> bool

This method tests for self and other values to be equal, and is used +
source

pub fn inches_wide(inches: impl Into<FloatOrInt>) -> Self

Returns the default options with the line width specified in inches.

+

Trait Implementations§

source§

impl<Unit: Clone> Clone for StrokeOptions<Unit>

source§

fn clone(&self) -> StrokeOptions<Unit>

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<Unit: Debug> Debug for StrokeOptions<Unit>

source§

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

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

impl<Unit> Default for StrokeOptions<Unit>where + Unit: DefaultStrokeWidth,

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<Unit> From<Color> for StrokeOptions<Unit>where + Unit: DefaultStrokeWidth,

source§

fn from(color: Color) -> Self

Converts to this type from the input type.
source§

impl<Unit> From<StrokeOptions<Unit>> for StrokeOptionswhere + Unit: FloatConversion<Float = f32>,

source§

fn from(options: StrokeOptions<Unit>) -> Self

Converts to this type from the input type.
source§

impl<Unit: PartialEq> PartialEq<StrokeOptions<Unit>> for StrokeOptions<Unit>

source§

fn eq(&self, other: &StrokeOptions<Unit>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<Unit> ScreenScale for StrokeOptions<Unit>where - Unit: ScreenScale<Px = Px, Lp = Lp, UPx = UPx>,

§

type Lp = StrokeOptions<Lp>

This type when measuring with Lp.
§

type Px = StrokeOptions<Px>

This type when measuring with Px.
§

type UPx = StrokeOptions<UPx>

This type when measuring with UPx.
source§

fn into_px(self, scale: Fraction) -> Self::Px

Converts this value from its current unit into device pixels (Px) -using the provided scale factor.
source§

fn from_px(px: Self::Px, scale: Fraction) -> Self

Converts from pixels into this type, using the provided scale factor.
source§

fn into_lp(self, scale: Fraction) -> Self::Lp

Converts this value from its current unit into device independent pixels -(Lp) using the provided scale factor.
source§

fn from_lp(lp: Self::Lp, scale: Fraction) -> Self

Converts from Lp into this type, using the provided scale factor.
source§

fn into_upx(self, scale: Fraction) -> Self::UPx

Converts this value from its current unit into device pixels -(UPx) using the provided scale factor.
source§

fn from_upx(upx: Self::UPx, scale: Fraction) -> Self

Converts from unsigned pixels into this type, using the provided scale factor.
source§

impl<Unit: Copy> Copy for StrokeOptions<Unit>

source§

impl<Unit> StructuralPartialEq for StrokeOptions<Unit>

Auto Trait Implementations§

§

impl<Unit> RefUnwindSafe for StrokeOptions<Unit>where +sufficient, and should not be overridden without very good reason.

source§

impl<Unit> ScreenScale for StrokeOptions<Unit>where + Unit: ScreenScale<Px = Px, Lp = Lp, UPx = UPx>,

§

type Lp = StrokeOptions<Lp>

This type when measuring with Lp.
§

type Px = StrokeOptions<Px>

This type when measuring with Px.
§

type UPx = StrokeOptions<UPx>

This type when measuring with UPx.
source§

fn into_px(self, scale: Fraction) -> Self::Px

Converts this value from its current unit into device pixels (Px) +using the provided scale factor.
source§

fn from_px(px: Self::Px, scale: Fraction) -> Self

Converts from pixels into this type, using the provided scale factor.
source§

fn into_lp(self, scale: Fraction) -> Self::Lp

Converts this value from its current unit into device independent pixels +(Lp) using the provided scale factor.
source§

fn from_lp(lp: Self::Lp, scale: Fraction) -> Self

Converts from Lp into this type, using the provided scale factor.
source§

fn into_upx(self, scale: Fraction) -> Self::UPx

Converts this value from its current unit into device pixels +(UPx) using the provided scale factor.
source§

fn from_upx(upx: Self::UPx, scale: Fraction) -> Self

Converts from unsigned pixels into this type, using the provided scale factor.
source§

impl<Unit: Copy> Copy for StrokeOptions<Unit>

source§

impl<Unit> StructuralPartialEq for StrokeOptions<Unit>

Auto Trait Implementations§

§

impl<Unit> RefUnwindSafe for StrokeOptions<Unit>where Unit: RefUnwindSafe,

§

impl<Unit> Send for StrokeOptions<Unit>where Unit: Send,

§

impl<Unit> Sync for StrokeOptions<Unit>where Unit: Sync,

§

impl<Unit> Unpin for StrokeOptions<Unit>where diff --git a/main/kludgine/shapes/trait.DefaultStrokeWidth.html b/main/kludgine/shapes/trait.DefaultStrokeWidth.html index 130317e93..5ee16ab34 100644 --- a/main/kludgine/shapes/trait.DefaultStrokeWidth.html +++ b/main/kludgine/shapes/trait.DefaultStrokeWidth.html @@ -1,7 +1,7 @@ -DefaultStrokeWidth in kludgine::shapes - Rust
pub trait DefaultStrokeWidth {
+DefaultStrokeWidth in kludgine::shapes - Rust
pub trait DefaultStrokeWidth {
     // Required method
     fn default_stroke_width() -> Self;
 }
Expand description

Controls the default stroke width for a given unit.

-

Required Methods§

source

fn default_stroke_width() -> Self

Returns the default width of a line stroked in this unit.

-

Implementations on Foreign Types§

source§

impl DefaultStrokeWidth for Lp

source§

fn default_stroke_width() -> Self

Returns [Self::points(1)].

-
source§

impl DefaultStrokeWidth for UPx

source§

impl DefaultStrokeWidth for Px

Implementors§

\ No newline at end of file +

Required Methods§

source

fn default_stroke_width() -> Self

Returns the default width of a line stroked in this unit.

+

Implementations on Foreign Types§

source§

impl DefaultStrokeWidth for Lp

source§

fn default_stroke_width() -> Self

Returns [Self::points(1)].

+
source§

impl DefaultStrokeWidth for Px

source§

impl DefaultStrokeWidth for UPx

Implementors§

\ No newline at end of file diff --git a/main/kludgine/sprite/enum.SpriteParseError.html b/main/kludgine/sprite/enum.SpriteParseError.html index 3d83965ef..d09de30fa 100644 --- a/main/kludgine/sprite/enum.SpriteParseError.html +++ b/main/kludgine/sprite/enum.SpriteParseError.html @@ -24,7 +24,7 @@

An error occurred parsing a frame.

§

Json(Error)

Invalid JSON.

§

Image(ImageError)

An image parsing error.

-

Trait Implementations§

source§

impl Debug for SpriteParseError

source§

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

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

impl From<Error<Infallible>> for SpriteParseError

source§

fn from(error: Error) -> Self

Converts to this type from the input type.
source§

impl From<ImageError> for SpriteParseError

source§

fn from(value: ImageError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Debug for SpriteParseError

source§

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

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

impl From<Error<Infallible>> for SpriteParseError

source§

fn from(error: Error) -> Self

Converts to this type from the input type.
source§

impl From<ImageError> for SpriteParseError

source§

fn from(value: ImageError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<A> Cast for A

§

fn cast<To>(self) -> Towhere diff --git a/main/kludgine/sprite/enum.SpriteSource.html b/main/kludgine/sprite/enum.SpriteSource.html index 1734c26b9..c341f1f43 100644 --- a/main/kludgine/sprite/enum.SpriteSource.html +++ b/main/kludgine/sprite/enum.SpriteSource.html @@ -11,7 +11,7 @@ ) -> PreparedGraphic<Unit>where Unit: Unit + Div<i32, Output = Unit>, Vertex<Unit>: Pod,

Returns a PreparedGraphic that renders this texture at dest.

-

Trait Implementations§

source§

impl Clone for SpriteSource

source§

fn clone(&self) -> SpriteSource

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 Debug for SpriteSource

source§

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

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

impl From<CollectedTexture> for SpriteSource

source§

fn from(texture: CollectedTexture) -> Self

Converts to this type from the input type.
source§

impl From<TextureRegion> for SpriteSource

source§

fn from(texture: TextureRegion) -> Self

Converts to this type from the input type.
source§

impl TextureSource for SpriteSource

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Clone for SpriteSource

source§

fn clone(&self) -> SpriteSource

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 Debug for SpriteSource

source§

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

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

impl From<CollectedTexture> for SpriteSource

source§

fn from(texture: CollectedTexture) -> Self

Converts to this type from the input type.
source§

impl From<TextureRegion> for SpriteSource

source§

fn from(texture: TextureRegion) -> Self

Converts to this type from the input type.
source§

impl TextureSource for SpriteSource

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<A> Cast for A

§

fn cast<To>(self) -> Towhere diff --git a/main/kludgine/struct.ClipGuard.html b/main/kludgine/struct.ClipGuard.html index 5da62e57c..651ec6dc2 100644 --- a/main/kludgine/struct.ClipGuard.html +++ b/main/kludgine/struct.ClipGuard.html @@ -1,14 +1,14 @@ -ClipGuard in kludgine - Rust

Struct kludgine::ClipGuard

source ·
pub struct ClipGuard<'clip, T>where
+ClipGuard in kludgine - Rust

Struct kludgine::ClipGuard

source ·
pub struct ClipGuard<'clip, T>where
     T: Clipped,{ /* private fields */ }
Expand description

A clipped surface.

When dropped, the clipped type will have its clip rect restored to the previously clipped rect. ClipGuards can be nested.

This type implements Deref/DerefMut to provide access to the underyling clipped type.

-

Trait Implementations§

source§

impl<'clip, T> Debug for ClipGuard<'clip, T>where - T: Clipped + Debug,

source§

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

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

impl<T> Deref for ClipGuard<'_, T>where - T: Clipped,

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<T> DerefMut for ClipGuard<'_, T>where - T: Clipped,

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<T> Drop for ClipGuard<'_, T>where - T: Clipped,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'clip, T> RefUnwindSafe for ClipGuard<'clip, T>where +

Trait Implementations§

source§

impl<'clip, T> Debug for ClipGuard<'clip, T>where + T: Clipped + Debug,

source§

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

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

impl<T> Deref for ClipGuard<'_, T>where + T: Clipped,

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<T> DerefMut for ClipGuard<'_, T>where + T: Clipped,

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<T> Drop for ClipGuard<'_, T>where + T: Clipped,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'clip, T> RefUnwindSafe for ClipGuard<'clip, T>where T: RefUnwindSafe,

§

impl<'clip, T> Send for ClipGuard<'clip, T>where T: Send,

§

impl<'clip, T> Sync for ClipGuard<'clip, T>where T: Sync,

§

impl<'clip, T> Unpin for ClipGuard<'clip, T>

§

impl<'clip, T> !UnwindSafe for ClipGuard<'clip, T>

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/main/kludgine/struct.CollectedTexture.html b/main/kludgine/struct.CollectedTexture.html index 55be63a55..52ebdf626 100644 --- a/main/kludgine/struct.CollectedTexture.html +++ b/main/kludgine/struct.CollectedTexture.html @@ -1,12 +1,12 @@ -CollectedTexture in kludgine - Rust
pub struct CollectedTexture { /* private fields */ }
Expand description

A texture that is contained within a TextureCollection.

-

Implementations§

source§

impl CollectedTexture

source

pub fn prepare<Unit>( +CollectedTexture in kludgine - Rust
pub struct CollectedTexture { /* private fields */ }
Expand description

A texture that is contained within a TextureCollection.

+

Implementations§

source§

impl CollectedTexture

source

pub fn prepare<Unit>( &self, dest: Rect<Unit>, graphics: &Graphics<'_> ) -> PreparedGraphic<Unit>where Unit: Unit + Div<i32, Output = Unit>, Vertex<Unit>: Pod,

Returns a PreparedGraphic that renders this texture at dest.

-

Trait Implementations§

source§

impl Clone for CollectedTexture

source§

fn clone(&self) -> CollectedTexture

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 Debug for CollectedTexture

source§

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

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

impl Drop for CollectedTexture

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl From<CollectedTexture> for AnyTexture

source§

fn from(texture: CollectedTexture) -> Self

Converts to this type from the input type.
source§

impl From<CollectedTexture> for SpriteSource

source§

fn from(texture: CollectedTexture) -> Self

Converts to this type from the input type.
source§

impl TextureSource for CollectedTexture

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Clone for CollectedTexture

source§

fn clone(&self) -> CollectedTexture

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 Debug for CollectedTexture

source§

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

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

impl Drop for CollectedTexture

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl From<CollectedTexture> for AnyTexture

source§

fn from(texture: CollectedTexture) -> Self

Converts to this type from the input type.
source§

impl From<CollectedTexture> for SpriteSource

source§

fn from(texture: CollectedTexture) -> Self

Converts to this type from the input type.
source§

impl TextureSource for CollectedTexture

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<A> Cast for A

§

fn cast<To>(self) -> Towhere diff --git a/main/kludgine/struct.Color.html b/main/kludgine/struct.Color.html index a891dc2ee..09ef08028 100644 --- a/main/kludgine/struct.Color.html +++ b/main/kludgine/struct.Color.html @@ -1,177 +1,181 @@ -Color in kludgine - Rust

Struct kludgine::Color

source ·
#[repr(C)]
pub struct Color(/* private fields */);
Expand description

A red, green, blue, and alpha color value stored in 32-bits.

-

Implementations§

source§

impl Color

source

pub const fn new(red: u8, green: u8, blue: u8, alpha: u8) -> Self

Returns a new color with the provided components.

-
source

pub fn new_f32(red: f32, green: f32, blue: f32, alpha: f32) -> Self

Returns a new color by converting each component from its 0.0..=1.0 +Color in kludgine - Rust

Struct kludgine::Color

source ·
#[repr(C)]
pub struct Color(/* private fields */);
Expand description

A red, green, blue, and alpha color value stored in 32-bits.

+

Implementations§

source§

impl Color

source

pub const fn new(red: u8, green: u8, blue: u8, alpha: u8) -> Self

Returns a new color with the provided components.

+
source

pub fn new_f32(red: f32, green: f32, blue: f32, alpha: f32) -> Self

Returns a new color by converting each component from its 0.0..=1.0 range into a 0..=255 range.

-
source

pub const fn red(self) -> u8

Returns the red component of this color, range 0-255.

-
source

pub fn red_f32(self) -> f32

Returns the red component of this color, range 0.0-1.0.

-
source

pub const fn green(self) -> u8

Returns the green component of this color, range 0-255.

-
source

pub fn green_f32(self) -> f32

Returns the green component of this color, range 0.0-1.0.

-
source

pub const fn blue(self) -> u8

Returns the blue component of this color, range 0-255.

-
source

pub fn blue_f32(self) -> f32

Returns the blue component of this color, range 0.0-1.0.

-
source

pub const fn alpha(self) -> u8

Returns the alpha component of this color, range 0-255. A value of 255 +

source

pub const fn red(self) -> u8

Returns the red component of this color, range 0-255.

+
source

pub fn red_f32(self) -> f32

Returns the red component of this color, range 0.0-1.0.

+
source

pub const fn green(self) -> u8

Returns the green component of this color, range 0-255.

+
source

pub fn green_f32(self) -> f32

Returns the green component of this color, range 0.0-1.0.

+
source

pub const fn blue(self) -> u8

Returns the blue component of this color, range 0-255.

+
source

pub fn blue_f32(self) -> f32

Returns the blue component of this color, range 0.0-1.0.

+
source

pub const fn alpha(self) -> u8

Returns the alpha component of this color, range 0-255. A value of 255 is completely opaque.

-
source

pub fn alpha_f32(self) -> f32

Returns the alpha component of this color, range 0.0-1.0. A value of 1.0 +

source

pub fn alpha_f32(self) -> f32

Returns the alpha component of this color, range 0.0-1.0. A value of 1.0 is completely opaque.

-
source

pub const fn with_red(self, red: u8) -> Self

Returns a new color replacing this colors red channel with red.

-
source

pub const fn with_green(self, red: u8) -> Self

Returns a new color replacing this colors green channel with green.

-
source

pub const fn with_blue(self, blue: u8) -> Self

Returns a new color replacing this colors blue channel with blue.

-
source

pub const fn with_alpha(self, alpha: u8) -> Self

Returns a new color replacing this colors alpha channel with alpha.

-
source§

impl Color

source

pub const ALICEBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const ANTIQUEWHITE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const AQUA: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const AQUAMARINE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const AZURE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const BEIGE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const BISQUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const BLACK: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const BLANCHEDALMOND: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const BLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const BLUEVIOLET: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const BROWN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const BURLYWOOD: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const CADETBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const CHARTREUSE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const CHOCOLATE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const CLEAR_BLACK: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const CLEAR_WHITE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const CORAL: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const CORNFLOWERBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const CORNSILK: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const CRIMSON: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const CYAN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKCYAN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKGOLDENROD: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKGREY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKKHAKI: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKMAGENTA: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKOLIVEGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKORANGE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKORCHID: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKRED: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKSALMON: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKSEAGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKSLATEBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKSLATEGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKSLATEGREY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKTURQUOISE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DARKVIOLET: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DEEPPINK: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DEEPSKYBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DIMGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DIMGREY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const DODGERBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const FIREBRICK: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const FLORALWHITE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const FORESTGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const FUCHSIA: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const GAINSBORO: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const GHOSTWHITE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const GOLD: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const GOLDENROD: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const GRAY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const GREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const GREENYELLOW: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const GREY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const HONEYDEW: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const HOTPINK: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const INDIANRED: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const INDIGO: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const IVORY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const KHAKI: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LAVENDER: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LAVENDERBLUSH: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LAWNGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LEMONCHIFFON: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTCORAL: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTCYAN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTGOLDENRODYELLOW: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTGREY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTPINK: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTSALMON: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTSEAGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTSKYBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTSLATEGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTSLATEGREY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTSTEELBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIGHTYELLOW: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIME: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LIMEGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const LINEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MAGENTA: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MAROON: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MEDIUMAQUAMARINE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MEDIUMBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MEDIUMORCHID: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MEDIUMPURPLE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MEDIUMSEAGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MEDIUMSLATEBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MEDIUMSPRINGGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MEDIUMTURQUOISE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MEDIUMVIOLETRED: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MIDNIGHTBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MINTCREAM: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MISTYROSE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const MOCCASIN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const NAVAJOWHITE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const NAVY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const OLDLACE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const OLIVE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const OLIVEDRAB: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const ORANGE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const ORANGERED: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const ORCHID: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const PALEGOLDENROD: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const PALEGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const PALETURQUOISE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const PALEVIOLETRED: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const PAPAYAWHIP: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const PEACHPUFF: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const PERU: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const PINK: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const PLUM: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const POWDERBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const PURPLE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const REBECCAPURPLE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const RED: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const ROSYBROWN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const ROYALBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SADDLEBROWN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SALMON: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SANDYBROWN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SEAGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SEASHELL: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SIENNA: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SILVER: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SKYBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SLATEBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SLATEGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SLATEGREY: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SNOW: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const SPRINGGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const STEELBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const TAN: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const TEAL: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const THISTLE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const TOMATO: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const TURQUOISE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const VIOLET: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const WHEAT: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const WHITE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const WHITESMOKE: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const YELLOW: Self = _

Equivalent to the CSS color keywords of the same name.

-
source

pub const YELLOWGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

-

Trait Implementations§

source§

impl Clone for Color

source§

fn clone(&self) -> Color

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 Debug for Color

source§

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

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

impl From<Color> for Color

source§

fn from(value: Color) -> Self

Converts to this type from the input type.
source§

impl From<Color> for Color

source§

fn from(color: Color) -> Self

Converts to this type from the input type.
source§

impl From<Color> for Color

source§

fn from(value: Color) -> Self

Converts to this type from the input type.
source§

impl<Unit> From<Color> for StrokeOptions<Unit>where - Unit: DefaultStrokeWidth,

source§

fn from(color: Color) -> Self

Converts to this type from the input type.
source§

impl Hash for Color

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

source

pub const fn with_red(self, red: u8) -> Self

Returns a new color replacing this colors red channel with red.

+
source

pub const fn with_green(self, red: u8) -> Self

Returns a new color replacing this colors green channel with green.

+
source

pub const fn with_blue(self, blue: u8) -> Self

Returns a new color replacing this colors blue channel with blue.

+
source

pub const fn with_alpha(self, alpha: u8) -> Self

Returns a new color replacing this colors alpha channel with alpha.

+
source

pub fn with_red_f32(self, red: f32) -> Self

Returns a new color replacing this colors red channel with red.

+
source

pub fn with_green_f32(self, green: f32) -> Self

Returns a new color replacing this colors green channel with green.

+
source

pub fn with_blue_f32(self, blue: f32) -> Self

Returns a new color replacing this colors blue channel with blue.

+
source

pub fn with_alpha_f32(self, alpha: f32) -> Self

Returns a new color replacing this colors alpha channel with alpha.

+
source§

impl Color

source

pub const ALICEBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const ANTIQUEWHITE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const AQUA: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const AQUAMARINE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const AZURE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const BEIGE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const BISQUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const BLACK: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const BLANCHEDALMOND: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const BLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const BLUEVIOLET: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const BROWN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const BURLYWOOD: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const CADETBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const CHARTREUSE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const CHOCOLATE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const CLEAR_BLACK: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const CLEAR_WHITE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const CORAL: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const CORNFLOWERBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const CORNSILK: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const CRIMSON: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const CYAN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKCYAN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKGOLDENROD: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKGREY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKKHAKI: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKMAGENTA: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKOLIVEGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKORANGE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKORCHID: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKRED: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKSALMON: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKSEAGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKSLATEBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKSLATEGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKSLATEGREY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKTURQUOISE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DARKVIOLET: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DEEPPINK: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DEEPSKYBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DIMGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DIMGREY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const DODGERBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const FIREBRICK: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const FLORALWHITE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const FORESTGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const FUCHSIA: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const GAINSBORO: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const GHOSTWHITE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const GOLD: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const GOLDENROD: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const GRAY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const GREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const GREENYELLOW: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const GREY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const HONEYDEW: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const HOTPINK: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const INDIANRED: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const INDIGO: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const IVORY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const KHAKI: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LAVENDER: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LAVENDERBLUSH: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LAWNGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LEMONCHIFFON: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTCORAL: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTCYAN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTGOLDENRODYELLOW: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTGREY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTPINK: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTSALMON: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTSEAGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTSKYBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTSLATEGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTSLATEGREY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTSTEELBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIGHTYELLOW: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIME: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LIMEGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const LINEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MAGENTA: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MAROON: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MEDIUMAQUAMARINE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MEDIUMBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MEDIUMORCHID: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MEDIUMPURPLE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MEDIUMSEAGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MEDIUMSLATEBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MEDIUMSPRINGGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MEDIUMTURQUOISE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MEDIUMVIOLETRED: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MIDNIGHTBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MINTCREAM: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MISTYROSE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const MOCCASIN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const NAVAJOWHITE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const NAVY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const OLDLACE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const OLIVE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const OLIVEDRAB: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const ORANGE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const ORANGERED: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const ORCHID: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const PALEGOLDENROD: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const PALEGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const PALETURQUOISE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const PALEVIOLETRED: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const PAPAYAWHIP: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const PEACHPUFF: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const PERU: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const PINK: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const PLUM: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const POWDERBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const PURPLE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const REBECCAPURPLE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const RED: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const ROSYBROWN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const ROYALBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SADDLEBROWN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SALMON: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SANDYBROWN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SEAGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SEASHELL: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SIENNA: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SILVER: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SKYBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SLATEBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SLATEGRAY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SLATEGREY: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SNOW: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const SPRINGGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const STEELBLUE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const TAN: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const TEAL: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const THISTLE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const TOMATO: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const TURQUOISE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const VIOLET: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const WHEAT: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const WHITE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const WHITESMOKE: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const YELLOW: Self = _

Equivalent to the CSS color keywords of the same name.

+
source

pub const YELLOWGREEN: Self = _

Equivalent to the CSS color keywords of the same name.

+

Trait Implementations§

source§

impl Clone for Color

source§

fn clone(&self) -> Color

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 Debug for Color

source§

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

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

impl From<Color> for Color

source§

fn from(value: Color) -> Self

Converts to this type from the input type.
source§

impl From<Color> for Color

source§

fn from(value: Color) -> Self

Converts to this type from the input type.
source§

impl From<Color> for Color

source§

fn from(color: Color) -> Self

Converts to this type from the input type.
source§

impl<Unit> From<Color> for StrokeOptions<Unit>where + Unit: DefaultStrokeWidth,

source§

fn from(color: Color) -> Self

Converts to this type from the input type.
source§

impl Hash for Color

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<Color> for Color

source§

fn eq(&self, other: &Color) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<Color> for Color

source§

fn eq(&self, other: &Color) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Zeroable for Color

§

fn zeroed() -> Self

source§

impl Copy for Color

source§

impl Eq for Color

source§

impl Pod for Color

source§

impl StructuralEq for Color

source§

impl StructuralPartialEq for Color

Auto Trait Implementations§

§

impl RefUnwindSafe for Color

§

impl Send for Color

§

impl Sync for Color

§

impl Unpin for Color

§

impl UnwindSafe for Color

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Zeroable for Color

§

fn zeroed() -> Self

source§

impl Copy for Color

source§

impl Eq for Color

source§

impl Pod for Color

source§

impl StructuralEq for Color

source§

impl StructuralPartialEq for Color

Auto Trait Implementations§

§

impl RefUnwindSafe for Color

§

impl Send for Color

§

impl Sync for Color

§

impl Unpin for Color

§

impl UnwindSafe for Color

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<A> Cast for A

§

fn cast<To>(self) -> Towhere diff --git a/main/kludgine/struct.Drawable.html b/main/kludgine/struct.Drawable.html index 72d288483..c48996f8b 100644 --- a/main/kludgine/struct.Drawable.html +++ b/main/kludgine/struct.Drawable.html @@ -1,4 +1,4 @@ -Drawable in kludgine - Rust

Struct kludgine::Drawable

source ·
pub struct Drawable<T, Unit> {
+Drawable in kludgine - Rust

Struct kludgine::Drawable

source ·
pub struct Drawable<T, Unit> {
     pub source: T,
     pub translation: Point<Unit>,
     pub rotation: Option<Angle>,
@@ -8,10 +8,10 @@
 
§translation: Point<Unit>

Translate the source before rendering.

§rotation: Option<Angle>

Rotate the source before rendering.

§scale: Option<f32>

Scale the source before rendering.

-

Trait Implementations§

source§

impl<T, Unit> DrawableExt<T, Unit> for Drawable<T, Unit>

source§

fn translate_by(self, point: Point<Unit>) -> Drawable<T, Unit>

Translates self by point.
source§

fn rotate_by(self, angle: Angle) -> Drawable<T, Unit>

Rotates self by angle.
source§

fn scale(self, factor: f32) -> Drawable<T, Unit>

Scales self by factor.
source§

impl<'a, T, Unit> From<&'a T> for Drawable<&'a T, Unit>where +

Trait Implementations§

source§

impl<T, Unit> DrawableExt<T, Unit> for Drawable<T, Unit>

source§

fn translate_by(self, point: Point<Unit>) -> Drawable<T, Unit>

Translates self by point.
source§

fn rotate_by(self, angle: Angle) -> Drawable<T, Unit>

Rotates self by angle.
source§

fn scale(self, factor: f32) -> Drawable<T, Unit>

Scales self by factor.
source§

impl<'a, T, Unit> From<&'a T> for Drawable<&'a T, Unit>where T: DrawableSource, - Unit: Default,

source§

fn from(what: &'a T) -> Self

Converts to this type from the input type.
source§

impl<'a, Unit> From<Text<'a, Unit>> for Drawable<Text<'a, Unit>, Unit>where - Unit: Default,

source§

fn from(what: Text<'a, Unit>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<T, Unit> RefUnwindSafe for Drawable<T, Unit>where + Unit: Default,

source§

fn from(what: &'a T) -> Self

Converts to this type from the input type.
source§

impl<'a, Unit> From<Text<'a, Unit>> for Drawable<Text<'a, Unit>, Unit>where + Unit: Default,

source§

fn from(what: Text<'a, Unit>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<T, Unit> RefUnwindSafe for Drawable<T, Unit>where T: RefUnwindSafe, Unit: RefUnwindSafe,

§

impl<T, Unit> Send for Drawable<T, Unit>where T: Send, diff --git a/main/kludgine/struct.Frame.html b/main/kludgine/struct.Frame.html index 0fb77e94f..90e895dd4 100644 --- a/main/kludgine/struct.Frame.html +++ b/main/kludgine/struct.Frame.html @@ -1,9 +1,9 @@ -Frame in kludgine - Rust

Struct kludgine::Frame

source ·
pub struct Frame<'gfx> { /* private fields */ }
Expand description

A frame that can be rendered.

+Frame in kludgine - Rust

Struct kludgine::Frame

source ·
pub struct Frame<'gfx> { /* private fields */ }
Expand description

A frame that can be rendered.

Panics

After Frame::render() has been invoked, this type will panic if dropped before either Frame::submit() or Frame::abort() are invoked. This panic is designed to prevent accidentally forgetting to submit a frame to the GPU.q

-

Implementations§

source§

impl Frame<'_>

source

pub fn prepare<'gfx>( +

Implementations§

source§

impl Frame<'_>

source

pub fn prepare<'gfx>( &'gfx mut self, device: &'gfx Device, queue: &'gfx Queue @@ -18,7 +18,7 @@

Panics

The returned graphics provides access to the various types to update their representation on the GPU so that they can be rendered later.

-
source

pub fn render<'gfx, 'pass>( +

source

pub fn render<'gfx, 'pass>( &'pass mut self, pass: &RenderPassDescriptor<'pass, '_>, device: &'gfx Device, @@ -30,7 +30,7 @@

Panics

  • PreparedText
  • Drawing
  • -

    source

    pub fn render_into<'gfx, 'pass>( +

    source

    pub fn render_into<'gfx, 'pass>( &'pass mut self, texture: &'pass Texture, load_op: LoadOp<Color>, @@ -43,16 +43,16 @@

    Panics

  • PreparedText
  • Drawing
  • -
    source

    pub fn submit(self, queue: &Queue) -> Option<SubmissionIndex>

    Submits all of the commands for this frame to the GPU.

    +
    source

    pub fn submit(self, queue: &Queue) -> Option<SubmissionIndex>

    Submits all of the commands for this frame to the GPU.

    This function does not block for the operations to finish. The returned [wgpu::SubmissionIndex] can be used to block until completion if desired.

    -
    source

    pub fn abort(self)

    Aborts rendering this frame.

    +
    source

    pub fn abort(self)

    Aborts rendering this frame.

    If Frame::render() has been invoked, this function must be used instead of dropping the frame. This type implements a panic-on-drop to prevent forgetting to submit the frame to the GPU, and this function prevents the panic from happening.

    -

    Trait Implementations§

    source§

    impl Drop for Frame<'_>

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more

    Auto Trait Implementations§

    §

    impl<'gfx> !RefUnwindSafe for Frame<'gfx>

    §

    impl<'gfx> Send for Frame<'gfx>

    §

    impl<'gfx> Sync for Frame<'gfx>

    §

    impl<'gfx> Unpin for Frame<'gfx>

    §

    impl<'gfx> !UnwindSafe for Frame<'gfx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Drop for Frame<'_>

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more

    Auto Trait Implementations§

    §

    impl<'gfx> !RefUnwindSafe for Frame<'gfx>

    §

    impl<'gfx> Send for Frame<'gfx>

    §

    impl<'gfx> Sync for Frame<'gfx>

    §

    impl<'gfx> Unpin for Frame<'gfx>

    §

    impl<'gfx> !UnwindSafe for Frame<'gfx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<A> Cast for A

    §

    fn cast<To>(self) -> Towhere diff --git a/main/kludgine/struct.Graphics.html b/main/kludgine/struct.Graphics.html index 1233e5667..fd8b5f589 100644 --- a/main/kludgine/struct.Graphics.html +++ b/main/kludgine/struct.Graphics.html @@ -1,4 +1,4 @@ -Graphics in kludgine - Rust

    Struct kludgine::Graphics

    source ·
    pub struct Graphics<'gfx> { /* private fields */ }
    Expand description
    source§

    impl<'gfx> Graphics<'gfx>

    source

    pub fn new( +

    source§

    impl<'gfx> Graphics<'gfx>

    source

    pub fn new( kludgine: &'gfx mut Kludgine, device: &'gfx Device, queue: &'gfx Queue ) -> Self

    Returns a new instance.

    -
    source

    pub const fn device(&self) -> &'gfx Device

    Returns a reference to the underlying [wgpu::Device].

    -
    source

    pub const fn queue(&self) -> &'gfx Queue

    Returns a reference to the underlying [wgpu::Queue].

    -
    source

    pub fn font_system(&mut self) -> &mut FontSystem

    Returns a mutable reference to the [cosmic_text::FontSystem] used when +

    source

    pub const fn device(&self) -> &'gfx Device

    Returns a reference to the underlying [wgpu::Device].

    +
    source

    pub const fn queue(&self) -> &'gfx Queue

    Returns a reference to the underlying [wgpu::Queue].

    +
    source

    pub fn font_system(&mut self) -> &mut FontSystem

    Returns a mutable reference to the [cosmic_text::FontSystem] used when rendering text.

    -
    source

    pub const fn size(&self) -> Size<UPx>

    Returns the current clipped size of the context.

    +
    source

    pub const fn size(&self) -> Size<UPx>

    Returns the current clipped size of the context.

    If this context has not been clipped, the value returned will be equivalent to Kludgine::size.

    -
    source

    pub const fn clip_rect(&self) -> Rect<UPx>

    Returns the current rectangular area of the context.

    +
    source

    pub const fn clip_rect(&self) -> Rect<UPx>

    Returns the current rectangular area of the context.

    If this context has not been clipped, the value returned will be equivalent to Kludgine::size with an origin of 0,0.

    Methods from Deref<Target = Kludgine>§

    source

    pub fn font_system(&mut self) -> &mut FontSystem

    Returns a mutable reference to the [cosmic_text::FontSystem] used when @@ -49,17 +49,17 @@

    source

    pub fn text_attrs(&self) -> Attrs<'_>

    Returns the current text attributes.

    source

    pub fn set_text_attributes(&mut self, attrs: Attrs<'_>)

    Sets the current text attributes.

    source

    pub fn reset_text_attributes(&mut self)

    Resets all of the text related properties to their default settings.

    -
    source

    pub fn resize(&mut self, new_size: Size<UPx>, new_scale: f32, queue: &Queue)

    Updates the size and scale of this Kludgine instance.

    +
    source

    pub fn resize(&mut self, new_size: Size<UPx>, new_scale: f32, queue: &Queue)

    Updates the size and scale of this Kludgine instance.

    This function updates data stored in the GPU that affects how graphics are rendered. It should be called before calling next_frame() if the size or scale of the underlying surface has changed.

    -
    source

    pub fn next_frame(&mut self) -> Frame<'_>

    Begins rendering a new frame.

    -
    source

    pub fn size(&self) -> Size<UPx>

    Returns the currently configured size to render.

    -
    source

    pub fn scale(&self) -> Fraction

    Returns the current scaling factor for the display this instance is +

    source

    pub fn next_frame(&mut self) -> Frame<'_>

    Begins rendering a new frame.

    +
    source

    pub fn size(&self) -> Size<UPx>

    Returns the currently configured size to render.

    +
    source

    pub fn scale(&self) -> Fraction

    Returns the current scaling factor for the display this instance is rendering to.

    -

    Trait Implementations§

    source§

    impl AsRef<Device> for Graphics<'_>

    source§

    fn as_ref(&self) -> &Device

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl AsRef<Queue> for Graphics<'_>

    source§

    fn as_ref(&self) -> &Queue

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl Clipped for Graphics<'_>

    source§

    fn push_clip(&mut self, clip: Rect<UPx>)

    Pushes a new clipping state to the clipping stack. Read more
    source§

    fn pop_clip(&mut self)

    Restores the clipping rect to the previous state before the last call to -Clipped::push_clip(). Read more
    source§

    fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

    Returns a ClipGuard that causes all drawing operations to be offset -and clipped to clip until it is dropped. Read more
    source§

    impl<'gfx> Debug for Graphics<'gfx>

    source§

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

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

    impl Deref for Graphics<'_>

    §

    type Target = Kludgine

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Graphics<'_>

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl KludgineGraphics for Graphics<'_>

    Auto Trait Implementations§

    §

    impl<'gfx> !RefUnwindSafe for Graphics<'gfx>

    §

    impl<'gfx> Send for Graphics<'gfx>

    §

    impl<'gfx> Sync for Graphics<'gfx>

    §

    impl<'gfx> Unpin for Graphics<'gfx>

    §

    impl<'gfx> !UnwindSafe for Graphics<'gfx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl AsRef<Device> for Graphics<'_>

    source§

    fn as_ref(&self) -> &Device

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl AsRef<Queue> for Graphics<'_>

    source§

    fn as_ref(&self) -> &Queue

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl Clipped for Graphics<'_>

    source§

    fn push_clip(&mut self, clip: Rect<UPx>)

    Pushes a new clipping state to the clipping stack. Read more
    source§

    fn pop_clip(&mut self)

    Restores the clipping rect to the previous state before the last call to +Clipped::push_clip(). Read more
    source§

    fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

    Returns a ClipGuard that causes all drawing operations to be offset +and clipped to clip until it is dropped. Read more
    source§

    impl<'gfx> Debug for Graphics<'gfx>

    source§

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

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

    impl Deref for Graphics<'_>

    §

    type Target = Kludgine

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Graphics<'_>

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl KludgineGraphics for Graphics<'_>

    Auto Trait Implementations§

    §

    impl<'gfx> !RefUnwindSafe for Graphics<'gfx>

    §

    impl<'gfx> Send for Graphics<'gfx>

    §

    impl<'gfx> Sync for Graphics<'gfx>

    §

    impl<'gfx> Unpin for Graphics<'gfx>

    §

    impl<'gfx> !UnwindSafe for Graphics<'gfx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<A> Cast for A

    §

    fn cast<To>(self) -> Towhere diff --git a/main/kludgine/struct.Kludgine.html b/main/kludgine/struct.Kludgine.html index 308951766..c1e3a1fa4 100644 --- a/main/kludgine/struct.Kludgine.html +++ b/main/kludgine/struct.Kludgine.html @@ -1,4 +1,4 @@ -Kludgine in kludgine - Rust

    Struct kludgine::Kludgine

    source ·
    pub struct Kludgine { /* private fields */ }
    Expand description

    A 2d graphics instance.

    +Kludgine in kludgine - Rust

    Struct kludgine::Kludgine

    source ·
    pub struct Kludgine { /* private fields */ }
    Expand description

    A 2d graphics instance.

    This type contains the GPU state for a single instance of Kludgine. To render graphics correctly, it must know the size and scale of the surface being rendered to. These values are provided in the constructor, but can be @@ -30,22 +30,21 @@

    source

    pub fn text_attrs(&self) -> Attrs<'_>

    Returns the current text attributes.

    source

    pub fn set_text_attributes(&mut self, attrs: Attrs<'_>)

    Sets the current text attributes.

    source

    pub fn reset_text_attributes(&mut self)

    Resets all of the text related properties to their default settings.

    -
    source§

    impl Kludgine

    source

    pub fn new( +

    source§

    impl Kludgine

    source

    pub fn new( device: &Device, queue: &Queue, format: TextureFormat, - filter_mode: FilterMode, multisample: MultisampleState, initial_size: Size<UPx>, scale: f32 ) -> Self

    Returns a new instance of Kludgine with the provided parameters.

    -
    source

    pub fn resize(&mut self, new_size: Size<UPx>, new_scale: f32, queue: &Queue)

    Updates the size and scale of this Kludgine instance.

    +
    source

    pub fn resize(&mut self, new_size: Size<UPx>, new_scale: f32, queue: &Queue)

    Updates the size and scale of this Kludgine instance.

    This function updates data stored in the GPU that affects how graphics are rendered. It should be called before calling next_frame() if the size or scale of the underlying surface has changed.

    -
    source

    pub fn next_frame(&mut self) -> Frame<'_>

    Begins rendering a new frame.

    -
    source

    pub const fn size(&self) -> Size<UPx>

    Returns the currently configured size to render.

    -
    source

    pub const fn scale(&self) -> Fraction

    Returns the current scaling factor for the display this instance is +

    source

    pub fn next_frame(&mut self) -> Frame<'_>

    Begins rendering a new frame.

    +
    source

    pub const fn size(&self) -> Size<UPx>

    Returns the currently configured size to render.

    +
    source

    pub const fn scale(&self) -> Fraction

    Returns the current scaling factor for the display this instance is rendering to.

    Trait Implementations§

    source§

    impl Debug for Kludgine

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere diff --git a/main/kludgine/struct.RenderingGraphics.html b/main/kludgine/struct.RenderingGraphics.html index 007056823..5f5416960 100644 --- a/main/kludgine/struct.RenderingGraphics.html +++ b/main/kludgine/struct.RenderingGraphics.html @@ -1,13 +1,13 @@ -RenderingGraphics in kludgine - Rust
    pub struct RenderingGraphics<'gfx, 'pass> { /* private fields */ }
    Expand description

    A graphics context used to render previously prepared graphics.

    +RenderingGraphics in kludgine - Rust
    pub struct RenderingGraphics<'gfx, 'pass> { /* private fields */ }
    Expand description

    A graphics context used to render previously prepared graphics.

    This type is used to render these types:

    -

    Implementations§

    source§

    impl<'gfx, 'pass> RenderingGraphics<'gfx, 'pass>

    source

    pub const fn device(&self) -> &'gfx Device

    Returns a reference to the underlying [wgpu::Device].

    -
    source

    pub const fn queue(&self) -> &'gfx Queue

    Returns a reference to the underlying [wgpu::Queue].

    -
    source

    pub fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

    Returns a ClipGuard that causes all drawing operations to be offset +

    Implementations§

    source§

    impl<'gfx, 'pass> RenderingGraphics<'gfx, 'pass>

    source

    pub const fn device(&self) -> &'gfx Device

    Returns a reference to the underlying [wgpu::Device].

    +
    source

    pub const fn queue(&self) -> &'gfx Queue

    Returns a reference to the underlying [wgpu::Queue].

    +
    source

    pub fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

    Returns a ClipGuard that causes all drawing operations to be offset and clipped to clip until it is dropped.

    This function causes the RenderingGraphics to act as if the origin of the context is clip.origin, and the size of the context is @@ -15,12 +15,12 @@ the effective clip rect’s origin.

    clip is relative to the current clip rect and cannot extend the current clipping rectangle.

    -
    source

    pub const fn size(&self) -> Size<UPx>

    Returns the current size of the graphics area being rendered to.

    +
    source

    pub const fn size(&self) -> Size<UPx>

    Returns the current size of the graphics area being rendered to.

    If the graphics has been clipped, this returns the current width of the clipped area.

    -
    source

    pub const fn scale(&self) -> Fraction

    Returns the current scaling factor of the display being rendered to.

    -

    Trait Implementations§

    source§

    impl Clipped for RenderingGraphics<'_, '_>

    source§

    fn pop_clip(&mut self)

    Restores the clipping rect to the previous state before the last call to -Clipped::push_clip(). Read more
    source§

    fn push_clip(&mut self, clip: Rect<UPx>)

    Pushes a new clipping state to the clipping stack. Read more
    source§

    fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

    Returns a ClipGuard that causes all drawing operations to be offset +
    source

    pub const fn scale(&self) -> Fraction

    Returns the current scaling factor of the display being rendered to.

    +

    Trait Implementations§

    source§

    impl Clipped for RenderingGraphics<'_, '_>

    source§

    fn pop_clip(&mut self)

    Restores the clipping rect to the previous state before the last call to +Clipped::push_clip(). Read more
    source§

    fn push_clip(&mut self, clip: Rect<UPx>)

    Pushes a new clipping state to the clipping stack. Read more
    source§

    fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

    Returns a ClipGuard that causes all drawing operations to be offset and clipped to clip until it is dropped. Read more

    Auto Trait Implementations§

    §

    impl<'gfx, 'pass> !RefUnwindSafe for RenderingGraphics<'gfx, 'pass>

    §

    impl<'gfx, 'pass> Send for RenderingGraphics<'gfx, 'pass>

    §

    impl<'gfx, 'pass> Sync for RenderingGraphics<'gfx, 'pass>

    §

    impl<'gfx, 'pass> Unpin for RenderingGraphics<'gfx, 'pass>

    §

    impl<'gfx, 'pass> !UnwindSafe for RenderingGraphics<'gfx, 'pass>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere diff --git a/main/kludgine/struct.SharedTexture.html b/main/kludgine/struct.SharedTexture.html index a0c63bffa..cdc2ff87e 100644 --- a/main/kludgine/struct.SharedTexture.html +++ b/main/kludgine/struct.SharedTexture.html @@ -1,7 +1,7 @@ -SharedTexture in kludgine - Rust

    Struct kludgine::SharedTexture

    source ·
    pub struct SharedTexture(/* private fields */);
    Expand description

    A cloneable texture.

    -

    Implementations§

    Methods from Deref<Target = Texture>§

    source

    pub fn prepare_sized<Unit>( &self, origin: Origin<Unit>, size: Size<Unit>, @@ -11,14 +11,14 @@ Point<Unit>: Div<Unit, Output = Point<Unit>> + Neg<Output = Point<Unit>>, Vertex<Unit>: Pod,

    Prepares to render this texture with size. The returned graphic will be oriented around origin.

    -
    source

    pub fn prepare<Unit>( +

    source

    pub fn prepare<Unit>( &self, dest: Rect<Unit>, graphics: &Graphics<'_> ) -> PreparedGraphic<Unit>where Unit: Unit, Vertex<Unit>: Pod,

    Prepares to render this texture at the given location.

    -
    source

    pub fn prepare_partial<Unit>( +

    source

    pub fn prepare_partial<Unit>( &self, source: Rect<UPx>, dest: Rect<Unit>, @@ -26,11 +26,11 @@ ) -> PreparedGraphic<Unit>where Unit: Unit, Vertex<Unit>: Pod,

    Prepares the source area to be rendered at dest.

    -
    source

    pub fn size(&self) -> Size<UPx>

    The size of the texture.

    -
    source

    pub fn format(&self) -> TextureFormat

    The format of the texture.

    -

    Trait Implementations§

    source§

    impl Clone for SharedTexture

    source§

    fn clone(&self) -> SharedTexture

    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 Debug for SharedTexture

    source§

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

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

    impl Deref for SharedTexture

    §

    type Target = Texture

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl From<SharedTexture> for AnyTexture

    source§

    fn from(texture: SharedTexture) -> Self

    Converts to this type from the input type.
    source§

    impl From<SharedTexture> for TextureRegion

    source§

    fn from(texture: SharedTexture) -> Self

    Converts to this type from the input type.
    source§

    impl From<Texture> for SharedTexture

    source§

    fn from(value: Texture) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq<SharedTexture> for SharedTexture

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used +
    source

    pub fn size(&self) -> Size<UPx>

    The size of the texture.

    +
    source

    pub fn format(&self) -> TextureFormat

    The format of the texture.

    +

    Trait Implementations§

    source§

    impl Clone for SharedTexture

    source§

    fn clone(&self) -> SharedTexture

    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 Debug for SharedTexture

    source§

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

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

    impl Deref for SharedTexture

    §

    type Target = Texture

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl From<SharedTexture> for AnyTexture

    source§

    fn from(texture: SharedTexture) -> Self

    Converts to this type from the input type.
    source§

    impl From<SharedTexture> for TextureRegion

    source§

    fn from(texture: SharedTexture) -> Self

    Converts to this type from the input type.
    source§

    impl From<Texture> for SharedTexture

    source§

    fn from(value: Texture) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq<SharedTexture> for SharedTexture

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for SharedTexture

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for SharedTexture

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<A> Cast for A

    §

    fn cast<To>(self) -> Towhere diff --git a/main/kludgine/struct.Texture.html b/main/kludgine/struct.Texture.html index 5b4abe11a..89d3c1a64 100644 --- a/main/kludgine/struct.Texture.html +++ b/main/kludgine/struct.Texture.html @@ -1,27 +1,34 @@ -Texture in kludgine - Rust

    Struct kludgine::Texture

    source ·
    pub struct Texture { /* private fields */ }
    Expand description

    An image stored on the GPU.

    -

    Implementations§

    source§

    impl Texture

    source

    pub fn new( +Texture in kludgine - Rust

    Struct kludgine::Texture

    source ·
    pub struct Texture { /* private fields */ }
    Expand description

    An image stored on the GPU.

    +

    Implementations§

    source§

    impl Texture

    source

    pub fn new( graphics: &Graphics<'_>, size: Size<UPx>, format: TextureFormat, - usage: TextureUsages + usage: TextureUsages, + filter_mode: FilterMode ) -> Self

    Creates a new texture of the given size, format, and usages.

    -
    source

    pub fn new_with_data( +

    source

    pub fn new_with_data( graphics: &Graphics<'_>, size: Size<UPx>, format: TextureFormat, usage: TextureUsages, + filter_mode: FilterMode, data: &[u8] ) -> Self

    Returns a new texture of the given size, format, and usages. The texture is initialized with data. data must match format.

    -
    source

    pub fn lazy_from_data( +

    source

    pub fn lazy_from_data( size: Size<UPx>, format: TextureFormat, usage: TextureUsages, + filter_mode: FilterMode, data: Vec<u8> ) -> Self

    Returns a new texture that loads its data to the gpu once used.

    -
    source

    pub fn from_image(image: DynamicImage, graphics: &Graphics<'_>) -> Self

    Creates a texture from image.

    -
    source

    pub fn lazy_from_image(image: DynamicImage) -> Self

    Returns a texture that loads image into the gpu when it is used.

    -
    source

    pub fn prepare_sized<Unit>( +

    source

    pub fn from_image( + image: DynamicImage, + filter_mode: FilterMode, + graphics: &Graphics<'_> +) -> Self

    Creates a texture from image.

    +
    source

    pub fn lazy_from_image(image: DynamicImage, filter_mode: FilterMode) -> Self

    Returns a texture that loads image into the gpu when it is used.

    +
    source

    pub fn prepare_sized<Unit>( &self, origin: Origin<Unit>, size: Size<Unit>, @@ -31,14 +38,14 @@ Point<Unit>: Div<Unit, Output = Point<Unit>> + Neg<Output = Point<Unit>>, Vertex<Unit>: Pod,

    Prepares to render this texture with size. The returned graphic will be oriented around origin.

    -
    source

    pub fn prepare<Unit>( +

    source

    pub fn prepare<Unit>( &self, dest: Rect<Unit>, graphics: &Graphics<'_> ) -> PreparedGraphic<Unit>where Unit: Unit, Vertex<Unit>: Pod,

    Prepares to render this texture at the given location.

    -
    source

    pub fn prepare_partial<Unit>( +

    source

    pub fn prepare_partial<Unit>( &self, source: Rect<UPx>, dest: Rect<Unit>, @@ -46,9 +53,9 @@ ) -> PreparedGraphic<Unit>where Unit: Unit, Vertex<Unit>: Pod,

    Prepares the source area to be rendered at dest.

    -
    source

    pub const fn size(&self) -> Size<UPx>

    The size of the texture.

    -
    source

    pub const fn format(&self) -> TextureFormat

    The format of the texture.

    -

    Trait Implementations§

    source§

    impl Debug for Texture

    source§

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

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

    impl From<Texture> for AnyTexture

    source§

    fn from(texture: Texture) -> Self

    Converts to this type from the input type.
    source§

    impl From<Texture> for SharedTexture

    source§

    fn from(value: Texture) -> Self

    Converts to this type from the input type.
    source§

    impl TextureSource for Texture

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    source

    pub const fn size(&self) -> Size<UPx>

    The size of the texture.

    +
    source

    pub const fn format(&self) -> TextureFormat

    The format of the texture.

    +

    Trait Implementations§

    source§

    impl Debug for Texture

    source§

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

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

    impl From<Texture> for AnyTexture

    source§

    fn from(texture: Texture) -> Self

    Converts to this type from the input type.
    source§

    impl From<Texture> for SharedTexture

    source§

    fn from(value: Texture) -> Self

    Converts to this type from the input type.
    source§

    impl TextureSource for Texture

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<A> Cast for A

    §

    fn cast<To>(self) -> Towhere diff --git a/main/kludgine/struct.TextureCollection.html b/main/kludgine/struct.TextureCollection.html index 39918102c..1dbb8ff97 100644 --- a/main/kludgine/struct.TextureCollection.html +++ b/main/kludgine/struct.TextureCollection.html @@ -1,4 +1,4 @@ -TextureCollection in kludgine - Rust
    pub struct TextureCollection { /* private fields */ }
    Expand description

    A collection of multiple textures, managed as a single texture on the GPU. +TextureCollection in kludgine - Rust

    pub struct TextureCollection { /* private fields */ }
    Expand description

    A collection of multiple textures, managed as a single texture on the GPU. This type is often called an atlas.

    The collection is currently fixed-size and will panic when an allocation fails. In the future, this type will dynamically grow as more textures are @@ -7,12 +7,13 @@ otherwise the packing may be inefficient. For example, packing many images that are multiples of 32px wide/tall will be very efficient. Interally, this type is used for caching rendered glyphs on the GPU.

    -

    Implementations§

    source§

    impl TextureCollection

    source

    pub fn new( +

    Implementations§

    source§

    impl TextureCollection

    source

    pub fn new( initial_size: Size<UPx>, format: TextureFormat, + filter_mode: FilterMode, graphics: &Graphics<'_> ) -> Self

    Returns a new atlas of the given size and format.

    -
    source

    pub fn push_texture( +

    source

    pub fn push_texture( &mut self, data: &[u8], data_layout: ImageDataLayout, @@ -23,7 +24,7 @@ exactly according to the data_layout and size and format.

    The returned CollectedTexture will automatically free the space it occupies when the last instance is dropped.

    -

    source

    pub fn push_image( +

    source

    pub fn push_image( &mut self, image: &DynamicImage, graphics: &Graphics<'_> @@ -32,8 +33,8 @@ occupies when the last instance is dropped.

    Panics

    Currently this only supports uploading to Rgba8 formatted textures.

    -
    source

    pub fn size(&self) -> Size<UPx>

    Returns the current size of the underlying texture.

    -
    source

    pub fn prepare_entire_colection<Unit>( +

    source

    pub fn size(&self) -> Size<UPx>

    Returns the current size of the underlying texture.

    +
    source

    pub fn prepare_entire_colection<Unit>( &self, dest: Rect<Unit>, graphics: &Graphics<'_> @@ -42,8 +43,8 @@

    Panics
    Vertex<Unit>: Pod,

    Returns a PreparedGraphic for the entire texture.

    This is primarily a debugging tool, as generally the CollectedTextures are rendered instead.

    -
    source

    pub const fn format(&self) -> TextureFormat

    Returns the format of the texture backing this collection.

    -

    Trait Implementations§

    source§

    impl Clone for TextureCollection

    source§

    fn clone(&self) -> TextureCollection

    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 TextureSource for TextureCollection

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    source

    pub const fn format(&self) -> TextureFormat

    Returns the format of the texture backing this collection.

    +

    Trait Implementations§

    source§

    impl Clone for TextureCollection

    source§

    fn clone(&self) -> TextureCollection

    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 TextureSource for TextureCollection

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<A> Cast for A

    §

    fn cast<To>(self) -> Towhere diff --git a/main/kludgine/struct.TextureRegion.html b/main/kludgine/struct.TextureRegion.html index a8feab401..906858906 100644 --- a/main/kludgine/struct.TextureRegion.html +++ b/main/kludgine/struct.TextureRegion.html @@ -1,16 +1,16 @@ -TextureRegion in kludgine - Rust

    Struct kludgine::TextureRegion

    source ·
    pub struct TextureRegion { /* private fields */ }
    Expand description

    A region of a SharedTexture.

    +TextureRegion in kludgine - Rust

    Struct kludgine::TextureRegion

    source ·
    pub struct TextureRegion { /* private fields */ }
    Expand description

    A region of a SharedTexture.

    When this type is drawn, only a region of the source texture will be drawn.

    -

    Implementations§

    source§

    impl TextureRegion

    source

    pub const fn size(&self) -> Size<UPx>

    Returns the size of the region being drawn.

    -
    source

    pub fn prepare<Unit>( +

    Implementations§

    source§

    impl TextureRegion

    source

    pub const fn size(&self) -> Size<UPx>

    Returns the size of the region being drawn.

    +
    source

    pub fn prepare<Unit>( &self, dest: Rect<Unit>, graphics: &Graphics<'_> ) -> PreparedGraphic<Unit>where Unit: Unit, Vertex<Unit>: Pod,

    Prepares to render this texture at the given location.

    -

    Trait Implementations§

    source§

    impl Clone for TextureRegion

    source§

    fn clone(&self) -> TextureRegion

    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 Debug for TextureRegion

    source§

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

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

    impl From<SharedTexture> for TextureRegion

    source§

    fn from(texture: SharedTexture) -> Self

    Converts to this type from the input type.
    source§

    impl From<TextureRegion> for AnyTexture

    source§

    fn from(texture: TextureRegion) -> Self

    Converts to this type from the input type.
    source§

    impl From<TextureRegion> for SpriteSource

    source§

    fn from(texture: TextureRegion) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq<TextureRegion> for TextureRegion

    source§

    fn eq(&self, other: &TextureRegion) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for TextureRegion

    source§

    fn clone(&self) -> TextureRegion

    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 Debug for TextureRegion

    source§

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

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

    impl From<SharedTexture> for TextureRegion

    source§

    fn from(texture: SharedTexture) -> Self

    Converts to this type from the input type.
    source§

    impl From<TextureRegion> for AnyTexture

    source§

    fn from(texture: TextureRegion) -> Self

    Converts to this type from the input type.
    source§

    impl From<TextureRegion> for SpriteSource

    source§

    fn from(texture: TextureRegion) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq<TextureRegion> for TextureRegion

    source§

    fn eq(&self, other: &TextureRegion) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for TextureRegion

    source§

    impl StructuralEq for TextureRegion

    source§

    impl StructuralPartialEq for TextureRegion

    source§

    impl TextureSource for TextureRegion

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for TextureRegion

    source§

    impl StructuralEq for TextureRegion

    source§

    impl StructuralPartialEq for TextureRegion

    source§

    impl TextureSource for TextureRegion

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<A> Cast for A

    §

    fn cast<To>(self) -> Towhere diff --git a/main/kludgine/text/enum.TextOrigin.html b/main/kludgine/text/enum.TextOrigin.html index 78c78b50c..e39c1f6a1 100644 --- a/main/kludgine/text/enum.TextOrigin.html +++ b/main/kludgine/text/enum.TextOrigin.html @@ -1,4 +1,4 @@ -TextOrigin in kludgine::text - Rust

    Trait Implementations§

    source§

    impl<Unit: Clone> Clone for TextOrigin<Unit>

    source§

    fn clone(&self) -> TextOrigin<Unit>

    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<Unit: Debug> Debug for TextOrigin<Unit>

    source§

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

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

    impl<Unit> Default for TextOrigin<Unit>

    source§

    fn default() -> TextOrigin<Unit>

    Returns the “default value” for a type. Read more
    source§

    impl<Unit: PartialEq> PartialEq<TextOrigin<Unit>> for TextOrigin<Unit>

    source§

    fn eq(&self, other: &TextOrigin<Unit>) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl<Unit: Clone> Clone for TextOrigin<Unit>

    source§

    fn clone(&self) -> TextOrigin<Unit>

    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<Unit: Debug> Debug for TextOrigin<Unit>

    source§

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

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

    impl<Unit> Default for TextOrigin<Unit>

    source§

    fn default() -> TextOrigin<Unit>

    Returns the “default value” for a type. Read more
    source§

    impl<Unit: PartialEq> PartialEq<TextOrigin<Unit>> for TextOrigin<Unit>

    source§

    fn eq(&self, other: &TextOrigin<Unit>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<Unit> ScreenScale for TextOrigin<Unit>where - Unit: ScreenScale<Px = Px, Lp = Lp, UPx = UPx>,

    §

    type Lp = TextOrigin<<Unit as ScreenScale>::Lp>

    This type when measuring with Lp.
    §

    type Px = TextOrigin<<Unit as ScreenScale>::Px>

    This type when measuring with Px.
    §

    type UPx = TextOrigin<<Unit as ScreenScale>::UPx>

    This type when measuring with UPx.
    source§

    fn into_px(self, scale: Fraction) -> Self::Px

    Converts this value from its current unit into device pixels (Px) -using the provided scale factor.
    source§

    fn from_px(px: Self::Px, scale: Fraction) -> Self

    Converts from pixels into this type, using the provided scale factor.
    source§

    fn into_lp(self, scale: Fraction) -> Self::Lp

    Converts this value from its current unit into device independent pixels -(Lp) using the provided scale factor.
    source§

    fn from_lp(dips: Self::Lp, scale: Fraction) -> Self

    Converts from Lp into this type, using the provided scale factor.
    source§

    fn into_upx(self, scale: Fraction) -> Self::UPx

    Converts this value from its current unit into device pixels -(UPx) using the provided scale factor.
    source§

    fn from_upx(px: Self::UPx, scale: Fraction) -> Self

    Converts from unsigned pixels into this type, using the provided scale factor.
    source§

    impl<Unit: Copy> Copy for TextOrigin<Unit>

    source§

    impl<Unit: Eq> Eq for TextOrigin<Unit>

    source§

    impl<Unit> StructuralEq for TextOrigin<Unit>

    source§

    impl<Unit> StructuralPartialEq for TextOrigin<Unit>

    Auto Trait Implementations§

    §

    impl<Unit> RefUnwindSafe for TextOrigin<Unit>where +sufficient, and should not be overridden without very good reason.

    source§

    impl<Unit> ScreenScale for TextOrigin<Unit>where + Unit: ScreenScale<Px = Px, Lp = Lp, UPx = UPx>,

    §

    type Lp = TextOrigin<<Unit as ScreenScale>::Lp>

    This type when measuring with Lp.
    §

    type Px = TextOrigin<<Unit as ScreenScale>::Px>

    This type when measuring with Px.
    §

    type UPx = TextOrigin<<Unit as ScreenScale>::UPx>

    This type when measuring with UPx.
    source§

    fn into_px(self, scale: Fraction) -> Self::Px

    Converts this value from its current unit into device pixels (Px) +using the provided scale factor.
    source§

    fn from_px(px: Self::Px, scale: Fraction) -> Self

    Converts from pixels into this type, using the provided scale factor.
    source§

    fn into_lp(self, scale: Fraction) -> Self::Lp

    Converts this value from its current unit into device independent pixels +(Lp) using the provided scale factor.
    source§

    fn from_lp(dips: Self::Lp, scale: Fraction) -> Self

    Converts from Lp into this type, using the provided scale factor.
    source§

    fn into_upx(self, scale: Fraction) -> Self::UPx

    Converts this value from its current unit into device pixels +(UPx) using the provided scale factor.
    source§

    fn from_upx(px: Self::UPx, scale: Fraction) -> Self

    Converts from unsigned pixels into this type, using the provided scale factor.
    source§

    impl<Unit: Copy> Copy for TextOrigin<Unit>

    source§

    impl<Unit: Eq> Eq for TextOrigin<Unit>

    source§

    impl<Unit> StructuralEq for TextOrigin<Unit>

    source§

    impl<Unit> StructuralPartialEq for TextOrigin<Unit>

    Auto Trait Implementations§

    §

    impl<Unit> RefUnwindSafe for TextOrigin<Unit>where Unit: RefUnwindSafe,

    §

    impl<Unit> Send for TextOrigin<Unit>where Unit: Send,

    §

    impl<Unit> Sync for TextOrigin<Unit>where Unit: Sync,

    §

    impl<Unit> Unpin for TextOrigin<Unit>where diff --git a/main/kludgine/text/index.html b/main/kludgine/text/index.html index 682e4894a..e0fc1a294 100644 --- a/main/kludgine/text/index.html +++ b/main/kludgine/text/index.html @@ -1,2 +1,2 @@ -kludgine::text - Rust

    Module kludgine::text

    source ·
    Expand description

    Types for text rendering.

    +kludgine::text - Rust

    Module kludgine::text

    source ·
    Expand description

    Types for text rendering.

    Structs

    Enums

    \ No newline at end of file diff --git a/main/kludgine/text/struct.GlyphInfo.html b/main/kludgine/text/struct.GlyphInfo.html index 2525ead00..1298a3c05 100644 --- a/main/kludgine/text/struct.GlyphInfo.html +++ b/main/kludgine/text/struct.GlyphInfo.html @@ -1,4 +1,4 @@ -GlyphInfo in kludgine::text - Rust

    Struct kludgine::text::GlyphInfo

    source ·
    pub struct GlyphInfo {
    +GlyphInfo in kludgine::text - Rust

    Struct kludgine::text::GlyphInfo

    source ·
    pub struct GlyphInfo {
         pub start: usize,
         pub end: usize,
         pub line: usize,
    @@ -14,7 +14,7 @@
     measuring whitespace at the end of a line.

    §level: Level

    Unicode BiDi embedding level, character is left-to-right if level is divisible by 2

    §metadata: usize

    Custom metadata set in [cosmic_text::Attrs].

    -

    Trait Implementations§

    source§

    impl Clone for GlyphInfo

    source§

    fn clone(&self) -> GlyphInfo

    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 Debug for GlyphInfo

    source§

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

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

    impl Copy for GlyphInfo

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Clone for GlyphInfo

    source§

    fn clone(&self) -> GlyphInfo

    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 Debug for GlyphInfo

    source§

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

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

    impl Copy for GlyphInfo

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<A> Cast for A

    §

    fn cast<To>(self) -> Towhere diff --git a/main/kludgine/text/struct.MeasuredGlyph.html b/main/kludgine/text/struct.MeasuredGlyph.html index 5e1b8cef9..de03cde30 100644 --- a/main/kludgine/text/struct.MeasuredGlyph.html +++ b/main/kludgine/text/struct.MeasuredGlyph.html @@ -1,10 +1,10 @@ -MeasuredGlyph in kludgine::text - Rust
    pub struct MeasuredGlyph {
    +MeasuredGlyph in kludgine::text - Rust
    pub struct MeasuredGlyph {
         pub info: GlyphInfo,
         /* private fields */
     }
    Expand description

    Instructions for drawing a laid out glyph.

    Fields§

    §info: GlyphInfo

    Information about what glyph this is.

    -

    Implementations§

    source§

    impl MeasuredGlyph

    source

    pub fn rect(&self) -> Rect<Px>

    Returns the destination rectangle for this glyph.

    -

    Trait Implementations§

    source§

    impl Clone for MeasuredGlyph

    source§

    fn clone(&self) -> MeasuredGlyph

    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 Debug for MeasuredGlyph

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Implementations§

    source§

    impl MeasuredGlyph

    source

    pub fn rect(&self) -> Rect<Px>

    Returns the destination rectangle for this glyph.

    +

    Trait Implementations§

    source§

    impl Clone for MeasuredGlyph

    source§

    fn clone(&self) -> MeasuredGlyph

    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 Debug for MeasuredGlyph

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<A> Cast for A

    §

    fn cast<To>(self) -> Towhere diff --git a/main/kludgine/text/struct.MeasuredText.html b/main/kludgine/text/struct.MeasuredText.html index 4cbc28736..8ff651fe6 100644 --- a/main/kludgine/text/struct.MeasuredText.html +++ b/main/kludgine/text/struct.MeasuredText.html @@ -1,4 +1,4 @@ -MeasuredText in kludgine::text - Rust

    Struct kludgine::text::MeasuredText

    source ·
    pub struct MeasuredText<Unit> {
    +MeasuredText in kludgine::text - Rust

    Struct kludgine::text::MeasuredText

    source ·
    pub struct MeasuredText<Unit> {
         pub ascent: Unit,
         pub descent: Unit,
         pub left: Unit,
    @@ -12,7 +12,7 @@
     
    §line_height: Unit

    The measurement above the baseline of the text.

    §size: Size<Unit>

    The total size of the measured text, encompassing all lines.

    §glyphs: Vec<MeasuredGlyph>

    The individual glyhs that were laid out.

    -

    Trait Implementations§

    source§

    impl<Unit: Clone> Clone for MeasuredText<Unit>

    source§

    fn clone(&self) -> MeasuredText<Unit>

    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<Unit: Debug> Debug for MeasuredText<Unit>

    source§

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

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

    impl<Unit> DrawableSource for MeasuredText<Unit>

    Auto Trait Implementations§

    §

    impl<Unit> RefUnwindSafe for MeasuredText<Unit>where +

    Trait Implementations§

    source§

    impl<Unit: Clone> Clone for MeasuredText<Unit>

    source§

    fn clone(&self) -> MeasuredText<Unit>

    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<Unit: Debug> Debug for MeasuredText<Unit>

    source§

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

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

    impl<Unit> DrawableSource for MeasuredText<Unit>

    Auto Trait Implementations§

    §

    impl<Unit> RefUnwindSafe for MeasuredText<Unit>where Unit: RefUnwindSafe,

    §

    impl<Unit> Send for MeasuredText<Unit>where Unit: Send,

    §

    impl<Unit> Sync for MeasuredText<Unit>where Unit: Sync,

    §

    impl<Unit> Unpin for MeasuredText<Unit>where diff --git a/main/kludgine/text/struct.PreparedText.html b/main/kludgine/text/struct.PreparedText.html index 1b29e66a9..e8985e1c6 100644 --- a/main/kludgine/text/struct.PreparedText.html +++ b/main/kludgine/text/struct.PreparedText.html @@ -1,4 +1,4 @@ -PreparedText in kludgine::text - Rust

    Struct kludgine::text::PreparedText

    source ·
    pub struct PreparedText { /* private fields */ }
    Expand description

    Text that is ready to be rendered on the GPU.

    +PreparedText in kludgine::text - Rust

    Struct kludgine::text::PreparedText

    source ·
    pub struct PreparedText { /* private fields */ }
    Expand description

    Text that is ready to be rendered on the GPU.

    Methods from Deref<Target = PreparedGraphic<Px>>§

    source

    pub fn render<'pass>( &'pass self, origin: Point<Unit>, @@ -7,7 +7,7 @@ graphics: &mut RenderingGraphics<'_, 'pass> )

    Renders the prepared graphic at origin, rotating and scaling as requested.

    -

    Trait Implementations§

    source§

    impl Debug for PreparedText

    source§

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

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

    impl Deref for PreparedText

    §

    type Target = PreparedGraphic<Px>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for PreparedText

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Debug for PreparedText

    source§

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

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

    impl Deref for PreparedText

    §

    type Target = PreparedGraphic<Px>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for PreparedText

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<A> Cast for A

    §

    fn cast<To>(self) -> Towhere diff --git a/main/kludgine/text/struct.Text.html b/main/kludgine/text/struct.Text.html index 26236b0f2..fade43585 100644 --- a/main/kludgine/text/struct.Text.html +++ b/main/kludgine/text/struct.Text.html @@ -1,4 +1,4 @@ -Text in kludgine::text - Rust

    Struct kludgine::text::Text

    source ·
    #[non_exhaustive]
    pub struct Text<'a, Unit> { +Text in kludgine::text - Rust

    Struct kludgine::text::Text

    source ·
    #[non_exhaustive]
    pub struct Text<'a, Unit> { pub text: &'a str, pub color: Color, pub origin: TextOrigin<Unit>, @@ -8,11 +8,11 @@
    §color: Color

    The color to draw the text using.

    §origin: TextOrigin<Unit>

    The origin to draw the text around.

    §wrap_at: Option<Unit>

    The width to wrap the text at. If None, no wrapping is performed.

    -

    Implementations§

    source§

    impl<'a, Unit> Text<'a, Unit>

    source

    pub const fn new(text: &'a str, color: Color) -> Self

    Returns a text command that draws text with color.

    -
    source

    pub fn origin(self, origin: TextOrigin<Unit>) -> Self

    Sets the origin for the text drawing operation and returns self.

    -
    source

    pub fn wrap_at(self, width: Unit) -> Self

    Sets the width to wrap text at and returns self.

    -

    Trait Implementations§

    source§

    impl<'a, Unit: Clone> Clone for Text<'a, Unit>

    source§

    fn clone(&self) -> Text<'a, Unit>

    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, Unit: Debug> Debug for Text<'a, Unit>

    source§

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

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

    impl<'a, Unit> From<&'a String> for Text<'a, Unit>

    source§

    fn from(value: &'a String) -> Self

    Converts to this type from the input type.
    source§

    impl<'a, Unit> From<&'a str> for Text<'a, Unit>

    source§

    fn from(value: &'a str) -> Self

    Converts to this type from the input type.
    source§

    impl<'a, Unit> From<Text<'a, Unit>> for Drawable<Text<'a, Unit>, Unit>where - Unit: Default,

    source§

    fn from(what: Text<'a, Unit>) -> Self

    Converts to this type from the input type.
    source§

    impl<'a, Unit: Copy> Copy for Text<'a, Unit>

    source§

    impl<'a, Unit> DrawableSource for Text<'a, Unit>

    Auto Trait Implementations§

    §

    impl<'a, Unit> RefUnwindSafe for Text<'a, Unit>where +

    Implementations§

    source§

    impl<'a, Unit> Text<'a, Unit>

    source

    pub const fn new(text: &'a str, color: Color) -> Self

    Returns a text command that draws text with color.

    +
    source

    pub fn origin(self, origin: TextOrigin<Unit>) -> Self

    Sets the origin for the text drawing operation and returns self.

    +
    source

    pub fn wrap_at(self, width: Unit) -> Self

    Sets the width to wrap text at and returns self.

    +

    Trait Implementations§

    source§

    impl<'a, Unit: Clone> Clone for Text<'a, Unit>

    source§

    fn clone(&self) -> Text<'a, Unit>

    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, Unit: Debug> Debug for Text<'a, Unit>

    source§

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

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

    impl<'a, Unit> From<&'a String> for Text<'a, Unit>

    source§

    fn from(value: &'a String) -> Self

    Converts to this type from the input type.
    source§

    impl<'a, Unit> From<&'a str> for Text<'a, Unit>

    source§

    fn from(value: &'a str) -> Self

    Converts to this type from the input type.
    source§

    impl<'a, Unit> From<Text<'a, Unit>> for Drawable<Text<'a, Unit>, Unit>where + Unit: Default,

    source§

    fn from(what: Text<'a, Unit>) -> Self

    Converts to this type from the input type.
    source§

    impl<'a, Unit: Copy> Copy for Text<'a, Unit>

    source§

    impl<'a, Unit> DrawableSource for Text<'a, Unit>

    Auto Trait Implementations§

    §

    impl<'a, Unit> RefUnwindSafe for Text<'a, Unit>where Unit: RefUnwindSafe,

    §

    impl<'a, Unit> Send for Text<'a, Unit>where Unit: Send,

    §

    impl<'a, Unit> Sync for Text<'a, Unit>where Unit: Sync,

    §

    impl<'a, Unit> Unpin for Text<'a, Unit>where @@ -29,9 +29,9 @@ generate &Any’s vtable from &Trait’s.

    §

    fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

    Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
    §

    impl<T> DowncastSync for Twhere T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Sync + Send, Global>

    Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be -further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
    source§

    impl<T, Unit> DrawableExt<T, Unit> for Twhere +further downcast into Arc<ConcreteType> where ConcreteType implements Trait.

    source§

    impl<T, Unit> DrawableExt<T, Unit> for Twhere Drawable<T, Unit>: From<T>, - Unit: Default,

    source§

    fn translate_by(self, point: Point<Unit>) -> Drawable<T, Unit>

    Translates self by point.
    source§

    fn rotate_by(self, angle: Angle) -> Drawable<T, Unit>

    Rotates self by angle.
    source§

    fn scale(self, factor: f32) -> Drawable<T, Unit>

    Scales self by factor.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + Unit: Default,

    source§

    fn translate_by(self, point: Point<Unit>) -> Drawable<T, Unit>

    Translates self by point.
    source§

    fn rotate_by(self, angle: Angle) -> Drawable<T, Unit>

    Rotates self by angle.
    source§

    fn scale(self, factor: f32) -> Drawable<T, Unit>

    Scales self by factor.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere diff --git a/main/kludgine/tilemap/struct.LayerContext.html b/main/kludgine/tilemap/struct.LayerContext.html index e4ab6953e..c375ab534 100644 --- a/main/kludgine/tilemap/struct.LayerContext.html +++ b/main/kludgine/tilemap/struct.LayerContext.html @@ -76,7 +76,7 @@ clip rect’s origin.

    clip is relative to the current clip rect and cannot extend the current clipping rectangle.

    -

    Methods from Deref<Target = Graphics<'gfx>>§

    Methods from Deref<Target = Graphics<'gfx>>§

    source

    pub fn prepare_text( &mut self, buffer: &Buffer, default_color: Color, @@ -86,14 +86,14 @@ used.

    origin allows controlling how the text will be drawn relative to the coordinate provided in render().

    -

    source

    pub fn device(&self) -> &'gfx Device

    Returns a reference to the underlying [wgpu::Device].

    -
    source

    pub fn queue(&self) -> &'gfx Queue

    Returns a reference to the underlying [wgpu::Queue].

    -
    source

    pub fn font_system(&mut self) -> &mut FontSystem

    Returns a mutable reference to the [cosmic_text::FontSystem] used when +

    source

    pub fn device(&self) -> &'gfx Device

    Returns a reference to the underlying [wgpu::Device].

    +
    source

    pub fn queue(&self) -> &'gfx Queue

    Returns a reference to the underlying [wgpu::Queue].

    +
    source

    pub fn font_system(&mut self) -> &mut FontSystem

    Returns a mutable reference to the [cosmic_text::FontSystem] used when rendering text.

    -
    source

    pub fn size(&self) -> Size<UPx>

    Returns the current clipped size of the context.

    +
    source

    pub fn size(&self) -> Size<UPx>

    Returns the current clipped size of the context.

    If this context has not been clipped, the value returned will be equivalent to Kludgine::size.

    -
    source

    pub fn clip_rect(&self) -> Rect<UPx>

    Returns the current rectangular area of the context.

    +
    source

    pub fn clip_rect(&self) -> Rect<UPx>

    Returns the current rectangular area of the context.

    If this context has not been clipped, the value returned will be equivalent to Kludgine::size with an origin of 0,0.

    Methods from Deref<Target = Kludgine>§

    source

    pub fn font_system(&mut self) -> &mut FontSystem

    Returns a mutable reference to the [cosmic_text::FontSystem] used when @@ -113,13 +113,13 @@

    source

    pub fn text_attrs(&self) -> Attrs<'_>

    Returns the current text attributes.

    source

    pub fn set_text_attributes(&mut self, attrs: Attrs<'_>)

    Sets the current text attributes.

    source

    pub fn reset_text_attributes(&mut self)

    Resets all of the text related properties to their default settings.

    -
    source

    pub fn resize(&mut self, new_size: Size<UPx>, new_scale: f32, queue: &Queue)

    Updates the size and scale of this Kludgine instance.

    +
    source

    pub fn resize(&mut self, new_size: Size<UPx>, new_scale: f32, queue: &Queue)

    Updates the size and scale of this Kludgine instance.

    This function updates data stored in the GPU that affects how graphics are rendered. It should be called before calling next_frame() if the size or scale of the underlying surface has changed.

    -
    source

    pub fn next_frame(&mut self) -> Frame<'_>

    Begins rendering a new frame.

    -
    source

    pub fn size(&self) -> Size<UPx>

    Returns the currently configured size to render.

    -
    source

    pub fn scale(&self) -> Fraction

    Returns the current scaling factor for the display this instance is +

    source

    pub fn next_frame(&mut self) -> Frame<'_>

    Begins rendering a new frame.

    +
    source

    pub fn size(&self) -> Size<UPx>

    Returns the currently configured size to render.

    +
    source

    pub fn scale(&self) -> Fraction

    Returns the current scaling factor for the display this instance is rendering to.

    Trait Implementations§

    source§

    impl<'ctx, 'pass> Deref for LayerContext<'_, 'ctx, 'pass>

    §

    type Target = Renderer<'ctx, 'pass>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl<'ctx, 'pass> DerefMut for LayerContext<'_, 'ctx, 'pass>

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    §

    impl<'render, 'ctx, 'pass> !RefUnwindSafe for LayerContext<'render, 'ctx, 'pass>

    §

    impl<'render, 'ctx, 'pass> Send for LayerContext<'render, 'ctx, 'pass>

    §

    impl<'render, 'ctx, 'pass> Sync for LayerContext<'render, 'ctx, 'pass>

    §

    impl<'render, 'ctx, 'pass> Unpin for LayerContext<'render, 'ctx, 'pass>

    §

    impl<'render, 'ctx, 'pass> !UnwindSafe for LayerContext<'render, 'ctx, 'pass>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere diff --git a/main/kludgine/tilemap/struct.ObjectLayer.html b/main/kludgine/tilemap/struct.ObjectLayer.html index 87125c970..370a9ba22 100644 --- a/main/kludgine/tilemap/struct.ObjectLayer.html +++ b/main/kludgine/tilemap/struct.ObjectLayer.html @@ -1,4 +1,4 @@ -ObjectLayer in kludgine::tilemap - Rust
    pub struct ObjectLayer<O> { /* private fields */ }

    Implementations§

    source§

    impl<O> ObjectLayer<O>

    source

    pub const fn new() -> Self

    source

    pub fn push(&mut self, object: O) -> ObjectId

    source

    pub fn get(&self, id: ObjectId) -> Option<&O>

    source

    pub fn get_mut(&mut self, id: ObjectId) -> Option<&mut O>

    source

    pub fn len(&self) -> usize

    source

    pub fn is_empty(&self) -> bool

    source

    pub fn get_nth(&mut self, index: usize) -> Option<&O>

    source

    pub fn get_nth_mut(&mut self, index: usize) -> Option<&mut O>

    Trait Implementations§

    source§

    impl<O: Debug> Debug for ObjectLayer<O>

    source§

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

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

    impl<O> Default for ObjectLayer<O>

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<O> Index<ObjectId> for ObjectLayer<O>

    §

    type Output = O

    The returned type after indexing.
    source§

    fn index(&self, id: ObjectId) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl<O> Index<usize> for ObjectLayer<O>

    §

    type Output = O

    The returned type after indexing.
    source§

    fn index(&self, index: usize) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl<O> IndexMut<ObjectId> for ObjectLayer<O>

    source§

    fn index_mut(&mut self, id: ObjectId) -> &mut Self::Output

    Performs the mutable indexing (container[index]) operation. Read more
    source§

    impl<O> IndexMut<usize> for ObjectLayer<O>

    source§

    fn index_mut(&mut self, index: usize) -> &mut Self::Output

    Performs the mutable indexing (container[index]) operation. Read more
    source§

    impl<O> Layer for ObjectLayer<O>where +ObjectLayer in kludgine::tilemap - Rust
    pub struct ObjectLayer<O> { /* private fields */ }

    Implementations§

    source§

    impl<O> ObjectLayer<O>

    source

    pub const fn new() -> Self

    source

    pub fn push(&mut self, object: O) -> ObjectId

    source

    pub fn get(&self, id: ObjectId) -> Option<&O>

    source

    pub fn get_mut(&mut self, id: ObjectId) -> Option<&mut O>

    source

    pub fn len(&self) -> usize

    source

    pub fn is_empty(&self) -> bool

    source

    pub fn get_nth(&mut self, index: usize) -> Option<&O>

    source

    pub fn get_nth_mut(&mut self, index: usize) -> Option<&mut O>

    Trait Implementations§

    source§

    impl<O: Debug> Debug for ObjectLayer<O>

    source§

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

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

    impl<O> Default for ObjectLayer<O>

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<O> Index<ObjectId> for ObjectLayer<O>

    §

    type Output = O

    The returned type after indexing.
    source§

    fn index(&self, id: ObjectId) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl<O> Index<usize> for ObjectLayer<O>

    §

    type Output = O

    The returned type after indexing.
    source§

    fn index(&self, index: usize) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl<O> IndexMut<ObjectId> for ObjectLayer<O>

    source§

    fn index_mut(&mut self, id: ObjectId) -> &mut Self::Output

    Performs the mutable indexing (container[index]) operation. Read more
    source§

    impl<O> IndexMut<usize> for ObjectLayer<O>

    source§

    fn index_mut(&mut self, index: usize) -> &mut Self::Output

    Performs the mutable indexing (container[index]) operation. Read more
    source§

    impl<O> Layer for ObjectLayer<O>where O: Object,

    source§

    fn render(&mut self, context: &mut LayerContext<'_, '_, '_>) -> Option<Duration>

    source§

    fn find_object(&self, object: ObjectId) -> Option<Point<Px>>

    Auto Trait Implementations§

    §

    impl<O> RefUnwindSafe for ObjectLayer<O>where O: RefUnwindSafe,

    §

    impl<O> Send for ObjectLayer<O>where O: Send,

    §

    impl<O> Sync for ObjectLayer<O>where diff --git a/main/kludgine/tilemap/trait.Layers.html b/main/kludgine/tilemap/trait.Layers.html index 2a4ddd2d1..7a7d2c8c3 100644 --- a/main/kludgine/tilemap/trait.Layers.html +++ b/main/kludgine/tilemap/trait.Layers.html @@ -2,29 +2,29 @@ // Required methods fn layer(&self, index: usize) -> Option<&dyn Layer>; fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>; -}

    Required Methods§

    source

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    Implementations on Foreign Types§

    source§

    impl<T0, T1, T2, T3, T4, T5, T6> Layers for (T0, T1, T2, T3, T4, T5, T6)where +}

    Required Methods§

    source

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    Implementations on Foreign Types§

    source§

    impl<T0, T1> Layers for (T0, T1)where + T0: Debug + UnwindSafe + Send + Layer + 'static, + T1: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0, T1, T2, T3, T4, T5, T6> Layers for (T0, T1, T2, T3, T4, T5, T6)where T0: Debug + UnwindSafe + Send + Layer + 'static, T1: Debug + UnwindSafe + Send + Layer + 'static, T2: Debug + UnwindSafe + Send + Layer + 'static, T3: Debug + UnwindSafe + Send + Layer + 'static, T4: Debug + UnwindSafe + Send + Layer + 'static, T5: Debug + UnwindSafe + Send + Layer + 'static, - T6: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0, T1> Layers for (T0, T1)where - T0: Debug + UnwindSafe + Send + Layer + 'static, - T1: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0> Layers for (T0,)where - T0: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0, T1, T2, T3> Layers for (T0, T1, T2, T3)where + T6: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0, T1, T2, T3> Layers for (T0, T1, T2, T3)where T0: Debug + UnwindSafe + Send + Layer + 'static, T1: Debug + UnwindSafe + Send + Layer + 'static, T2: Debug + UnwindSafe + Send + Layer + 'static, - T3: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0, T1, T2, T3, T4> Layers for (T0, T1, T2, T3, T4)where + T3: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0, T1, T2> Layers for (T0, T1, T2)where T0: Debug + UnwindSafe + Send + Layer + 'static, T1: Debug + UnwindSafe + Send + Layer + 'static, - T2: Debug + UnwindSafe + Send + Layer + 'static, - T3: Debug + UnwindSafe + Send + Layer + 'static, - T4: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0, T1, T2> Layers for (T0, T1, T2)where + T2: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0> Layers for (T0,)where + T0: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0, T1, T2, T3, T4> Layers for (T0, T1, T2, T3, T4)where T0: Debug + UnwindSafe + Send + Layer + 'static, T1: Debug + UnwindSafe + Send + Layer + 'static, - T2: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0, T1, T2, T3, T4, T5> Layers for (T0, T1, T2, T3, T4, T5)where + T2: Debug + UnwindSafe + Send + Layer + 'static, + T3: Debug + UnwindSafe + Send + Layer + 'static, + T4: Debug + UnwindSafe + Send + Layer + 'static,

    source§

    fn layer(&self, index: usize) -> Option<&dyn Layer>

    source§

    fn layer_mut(&mut self, index: usize) -> Option<&mut dyn Layer>

    source§

    impl<T0, T1, T2, T3, T4, T5> Layers for (T0, T1, T2, T3, T4, T5)where T0: Debug + UnwindSafe + Send + Layer + 'static, T1: Debug + UnwindSafe + Send + Layer + 'static, T2: Debug + UnwindSafe + Send + Layer + 'static, diff --git a/main/kludgine/tilemap/trait.TileList.html b/main/kludgine/tilemap/trait.TileList.html index 8a1d6e5fa..38204106b 100644 --- a/main/kludgine/tilemap/trait.TileList.html +++ b/main/kludgine/tilemap/trait.TileList.html @@ -1,4 +1,4 @@ TileList in kludgine::tilemap - Rust
    pub trait TileList: IndexMut<usize, Output = TileKind> + Send + UnwindSafe + Debug + 'static {
         // Required method
         fn len(&self) -> usize;
    -}

    Required Methods§

    source

    fn len(&self) -> usize

    Implementations on Foreign Types§

    source§

    impl<const N: usize> TileList for [TileKind; N]

    source§

    fn len(&self) -> usize

    source§

    impl TileList for Vec<TileKind>

    source§

    fn len(&self) -> usize

    Implementors§

    \ No newline at end of file +}

    Required Methods§

    source

    fn len(&self) -> usize

    Implementations on Foreign Types§

    source§

    impl TileList for Vec<TileKind>

    source§

    fn len(&self) -> usize

    source§

    impl<const N: usize> TileList for [TileKind; N]

    source§

    fn len(&self) -> usize

    Implementors§

    \ No newline at end of file diff --git a/main/kludgine/trait.Clipped.html b/main/kludgine/trait.Clipped.html index cc9458c79..7c820bb5f 100644 --- a/main/kludgine/trait.Clipped.html +++ b/main/kludgine/trait.Clipped.html @@ -1,4 +1,4 @@ -Clipped in kludgine - Rust

    Trait kludgine::Clipped

    source ·
    pub trait Clipped: Sized + Clipped {
    +Clipped in kludgine - Rust

    Trait kludgine::Clipped

    source ·
    pub trait Clipped: Sized + Clipped {
         // Required methods
         fn push_clip(&mut self, clip: Rect<UPx>);
         fn pop_clip(&mut self);
    @@ -6,7 +6,7 @@
         // Provided method
         fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self> { ... }
     }
    Expand description

    A graphics context that has been clipped.

    -

    Required Methods§

    source

    fn push_clip(&mut self, clip: Rect<UPx>)

    Pushes a new clipping state to the clipping stack.

    +

    Required Methods§

    source

    fn push_clip(&mut self, clip: Rect<UPx>)

    Pushes a new clipping state to the clipping stack.

    This function causes this type to act as if the origin of the context is clip.origin, and the size of the context is clip.size. This means that rendering at 0,0 will actually render at the effective clip rect’s @@ -15,12 +15,12 @@ current clipping rectangle.

    To restore the clipping rect to the state it was before this function was called, use Clipped::pop_clip().

    -
    source

    fn pop_clip(&mut self)

    Restores the clipping rect to the previous state before the last call to +

    source

    fn pop_clip(&mut self)

    Restores the clipping rect to the previous state before the last call to Clipped::push_clip().

    Panics

    This function will panic if it is called more times than Clipped::push_clip().

    -

    Provided Methods§

    source

    fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

    Returns a ClipGuard that causes all drawing operations to be offset +

    Provided Methods§

    source

    fn clipped_to(&mut self, clip: Rect<UPx>) -> ClipGuard<'_, Self>

    Returns a ClipGuard that causes all drawing operations to be offset and clipped to clip until it is dropped.

    This function causes this type to act as if the origin of the context is clip.origin, and the size of the context is clip.size. This means @@ -28,4 +28,4 @@

    Panics
    origin.

    clip is relative to the current clip rect and cannot extend the current clipping rectangle.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/main/kludgine/trait.DrawableExt.html b/main/kludgine/trait.DrawableExt.html index e94980c38..253b0ff6a 100644 --- a/main/kludgine/trait.DrawableExt.html +++ b/main/kludgine/trait.DrawableExt.html @@ -1,12 +1,12 @@ -DrawableExt in kludgine - Rust

    Trait kludgine::DrawableExt

    source ·
    pub trait DrawableExt<Source, Unit> {
    +DrawableExt in kludgine - Rust

    Trait kludgine::DrawableExt

    source ·
    pub trait DrawableExt<Source, Unit> {
         // Required methods
         fn translate_by(self, point: Point<Unit>) -> Drawable<Source, Unit>;
         fn rotate_by(self, angle: Angle) -> Drawable<Source, Unit>;
         fn scale(self, factor: f32) -> Drawable<Source, Unit>;
     }
    Expand description

    Translation, rotation, and scaling for drawable types.

    -

    Required Methods§

    source

    fn translate_by(self, point: Point<Unit>) -> Drawable<Source, Unit>

    Translates self by point.

    -
    source

    fn rotate_by(self, angle: Angle) -> Drawable<Source, Unit>

    Rotates self by angle.

    -
    source

    fn scale(self, factor: f32) -> Drawable<Source, Unit>

    Scales self by factor.

    -

    Implementors§

    source§

    impl<T, Unit> DrawableExt<T, Unit> for Drawable<T, Unit>

    source§

    impl<T, Unit> DrawableExt<T, Unit> for Twhere +

    Required Methods§

    source

    fn translate_by(self, point: Point<Unit>) -> Drawable<Source, Unit>

    Translates self by point.

    +
    source

    fn rotate_by(self, angle: Angle) -> Drawable<Source, Unit>

    Rotates self by angle.

    +
    source

    fn scale(self, factor: f32) -> Drawable<Source, Unit>

    Scales self by factor.

    +

    Implementors§

    source§

    impl<T, Unit> DrawableExt<T, Unit> for Drawable<T, Unit>

    source§

    impl<T, Unit> DrawableExt<T, Unit> for Twhere Drawable<T, Unit>: From<T>, Unit: Default,

    \ No newline at end of file diff --git a/main/kludgine/trait.DrawableSource.html b/main/kludgine/trait.DrawableSource.html index 7fde24e08..e7b66ad34 100644 --- a/main/kludgine/trait.DrawableSource.html +++ b/main/kludgine/trait.DrawableSource.html @@ -1,3 +1,3 @@ -DrawableSource in kludgine - Rust
    pub trait DrawableSource { }
    Expand description

    A type that can be drawn in Kludgine.

    -

    Implementors§

    source§

    impl<'a, Unit> DrawableSource for Text<'a, Unit>

    source§

    impl<Unit> DrawableSource for MeasuredText<Unit>

    source§

    impl<Unit, const TEXTURED: bool> DrawableSource for Shape<Unit, TEXTURED>where +DrawableSource in kludgine - Rust
    pub trait DrawableSource { }
    Expand description

    A type that can be drawn in Kludgine.

    +

    Implementors§

    source§

    impl<'a, Unit> DrawableSource for Text<'a, Unit>

    source§

    impl<Unit> DrawableSource for MeasuredText<Unit>

    source§

    impl<Unit, const TEXTURED: bool> DrawableSource for Shape<Unit, TEXTURED>where Unit: Copy,

    \ No newline at end of file diff --git a/main/kludgine/trait.KludgineGraphics.html b/main/kludgine/trait.KludgineGraphics.html index 067bd8ab0..5b9442a92 100644 --- a/main/kludgine/trait.KludgineGraphics.html +++ b/main/kludgine/trait.KludgineGraphics.html @@ -1,5 +1,5 @@ -KludgineGraphics in kludgine - Rust
    pub trait KludgineGraphics: KludgineGraphics { }
    Expand description

    A generic graphics context.

    +KludgineGraphics in kludgine - Rust
    pub trait KludgineGraphics: KludgineGraphics { }
    Expand description

    A generic graphics context.

    This generic trait is used on some APIs because they are utilized both publicly and internally. The only user-facing type that implements this trait is Graphics.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/main/kludgine/trait.ShapeSource.html b/main/kludgine/trait.ShapeSource.html index 023512974..149f471c1 100644 --- a/main/kludgine/trait.ShapeSource.html +++ b/main/kludgine/trait.ShapeSource.html @@ -1,3 +1,3 @@ -ShapeSource in kludgine - Rust

    Trait kludgine::ShapeSource

    source ·
    pub trait ShapeSource<Unit, const TEXTURED: bool>: DrawableSource + ShapeSource<Unit> { }
    Expand description

    A source of triangle data for a shape.

    +ShapeSource in kludgine - Rust

    Trait kludgine::ShapeSource

    source ·
    pub trait ShapeSource<Unit, const TEXTURED: bool>: DrawableSource + ShapeSource<Unit> { }
    Expand description

    A source of triangle data for a shape.

    Implementors§

    source§

    impl<Unit, const TEXTURED: bool> ShapeSource<Unit, TEXTURED> for Shape<Unit, TEXTURED>where Unit: Copy,

    \ No newline at end of file diff --git a/main/kludgine/trait.TextureSource.html b/main/kludgine/trait.TextureSource.html index 8c47b3c40..874aec1f7 100644 --- a/main/kludgine/trait.TextureSource.html +++ b/main/kludgine/trait.TextureSource.html @@ -1,2 +1,2 @@ -TextureSource in kludgine - Rust
    pub trait TextureSource: TextureSource { }
    Expand description

    A type that is rendered using a texture.

    -

    Implementors§

    \ No newline at end of file +TextureSource in kludgine - Rust
    pub trait TextureSource: TextureSource { }
    Expand description

    A type that is rendered using a texture.

    +

    Implementors§

    \ No newline at end of file diff --git a/main/search-index.js b/main/search-index.js index bcc57fd20..b8d99e081 100644 --- a/main/search-index.js +++ b/main/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"kludgine":{"doc":"Kludgine (Redux)","t":"SSSSSESSSSSSSSSSSSSSSSSSNDINDDNSSSSSSSSSSSSSSSSSSSSSSSSDIISSSSDSSSSSSSSDSSSSSSDISSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSESSSSSSSSSSSDSSSSNDSSSSSSSSSSSSSSIINDSSSSSDNDDINSSSSSSLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCOOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLKLLLLLLLLLALLLLLKLMKLLLMLLLLLLLALLLLLLLMALALLALLLLLLKLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLLLQIQDQDIDMMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLMLLLLLLMLLLLLLLLLLLMLLLLLKLMLLLLLLLLLLLLLLLMMMLLLLLLLLLMLMLLLLKMMLFLLLLLLLLLLLLLLLLLMLLLLLMLLLLLLLLLLLLMMMCLDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNGDNINDNEENNDDENNNDNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLKLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMMLLLMLLLLLLLLLLLLLLMLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMENNNNNNENENNNNDNNNNNNNNNDDDIDDEDENNNNLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLMKLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMNNNDDDDDENLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLMLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMNDIDIINDDDNNRNDEIEDILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLKLLLKLLLLLLLMLLKMLKKKLLLLLLLMLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMM","n":["ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","AnyTexture","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CLEAR_BLACK","CLEAR_WHITE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","Center","ClipGuard","Clipped","Collected","CollectedTexture","Color","Custom","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","Drawable","DrawableExt","DrawableSource","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","Frame","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","Graphics","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","Kludgine","KludgineGraphics","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","Origin","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","PreparedGraphic","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","Region","RenderingGraphics","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","ShaderScalable","ShapeSource","Shared","SharedTexture","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","Texture","Texture","TextureCollection","TextureRegion","TextureSource","TopLeft","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","abort","alpha","alpha_f32","app","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_ref","as_ref","blue","blue_f32","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clip_rect","clipped_to","clipped_to","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cosmic_text","default","deref","deref","deref","deref_mut","deref_mut","device","device","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","drop","drop","drop","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","figures","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","font_family","font_size","font_style","font_system","font_system","font_weight","format","format","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_image","green","green_f32","hash","image","include_aseprite_sprite","include_texture","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_components","into_components","is_valid_bit_pattern","lazy_from_data","lazy_from_image","line_height","new","new","new","new","new","new_f32","new_with_data","next_frame","pop_clip","pop_clip","pop_clip","prepare","prepare","prepare","prepare","prepare_entire_colection","prepare_partial","prepare_sized","prepare_text","push_clip","push_clip","push_clip","push_image","push_texture","queue","queue","red","red_f32","region","render","render","render","render_into","reset_text_attributes","resize","rotate_by","rotate_by","rotation","scale","scale","scale","scale","scale","set_font_family","set_font_size","set_font_style","set_font_weight","set_line_height","set_text_attributes","set_text_stretch","shapes","size","size","size","size","size","size","size","source","sprite","submit","text","text_attrs","text_stretch","tilemap","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","translate_by","translate_by","translation","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","wgpu","with_alpha","with_blue","with_green","with_red","Context","Message","Response","Window","Window","WindowAttributes","WindowBehavior","WindowHandle","active","app_name","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","axis_motion","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast","cast","cast","cast_into","cast_into","cast_into","clear_color","clone","clone_into","close_requested","composite_alpha_mode","content_protected","cursor_entered","cursor_left","cursor_moved","cursor_position","decorations","default","downcast","downcast","downcast","dropped_file","elapsed","enabled_buttons","event","filter_mode","fmt","focus_changed","focused","from","from","from","from_cast","from_cast","from_cast","fullscreen","handle","hovered_file","hovered_file_cancelled","ime","initial_window_attributes","initialize","inner_size","inner_size","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","key_pressed","keyboard_input","last_frame_rendered_in","limits","max_inner_size","maximized","min_inner_size","modifiers","modifiers_changed","mouse_button_pressed","mouse_input","mouse_wheel","multisample_count","occlusion_changed","ocluded","position","position","power_preference","preferred_theme","prepare","received_character","redraw_at","redraw_in","render","resizable","resize_increments","resized","run","run","run_with","scale_factor_changed","send","set_ime_allowed","set_ime_cursor_area","set_ime_purpose","set_inner_size","set_max_inner_size","set_min_inner_size","set_needs_redraw","set_position","set_title","smart_magnify","theme","theme_changed","title","title","to_owned","touch","touchpad_magnify","touchpad_pressure","touchpad_rotate","transparent","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","visible","window_icon","window_level","winit","winit","Drawing","Renderer","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","cast","cast","cast_into","cast_into","clipped_to","command_count","default","deref","deref_mut","downcast","downcast","draw_measured_text","draw_shape","draw_text","draw_text_buffer","draw_texture","draw_texture_at","draw_textured_shape","drop","fmt","fmt","from","from","from_cast","from_cast","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","measure_text","measure_text_buffer","new_frame","pop_clip","push_clip","render","triangle_count","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","vertex_count","Begin","Bevel","Butt","ControlPoint","CornerRadii","Cubic","DefaultStrokeWidth","End","Endpoint","Line","LineCap","LineJoin","Miter","MiterClip","Path","PathBuilder","PathEvent","Quadratic","Round","Round","Shape","Square","StrokeOptions","arc","arc","arc","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_left","bottom_right","build","build","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clamped","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","close","close","cm_wide","color","color","colored","cubic_curve_to","cubic_curve_to","default","default","default","default","default","default_stroke_width","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","end_cap","end_cap","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","fill","filled","filled_circle","filled_rect","filled_round_rect","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_iter","from_lp","from_lp","from_px","from_px","from_upx","from_upx","inches_wide","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_components","into_components","into_components","into_components","into_components","into_components","into_lp","into_lp","into_px","into_px","into_upx","into_upx","is_zero","line_join","line_join","line_to","line_to","line_width","location","lp_wide","map","miter_limit","miter_limit","mm_wide","new","new","new_textured","points_wide","prepare","prepare","px_wide","quadratic_curve_to","quadratic_curve_to","reset","reset","round_rect","start_cap","start_cap","stroke","stroked_circle","stroked_rect","stroked_round_rect","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","tolerance","top_left","top_right","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","x","y","at","close","ctrl","ctrl1","ctrl2","texture","texture","texture","texture","to","to","to","AnimationMode","Collected","DirectionMissing","DirectionUnknown","Duration","Forward","Frame","FrameParseError","FrameTag","FrameTagError","From","Height","Image","InvalidFrame","InvalidSpriteTag","Json","Meta","MissingRegion","NotNumeric","PingPong","Region","Reverse","SizeMismatch","SizeMissing","Sprite","SpriteAnimation","SpriteAnimations","SpriteCollection","SpriteFrame","SpriteMap","SpriteParseError","SpriteSheet","SpriteSource","To","Width","X","Y","add_foreign_sheet","add_sheet","animation_for","animations","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","current_frame","current_tag","default","deref","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","duration","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","frames","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_foreign_sheet","get_frame","into","into","into","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_components","into_components","into_components","into_iter","load_aseprite_json","merged","mode","new","new","new","new","new","new","prepare","remaining_frame_duration","set_current_tag","single_frame","source","sprite","sprite","sprite","sprite_map","sprites","sprites","texture","tile_size","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_sprite_map","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","with_duration","with_mode","error","error","key","name","Center","Custom","FirstBaseline","GlyphInfo","MeasuredGlyph","MeasuredText","PreparedText","Text","TextOrigin","TopLeft","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","ascent","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","color","default","deref","deref_mut","descent","downcast","downcast","downcast","downcast","downcast","downcast","end","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_lp","from_px","from_upx","glyphs","info","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_components","into_components","into_components","into_lp","into_px","into_upx","left","level","line","line_height","line_width","metadata","new","origin","origin","rect","rotate_by","scale","size","start","text","to_owned","to_owned","to_owned","to_owned","to_owned","translate_by","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","wrap_at","wrap_at","Color","DebugGrid","Layer","LayerContext","Layers","Object","Object","ObjectId","ObjectInfo","ObjectLayer","Point","Sprite","TILE_SIZE","Texture","TileArray","TileKind","TileList","TileMapFocus","TileOffset","TileSource","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_right","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clone","clone","clone_into","clone_into","cmp","compare","default","default","deref","deref_mut","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","draw","elapsed","eq","equivalent","equivalent","equivalent","find_object","find_object","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","get","get_mut","get_nth","get_nth_mut","hash","index","index","index_mut","index_mut","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_components","into_components","is_empty","layer","layer","layer","layer","layer_mut","layer_mut","layer_mut","layer_mut","len","len","maximum_tile","maximum_tile","minimum_tile","minimum_tile","new","new","object","origin","partial_cmp","position","position","push","render","render","render","render","render","render","render","render","render","tile_size","tiles","to_owned","to_owned","top_left","translate_coordinates","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","visible_rect","width","world_coordinate","zoom","id","layer"],"q":[[0,"kludgine"],[606,"kludgine::app"],[753,"kludgine::render"],[812,"kludgine::shapes"],[1118,"kludgine::shapes::PathEvent"],[1130,"kludgine::sprite"],[1474,"kludgine::sprite::SpriteParseError"],[1478,"kludgine::text"],[1653,"kludgine::tilemap"],[1905,"kludgine::tilemap::TileMapFocus"],[1907,"core::any"],[1908,"wgpu"],[1909,"wgpu"],[1910,"figures::units"],[1911,"figures::rect"],[1912,"core::clone"],[1913,"core::cmp"],[1914,"core::fmt"],[1915,"core::fmt"],[1916,"figures::units"],[1917,"fontdb"],[1918,"core::default"],[1919,"cosmic_text::attrs"],[1920,"image::dynimage"],[1921,"core::hash"],[1922,"alloc::alloc"],[1923,"alloc::boxed"],[1924,"alloc::sync"],[1925,"alloc::rc"],[1926,"figures::size"],[1927,"wgpu_types"],[1928,"wgpu_types"],[1929,"core::ops::arith"],[1930,"core::convert"],[1931,"cosmic_text::buffer"],[1932,"figures::units"],[1933,"core::option"],[1934,"figures::angle"],[1935,"figures::traits"],[1936,"figures::traits"],[1937,"cosmic_text::attrs"],[1938,"wgpu"],[1939,"core::any"],[1940,"winit::event"],[1941,"core::marker"],[1942,"core::time"],[1943,"winit::event"],[1944,"core::convert"],[1945,"wgpu_types"],[1946,"winit::error"],[1947,"core::ops::function"],[1948,"core::panic::unwind_safe"],[1949,"winit::window"],[1950,"winit::window"],[1951,"winit::event"],[1952,"core::cmp"],[1953,"image::error"],[1954,"justjson::error"],[1955,"core::marker"]],"d":["Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A type that can be any TextureSource implementation that …","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","The grapihc should be drawn so that the center of the …","A clipped surface.","A graphics context that has been clipped.","A CollectedTexture.","A texture that is contained within a TextureCollection.","A red, green, blue, and alpha color value stored in …","The graphic should be drawn so that the provided relative …","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A drawable source with optional translation, rotation, and …","Translation, rotation, and scaling for drawable types.","A type that can be drawn in Kludgine.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A frame that can be rendered.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A context used to prepare graphics to render.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A 2d graphics instance.","A generic graphics context.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","The origin of a prepared graphic.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A graphic that is on the GPU and ready to render.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A TextureRegion.","A graphics context used to render previously prepared …","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A unit that is able to be scaled by the GPU shader.","A source of triangle data for a shape.","A SharedTexture.","A cloneable texture.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","An image stored on the GPU.","A Texture.","A collection of multiple textures, managed as a single …","A region of a SharedTexture.","A type that is rendered using a texture.","The graphic should be drawn so that the top-left of the …","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Aborts rendering this frame.","Returns the alpha component of this color, range 0-255. A …","Returns the alpha component of this color, range 0.0-1.0. …","Application and Windowing Support.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the blue component of this color, range 0-255.","Returns the blue component of this color, range 0.0-1.0.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the current rectangular area of the context.","Returns a ClipGuard that causes all drawing operations to …","Returns a ClipGuard that causes all drawing operations to …","","","","","","","","","","","","","","","","","","","","Returns a reference to the underlying wgpu::Device.","Returns a reference to the underlying wgpu::Device.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the current font family.","Returns the current font size.","Returns the current font style.","Returns a mutable reference to the cosmic_text::FontSystem …","Returns a mutable reference to the cosmic_text::FontSystem …","Returns the current font weight.","Returns the format of the texture backing this collection.","The format of the texture.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","Creates a texture from image.","Returns the green component of this color, range 0-255.","Returns the green component of this color, range 0.0-1.0.","","","Includes an Aseprite sprite sheet and Json export. For …","Loads a texture’s bytes into the executable.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns a new texture that loads its data to the gpu once …","Returns a texture that loads image into the gpu when it is …","Returns the current line height.","Returns a new atlas of the given size and format.","Returns a new instance of Kludgine with the provided …","Returns a new instance.","Returns a new color with the provided components.","Creates a new texture of the given size, format, and …","Returns a new color by converting each component from its …","Returns a new texture of the given size, format, and …","Begins rendering a new frame.","Restores the clipping rect to the previous state before …","","","Creates a Graphics context for this frame that can be used …","Returns a PreparedGraphic that renders this texture at dest…","Prepares to render this texture at the given location.","Prepares to render this texture at the given location.","Returns a PreparedGraphic for the entire texture.","Prepares the source area to be rendered at dest.","Prepares to render this texture with size. The returned …","Prepares the text layout contained in buffer to be …","Pushes a new clipping state to the clipping stack.","","","Pushes an image to this collection.","Pushes image data to a specific region of the texture.","Returns a reference to the underlying wgpu::Queue.","Returns a reference to the underlying wgpu::Queue.","Returns the red component of this color, range 0-255.","Returns the red component of this color, range 0.0-1.0.","Returns a reference to this texture that only renders a …","An easy-to-use batching renderer.","Creates a RenderingGraphics context for this frame which …","Renders the prepared graphic at origin, rotating and …","Creates a RenderingGraphics that renders into texture for …","Resets all of the text related properties to their default …","Updates the size and scale of this Kludgine instance.","Rotates self by angle.","","Rotate the source before rendering.","Scales self by factor.","Returns the current scaling factor of the display being …","","Returns the current scaling factor for the display this …","Scale the source before rendering.","Sets the current font family.","Sets the font size.","Sets the current font style.","Sets the current font weight.","Sets the line height for multi-line layout.","Sets the current text attributes.","Sets the current text stretching.","Types for drawing paths and shapes.","Returns the current size of the graphics area being …","Returns the current size of the underlying texture.","Returns the currently configured size to render.","Returns the current clipped size of the context.","The size of the texture.","Returns the size of the region being drawn.","Returns the size of the texture.","The source to draw.","Types for animating textures.","Submits all of the commands for this frame to the GPU.","Types for text rendering.","Returns the current text attributes.","Returns the current text stretch.","","","","","","","","Translates self by point.","","Translate the source before rendering.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns a new color replacing this colors alpha channel …","Returns a new color replacing this colors blue channel …","Returns a new color replacing this colors green channel …","Returns a new color replacing this colors red channel with …","The type of value provided during initialize().","A message with an associated response type.","The type returned when responding to this message.","An open window.","The message type that is able to be sent to individual …","Attributes of a desktop window.","The behavior of a window.","A handle to a window.","Whether the window is active or not.","Name of the application","","","","","","","A multi-axis input device has registered motion.","","","","","","","","","","","","","Returns the color to clear the window with. If None is …","","","The window has been requested to be closed. This can …","Returns the composite alpha mode to use for rendering the …","If true, the contents of the window will be prevented from …","A cursor has hovered over the window.","A cursor is no longer hovering over the window.","A cursor has moved over the window.","Returns the position of the mouse cursor within this …","Controls the visibility of the window decorations.","","","","","A file has been dropped on the window.","Returns the duration that has elapsed since the last frame …","The collection of window buttons that are enabled.","A WindowEvent has been received by this window.","Returns the filter mode to use when rendering textures …","","The window has gained or lost keyboard focus. …","Returns true if the window is currently focused for …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","The full screen configuration for the window.","Returns a handle to this window, which can be used to send …","A file is hovering over the window.","A file being overed has been cancelled.","An international input even thas occurred for the window.","Returns the window attributes to use when creating the …","Initialize a new instance from the provided context.","Returns the inner size of the window.","The inner size of the window.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","Returns true if the given virtual key code is currently …","A keyboard event occurred while the window was focused.","Returns the duration taken between when the last frame’s …","Returns the limits to apply for the wgpu instance.","The maximum inner size of the window.","The maximized state of the window.","The minimum inner size of the window.","Returns currently active modifiers.","The keyboard modifier keys have changed. …","Returns true if the given button is currently pressed.","A mouse button was pressed or released.","An event from a mouse wheel.","Returns the number of multisamples to perform when …","The window has been occluded or revealed. …","Returns true if the window is currenly not visible because …","Returns the current position of the window.","The position of the top-left of the frame of the window.","Returns the power preference to initialize wgpu with.","The window’s preferred theme.","Prepare the window to render.","An input event has generated a character.","Sets the window to redraw at the provided time.","Sets the window to redraw after a duration.","Render the contents of the window.","If true, the window can be resized by the user.","The increments in which the window will be allowed to …","The window has been resized. RunningWindow::inner_size() …","Runs a callback as a single window. Continues to run until …","Launches a Kludgine app using this window as the primary …","Launches a Kludgine app using this window as the primary …","The window’s scale factor has changed. …","Sends message to the window. If the message cannot be","Sets whether IME input is allowed on the window.","Sets the cursor area for IME input suggestions.","Sets the IME purpose.","Sets the inner size of the window.","Sets the window’s maximum inner size.","Sets the window’s minimum inner size.","Sets the window to redraw as soon as it can.","Sets the current position of the window.","Sets the title of the window.","A request to smart-magnify the window.","Returns the current user interface theme for the window.","The window’s theme has been updated. …","Returns the current title of the window.","The title of the window.","","A touch event.","A touchpad-originated magnification gesture.","A pressure-sensitive touchpad was touched.","A touchpad-originated rotation gesture.","If true, the window’s chrome will be hidden and only …","","","","","","","","","","","","","The visibility state of the window.","The window’s icon.","The level of the window.","","Returns a reference to the underlying winit window.","A composite, multi-operation graphic, created with an …","An easy-to-use graphics renderer that batches operations …","","","","","","","","","","","","","Returns a ClipGuard that causes all drawing operations to …","Returns the number of drawing operations that will be sent …","","","","","","Prepares the text layout contained in buffer to be …","Draws a shape at the origin, rotating and scaling as …","Draws text using the current text settings.","Prepares the text layout contained in buffer to be …","Draws texture at destination, scaling as necessary.","Draws texture at destination.","Draws a shape that was created with texture coordinates, …","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","Measures text using the current text settings.","Measures buffer and caches the results using default_color …","Clears the currently prepared graphics and returns a new …","","","Renders the prepared graphics from the last frame.","Returns the number of triangles that are being rendered in …","","","","","","","","","Returns the number of vertexes that compose the drawing …","Begins a path. Must be at the start.","A beveled corner is to be used to join path segments. The …","The stroke for each sub-path does not extend beyond its …","A control point used to create curves.","A description of the size to use for each corner radius …","A cubic curve (two control points).","Controls the default stroke width for a given unit.","Ends the path. Must be the last entry.","A point on a Path.","A straight line segment.","Line cap as defined by the SVG specification.","Line join as defined by the SVG specification.","A sharp corner is to be used to join path segments.","Same as a miter join, but if the miter limit is exceeded, …","A geometric shape defined by a path.","Builds a Path.","An entry in a Path.","A quadratic curve (one control point).","At each end of each sub-path, the shape representing the …","A round corner is to be used to join path segments.","A tesselated shape.","At the end of each sub-path, the shape representing the …","Options for stroking lines on a path.","Add a clockwise arc starting at the current location.","Add a clockwise arc starting at the current location.","Returns a path forming an arc starting at start angle of …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The radius of the bottom left rounded corner.","The radius of the bottom right rounded corner.","Returns the built path.","Returns the built path.","","","","","","","","","","","","","","","","","","","Returns this set of radii clamped so that no corner radius …","","","","","","","","","","","","","","","","","Closes the path, connecting the current location to the …","Closes the path, connecting the current location to the …","Returns the default options with the line width specified …","The color to associate with this endpoint.","The color to apply to the stroke.","Sets the color of this stroke and returns self.","Create a cubic curve from the current location to end_at …","Create a cubic curve from the current location to end_at …","","","","","","Returns the default width of a line stroked in this unit.","","","","","","","","","","Sets the line cap style for the end of line segments and …","What cap to use at the end of each sub-path.","","","","","","","","","Fills this path with color.","Fills this path with solid white.","Returns a circle that is filled solid with color.","Returns a rectangle that is filled solid with color.","Returns a rounded rectangle with the specified corner …","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","Returns the default options with the line width specified …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sets the line join style and returns self.","See the SVG specification.","Create a straight line from the current location to end_at.","Create a straight line from the current location to end_at.","The width of the line.","The location of the endpoint on a path.","Returns the default options with a line width of lp.","Passes each radius definition to map and returns a new set …","Sets the miter limit and returns self.","See the SVG specification.","Returns the default options with the line width specified …","Creates a new path with the initial position start_at.","Returns a new endpoint with a given location and color.","Creates a new path with the initial position start_at.","Returns the default options with the line width specified …","Uploads the shape to the GPU.","Uploads the shape to the GPU, applying texture to the …","Returns the default options with a line width of px.","Create a quadratic curve from the current location to …","Create a quadratic curve from the current location to …","Clears this builder to a state as if it had just been …","Clears this builder to a state as if it had just been …","Returns a path for a rounded rectangle with the given …","Sets the line cap style for the start of line segments and …","What cap to use at the start of each sub-path.","Strokes this path with color and options.","Returns a circle that is stroked with color and options.","Returns a rectangle that has its outline stroked with color…","Returns a rounded rectangle with the specified corner …","","","","","","","","","Maximum allowed distance to the path when building an …","The radius of the top left rounded corner.","The radius of the top right rounded corner.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The x-axis component.","The y-axis component","The location to begin at.","Whether the path should be closed.","The control point for the curve.","The first control point for the curve.","The second control point for the curve.","The texture coordinate for this path event.","The texture coordinate for this path event.","The texture coordinate for this path event.","The texture coordinate for this path event.","The end location of the line.","The end location of the curve.","The end location of the curve.","The animation mode of the sprite.","The sprite’s source is a CollectedTexture.","The direction field is missing.","The direction is not a recognized value.","The duration is invalid or missing.","Iterate frames in order. When at the end, reset to the …","An error occurred parsing a frame.","An error parsing a single frame in a sprite animation.","An error parsing a frame tag (animation).","An error parsing a frameTags entry.","The from field is missing or invalid.","The frame.h value is missing or invalid.","An image parsing error.","The frame could not be found.","A Sprite’s tag did not correspond to an animation.","Invalid JSON.","The meta field is missing or invalid.","The data is missing the frame field, which contains the …","The frame number was not able to be parsed as a number.","Iterate frames starting at the beginning and continuously …","The sprite’s source is a TextureRegion.","Iterate frames in reverse order. When at the start, reset …","The size does not match the provided texture.","The size information is missing.","A sprite is a renderable graphic with optional animations.","An animation of one or more SpriteFrames.","A collection of SpriteAnimations. This is an immutable …","A collection of sprites.","A single frame for a SpriteAnimation.","A collection of SpriteSources.","An error occurred parsing a Sprite.","A collection of sprites from a single SharedTexture.","A region of a texture that is used as frame in a sprite …","The to field is missing or invalid.","The frame.w value is missing or invalid.","The frame.x value is missing or invalid.","The frame.y value is missing or invalid.","Adds a collection from sheet using converter to convert …","Adds all sprites from sheet.","Returns the animation for tag.","The animations that form this sprite.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Retrieve the current animation frame, if set and valid.","Returns the current tag.","","","","","","","","","","","","","","","The length the frame should be displayed. None will act as …","","","","","","","","","","","","","","","","","","","","","","","","","The frames of the animation.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","Creates a collection from sheet using converter to convert …","Gets the current frame after advancing the animation for …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Loads Aseprite JSON export format, when using the correct …","For merging multiple Sprites that have no tags within them","The mode of the animation.","Returns a new sprite with animations.","Creates a new collection from animations.","Creates a new animation with frames and …","Creates a new frame with source and no duration.","Creates a new sprite sheet, diving texture into a grid of …","Creates a new collection with sprites.","Returns a PreparedGraphic that renders this texture at dest…","Returns the amount of time remaining until the next frame …","Sets the current tag for the animation. If the tag …","Creates an instance from a texture. This creates a …","The source to render.","Returns the sprite referred to by tile.","","","Returns the sprites identified by each element in iterator …","Returns all of the requested tiles.","Returns the sprites identified by each element in iterator.","The source texture.","Returns the size of the tiles within this sheet.","","","","","","","","","","","","Returns a collection of all tiles in the sheet as","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Builder-style function. Sets duration and returns self.","Builder-style function. Sets mode and returns self.","The error that occurred.","The error that occurred.","The object key for the frame.","The name of the frame tag.","Render the text such that the center of the extents of the …","Render the text such that the text is offset by a custom …","Render the text such that the leftmost pixel of the …","Information about a glyph in a MeasuredText.","Instructions for drawing a laid out glyph.","The dimensions of a measured text block.","Text that is ready to be rendered on the GPU.","A text drawing command.","Controls the origin of PreparedText.","Render the text such that the top-left of the first line …","","","","","","","","","","","","","The measurement above the baseline of the text.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The color to draw the text using.","","","","The measurement below the baseline of the text.","","","","","","","End index of cluster in original line","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","The individual glyhs that were laid out.","Information about what glyph this is.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","The measurement to the leftmost pixel of the text.","Unicode BiDi embedding level, character is left-to-right …","The line index this glyph is visually laid out on.","The measurement above the baseline of the text.","The width of the line this glyph is on.","Custom metadata set in cosmic_text::Attrs.","Returns a text command that draws text with color.","Sets the origin for the text drawing operation and returns …","The origin to draw the text around.","Returns the destination rectangle for this glyph.","","","The total size of the measured text, encompassing all …","Start index of cluster in original line","The text to be drawn.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sets the width to wrap text at and returns self.","The width to wrap the text at. If None, no wrapping is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,17,0,0,30,0,0,17,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,3,3,3,3,0,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,30,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,30,0,3,3,3,3,3,0,30,0,0,0,17,3,3,3,3,3,3,1,3,3,0,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,7,7,3,3,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,7,13,21,15,16,3,17,19,20,15,16,3,17,19,20,0,17,7,14,19,7,14,13,7,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,16,14,3,17,19,20,3,3,3,17,17,17,19,19,19,20,20,20,0,16,26,28,7,14,3,29,17,19,20,30,28,28,28,28,7,28,15,29,1,13,37,37,37,15,16,26,28,7,14,3,3,29,17,19,19,20,20,30,30,30,30,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,29,3,3,3,0,0,0,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,3,17,3,29,29,28,15,28,7,3,29,3,29,28,21,13,7,1,16,29,20,15,29,29,7,21,13,7,15,15,13,7,3,3,19,0,1,26,1,28,28,183,37,37,183,13,37,28,37,28,28,28,28,28,28,28,0,13,15,28,7,29,20,30,37,0,1,0,28,28,0,15,16,3,17,19,20,183,37,37,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,1,13,37,15,16,26,28,7,14,3,29,17,19,20,30,0,3,3,3,3,184,0,185,0,185,0,0,0,89,89,81,89,85,81,89,85,184,81,89,85,81,89,85,81,89,85,81,89,85,184,85,85,184,184,89,184,184,184,81,89,89,81,89,85,184,81,89,184,184,85,184,81,81,89,85,81,89,85,89,81,184,184,184,184,184,81,89,81,89,85,81,89,85,89,85,81,89,85,81,184,81,184,89,89,89,81,184,81,184,184,184,184,81,81,89,184,89,184,184,81,81,184,89,89,184,0,184,184,184,85,81,81,81,81,81,81,81,81,81,184,81,184,81,89,85,184,184,184,184,89,81,89,85,81,89,85,81,89,85,81,89,85,89,89,89,0,81,0,0,116,118,116,118,116,118,116,118,116,118,116,118,116,116,118,116,116,116,118,116,116,116,116,116,116,116,116,116,118,116,118,116,118,116,118,116,118,116,118,116,118,116,116,118,116,116,118,116,116,118,116,118,116,118,116,118,116,131,130,129,0,0,131,0,131,0,131,0,0,130,130,0,0,0,131,129,130,0,129,0,123,123,126,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,127,127,123,123,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,127,129,130,120,125,131,126,132,127,129,130,120,125,131,126,132,127,123,123,132,125,132,132,123,123,123,120,125,126,132,135,123,129,130,120,125,131,126,132,127,132,132,129,130,120,132,127,127,127,127,126,126,120,120,120,129,130,120,125,131,126,132,127,123,123,129,130,120,125,125,125,131,126,132,132,127,127,127,123,129,130,120,125,131,126,132,127,126,132,127,132,127,132,127,132,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,129,130,125,131,132,127,132,127,132,127,132,127,127,132,132,123,123,132,125,132,127,132,132,132,123,125,123,132,120,120,132,123,123,123,123,126,132,132,126,120,120,120,129,130,120,125,131,126,132,127,132,127,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,134,134,186,187,188,189,189,186,190,188,189,190,188,189,0,160,156,156,155,154,162,0,162,0,156,155,162,156,0,162,162,155,155,154,160,154,162,162,0,0,0,0,0,0,0,0,0,156,155,155,155,146,146,151,158,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,155,156,157,158,151,152,159,147,146,160,154,155,156,157,158,151,152,159,147,146,160,158,158,146,146,154,162,155,156,157,158,151,152,159,147,146,160,159,155,156,157,155,155,155,156,156,156,157,157,157,154,162,155,156,157,158,151,152,159,147,146,160,152,154,162,162,162,155,156,157,158,158,151,152,159,147,146,160,160,160,154,162,155,156,157,158,151,152,159,147,146,160,146,158,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,155,156,157,146,158,158,152,158,151,152,159,147,146,160,158,158,158,159,191,147,146,147,191,147,147,147,154,155,156,157,158,151,152,159,147,146,160,147,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,159,152,192,193,193,192,60,60,60,0,0,0,0,0,0,60,61,60,119,166,167,40,61,60,119,166,167,40,119,61,60,119,166,167,40,61,60,119,166,167,40,61,60,119,166,167,40,61,60,119,166,167,40,60,119,166,167,40,60,119,166,167,40,40,60,61,61,119,61,60,119,166,167,40,167,60,60,60,60,61,60,119,166,167,40,61,60,119,166,167,40,40,40,61,60,119,166,167,40,60,60,60,119,166,61,60,119,166,167,40,61,60,119,166,167,40,61,60,119,166,167,40,61,60,119,166,167,40,60,167,40,60,60,60,119,167,167,119,167,167,40,40,40,166,40,40,119,167,40,60,119,166,167,40,40,61,60,119,166,167,40,61,60,119,166,167,40,61,60,119,166,167,40,61,60,119,166,167,40,40,40,177,0,0,0,0,0,171,0,0,0,171,177,0,177,0,0,0,0,0,0,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,168,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,170,171,170,171,170,170,173,171,168,168,169,168,176,177,173,170,178,171,179,0,168,170,170,170,170,180,173,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,173,173,173,173,170,173,173,173,173,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,170,171,173,174,176,173,179,174,176,173,179,182,173,194,176,194,176,176,173,178,168,170,175,178,173,180,194,175,176,176,177,173,179,179,168,176,170,171,168,0,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,168,176,171,168,195,195],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,4],[3,5],0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[7,8],[7,9],[3,4],[3,5],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[7,[[12,[11]]]],[[13,[12,[11]]],[[14,[13]]]],[[-1,[12,[11]]],[[14,[-1]]],[]],[15,15],[16,16],[3,3],[[[17,[-1]]],[[17,[-1]]],18],[19,19],[20,20],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],0,[[],[[17,[-1]]],[]],[7],[[[14,[-1]]],[],21],[19],[7],[[[14,[-1]]],[],21],[13,8],[7,8],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,2],[16,2],[[[14,[-1]]],2,21],[[3,3],22],[[[17,[-1]],[17,[-1]]],22,23],[[19,19],22],[[20,20],22],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],0,[[16,24],25],[[[26,[-1]],24],25,27],[[28,24],25],[[7,24],25],[[[14,[-1]],24],25,[21,27]],[[3,24],25],[[29,24],25],[[[17,[-1]],24],25,27],[[19,24],25],[[20,24],25],[[30,24],25],[28,31],[28,32],[28,33],[28,34],[7,34],[28,35],[15,36],[29,36],[-1,-1,[]],[-1,-1,[]],[-1,[[37,[-1,-2]]],38,39],[[[40,[-1]]],[[37,[[40,[-1]],-1]]],39],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[41,3],[-1,-1,[]],[-1,-1,[]],[29,19],[-1,-1,[]],[19,20],[-1,-1,[]],[29,30],[16,30],[20,30],[-1,-1,[]],[19,30],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[42,7],29],[3,4],[3,5],[[3,-1],2,43],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,22,[]],[[[48,[11]],36,49,[50,[4]]],29],[42,29],[28,32],[[[48,[11]],36,7],15],[[8,9,36,51,52,[48,[11]],5],28],[[28,8,9],7],[[4,4,4,4],3],[[7,[48,[11]],36,49],29],[[5,5,5,5],3],[[7,[48,[11]],36,49,[53,[4]]],29],[28,1],[-1,2,[]],[13,2],[7,2],[[1,8,9],7],[[16,[12,[-1]],7],[[26,[-1]]],[54,[56,[55]]]],[[29,[12,[-1]],7],[[26,[-1]]],54],[[20,[12,[-1]],7],[[26,[-1]]],54],[[15,[12,[-1]],7],[[26,[-1]]],54],[[29,[12,[11]],[12,[-1]],7],[[26,[-1]]],54],[[29,[17,[-1]],[48,[-1]],7],[[26,[-1]]],[54,[57,[55]]]],[[7,58,3,[60,[59]]],61],[[-1,[12,[11]]],2,[]],[[13,[12,[11]]],2],[[7,[12,[11]]],2],[[15,42,7],16],[[15,[53,[4]],62,[48,[11]],7],16],[13,9],[7,9],[3,4],[3,5],[[19,[12,[11]]],20],0,[[1,63,8,9],13],[[[26,[-1]],[64,[-1]],[65,[5]],[65,[66]],13],2,[67,68,39,69,70,71]],[[1,29,[72,[3]],7],13],[28,2],[[28,[48,[11]],5,9],2],[[-1,66],[[37,[-2,-3]]],[],[],[]],[[[37,[-1,-2]],66],[[37,[-1,-2]]],[],[]],0,[[-1,5],[[37,[-2,-3]]],[],[],[]],[13,73],[[[37,[-1,-2]],5],[[37,[-1,-2]]],[],[]],[28,73],0,[[28,74],2],[[28,-1],2,75],[[28,33],2],[[28,35],2],[[28,-1],2,75],[[28,76],2],[[28,77],2],0,[13,[[48,[11]]]],[15,[[48,[11]]]],[28,[[48,[11]]]],[7,[[48,[11]]]],[29,[[48,[11]]]],[20,[[48,[11]]]],[30,[[48,[11]]]],0,0,[[1,9],[[65,[78]]]],0,[28,76],[28,77],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[64,[-2]]],[[37,[-3,-2]]],[],[],[]],[[[37,[-1,-2]],[64,[-2]]],[[37,[-1,-2]]],[],[]],0,[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],0,[[3,4],3],[[3,4],3],[[3,4],3],[[3,4],3],0,0,0,0,0,0,0,0,0,0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[[-1,[81,[-2]],28,82,83,84],2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[65,[3]]],[]],[[[85,[-1]]],[[85,[-1]]],18],[[-1,-2],2,[],[]],[[-1,[81,[-2]],28],22,[],[]],[[-1,[53,[86]]],86,[]],0,[[-1,[81,[-2]],28,82],2,[],[]],[[-1,[81,[-2]],28,82],2,[],[]],[[-1,[81,[-2]],28,82,[87,[84]]],2,[],[]],[[[81,[-1]]],[[65,[[64,[59]]]]],88],0,[[],89],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[81,[-2]],28,90],2,[],[]],[[[81,[-1]]],91,88],0,[[-1,[81,[-2]],28,-2],2,[],[]],[[],51],[[[85,[-1]],24],25,27],[[-1,[81,[-2]],28],2,[],[]],[[[81,[-1]]],22,88],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[[81,[-1]]],[[85,[-1]]],88],[[-1,[81,[-2]],28,90],2,[],[]],[[-1,[81,[-2]],28],2,[],[]],[[-1,[81,[-2]],28,92],2,[],[]],[[],89],[[[81,[-1]],7],-2,[],[]],[[[81,[-1]]],[[48,[11]]],88],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[81,[-1]],-2],22,88,[[94,[93]]]],[[-1,[81,[-2]],28,82,95,22],2,[],[]],[[[81,[-1]]],91,88],[96,96],0,0,0,[[[81,[-1]]],97,88],[[-1,[81,[-2]],28],2,[],[]],[[[81,[-1]],98],22,88],[[-1,[81,[-2]],28,82,99,98],2,[],[]],[[-1,[81,[-2]],28,82,100,101],2,[],[]],[[],102],[[-1,[81,[-2]],28],2,[],[]],[[[81,[-1]]],22,88],[[[81,[-1]]],[[64,[59]]],88],0,[[],103],0,[[-1,[81,[-2]],7],2,[],[]],[[-1,[81,[-2]],28,104],2,[],[]],[[[81,[-1]],105],2,88],[[[81,[-1]],91],2,88],[[-1,[81,[-2]],13],22,[],[]],0,0,[[-1,[81,[-2]],28],2,[],[]],[-1,[[79,[2,106]]],[107,88,108]],[[],[[79,[2,106]]]],[[],[[79,[2,106]]]],[[-1,[81,[-2]],28],2,[],[]],[[[85,[-1]],-1],[[79,[2,-1]]],[]],[[[81,[-1]],22],2,88],[[[81,[-1]],[12,[11]]],2,88],[[[81,[-1]],109],2,88],[[[81,[-1]],[48,[11]]],2,88],[[[81,[-1]],[65,[[48,[11]]]]],2,88],[[[81,[-1]],[65,[[48,[11]]]]],2,88],[[[81,[-1]]],2,88],[[[81,[-1]],[64,[59]]],2,88],[[[81,[-1]],110],2,88],[[-1,[81,[-2]],28,82],2,[],[]],[[[81,[-1]]],111,88],[[-1,[81,[-2]],28],2,[],[]],[[[81,[-1]]],112,88],0,[-1,-2,[],[]],[[-1,[81,[-2]],28,113],2,[],[]],[[-1,[81,[-2]],28,82,84,101],2,[],[]],[[-1,[81,[-2]],28,82,5,114],2,[],[]],[[-1,[81,[-2]],28,82,5,101],2,[],[]],0,[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],0,0,0,0,[[[81,[-1]]],115,88],0,0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[[116,[12,[11]]],[[14,[116]]]],[116,117],[[],118],[116],[116],[-1,-2,[],[]],[-1,-2,[],[]],[[116,-2,[60,[-1]]],2,70,[[94,[[37,[[119,[-1]],-1]]]]]],[[116,-2],2,[71,69,70,54,68],[[94,[[37,[[120,[-1]],-1]]]]]],[[116,-2],2,70,[[94,[[37,[[40,[-1]],-1]]]]]],[[116,-2,3,[60,[59]]],2,70,[[94,[[37,[58,-1]]]]]],[[116,-1,[12,[-2]]],2,121,[54,70,69]],[[116,-1,[64,[-2]]],2,121,[54,70,69]],[[116,-3,-4],2,[71,69,70,54,68],[[122,[-1]]],[[94,[[37,[-2,-1]]]]],121],[116,2],[[116,24],25],[[118,24],25],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[116,-2],[[119,[-1]]],70,[[94,[[40,[-1]]]]]],[[116,58,3],[[119,[-1]]],70],[[118,7],116],[116,2],[[116,[12,[11]]],2],[[118,13],2],[116,117],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[116,117],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[123,[-1]],-2,[48,[-1]],66],[[123,[-1]]],[124,68],[[94,[[125,[-1]]]]]],[[[123,[-1]],[64,[-1]],[48,[-1]],66,-2],[[123,[-1]]],[124,68],[[94,[[125,[11]]]]]],[[[64,[-1]],[48,[-1]],66,66],[[126,[-1]]],124],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[[123,[-1]]],[[126,[-1]]],68],[[[123,[-1]]],[[126,[-1]]],68],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[127,[-1]],-1],[[127,[-1]]],[128,68]],[129,129],[130,130],[[[120,[-1]]],[[120,[-1]]],18],[[[125,[-1]]],[[125,[-1]]],18],[[[131,[-1]]],[[131,[-1]]],18],[[[126,[-1]]],[[126,[-1]]],18],[[[132,[-1]]],[[132,[-1]]],18],[[[127,[-1]]],[[127,[-1]]],18],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[[123,[-1]]],[[126,[-1]]],68],[[[123,[-1]]],[[126,[-1]]],68],[-1,[[132,[32]]],[[94,[133]]]],0,0,[[[132,[-1]],3],[[132,[-1]]],[]],[[[123,[-1]],[134,[-1]],[134,[-1]],-2],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[[123,[-1]],[134,[-1]],[134,[-1]],-2,[64,[11]]],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[],[[123,[-1]]],[39,68]],[[],[[120,[-1]]],[]],[[],[[125,[-1]]],39],[[],[[126,[-1]]],39],[[],[[132,[-1]]],135],[[],-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[132,[-1]],129],[[132,[-1]]],[]],0,[[129,129],22],[[130,130],22],[[[120,[-1]],[120,[-1]]],22,23],[[[132,[-1]],[132,[-1]]],22,23],[[[127,[-1]],[127,[-1]]],22,23],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[[126,[-1]],3],[[120,[-1]]],[124,68,136]],[[[126,[-1]]],[[120,[-1]]],[124,68,136]],[[-1,3,[17,[-1]]],[[120,[-1]]],[39,137,138,139,124,68,136]],[[[12,[-1]],3],[[120,[-1]]],[138,139,124,68,136]],[[[12,[-1]],-2,3],[[120,[-1]]],[138,140,56,[141,[5]],[142,[55]],139,124,68,136],[[94,[[127,[-1]]]]]],[[129,24],[[79,[2,143]]]],[[130,24],[[79,[2,143]]]],[[[120,[-1]],24],25,27],[[[125,[-1]],24],25,27],[[[131,[-1]],24],25,27],[[[126,[-1]],24],25,27],[[[132,[-1]],24],25,27],[[[127,[-1]],24],25,27],[[[126,[-1]]],[[123,[-1]]],39],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[2,[[64,[-1]],3]]],[[125,[-1]]],[]],[-1,-1,[]],[[[64,[-1]]],[[125,[-1]]],[]],[-1,-1,[]],[-1,-1,[]],[3,[[132,[-1]]],135],[-1,-1,[]],[144,-1,[]],[-1,-1,[]],[-1,[[127,[-1]]],68],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,[[126,[-2]]],145,[]],[73,[[132,[-1]]],75],[73,[[127,[-1]]],75],[73,[[132,[-1]]],75],[73,[[127,[-1]]],75],[73,[[132,[-1]]],75],[73,[[127,[-1]]],75],[-1,[[132,[32]]],[[94,[133]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[[[132,[-1]],73],[],75],[[[127,[-1]],73],[],75],[[[132,[-1]],73],[],75],[[[127,[-1]],73],[],75],[[[132,[-1]],73],[],75],[[[127,[-1]],73],[],75],[[[127,[-1]]],22,71],[[[132,[-1]],130],[[132,[-1]]],[]],0,[[[123,[-1]],-2,[64,[11]]],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[[123,[-1]],-2],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],0,0,[-1,[[132,[32]]],[[94,[32]]]],[[[127,[-1]],-2],[[127,[-3]]],[],107,[]],[[[132,[-1]],5],[[132,[-1]]],[]],0,[-1,[[132,[32]]],[[94,[133]]]],[-2,[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[[64,[-1]],3],[[125,[-1]]],[]],[[-2,[64,[11]]],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[-1,[[132,[32]]],[[94,[133]]]],[[[120,[-1]],7],[[26,[-1]]],[68,136]],[[[120,[-1]],-2,7],[[26,[-1]]],68,121],[-1,[[132,[59]]],[[94,[59]]]],[[[123,[-1]],[134,[-1]],-2],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[[123,[-1]],[134,[-1]],-2,[64,[11]]],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[[123,[-1]],-2],2,68,[[94,[[125,[-1]]]]]],[[[123,[-1]],-2,[64,[11]]],2,68,[[94,[[125,[-1]]]]]],[[[12,[-1]],-2],[[126,[-1]]],[138,140,56,[141,[5]],[142,[55]],139,124,68],[[94,[[127,[-1]]]]]],[[[132,[-1]],129],[[132,[-1]]],[]],0,[[[126,[-1]],-2],[[120,[-1]]],[124,68,136],[[94,[[132,[-1]]]]]],[[-1,3,[17,[-1]],-2],[[120,[-1]]],[39,137,138,139,124,68,136],[[94,[[132,[-1]]]]]],[[[12,[-1]],-2],[[120,[-1]]],[138,139,124,68,136],[[94,[[132,[-1]]]]]],[[[12,[-1]],-2,-3],[[120,[-1]]],[138,140,56,[141,[5]],[142,[55]],139,124,68,136],[[94,[[127,[-1]]]]],[[94,[[132,[-1]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[146,[-1]],[147,[-2]],-3],2,[27,148,149],[18,27,148,149],150],[[[146,[-1]],[147,[-1]]],2,[18,27,148,149]],[[151,[65,[-1]]],[[65,[152]]],153],0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[154,154],[155,155],[156,156],[157,157],[158,158],[151,151],[152,152],[159,159],[[[147,[-1]]],[[147,[-1]]],[27,18]],[[[146,[-1]]],[[146,[-1]]],18],[160,160],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[158,[[79,[160,157]]]],[158,[[65,[110]]]],[[],[[146,[-1]]],[]],[[[146,[-1]]],[[161,[-1,160]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[155,155],22],[[156,156],22],[[157,157],22],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[154,24],25],[[162,24],25],[[155,24],25],[[156,24],25],[[157,24],25],[[158,24],25],[[151,24],25],[[152,24],25],[[159,24],25],[[[147,[-1]],24],25,[27,27]],[[[146,[-1]],24],25,27],[[160,24],25],0,[-1,-1,[]],[163,162],[-1,-1,[]],[164,162],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[151,158],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[20,160],[16,160],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[147,[-1]],-2],[[146,[-3]]],[18,27,148,149],150,[27,148,149]],[[158,[65,[91]]],[[79,[160,157]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[[[146,[-1]]],[],[]],[[110,19],[[79,[158,162]]]],[-1,158,145],0,[151,158],[[[161,[[65,[112]],152]]],151],[[[50,[159]]],152],[-1,159,[[94,[160]]]],[[-1,[48,[11]],[50,[-2]]],[[147,[-2]]],[[94,[19]]],[27,148,149]],[[[161,[-1,160]]],[[146,[-1]]],[27,148,149]],[[160,[12,[-1]],7],[[26,[-1]]],[54,[56,[55]]]],[158,[[79,[[65,[91]],157]]]],[[158,[65,[-1]]],[[79,[2,157]]],[[94,[112]]]],[19,158],0,[[-1,-2],[[65,[160]]],[],[]],[[[147,[-1]],-1],[[65,[160]]],[27,88,165,148,149]],[[[146,[-1]],-1],[[65,[160]]],[88,165,148,149]],[[[147,[-1]],-2],[[146,[-1]]],[27,148,149],145],[[-1,[53,[-2]]],[[50,[160]]],[],[]],[[[147,[-1]],-2],[[50,[160]]],[27,148,149],145],0,[[[147,[-1]]],[[48,[11]]],[27,148,149]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[147,[-1]]],[[146,[-1]]],[18,27,148,149]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[[159,91],159],[[152,154],152],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[60,[-1]]],[[60,[-1]]],18],[[[119,[-1]]],[[119,[-1]]],18],[166,166],[167,167],[[[40,[-1]]],[[40,[-1]]],18],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],0,[[],[[60,[-1]]],[]],[61],[61],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[60,[-1]],[60,[-1]]],22,23],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[61,24],25],[[[60,[-1]],24],25,27],[[[119,[-1]],24],25,27],[[166,24],25],[[167,24],25],[[[40,[-1]],24],25,27],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[112,[[40,[-1]]],[]],[-1,-1,[]],[110,[[40,[-1]]],[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[73,[[60,[-1]]],75],[73,[[60,[-1]]],75],[73,[[60,[-1]]],75],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[[[60,[-1]],73],[],75],[[[60,[-1]],73],[],75],[[[60,[-1]],73],[],75],0,0,0,0,0,0,[[110,3],[[40,[-1]]],[]],[[[40,[-1]],[60,[-1]]],[[40,[-1]]],[]],0,[166,[[12,[59]]]],[[-1,66],[[37,[-2,-3]]],[],[],[]],[[-1,5],[[37,[-2,-3]]],[],[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[64,[-2]]],[[37,[-3,-2]]],[],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[[[40,[-1]],-1],[[40,[-1]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[168,169],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[170,170],[171,171],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[170,170],172],[[-1,-2],172,[],[]],[[],[[173,[-1]]],[]],[[],171],[168],[168],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,171,5,91,116],[[65,[91]]],174],[168,91],[[170,170],22],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,170],[[65,[[64,[59]]]]],[]],[[[173,[-1]],170],[[65,[[64,[59]]]]],175],[[[176,[-1]],24],25,27],[[177,24],25],[[[173,[-1]],24],25,27],[[170,24],25],[[[178,[-1]],24],25,27],[[171,24],25],[[179,24],25],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[173,[-1]],170],[[65,[-1]]],[]],[[[173,[-1]],170],[[65,[-1]]],[]],[[[173,[-1]],117],[[65,[-1]]],[]],[[[173,[-1]],117],[[65,[-1]]],[]],[[170,-1],2,43],[[[173,[-1]],117],[],[]],[[[173,[-1]],170],[],[]],[[[173,[-1]],170],[],[]],[[[173,[-1]],117],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[45,[-1,44]]],[[45,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[46,[-1,44]]],[[46,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[[[47,[-1,44]]],[[47,[6,44]]],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[[[173,[-1]]],22,[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[-1,117,[]],[[[173,[-1]]],117,[]],[-1,[[64,[181]]],[]],[[[176,[-1]]],[[64,[181]]],182],[-1,[[64,[181]]],[]],[[[176,[-1]]],[[64,[181]]],182],[[117,-1],[[176,[-1]]],182],[[],[[173,[-1]]],[]],0,[168,[[64,[59]]]],[[170,170],[[65,[172]]]],[-1,[[64,[59]]],[]],0,[[[173,[-1]],-1],170,[]],[[-1,168],[[65,[91]]],[]],[[-1,[64,[181]],[12,[59]],168],[[65,[91]]],[]],[[-1,[64,[59]],5,116],[[65,[91]]],[]],[[-1,168],[[65,[91]]],[]],[[[176,[-1]],[64,[181]],[12,[59]],168],[[65,[91]]],182],[[177,[12,[59]],168],[[65,[91]]]],[[[173,[-1]],168],[[65,[91]]],175],[[179,[64,[181]],[12,[59]],168],[[65,[91]]]],[[-1,168],[[65,[91]]],[]],[168,59],0,[-1,-2,[],[]],[-1,-2,[],[]],[168,169],[[[64,[59]],73,5,[48,[59]]],[[64,[59]]]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[168,[[12,[59]]]],0,[[171,-1],[[64,[59]]],174],[168,5],0,0],"c":[],"p":[[3,"Frame",0],[15,"tuple"],[3,"Color",0],[15,"u8"],[15,"f32"],[8,"Any",1907],[3,"Graphics",0],[3,"Device",1908],[3,"Queue",1908],[8,"CastFrom",1909],[3,"UPx",1910],[3,"Rect",1911],[3,"RenderingGraphics",0],[3,"ClipGuard",0],[3,"TextureCollection",0],[3,"CollectedTexture",0],[4,"Origin",0],[8,"Clone",1912],[3,"SharedTexture",0],[3,"TextureRegion",0],[8,"Clipped",0],[15,"bool"],[8,"PartialEq",1913],[3,"Formatter",1914],[6,"Result",1914],[3,"PreparedGraphic",0],[8,"Debug",1914],[3,"Kludgine",0],[3,"Texture",0],[4,"AnyTexture",0],[4,"Family",1915],[3,"Lp",1910],[4,"Style",1915],[3,"FontSystem",1916],[3,"Weight",1915],[4,"TextureFormat",1917],[3,"Drawable",0],[8,"DrawableSource",0],[8,"Default",1918],[3,"Text",1478],[3,"Color",1919],[4,"DynamicImage",1920],[8,"Hasher",1921],[3,"Global",1922],[3,"Box",1923],[3,"Arc",1924],[3,"Rc",1925],[3,"Size",1926],[3,"TextureUsages",1917],[3,"Vec",1927],[4,"FilterMode",1917],[3,"MultisampleState",1917],[15,"slice"],[8,"Unit",1928],[15,"i32"],[8,"Div",1929],[8,"From",1930],[3,"Buffer",1931],[3,"Px",1910],[4,"TextOrigin",1478],[3,"PreparedText",1478],[3,"ImageDataLayout",1917],[3,"RenderPassDescriptor",1908],[3,"Point",1932],[4,"Option",1933],[3,"Angle",1934],[8,"IntoSigned",1928],[8,"Copy",1935],[8,"ShaderScalable",0],[8,"ScreenUnit",1928],[8,"Zero",1928],[4,"LoadOp",1908],[3,"Fraction",1936],[4,"FamilyOwned",1919],[8,"ScreenScale",1928],[3,"Attrs",1919],[4,"Width",1937],[3,"SubmissionIndex",1908],[4,"Result",1938],[3,"TypeId",1907],[3,"Window",606],[3,"DeviceId",1939],[6,"AxisId",1939],[15,"f64"],[3,"WindowHandle",606],[4,"CompositeAlphaMode",1917],[3,"PhysicalPosition",1940],[8,"Send",1935],[3,"WindowAttributes",606],[3,"PathBuf",1941],[3,"Duration",1942],[4,"Ime",1939],[4,"PhysicalKey",1943],[8,"Into",1930],[3,"KeyEvent",1939],[3,"Limits",1917],[3,"Modifiers",1939],[4,"MouseButton",1939],[4,"ElementState",1939],[4,"MouseScrollDelta",1939],[4,"TouchPhase",1939],[3,"NonZeroU32",1944],[4,"PowerPreference",1917],[15,"char"],[3,"Instant",1945],[4,"EventLoopError",1946],[8,"FnMut",1947],[8,"UnwindSafe",1948],[4,"ImePurpose",1949],[15,"str"],[4,"Theme",1949],[3,"String",1950],[3,"Touch",1939],[15,"i64"],[3,"Window",1949],[3,"Renderer",753],[15,"usize"],[3,"Drawing",753],[3,"MeasuredText",1478],[3,"Shape",812],[8,"TextureSource",0],[8,"ShapeSource",0],[3,"PathBuilder",812],[8,"FloatConversion",1928],[3,"Endpoint",812],[3,"Path",812],[3,"CornerRadii",812],[8,"PartialOrd",1913],[4,"LineCap",812],[4,"LineJoin",812],[4,"PathEvent",812],[3,"StrokeOptions",812],[4,"FloatOrInt",1928],[6,"ControlPoint",812],[8,"DefaultStrokeWidth",812],[8,"PixelScaling",1928],[8,"Neg",1929],[8,"Add",1929],[8,"Ord",1913],[8,"Sub",1929],[8,"Mul",1929],[8,"TryFrom",1930],[3,"Error",1914],[15,"never"],[8,"IntoIterator",1951],[3,"SpriteMap",1130],[3,"SpriteSheet",1130],[8,"Eq",1913],[8,"Hash",1921],[8,"Fn",1947],[3,"SpriteAnimations",1130],[3,"SpriteAnimation",1130],[8,"ToString",1950],[4,"AnimationMode",1130],[4,"FrameParseError",1130],[4,"FrameTagError",1130],[3,"InvalidSpriteTag",1130],[3,"Sprite",1130],[3,"SpriteFrame",1130],[4,"SpriteSource",1130],[3,"HashMap",1952],[4,"SpriteParseError",1130],[4,"ImageError",1953],[3,"Error",1954],[8,"Sync",1935],[3,"MeasuredGlyph",1478],[3,"GlyphInfo",1478],[3,"LayerContext",1653],[3,"TileOffset",1653],[3,"ObjectId",1653],[4,"TileMapFocus",1653],[4,"Ordering",1913],[3,"ObjectLayer",1653],[8,"Layers",1653],[8,"Object",1653],[3,"TileArray",1653],[4,"TileKind",1653],[3,"ObjectInfo",1653],[3,"DebugGrid",1653],[8,"Layer",1653],[15,"isize"],[8,"TileList",1653],[8,"DrawableExt",0],[8,"WindowBehavior",606],[8,"Message",606],[13,"Begin",1118],[13,"End",1118],[13,"Quadratic",1118],[13,"Cubic",1118],[13,"Line",1118],[8,"SpriteCollection",1130],[13,"FrameTag",1474],[13,"Frame",1474],[8,"TileSource",1653],[13,"Object",1905]],"a":{"app_id":[615],"class":[615],"class_name":[615]}}\ +"kludgine":{"doc":"Kludgine (Redux)","t":"SSSSSESSSSSSSSSSSSSSSSSSNDINDDNSSSSSSSSSSSSSSSSSSSSSSSSDIISSSSDSSSSSSSSDSSSSSSDISSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSESSSSSSSSSSSDSSSSNDSSSSSSSSSSSSSSIINDSSSSSDNDDINSSSSSSLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCOOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLKLLLLLLLLLALLLLLKLMKLLLMLLLLLLLALLLLLLLMALALLALLLLLLKLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLLLLLLLQIQDQDIDMMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLMLLLLLLMLLLLLLLLLLMLLLLLKLMLLLLLLLLLLLLLLLMMMLLLLLLLLLMLMLLLLKMMLFLLLLLLLLLLLLLLLLLMLLLLLMLLLLLLLLLLLLMMMCLDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNGDNINDNEENNDDENNNDNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLKLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMMLLLMLLLLLLLLLLLLLLMLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMENNNNNNENENNNNDNNNNNNNNNDDDIDDEDENNNNLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLMKLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMNNNDDDDDENLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLMLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMNDIDIINDDDNNRNDEIEDILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLKLLLKLLLLLLLMLLKMLKKKLLLLLLLMLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMM","n":["ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","AnyTexture","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CLEAR_BLACK","CLEAR_WHITE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","Center","ClipGuard","Clipped","Collected","CollectedTexture","Color","Custom","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","Drawable","DrawableExt","DrawableSource","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","Frame","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","Graphics","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","Kludgine","KludgineGraphics","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","Origin","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","PreparedGraphic","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","Region","RenderingGraphics","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","ShaderScalable","ShapeSource","Shared","SharedTexture","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","Texture","Texture","TextureCollection","TextureRegion","TextureSource","TopLeft","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","abort","alpha","alpha_f32","app","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_ref","as_ref","blue","blue_f32","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clip_rect","clipped_to","clipped_to","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cosmic_text","default","deref","deref","deref","deref_mut","deref_mut","device","device","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","drop","drop","drop","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","figures","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","font_family","font_size","font_style","font_system","font_system","font_weight","format","format","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_image","green","green_f32","hash","image","include_aseprite_sprite","include_texture","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_components","into_components","is_valid_bit_pattern","lazy_from_data","lazy_from_image","line_height","new","new","new","new","new","new_f32","new_with_data","next_frame","pop_clip","pop_clip","pop_clip","prepare","prepare","prepare","prepare","prepare_entire_colection","prepare_partial","prepare_sized","prepare_text","push_clip","push_clip","push_clip","push_image","push_texture","queue","queue","red","red_f32","region","render","render","render","render_into","reset_text_attributes","resize","rotate_by","rotate_by","rotation","scale","scale","scale","scale","scale","set_font_family","set_font_size","set_font_style","set_font_weight","set_line_height","set_text_attributes","set_text_stretch","shapes","size","size","size","size","size","size","size","source","sprite","submit","text","text_attrs","text_stretch","tilemap","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","translate_by","translate_by","translation","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","wgpu","with_alpha","with_alpha_f32","with_blue","with_blue_f32","with_green","with_green_f32","with_red","with_red_f32","Context","Message","Response","Window","Window","WindowAttributes","WindowBehavior","WindowHandle","active","app_name","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","axis_motion","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast","cast","cast","cast_into","cast_into","cast_into","clear_color","clone","clone_into","close_requested","composite_alpha_mode","content_protected","cursor_entered","cursor_left","cursor_moved","cursor_position","decorations","default","downcast","downcast","downcast","dropped_file","elapsed","enabled_buttons","event","fmt","focus_changed","focused","from","from","from","from_cast","from_cast","from_cast","fullscreen","handle","hovered_file","hovered_file_cancelled","ime","initial_window_attributes","initialize","inner_size","inner_size","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","key_pressed","keyboard_input","last_frame_rendered_in","limits","max_inner_size","maximized","min_inner_size","modifiers","modifiers_changed","mouse_button_pressed","mouse_input","mouse_wheel","multisample_count","occlusion_changed","ocluded","position","position","power_preference","preferred_theme","prepare","received_character","redraw_at","redraw_in","render","resizable","resize_increments","resized","run","run","run_with","scale_factor_changed","send","set_ime_allowed","set_ime_cursor_area","set_ime_purpose","set_inner_size","set_max_inner_size","set_min_inner_size","set_needs_redraw","set_position","set_title","smart_magnify","theme","theme_changed","title","title","to_owned","touch","touchpad_magnify","touchpad_pressure","touchpad_rotate","transparent","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","visible","window_icon","window_level","winit","winit","Drawing","Renderer","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","cast","cast","cast_into","cast_into","clipped_to","command_count","default","deref","deref_mut","downcast","downcast","draw_measured_text","draw_shape","draw_text","draw_text_buffer","draw_texture","draw_texture_at","draw_textured_shape","drop","fmt","fmt","from","from","from_cast","from_cast","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","measure_text","measure_text_buffer","new_frame","pop_clip","push_clip","render","triangle_count","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","vertex_count","Begin","Bevel","Butt","ControlPoint","CornerRadii","Cubic","DefaultStrokeWidth","End","Endpoint","Line","LineCap","LineJoin","Miter","MiterClip","Path","PathBuilder","PathEvent","Quadratic","Round","Round","Shape","Square","StrokeOptions","arc","arc","arc","arc_counter","arc_counter","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_left","bottom_right","build","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clamped","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","close","cm_wide","color","color","colored","cubic_curve_to","cubic_curve_to","default","default","default","default","default","default_stroke_width","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","end_cap","end_cap","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","fill","filled","filled_circle","filled_rect","filled_round_rect","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_iter","from_lp","from_lp","from_px","from_px","from_upx","from_upx","inches_wide","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_components","into_components","into_components","into_components","into_components","into_components","into_lp","into_lp","into_px","into_px","into_upx","into_upx","is_zero","line_join","line_join","line_to","line_to","line_width","location","lp_wide","map","miter_limit","miter_limit","mm_wide","new","new","new_textured","points_wide","prepare","prepare","px_wide","quadratic_curve_to","quadratic_curve_to","reset","reset","round_rect","start_cap","start_cap","stroke","stroked_circle","stroked_rect","stroked_round_rect","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","tolerance","top_left","top_right","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","x","y","at","close","ctrl","ctrl1","ctrl2","texture","texture","texture","texture","to","to","to","AnimationMode","Collected","DirectionMissing","DirectionUnknown","Duration","Forward","Frame","FrameParseError","FrameTag","FrameTagError","From","Height","Image","InvalidFrame","InvalidSpriteTag","Json","Meta","MissingRegion","NotNumeric","PingPong","Region","Reverse","SizeMismatch","SizeMissing","Sprite","SpriteAnimation","SpriteAnimations","SpriteCollection","SpriteFrame","SpriteMap","SpriteParseError","SpriteSheet","SpriteSource","To","Width","X","Y","add_foreign_sheet","add_sheet","animation_for","animations","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","current_frame","current_tag","default","deref","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","duration","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","frames","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_foreign_sheet","get_frame","into","into","into","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_components","into_components","into_components","into_iter","load_aseprite_json","merged","mode","new","new","new","new","new","new","prepare","remaining_frame_duration","set_current_tag","single_frame","source","sprite","sprite","sprite","sprite_map","sprites","sprites","texture","tile_size","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_sprite_map","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","with_duration","with_mode","error","error","key","name","Center","Custom","FirstBaseline","GlyphInfo","MeasuredGlyph","MeasuredText","PreparedText","Text","TextOrigin","TopLeft","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","ascent","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","color","default","deref","deref_mut","descent","downcast","downcast","downcast","downcast","downcast","downcast","end","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_lp","from_px","from_upx","glyphs","info","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_components","into_components","into_components","into_lp","into_px","into_upx","left","level","line","line_height","line_width","metadata","new","origin","origin","rect","rotate_by","scale","size","start","text","to_owned","to_owned","to_owned","to_owned","to_owned","translate_by","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","wrap_at","wrap_at","Color","DebugGrid","Layer","LayerContext","Layers","Object","Object","ObjectId","ObjectInfo","ObjectLayer","Point","Sprite","TILE_SIZE","Texture","TileArray","TileKind","TileList","TileMapFocus","TileOffset","TileSource","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_right","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clone","clone","clone_into","clone_into","cmp","compare","default","default","deref","deref_mut","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","downcast","draw","elapsed","eq","equivalent","equivalent","equivalent","find_object","find_object","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","get","get_mut","get_nth","get_nth_mut","hash","index","index","index_mut","index_mut","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_components","into_components","is_empty","layer","layer","layer","layer","layer_mut","layer_mut","layer_mut","layer_mut","len","len","maximum_tile","maximum_tile","minimum_tile","minimum_tile","new","new","object","origin","partial_cmp","position","position","push","render","render","render","render","render","render","render","render","render","tile_size","tiles","to_owned","to_owned","top_left","translate_coordinates","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","visible_rect","width","world_coordinate","zoom","id","layer"],"q":[[0,"kludgine"],[610,"kludgine::app"],[756,"kludgine::render"],[815,"kludgine::shapes"],[1121,"kludgine::shapes::PathEvent"],[1133,"kludgine::sprite"],[1477,"kludgine::sprite::SpriteParseError"],[1481,"kludgine::text"],[1656,"kludgine::tilemap"],[1908,"kludgine::tilemap::TileMapFocus"],[1910,"core::any"],[1911,"wgpu"],[1912,"wgpu"],[1913,"figures::units"],[1914,"figures::rect"],[1915,"core::clone"],[1916,"core::cmp"],[1917,"core::fmt"],[1918,"core::fmt"],[1919,"figures::units"],[1920,"fontdb"],[1921,"core::default"],[1922,"cosmic_text::attrs"],[1923,"image::dynimage"],[1924,"wgpu_types"],[1925,"alloc::alloc"],[1926,"alloc::boxed"],[1927,"alloc::sync"],[1928,"alloc::rc"],[1929,"figures::size"],[1930,"wgpu_types"],[1931,"wgpu_types"],[1932,"core::ops::arith"],[1933,"core::convert"],[1934,"cosmic_text::buffer"],[1935,"figures::units"],[1936,"core::option"],[1937,"figures::angle"],[1938,"figures::traits"],[1939,"figures::traits"],[1940,"cosmic_text::attrs"],[1941,"wgpu"],[1942,"core::any"],[1943,"winit::event"],[1944,"core::marker"],[1945,"core::time"],[1946,"winit::event"],[1947,"core::convert"],[1948,"wgpu_types"],[1949,"winit::error"],[1950,"core::ops::function"],[1951,"core::panic::unwind_safe"],[1952,"winit::window"],[1953,"winit::window"],[1954,"winit::event"],[1955,"core::cmp"],[1956,"justjson::error"],[1957,"image::error"],[1958,"core::marker"]],"d":["Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A type that can be any TextureSource implementation that …","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","The grapihc should be drawn so that the center of the …","A clipped surface.","A graphics context that has been clipped.","A CollectedTexture.","A texture that is contained within a TextureCollection.","A red, green, blue, and alpha color value stored in …","The graphic should be drawn so that the provided relative …","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A drawable source with optional translation, rotation, and …","Translation, rotation, and scaling for drawable types.","A type that can be drawn in Kludgine.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A frame that can be rendered.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A context used to prepare graphics to render.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A 2d graphics instance.","A generic graphics context.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","The origin of a prepared graphic.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A graphic that is on the GPU and ready to render.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A TextureRegion.","A graphics context used to render previously prepared …","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","A unit that is able to be scaled by the GPU shader.","A source of triangle data for a shape.","A SharedTexture.","A cloneable texture.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","An image stored on the GPU.","A Texture.","A collection of multiple textures, managed as a single …","A region of a SharedTexture.","A type that is rendered using a texture.","The graphic should be drawn so that the top-left of the …","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Equivalent to the CSS color keywords of the same name.","Aborts rendering this frame.","Returns the alpha component of this color, range 0-255. A …","Returns the alpha component of this color, range 0.0-1.0. …","Application and Windowing Support.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the blue component of this color, range 0-255.","Returns the blue component of this color, range 0.0-1.0.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the current rectangular area of the context.","Returns a ClipGuard that causes all drawing operations to …","Returns a ClipGuard that causes all drawing operations to …","","","","","","","","","","","","","","","","","","","","Returns a reference to the underlying wgpu::Device.","Returns a reference to the underlying wgpu::Device.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the current font family.","Returns the current font size.","Returns the current font style.","Returns a mutable reference to the cosmic_text::FontSystem …","Returns a mutable reference to the cosmic_text::FontSystem …","Returns the current font weight.","Returns the format of the texture backing this collection.","The format of the texture.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","Creates a texture from image.","Returns the green component of this color, range 0-255.","Returns the green component of this color, range 0.0-1.0.","","","Includes an Aseprite sprite sheet and Json export. For …","Loads a texture’s bytes into the executable.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns a new texture that loads its data to the gpu once …","Returns a texture that loads image into the gpu when it is …","Returns the current line height.","Returns a new atlas of the given size and format.","Returns a new instance of Kludgine with the provided …","Returns a new instance.","Returns a new color with the provided components.","Creates a new texture of the given size, format, and …","Returns a new color by converting each component from its …","Returns a new texture of the given size, format, and …","Begins rendering a new frame.","Restores the clipping rect to the previous state before …","","","Creates a Graphics context for this frame that can be used …","Returns a PreparedGraphic that renders this texture at dest…","Prepares to render this texture at the given location.","Prepares to render this texture at the given location.","Returns a PreparedGraphic for the entire texture.","Prepares the source area to be rendered at dest.","Prepares to render this texture with size. The returned …","Prepares the text layout contained in buffer to be …","Pushes a new clipping state to the clipping stack.","","","Pushes an image to this collection.","Pushes image data to a specific region of the texture.","Returns a reference to the underlying wgpu::Queue.","Returns a reference to the underlying wgpu::Queue.","Returns the red component of this color, range 0-255.","Returns the red component of this color, range 0.0-1.0.","Returns a reference to this texture that only renders a …","An easy-to-use batching renderer.","Creates a RenderingGraphics context for this frame which …","Renders the prepared graphic at origin, rotating and …","Creates a RenderingGraphics that renders into texture for …","Resets all of the text related properties to their default …","Updates the size and scale of this Kludgine instance.","Rotates self by angle.","","Rotate the source before rendering.","Scales self by factor.","Returns the current scaling factor of the display being …","","Returns the current scaling factor for the display this …","Scale the source before rendering.","Sets the current font family.","Sets the font size.","Sets the current font style.","Sets the current font weight.","Sets the line height for multi-line layout.","Sets the current text attributes.","Sets the current text stretching.","Types for drawing paths and shapes.","Returns the current size of the graphics area being …","Returns the current size of the underlying texture.","Returns the currently configured size to render.","Returns the current clipped size of the context.","The size of the texture.","Returns the size of the region being drawn.","Returns the size of the texture.","The source to draw.","Types for animating textures.","Submits all of the commands for this frame to the GPU.","Types for text rendering.","Returns the current text attributes.","Returns the current text stretch.","","","","","","","","Translates self by point.","","Translate the source before rendering.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns a new color replacing this colors alpha channel …","Returns a new color replacing this colors alpha channel …","Returns a new color replacing this colors blue channel …","Returns a new color replacing this colors blue channel …","Returns a new color replacing this colors green channel …","Returns a new color replacing this colors green channel …","Returns a new color replacing this colors red channel with …","Returns a new color replacing this colors red channel with …","The type of value provided during initialize().","A message with an associated response type.","The type returned when responding to this message.","An open window.","The message type that is able to be sent to individual …","Attributes of a desktop window.","The behavior of a window.","A handle to a window.","Whether the window is active or not.","Name of the application","","","","","","","A multi-axis input device has registered motion.","","","","","","","","","","","","","Returns the color to clear the window with. If None is …","","","The window has been requested to be closed. This can …","Returns the composite alpha mode to use for rendering the …","If true, the contents of the window will be prevented from …","A cursor has hovered over the window.","A cursor is no longer hovering over the window.","A cursor has moved over the window.","Returns the position of the mouse cursor within this …","Controls the visibility of the window decorations.","","","","","A file has been dropped on the window.","Returns the duration that has elapsed since the last frame …","The collection of window buttons that are enabled.","A WindowEvent has been received by this window.","","The window has gained or lost keyboard focus. …","Returns true if the window is currently focused for …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","The full screen configuration for the window.","Returns a handle to this window, which can be used to send …","A file is hovering over the window.","A file being overed has been cancelled.","An international input even thas occurred for the window.","Returns the window attributes to use when creating the …","Initialize a new instance from the provided context.","Returns the inner size of the window.","The inner size of the window.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","Returns true if the given virtual key code is currently …","A keyboard event occurred while the window was focused.","Returns the duration taken between when the last frame’s …","Returns the limits to apply for the wgpu instance.","The maximum inner size of the window.","The maximized state of the window.","The minimum inner size of the window.","Returns currently active modifiers.","The keyboard modifier keys have changed. …","Returns true if the given button is currently pressed.","A mouse button was pressed or released.","An event from a mouse wheel.","Returns the number of multisamples to perform when …","The window has been occluded or revealed. …","Returns true if the window is currenly not visible because …","Returns the current position of the window.","The position of the top-left of the frame of the window.","Returns the power preference to initialize wgpu with.","The window’s preferred theme.","Prepare the window to render.","An input event has generated a character.","Sets the window to redraw at the provided time.","Sets the window to redraw after a duration.","Render the contents of the window.","If true, the window can be resized by the user.","The increments in which the window will be allowed to …","The window has been resized. RunningWindow::inner_size() …","Runs a callback as a single window. Continues to run until …","Launches a Kludgine app using this window as the primary …","Launches a Kludgine app using this window as the primary …","The window’s scale factor has changed. …","Sends message to the window. If the message cannot be","Sets whether IME input is allowed on the window.","Sets the cursor area for IME input suggestions.","Sets the IME purpose.","Sets the inner size of the window.","Sets the window’s maximum inner size.","Sets the window’s minimum inner size.","Sets the window to redraw as soon as it can.","Sets the current position of the window.","Sets the title of the window.","A request to smart-magnify the window.","Returns the current user interface theme for the window.","The window’s theme has been updated. …","Returns the current title of the window.","The title of the window.","","A touch event.","A touchpad-originated magnification gesture.","A pressure-sensitive touchpad was touched.","A touchpad-originated rotation gesture.","If true, the window’s chrome will be hidden and only …","","","","","","","","","","","","","The visibility state of the window.","The window’s icon.","The level of the window.","","Returns a reference to the underlying winit window.","A composite, multi-operation graphic, created with an …","An easy-to-use graphics renderer that batches operations …","","","","","","","","","","","","","Returns a ClipGuard that causes all drawing operations to …","Returns the number of drawing operations that will be sent …","","","","","","Prepares the text layout contained in buffer to be …","Draws a shape at the origin, rotating and scaling as …","Draws text using the current text settings.","Prepares the text layout contained in buffer to be …","Draws texture at destination, scaling as necessary.","Draws texture at destination.","Draws a shape that was created with texture coordinates, …","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","Measures text using the current text settings.","Measures buffer and caches the results using default_color …","Clears the currently prepared graphics and returns a new …","","","Renders the prepared graphics from the last frame.","Returns the number of triangles that are being rendered in …","","","","","","","","","Returns the number of vertexes that compose the drawing …","Begins a path. Must be at the start.","A beveled corner is to be used to join path segments. The …","The stroke for each sub-path does not extend beyond its …","A control point used to create curves.","A description of the size to use for each corner radius …","A cubic curve (two control points).","Controls the default stroke width for a given unit.","Ends the path. Must be the last entry.","A point on a Path.","A straight line segment.","Line cap as defined by the SVG specification.","Line join as defined by the SVG specification.","A sharp corner is to be used to join path segments.","Same as a miter join, but if the miter limit is exceeded, …","A geometric shape defined by a path.","Builds a Path.","An entry in a Path.","A quadratic curve (one control point).","At each end of each sub-path, the shape representing the …","A round corner is to be used to join path segments.","A tesselated shape.","At the end of each sub-path, the shape representing the …","Options for stroking lines on a path.","Add a clockwise arc starting at the current location.","Add a clockwise arc starting at the current location.","Returns a path forming an arc starting at start angle of …","Add a counter-clockwise arc starting at the current …","Add a counter-clockwise arc starting at the current …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The radius of the bottom left rounded corner.","The radius of the bottom right rounded corner.","Returns the built path.","","","","","","","","","","","","","","","","","","","Returns this set of radii clamped so that no corner radius …","","","","","","","","","","","","","","","","","Closes the path, connecting the current location to the …","Returns the default options with the line width specified …","The color to associate with this endpoint.","The color to apply to the stroke.","Sets the color of this stroke and returns self.","Create a cubic curve from the current location to end_at …","Create a cubic curve from the current location to end_at …","","","","","","Returns the default width of a line stroked in this unit.","","","","","","","","","","Sets the line cap style for the end of line segments and …","What cap to use at the end of each sub-path.","","","","","","","","","Fills this path with color.","Fills this path with solid white.","Returns a circle that is filled solid with color.","Returns a rectangle that is filled solid with color.","Returns a rounded rectangle with the specified corner …","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","Returns the default options with the line width specified …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sets the line join style and returns self.","See the SVG specification.","Create a straight line from the current location to end_at.","Create a straight line from the current location to end_at.","The width of the line.","The location of the endpoint on a path.","Returns the default options with a line width of lp.","Passes each radius definition to map and returns a new set …","Sets the miter limit and returns self.","See the SVG specification.","Returns the default options with the line width specified …","Creates a new path with the initial position start_at.","Returns a new endpoint with a given location and color.","Creates a new path with the initial position start_at.","Returns the default options with the line width specified …","Uploads the shape to the GPU.","Uploads the shape to the GPU, applying texture to the …","Returns the default options with a line width of px.","Create a quadratic curve from the current location to …","Create a quadratic curve from the current location to …","Clears this builder to a state as if it had just been …","Clears this builder to a state as if it had just been …","Returns a path for a rounded rectangle with the given …","Sets the line cap style for the start of line segments and …","What cap to use at the start of each sub-path.","Strokes this path with color and options.","Returns a circle that is stroked with color and options.","Returns a rectangle that has its outline stroked with color…","Returns a rounded rectangle with the specified corner …","","","","","","","","","Maximum allowed distance to the path when building an …","The radius of the top left rounded corner.","The radius of the top right rounded corner.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The x-axis component.","The y-axis component","The location to begin at.","Whether the path should be closed.","The control point for the curve.","The first control point for the curve.","The second control point for the curve.","The texture coordinate for this path event.","The texture coordinate for this path event.","The texture coordinate for this path event.","The texture coordinate for this path event.","The end location of the line.","The end location of the curve.","The end location of the curve.","The animation mode of the sprite.","The sprite’s source is a CollectedTexture.","The direction field is missing.","The direction is not a recognized value.","The duration is invalid or missing.","Iterate frames in order. When at the end, reset to the …","An error occurred parsing a frame.","An error parsing a single frame in a sprite animation.","An error parsing a frame tag (animation).","An error parsing a frameTags entry.","The from field is missing or invalid.","The frame.h value is missing or invalid.","An image parsing error.","The frame could not be found.","A Sprite’s tag did not correspond to an animation.","Invalid JSON.","The meta field is missing or invalid.","The data is missing the frame field, which contains the …","The frame number was not able to be parsed as a number.","Iterate frames starting at the beginning and continuously …","The sprite’s source is a TextureRegion.","Iterate frames in reverse order. When at the start, reset …","The size does not match the provided texture.","The size information is missing.","A sprite is a renderable graphic with optional animations.","An animation of one or more SpriteFrames.","A collection of SpriteAnimations. This is an immutable …","A collection of sprites.","A single frame for a SpriteAnimation.","A collection of SpriteSources.","An error occurred parsing a Sprite.","A collection of sprites from a single SharedTexture.","A region of a texture that is used as frame in a sprite …","The to field is missing or invalid.","The frame.w value is missing or invalid.","The frame.x value is missing or invalid.","The frame.y value is missing or invalid.","Adds a collection from sheet using converter to convert …","Adds all sprites from sheet.","Returns the animation for tag.","The animations that form this sprite.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Retrieve the current animation frame, if set and valid.","Returns the current tag.","","","","","","","","","","","","","","","The length the frame should be displayed. None will act as …","","","","","","","","","","","","","","","","","","","","","","","","","The frames of the animation.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","Creates a collection from sheet using converter to convert …","Gets the current frame after advancing the animation for …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Loads Aseprite JSON export format, when using the correct …","For merging multiple Sprites that have no tags within them","The mode of the animation.","Returns a new sprite with animations.","Creates a new collection from animations.","Creates a new animation with frames and …","Creates a new frame with source and no duration.","Creates a new sprite sheet, diving texture into a grid of …","Creates a new collection with sprites.","Returns a PreparedGraphic that renders this texture at dest…","Returns the amount of time remaining until the next frame …","Sets the current tag for the animation. If the tag …","Creates an instance from a texture. This creates a …","The source to render.","Returns the sprite referred to by tile.","","","Returns the sprites identified by each element in iterator …","Returns all of the requested tiles.","Returns the sprites identified by each element in iterator.","The source texture.","Returns the size of the tiles within this sheet.","","","","","","","","","","","","Returns a collection of all tiles in the sheet as","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Builder-style function. Sets duration and returns self.","Builder-style function. Sets mode and returns self.","The error that occurred.","The error that occurred.","The object key for the frame.","The name of the frame tag.","Render the text such that the center of the extents of the …","Render the text such that the text is offset by a custom …","Render the text such that the leftmost pixel of the …","Information about a glyph in a MeasuredText.","Instructions for drawing a laid out glyph.","The dimensions of a measured text block.","Text that is ready to be rendered on the GPU.","A text drawing command.","Controls the origin of PreparedText.","Render the text such that the top-left of the first line …","","","","","","","","","","","","","The measurement above the baseline of the text.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The color to draw the text using.","","","","The measurement below the baseline of the text.","","","","","","","End index of cluster in original line","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","The individual glyhs that were laid out.","Information about what glyph this is.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","The measurement to the leftmost pixel of the text.","Unicode BiDi embedding level, character is left-to-right …","The line index this glyph is visually laid out on.","The measurement above the baseline of the text.","The width of the line this glyph is on.","Custom metadata set in cosmic_text::Attrs.","Returns a text command that draws text with color.","Sets the origin for the text drawing operation and returns …","The origin to draw the text around.","Returns the destination rectangle for this glyph.","","","The total size of the measured text, encompassing all …","Start index of cluster in original line","The text to be drawn.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sets the width to wrap text at and returns self.","The width to wrap the text at. If None, no wrapping is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,17,0,0,30,0,0,17,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,3,3,3,3,0,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,30,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,30,0,3,3,3,3,3,0,30,0,0,0,17,3,3,3,3,3,3,1,3,3,0,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,7,7,3,3,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,7,13,21,15,16,3,17,19,20,15,16,3,17,19,20,0,17,7,14,19,7,14,13,7,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,16,14,3,17,19,20,3,3,3,17,17,17,19,19,19,20,20,20,0,16,26,28,7,14,3,29,17,19,20,30,28,28,28,28,7,28,15,29,1,13,38,38,38,15,16,26,28,7,14,3,3,29,17,19,19,20,20,30,30,30,30,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,29,3,3,3,0,0,0,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,3,17,3,29,29,28,15,28,7,3,29,3,29,28,21,13,7,1,16,29,20,15,29,29,7,21,13,7,15,15,13,7,3,3,19,0,1,26,1,28,28,183,38,38,183,13,38,28,38,28,28,28,28,28,28,28,0,13,15,28,7,29,20,30,38,0,1,0,28,28,0,15,16,3,17,19,20,183,38,38,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,1,13,38,15,16,26,28,7,14,3,29,17,19,20,30,0,3,3,3,3,3,3,3,3,184,0,185,0,185,0,0,0,89,89,81,89,85,81,89,85,184,81,89,85,81,89,85,81,89,85,81,89,85,184,85,85,184,184,89,184,184,184,81,89,89,81,89,85,184,81,89,184,85,184,81,81,89,85,81,89,85,89,81,184,184,184,184,184,81,89,81,89,85,81,89,85,89,85,81,89,85,81,184,81,184,89,89,89,81,184,81,184,184,184,184,81,81,89,184,89,184,184,81,81,184,89,89,184,0,184,184,184,85,81,81,81,81,81,81,81,81,81,184,81,184,81,89,85,184,184,184,184,89,81,89,85,81,89,85,81,89,85,81,89,85,89,89,89,0,81,0,0,116,118,116,118,116,118,116,118,116,118,116,118,116,116,118,116,116,116,118,116,116,116,116,116,116,116,116,116,118,116,118,116,118,116,118,116,118,116,118,116,118,116,116,118,116,116,118,116,116,118,116,118,116,118,116,118,116,131,130,129,0,0,131,0,131,0,131,0,0,130,130,0,0,0,131,129,130,0,129,0,123,123,126,123,123,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,127,127,123,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,127,129,130,120,125,131,126,132,127,129,130,120,125,131,126,132,127,123,132,125,132,132,123,123,123,120,125,126,132,135,123,129,130,120,125,131,126,132,127,132,132,129,130,120,132,127,127,127,127,126,126,120,120,120,129,130,120,125,131,126,132,127,123,123,129,130,120,125,125,125,131,126,132,132,127,127,127,123,129,130,120,125,131,126,132,127,126,132,127,132,127,132,127,132,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,129,130,125,131,132,127,132,127,132,127,132,127,127,132,132,123,123,132,125,132,127,132,132,132,123,125,123,132,120,120,132,123,123,123,123,126,132,132,126,120,120,120,129,130,120,125,131,126,132,127,132,127,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,123,129,130,120,125,131,126,132,127,134,134,186,187,188,189,189,186,190,188,189,190,188,189,0,160,156,156,155,154,162,0,162,0,156,155,162,156,0,162,162,155,155,154,160,154,162,162,0,0,0,0,0,0,0,0,0,156,155,155,155,146,146,151,158,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,155,156,157,158,151,152,159,147,146,160,154,155,156,157,158,151,152,159,147,146,160,158,158,146,146,154,162,155,156,157,158,151,152,159,147,146,160,159,155,156,157,155,155,155,156,156,156,157,157,157,154,162,155,156,157,158,151,152,159,147,146,160,152,154,162,162,162,155,156,157,158,158,151,152,159,147,146,160,160,160,154,162,155,156,157,158,151,152,159,147,146,160,146,158,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,155,156,157,146,158,158,152,158,151,152,159,147,146,160,158,158,158,159,191,147,146,147,191,147,147,147,154,155,156,157,158,151,152,159,147,146,160,147,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,154,162,155,156,157,158,151,152,159,147,146,160,159,152,192,193,193,192,60,60,60,0,0,0,0,0,0,60,61,60,119,166,167,37,61,60,119,166,167,37,119,61,60,119,166,167,37,61,60,119,166,167,37,61,60,119,166,167,37,61,60,119,166,167,37,60,119,166,167,37,60,119,166,167,37,37,60,61,61,119,61,60,119,166,167,37,167,60,60,60,60,61,60,119,166,167,37,61,60,119,166,167,37,37,37,61,60,119,166,167,37,60,60,60,119,166,61,60,119,166,167,37,61,60,119,166,167,37,61,60,119,166,167,37,61,60,119,166,167,37,60,167,37,60,60,60,119,167,167,119,167,167,37,37,37,166,37,37,119,167,37,60,119,166,167,37,37,61,60,119,166,167,37,61,60,119,166,167,37,61,60,119,166,167,37,61,60,119,166,167,37,37,37,177,0,0,0,0,0,171,0,0,0,171,177,0,177,0,0,0,0,0,0,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,168,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,170,171,170,171,170,170,173,171,168,168,169,168,176,177,173,170,178,171,179,0,168,170,170,170,170,180,173,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,173,173,173,173,170,173,173,173,173,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,170,171,173,174,176,173,179,174,176,173,179,182,173,194,176,194,176,176,173,178,168,170,175,178,173,180,194,175,176,176,177,173,179,179,168,176,170,171,168,0,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,169,168,176,177,173,170,178,171,179,168,176,171,168,195,195],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,4],[3,5],0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[7,8],[7,9],[3,4],[3,5],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[7,[[12,[11]]]],[[13,[12,[11]]],[[14,[13]]]],[[-1,[12,[11]]],[[14,[-1]]],[]],[15,15],[16,16],[3,3],[[[17,[-1]]],[[17,[-1]]],18],[19,19],[20,20],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],0,[[],[[17,[-1]]],[]],[7],[[[14,[-1]]],[],21],[19],[7],[[[14,[-1]]],[],21],[13,8],[7,8],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,2],[16,2],[[[14,[-1]]],2,21],[[3,3],22],[[[17,[-1]],[17,[-1]]],22,23],[[19,19],22],[[20,20],22],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],0,[[16,24],25],[[[26,[-1]],24],25,27],[[28,24],25],[[7,24],25],[[[14,[-1]],24],25,[21,27]],[[3,24],25],[[29,24],25],[[[17,[-1]],24],25,27],[[19,24],25],[[20,24],25],[[30,24],25],[28,31],[28,32],[28,33],[28,34],[7,34],[28,35],[15,36],[29,36],[-1,-1,[]],[-1,-1,[]],[[[37,[-1]]],[[38,[[37,[-1]],-1]]],39],[-1,[[38,[-1,-2]]],40,39],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[41,3],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[29,19],[-1,-1,[]],[19,20],[16,30],[-1,-1,[]],[19,30],[29,30],[20,30],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[42,43,7],29],[3,4],[3,5],[[3,-1],2,44],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,22,[]],[[[49,[11]],36,50,43,[51,[4]]],29],[[42,43],29],[28,32],[[[49,[11]],36,43,7],15],[[8,9,36,52,[49,[11]],5],28],[[28,8,9],7],[[4,4,4,4],3],[[7,[49,[11]],36,50,43],29],[[5,5,5,5],3],[[7,[49,[11]],36,50,43,[53,[4]]],29],[28,1],[-1,2,[]],[13,2],[7,2],[[1,8,9],7],[[16,[12,[-1]],7],[[26,[-1]]],[54,[56,[55]]]],[[29,[12,[-1]],7],[[26,[-1]]],54],[[20,[12,[-1]],7],[[26,[-1]]],54],[[15,[12,[-1]],7],[[26,[-1]]],54],[[29,[12,[11]],[12,[-1]],7],[[26,[-1]]],54],[[29,[17,[-1]],[49,[-1]],7],[[26,[-1]]],[54,[57,[55]]]],[[7,58,3,[60,[59]]],61],[[-1,[12,[11]]],2,[]],[[13,[12,[11]]],2],[[7,[12,[11]]],2],[[15,42,7],16],[[15,[53,[4]],62,[49,[11]],7],16],[13,9],[7,9],[3,4],[3,5],[[19,[12,[11]]],20],0,[[1,63,8,9],13],[[[26,[-1]],[64,[-1]],[65,[5]],[65,[66]],13],2,[67,68,39,69,70,71]],[[1,29,[72,[3]],7],13],[28,2],[[28,[49,[11]],5,9],2],[[-1,66],[[38,[-2,-3]]],[],[],[]],[[[38,[-1,-2]],66],[[38,[-1,-2]]],[],[]],0,[[-1,5],[[38,[-2,-3]]],[],[],[]],[13,73],[[[38,[-1,-2]],5],[[38,[-1,-2]]],[],[]],[28,73],0,[[28,74],2],[[28,-1],2,75],[[28,33],2],[[28,35],2],[[28,-1],2,75],[[28,76],2],[[28,77],2],0,[13,[[49,[11]]]],[15,[[49,[11]]]],[28,[[49,[11]]]],[7,[[49,[11]]]],[29,[[49,[11]]]],[20,[[49,[11]]]],[30,[[49,[11]]]],0,0,[[1,9],[[65,[78]]]],0,[28,76],[28,77],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[64,[-2]]],[[38,[-3,-2]]],[],[],[]],[[[38,[-1,-2]],[64,[-2]]],[[38,[-1,-2]]],[],[]],0,[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],0,[[3,4],3],[[3,5],3],[[3,4],3],[[3,5],3],[[3,4],3],[[3,5],3],[[3,4],3],[[3,5],3],0,0,0,0,0,0,0,0,0,0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[[-1,[81,[-2]],28,82,83,84],2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[65,[3]]],[]],[[[85,[-1]]],[[85,[-1]]],18],[[-1,-2],2,[],[]],[[-1,[81,[-2]],28],22,[],[]],[[-1,[53,[86]]],86,[]],0,[[-1,[81,[-2]],28,82],2,[],[]],[[-1,[81,[-2]],28,82],2,[],[]],[[-1,[81,[-2]],28,82,[87,[84]]],2,[],[]],[[[81,[-1]]],[[65,[[64,[59]]]]],88],0,[[],89],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[81,[-2]],28,90],2,[],[]],[[[81,[-1]]],91,88],0,[[-1,[81,[-2]],28,-2],2,[],[]],[[[85,[-1]],24],25,27],[[-1,[81,[-2]],28],2,[],[]],[[[81,[-1]]],22,88],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[[81,[-1]]],[[85,[-1]]],88],[[-1,[81,[-2]],28,90],2,[],[]],[[-1,[81,[-2]],28],2,[],[]],[[-1,[81,[-2]],28,92],2,[],[]],[[],89],[[[81,[-1]],7],-2,[],[]],[[[81,[-1]]],[[49,[11]]],88],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[81,[-1]],-2],22,88,[[94,[93]]]],[[-1,[81,[-2]],28,82,95,22],2,[],[]],[[[81,[-1]]],91,88],[96,96],0,0,0,[[[81,[-1]]],97,88],[[-1,[81,[-2]],28],2,[],[]],[[[81,[-1]],98],22,88],[[-1,[81,[-2]],28,82,99,98],2,[],[]],[[-1,[81,[-2]],28,82,100,101],2,[],[]],[[],102],[[-1,[81,[-2]],28],2,[],[]],[[[81,[-1]]],22,88],[[[81,[-1]]],[[64,[59]]],88],0,[[],103],0,[[-1,[81,[-2]],7],2,[],[]],[[-1,[81,[-2]],28,104],2,[],[]],[[[81,[-1]],105],2,88],[[[81,[-1]],91],2,88],[[-1,[81,[-2]],13],22,[],[]],0,0,[[-1,[81,[-2]],28],2,[],[]],[-1,[[79,[2,106]]],[107,88,108]],[[],[[79,[2,106]]]],[[],[[79,[2,106]]]],[[-1,[81,[-2]],28],2,[],[]],[[[85,[-1]],-1],[[79,[2,-1]]],[]],[[[81,[-1]],22],2,88],[[[81,[-1]],[12,[11]]],2,88],[[[81,[-1]],109],2,88],[[[81,[-1]],[49,[11]]],2,88],[[[81,[-1]],[65,[[49,[11]]]]],2,88],[[[81,[-1]],[65,[[49,[11]]]]],2,88],[[[81,[-1]]],2,88],[[[81,[-1]],[64,[59]]],2,88],[[[81,[-1]],110],2,88],[[-1,[81,[-2]],28,82],2,[],[]],[[[81,[-1]]],111,88],[[-1,[81,[-2]],28],2,[],[]],[[[81,[-1]]],112,88],0,[-1,-2,[],[]],[[-1,[81,[-2]],28,113],2,[],[]],[[-1,[81,[-2]],28,82,84,101],2,[],[]],[[-1,[81,[-2]],28,82,5,114],2,[],[]],[[-1,[81,[-2]],28,82,5,101],2,[],[]],0,[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],0,0,0,0,[[[81,[-1]]],115,88],0,0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[[116,[12,[11]]],[[14,[116]]]],[116,117],[[],118],[116],[116],[-1,-2,[],[]],[-1,-2,[],[]],[[116,-2,[60,[-1]]],2,70,[[94,[[38,[[119,[-1]],-1]]]]]],[[116,-2],2,[71,69,70,54,68],[[94,[[38,[[120,[-1]],-1]]]]]],[[116,-2],2,70,[[94,[[38,[[37,[-1]],-1]]]]]],[[116,-2,3,[60,[59]]],2,70,[[94,[[38,[58,-1]]]]]],[[116,-1,[12,[-2]]],2,121,[54,70,69]],[[116,-1,[64,[-2]]],2,121,[54,70,69]],[[116,-3,-4],2,[71,69,70,54,68],[[122,[-1]]],[[94,[[38,[-2,-1]]]]],121],[116,2],[[116,24],25],[[118,24],25],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[116,-2],[[119,[-1]]],70,[[94,[[37,[-1]]]]]],[[116,58,3],[[119,[-1]]],70],[[118,7],116],[116,2],[[116,[12,[11]]],2],[[118,13],2],[116,117],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[116,117],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[123,[-1]],-2,[49,[-1]],66],[[123,[-1]]],[124,68],[[94,[[125,[-1]]]]]],[[[123,[-1]],[64,[-1]],[49,[-1]],66,-2],[[123,[-1]]],[124,68],[[94,[[125,[11]]]]]],[[[64,[-1]],[49,[-1]],66,66],[[126,[-1]]],124],[[[123,[-1]],-2,[49,[-1]],66],[[123,[-1]]],[124,68],[[94,[[125,[-1]]]]]],[[[123,[-1]],[64,[-1]],[49,[-1]],66,-2],[[123,[-1]]],[124,68],[[94,[[125,[11]]]]]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[[123,[-1]]],[[126,[-1]]],68],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[127,[-1]],-1],[[127,[-1]]],[128,68]],[129,129],[130,130],[[[120,[-1]]],[[120,[-1]]],18],[[[125,[-1]]],[[125,[-1]]],18],[[[131,[-1]]],[[131,[-1]]],18],[[[126,[-1]]],[[126,[-1]]],18],[[[132,[-1]]],[[132,[-1]]],18],[[[127,[-1]]],[[127,[-1]]],18],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[[123,[-1]]],[[126,[-1]]],68],[-1,[[132,[32]]],[[94,[133]]]],0,0,[[[132,[-1]],3],[[132,[-1]]],[]],[[[123,[-1]],[134,[-1]],[134,[-1]],-2],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[[123,[-1]],[134,[-1]],[134,[-1]],-2,[64,[11]]],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[],[[123,[-1]]],[39,68]],[[],[[120,[-1]]],[]],[[],[[125,[-1]]],39],[[],[[126,[-1]]],39],[[],[[132,[-1]]],135],[[],-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[132,[-1]],129],[[132,[-1]]],[]],0,[[129,129],22],[[130,130],22],[[[120,[-1]],[120,[-1]]],22,23],[[[132,[-1]],[132,[-1]]],22,23],[[[127,[-1]],[127,[-1]]],22,23],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[[126,[-1]],3],[[120,[-1]]],[124,68,136]],[[[126,[-1]]],[[120,[-1]]],[124,68,136]],[[-1,3,[17,[-1]]],[[120,[-1]]],[39,137,138,139,124,68,136]],[[[12,[-1]],3],[[120,[-1]]],[138,139,124,68,136]],[[[12,[-1]],-2,3],[[120,[-1]]],[138,140,56,[141,[5]],[142,[55]],139,124,68,136],[[94,[[127,[-1]]]]]],[[129,24],[[79,[2,143]]]],[[130,24],[[79,[2,143]]]],[[[120,[-1]],24],25,27],[[[125,[-1]],24],25,27],[[[131,[-1]],24],25,27],[[[126,[-1]],24],25,27],[[[132,[-1]],24],25,27],[[[127,[-1]],24],25,27],[[[126,[-1]]],[[123,[-1]]],39],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[64,[-1]]],[[125,[-1]]],[]],[-1,-1,[]],[[[2,[[64,[-1]],3]]],[[125,[-1]]],[]],[-1,-1,[]],[-1,-1,[]],[3,[[132,[-1]]],135],[-1,-1,[]],[-1,[[127,[-1]]],68],[-1,-1,[]],[144,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,[[126,[-2]]],145,[]],[73,[[132,[-1]]],75],[73,[[127,[-1]]],75],[73,[[132,[-1]]],75],[73,[[127,[-1]]],75],[73,[[132,[-1]]],75],[73,[[127,[-1]]],75],[-1,[[132,[32]]],[[94,[133]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[[[132,[-1]],73],[],75],[[[127,[-1]],73],[],75],[[[132,[-1]],73],[],75],[[[127,[-1]],73],[],75],[[[132,[-1]],73],[],75],[[[127,[-1]],73],[],75],[[[127,[-1]]],22,71],[[[132,[-1]],130],[[132,[-1]]],[]],0,[[[123,[-1]],-2,[64,[11]]],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[[123,[-1]],-2],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],0,0,[-1,[[132,[32]]],[[94,[32]]]],[[[127,[-1]],-2],[[127,[-3]]],[],107,[]],[[[132,[-1]],5],[[132,[-1]]],[]],0,[-1,[[132,[32]]],[[94,[133]]]],[-2,[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[[64,[-1]],3],[[125,[-1]]],[]],[[-2,[64,[11]]],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[-1,[[132,[32]]],[[94,[133]]]],[[[120,[-1]],7],[[26,[-1]]],[68,136]],[[[120,[-1]],-2,7],[[26,[-1]]],68,121],[-1,[[132,[59]]],[[94,[59]]]],[[[123,[-1]],[134,[-1]],-2,[64,[11]]],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[[123,[-1]],[134,[-1]],-2],[[123,[-1]]],68,[[94,[[125,[-1]]]]]],[[[123,[-1]],-2,[64,[11]]],2,68,[[94,[[125,[-1]]]]]],[[[123,[-1]],-2],2,68,[[94,[[125,[-1]]]]]],[[[12,[-1]],-2],[[126,[-1]]],[138,140,56,[141,[5]],[142,[55]],139,124,68],[[94,[[127,[-1]]]]]],[[[132,[-1]],129],[[132,[-1]]],[]],0,[[[126,[-1]],-2],[[120,[-1]]],[124,68,136],[[94,[[132,[-1]]]]]],[[-1,3,[17,[-1]],-2],[[120,[-1]]],[39,137,138,139,124,68,136],[[94,[[132,[-1]]]]]],[[[12,[-1]],-2],[[120,[-1]]],[138,139,124,68,136],[[94,[[132,[-1]]]]]],[[[12,[-1]],-2,-3],[[120,[-1]]],[138,140,56,[141,[5]],[142,[55]],139,124,68,136],[[94,[[127,[-1]]]]],[[94,[[132,[-1]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[146,[-1]],[147,[-2]],-3],2,[27,148,149],[18,27,148,149],150],[[[146,[-1]],[147,[-1]]],2,[18,27,148,149]],[[151,[65,[-1]]],[[65,[152]]],153],0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[154,154],[155,155],[156,156],[157,157],[158,158],[151,151],[152,152],[159,159],[[[147,[-1]]],[[147,[-1]]],[27,18]],[[[146,[-1]]],[[146,[-1]]],18],[160,160],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[158,[[79,[160,157]]]],[158,[[65,[110]]]],[[],[[146,[-1]]],[]],[[[146,[-1]]],[[161,[-1,160]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[155,155],22],[[156,156],22],[[157,157],22],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[154,24],25],[[162,24],25],[[155,24],25],[[156,24],25],[[157,24],25],[[158,24],25],[[151,24],25],[[152,24],25],[[159,24],25],[[[147,[-1]],24],25,[27,27]],[[[146,[-1]],24],25,27],[[160,24],25],0,[-1,-1,[]],[-1,-1,[]],[163,162],[164,162],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[151,158],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[20,160],[16,160],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[147,[-1]],-2],[[146,[-3]]],[18,27,148,149],150,[27,148,149]],[[158,[65,[91]]],[[79,[160,157]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[[[146,[-1]]],[],[]],[[110,19],[[79,[158,162]]]],[-1,158,145],0,[151,158],[[[161,[[65,[112]],152]]],151],[[[51,[159]]],152],[-1,159,[[94,[160]]]],[[-1,[49,[11]],[51,[-2]]],[[147,[-2]]],[[94,[19]]],[27,148,149]],[[[161,[-1,160]]],[[146,[-1]]],[27,148,149]],[[160,[12,[-1]],7],[[26,[-1]]],[54,[56,[55]]]],[158,[[79,[[65,[91]],157]]]],[[158,[65,[-1]]],[[79,[2,157]]],[[94,[112]]]],[19,158],0,[[-1,-2],[[65,[160]]],[],[]],[[[147,[-1]],-1],[[65,[160]]],[27,88,165,148,149]],[[[146,[-1]],-1],[[65,[160]]],[88,165,148,149]],[[[147,[-1]],-2],[[146,[-1]]],[27,148,149],145],[[-1,[53,[-2]]],[[51,[160]]],[],[]],[[[147,[-1]],-2],[[51,[160]]],[27,148,149],145],0,[[[147,[-1]]],[[49,[11]]],[27,148,149]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[147,[-1]]],[[146,[-1]]],[18,27,148,149]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[[159,91],159],[[152,154],152],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[60,[-1]]],[[60,[-1]]],18],[[[119,[-1]]],[[119,[-1]]],18],[166,166],[167,167],[[[37,[-1]]],[[37,[-1]]],18],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],0,[[],[[60,[-1]]],[]],[61],[61],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[60,[-1]],[60,[-1]]],22,23],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[61,24],25],[[[60,[-1]],24],25,27],[[[119,[-1]],24],25,27],[[166,24],25],[[167,24],25],[[[37,[-1]],24],25,27],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[110,[[37,[-1]]],[]],[112,[[37,[-1]]],[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[73,[[60,[-1]]],75],[73,[[60,[-1]]],75],[73,[[60,[-1]]],75],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[[[60,[-1]],73],[],75],[[[60,[-1]],73],[],75],[[[60,[-1]],73],[],75],0,0,0,0,0,0,[[110,3],[[37,[-1]]],[]],[[[37,[-1]],[60,[-1]]],[[37,[-1]]],[]],0,[166,[[12,[59]]]],[[-1,66],[[38,[-2,-3]]],[],[],[]],[[-1,5],[[38,[-2,-3]]],[],[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[64,[-2]]],[[38,[-3,-2]]],[],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[[[37,[-1]],-1],[[37,[-1]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[168,169],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-3,[],[],[[10,[-2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[170,170],[171,171],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[170,170],172],[[-1,-2],172,[],[]],[[],[[173,[-1]]],[]],[[],171],[168],[168],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,171,5,91,116],[[65,[91]]],174],[168,91],[[170,170],22],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,170],[[65,[[64,[59]]]]],[]],[[[173,[-1]],170],[[65,[[64,[59]]]]],175],[[[176,[-1]],24],25,27],[[177,24],25],[[[173,[-1]],24],25,27],[[170,24],25],[[[178,[-1]],24],25,27],[[171,24],25],[[179,24],25],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[173,[-1]],170],[[65,[-1]]],[]],[[[173,[-1]],170],[[65,[-1]]],[]],[[[173,[-1]],117],[[65,[-1]]],[]],[[[173,[-1]],117],[[65,[-1]]],[]],[[170,-1],2,44],[[[173,[-1]],170],[],[]],[[[173,[-1]],117],[],[]],[[[173,[-1]],170],[],[]],[[[173,[-1]],117],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[46,[-1,45]]],[[46,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[47,[-1,45]]],[[47,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[[[48,[-1,45]]],[[48,[6,45]]],[]],[-1,[[2,[-2,-2]]],[],[]],[-1,[[2,[-2,-2]]],[],[]],[[[173,[-1]]],22,[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[[-1,117],[[65,[180]]],[]],[-1,117,[]],[[[173,[-1]]],117,[]],[-1,[[64,[181]]],[]],[[[176,[-1]]],[[64,[181]]],182],[-1,[[64,[181]]],[]],[[[176,[-1]]],[[64,[181]]],182],[[117,-1],[[176,[-1]]],182],[[],[[173,[-1]]],[]],0,[168,[[64,[59]]]],[[170,170],[[65,[172]]]],[-1,[[64,[59]]],[]],0,[[[173,[-1]],-1],170,[]],[[-1,168],[[65,[91]]],[]],[[-1,[64,[181]],[12,[59]],168],[[65,[91]]],[]],[[-1,[64,[59]],5,116],[[65,[91]]],[]],[[-1,168],[[65,[91]]],[]],[[[176,[-1]],[64,[181]],[12,[59]],168],[[65,[91]]],182],[[177,[12,[59]],168],[[65,[91]]]],[[[173,[-1]],168],[[65,[91]]],175],[[179,[64,[181]],[12,[59]],168],[[65,[91]]]],[[-1,168],[[65,[91]]],[]],[168,59],0,[-1,-2,[],[]],[-1,-2,[],[]],[168,169],[[[64,[59]],73,5,[49,[59]]],[[64,[59]]]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,[[79,[-2]]],[],[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,80,[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[-1,[[65,[-2]]],[],[]],[168,[[12,[59]]]],0,[[171,-1],[[64,[59]]],174],[168,5],0,0],"c":[],"p":[[3,"Frame",0],[15,"tuple"],[3,"Color",0],[15,"u8"],[15,"f32"],[8,"Any",1910],[3,"Graphics",0],[3,"Device",1911],[3,"Queue",1911],[8,"CastFrom",1912],[3,"UPx",1913],[3,"Rect",1914],[3,"RenderingGraphics",0],[3,"ClipGuard",0],[3,"TextureCollection",0],[3,"CollectedTexture",0],[4,"Origin",0],[8,"Clone",1915],[3,"SharedTexture",0],[3,"TextureRegion",0],[8,"Clipped",0],[15,"bool"],[8,"PartialEq",1916],[3,"Formatter",1917],[6,"Result",1917],[3,"PreparedGraphic",0],[8,"Debug",1917],[3,"Kludgine",0],[3,"Texture",0],[4,"AnyTexture",0],[4,"Family",1918],[3,"Lp",1913],[4,"Style",1918],[3,"FontSystem",1919],[3,"Weight",1918],[4,"TextureFormat",1920],[3,"Text",1481],[3,"Drawable",0],[8,"Default",1921],[8,"DrawableSource",0],[3,"Color",1922],[4,"DynamicImage",1923],[4,"FilterMode",1920],[8,"Hasher",1924],[3,"Global",1925],[3,"Box",1926],[3,"Arc",1927],[3,"Rc",1928],[3,"Size",1929],[3,"TextureUsages",1920],[3,"Vec",1930],[3,"MultisampleState",1920],[15,"slice"],[8,"Unit",1931],[15,"i32"],[8,"Div",1932],[8,"From",1933],[3,"Buffer",1934],[3,"Px",1913],[4,"TextOrigin",1481],[3,"PreparedText",1481],[3,"ImageDataLayout",1920],[3,"RenderPassDescriptor",1911],[3,"Point",1935],[4,"Option",1936],[3,"Angle",1937],[8,"IntoSigned",1931],[8,"Copy",1938],[8,"ShaderScalable",0],[8,"ScreenUnit",1931],[8,"Zero",1931],[4,"LoadOp",1911],[3,"Fraction",1939],[4,"FamilyOwned",1922],[8,"ScreenScale",1931],[3,"Attrs",1922],[4,"Width",1940],[3,"SubmissionIndex",1911],[4,"Result",1941],[3,"TypeId",1910],[3,"Window",610],[3,"DeviceId",1942],[6,"AxisId",1942],[15,"f64"],[3,"WindowHandle",610],[4,"CompositeAlphaMode",1920],[3,"PhysicalPosition",1943],[8,"Send",1938],[3,"WindowAttributes",610],[3,"PathBuf",1944],[3,"Duration",1945],[4,"Ime",1942],[4,"PhysicalKey",1946],[8,"Into",1933],[3,"KeyEvent",1942],[3,"Limits",1920],[3,"Modifiers",1942],[4,"MouseButton",1942],[4,"ElementState",1942],[4,"MouseScrollDelta",1942],[4,"TouchPhase",1942],[3,"NonZeroU32",1947],[4,"PowerPreference",1920],[15,"char"],[3,"Instant",1948],[4,"EventLoopError",1949],[8,"FnMut",1950],[8,"UnwindSafe",1951],[4,"ImePurpose",1952],[15,"str"],[4,"Theme",1952],[3,"String",1953],[3,"Touch",1942],[15,"i64"],[3,"Window",1952],[3,"Renderer",756],[15,"usize"],[3,"Drawing",756],[3,"MeasuredText",1481],[3,"Shape",815],[8,"TextureSource",0],[8,"ShapeSource",0],[3,"PathBuilder",815],[8,"FloatConversion",1931],[3,"Endpoint",815],[3,"Path",815],[3,"CornerRadii",815],[8,"PartialOrd",1916],[4,"LineCap",815],[4,"LineJoin",815],[4,"PathEvent",815],[3,"StrokeOptions",815],[4,"FloatOrInt",1931],[6,"ControlPoint",815],[8,"DefaultStrokeWidth",815],[8,"PixelScaling",1931],[8,"Neg",1932],[8,"Add",1932],[8,"Ord",1916],[8,"Sub",1932],[8,"Mul",1932],[8,"TryFrom",1933],[3,"Error",1917],[15,"never"],[8,"IntoIterator",1954],[3,"SpriteMap",1133],[3,"SpriteSheet",1133],[8,"Eq",1916],[8,"Hash",1924],[8,"Fn",1950],[3,"SpriteAnimations",1133],[3,"SpriteAnimation",1133],[8,"ToString",1953],[4,"AnimationMode",1133],[4,"FrameParseError",1133],[4,"FrameTagError",1133],[3,"InvalidSpriteTag",1133],[3,"Sprite",1133],[3,"SpriteFrame",1133],[4,"SpriteSource",1133],[3,"HashMap",1955],[4,"SpriteParseError",1133],[3,"Error",1956],[4,"ImageError",1957],[8,"Sync",1938],[3,"MeasuredGlyph",1481],[3,"GlyphInfo",1481],[3,"LayerContext",1656],[3,"TileOffset",1656],[3,"ObjectId",1656],[4,"TileMapFocus",1656],[4,"Ordering",1916],[3,"ObjectLayer",1656],[8,"Layers",1656],[8,"Object",1656],[3,"TileArray",1656],[4,"TileKind",1656],[3,"ObjectInfo",1656],[3,"DebugGrid",1656],[8,"Layer",1656],[15,"isize"],[8,"TileList",1656],[8,"DrawableExt",0],[8,"WindowBehavior",610],[8,"Message",610],[13,"Begin",1121],[13,"End",1121],[13,"Quadratic",1121],[13,"Cubic",1121],[13,"Line",1121],[8,"SpriteCollection",1133],[13,"FrameTag",1477],[13,"Frame",1477],[8,"TileSource",1656],[13,"Object",1908]],"a":{"app_id":[619],"class":[619],"class_name":[619]}}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/main/src/kludgine/app.rs.html b/main/src/kludgine/app.rs.html index 233b6e087..9f5610bda 100644 --- a/main/src/kludgine/app.rs.html +++ b/main/src/kludgine/app.rs.html @@ -1275,13 +1275,6 @@ 1275 1276 1277 -1278 -1279 -1280 -1281 -1282 -1283 -1284
    use std::marker::PhantomData;
     use std::mem::size_of;
     use std::num::NonZeroU32;
    @@ -1544,12 +1537,6 @@
             wgpu::PowerPreference::default()
         }
     
    -    /// Returns the filter mode to use when rendering textures with `wgpu`.
    -    #[must_use]
    -    fn filter_mode() -> wgpu::FilterMode {
    -        wgpu::FilterMode::Nearest
    -    }
    -
         /// Returns the limits to apply for the `wgpu` instance.
         #[must_use]
         fn limits(adapter_limits: wgpu::Limits) -> wgpu::Limits {
    @@ -1940,7 +1927,6 @@
                 &device,
                 &queue,
                 swapchain_format,
    -            T::filter_mode(),
                 multisample,
                 window.inner_size().into(),
                 window.scale().cast::<f32>(),
    diff --git a/main/src/kludgine/atlas.rs.html b/main/src/kludgine/atlas.rs.html
    index bf8face84..8667a90c7 100644
    --- a/main/src/kludgine/atlas.rs.html
    +++ b/main/src/kludgine/atlas.rs.html
    @@ -319,6 +319,17 @@
     319
     320
     321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
     
    use std::fmt::Debug;
     use std::ops::Div;
     use std::sync::{Arc, PoisonError, RwLock};
    @@ -351,6 +362,7 @@
     #[derive(Clone)]
     pub struct TextureCollection {
         format: wgpu::TextureFormat,
    +    filter_mode: wgpu::FilterMode,
         data: Arc<RwLock<Data>>,
     }
     
    @@ -364,13 +376,16 @@
         pub(crate) fn new_generic(
             initial_size: Size<UPx>,
             format: wgpu::TextureFormat,
    +        filter_mode: wgpu::FilterMode,
             graphics: &impl KludgineGraphics,
         ) -> Self {
    -        let texture = Texture::new_generic(graphics, initial_size, format, atlas_usages());
    +        let texture =
    +            Texture::new_generic(graphics, initial_size, format, atlas_usages(), filter_mode);
     
             let initial_size = initial_size.into_signed();
             Self {
                 format,
    +            filter_mode,
                 data: Arc::new(RwLock::new(Data {
                     rects: BucketedAtlasAllocator::new(etagere::euclid::Size2D::new(
                         initial_size.width.into(),
    @@ -387,9 +402,10 @@
         pub fn new(
             initial_size: Size<UPx>,
             format: wgpu::TextureFormat,
    +        filter_mode: wgpu::FilterMode,
             graphics: &Graphics<'_>,
         ) -> Self {
    -        Self::new_generic(initial_size, format, graphics)
    +        Self::new_generic(initial_size, format, filter_mode, graphics)
         }
     
         /// Pushes image data to a specific region of the texture.
    @@ -430,7 +446,13 @@
                 }
     
                 let new_size = this.texture.size * 2;
    -            let new_texture = Texture::new_generic(graphics, new_size, self.format, atlas_usages());
    +            let new_texture = Texture::new_generic(
    +                graphics,
    +                new_size,
    +                self.format,
    +                atlas_usages(),
    +                self.filter_mode,
    +            );
                 let mut commands = graphics
                     .device()
                     .create_command_encoder(&wgpu::CommandEncoderDescriptor::default());
    diff --git a/main/src/kludgine/lib.rs.html b/main/src/kludgine/lib.rs.html
    index bad4d272d..60cfe1404 100644
    --- a/main/src/kludgine/lib.rs.html
    +++ b/main/src/kludgine/lib.rs.html
    @@ -1916,6 +1916,59 @@
     1916
     1917
     1918
    +1919
    +1920
    +1921
    +1922
    +1923
    +1924
    +1925
    +1926
    +1927
    +1928
    +1929
    +1930
    +1931
    +1932
    +1933
    +1934
    +1935
    +1936
    +1937
    +1938
    +1939
    +1940
    +1941
    +1942
    +1943
    +1944
    +1945
    +1946
    +1947
    +1948
    +1949
    +1950
    +1951
    +1952
    +1953
    +1954
    +1955
    +1956
    +1957
    +1958
    +1959
    +1960
    +1961
    +1962
    +1963
    +1964
    +1965
    +1966
    +1967
    +1968
    +1969
    +1970
    +1971
     

    #![doc = include_str!("../README.md")]
     // This crate uses unsafe, but attempts to minimize its usage. All functions
     // that utilize unsafe must explicitly enable it.
    @@ -1939,14 +1992,14 @@
     use figures::{Angle, Fraction, FromComponents, Point, Rect, Size, UPx2D};
     #[cfg(feature = "image")]
     pub use image;
    -use intentional::Assert;
    +use intentional::{Assert, Cast};
     use sealed::ShapeSource as _;
     use wgpu::util::DeviceExt;
     pub use {figures, wgpu};
     
     use crate::buffer::Buffer;
     use crate::pipeline::{Uniforms, Vertex};
    -use crate::sealed::{ClipRect, KludgineGraphics as _, TextureSource as _};
    +use crate::sealed::{ClipRect, TextureSource as _};
     use crate::text::Text;
     
     /// Application and Windowing Support.
    @@ -1995,7 +2048,8 @@
         pipeline: wgpu::RenderPipeline,
         _shader: wgpu::ShaderModule,
         binding_layout: wgpu::BindGroupLayout,
    -    sampler: wgpu::Sampler,
    +    linear_sampler: wgpu::Sampler,
    +    nearest_sampler: wgpu::Sampler,
         uniforms: Buffer<Uniforms>,
         size: Size<UPx>,
         scale: Fraction,
    @@ -2011,7 +2065,6 @@
             device: &wgpu::Device,
             queue: &wgpu::Queue,
             format: wgpu::TextureFormat,
    -        filter_mode: wgpu::FilterMode,
             multisample: wgpu::MultisampleState,
             initial_size: Size<UPx>,
             scale: f32,
    @@ -2042,10 +2095,16 @@
                 view_formats: &[],
             });
     
    -        let sampler = device.create_sampler(&wgpu::SamplerDescriptor {
    -            min_filter: filter_mode,
    -            mag_filter: filter_mode,
    -            mipmap_filter: filter_mode,
    +        let nearest_sampler = device.create_sampler(&wgpu::SamplerDescriptor {
    +            min_filter: wgpu::FilterMode::Nearest,
    +            mag_filter: wgpu::FilterMode::Nearest,
    +            mipmap_filter: wgpu::FilterMode::Nearest,
    +            ..wgpu::SamplerDescriptor::default()
    +        });
    +        let linear_sampler = device.create_sampler(&wgpu::SamplerDescriptor {
    +            min_filter: wgpu::FilterMode::Linear,
    +            mag_filter: wgpu::FilterMode::Linear,
    +            mipmap_filter: wgpu::FilterMode::Linear,
                 ..wgpu::SamplerDescriptor::default()
             });
             let default_bindings = pipeline::bind_group(
    @@ -2053,7 +2112,7 @@
                 &binding_layout,
                 &uniforms.wgpu,
                 &empty_texture.create_view(&wgpu::TextureViewDescriptor::default()),
    -            &sampler,
    +            &nearest_sampler,
             );
     
             let shader = device.create_shader_module(wgpu::ShaderModuleDescriptor {
    @@ -2069,13 +2128,15 @@
                     device,
                     queue,
                     binding_layout: &binding_layout,
    -                sampler: &sampler,
    +                linear_sampler: &linear_sampler,
    +                nearest_sampler: &nearest_sampler,
                     uniforms: &uniforms.wgpu,
                 }),
                 default_bindings,
                 pipeline,
                 _shader: shader,
    -            sampler,
    +            linear_sampler,
    +            nearest_sampler,
                 size: initial_size,
                 scale,
     
    @@ -2264,7 +2325,8 @@
         device: &'gfx wgpu::Device,
         queue: &'gfx wgpu::Queue,
         binding_layout: &'gfx wgpu::BindGroupLayout,
    -    sampler: &'gfx wgpu::Sampler,
    +    linear_sampler: &'gfx wgpu::Sampler,
    +    nearest_sampler: &'gfx wgpu::Sampler,
         uniforms: &'gfx wgpu::Buffer,
     }
     
    @@ -2274,7 +2336,8 @@
                 device,
                 queue,
                 binding_layout: &kludgine.binding_layout,
    -            sampler: &kludgine.sampler,
    +            linear_sampler: &kludgine.linear_sampler,
    +            nearest_sampler: &kludgine.nearest_sampler,
                 uniforms: &kludgine.uniforms.wgpu,
             }
         }
    @@ -2299,8 +2362,12 @@
             self.uniforms
         }
     
    -    fn sampler(&self) -> &wgpu::Sampler {
    -        self.sampler
    +    fn nearest_sampler(&self) -> &wgpu::Sampler {
    +        self.nearest_sampler
    +    }
    +
    +    fn linear_sampler(&self) -> &wgpu::Sampler {
    +        self.linear_sampler
         }
     }
     
    @@ -2323,8 +2390,12 @@
             &self.kludgine.uniforms.wgpu
         }
     
    -    fn sampler(&self) -> &wgpu::Sampler {
    -        &self.kludgine.sampler
    +    fn nearest_sampler(&self) -> &wgpu::Sampler {
    +        &self.kludgine.nearest_sampler
    +    }
    +
    +    fn linear_sampler(&self) -> &wgpu::Sampler {
    +        &self.kludgine.linear_sampler
         }
     }
     
    @@ -2664,6 +2735,10 @@
     #[repr(C)]
     pub struct Color(u32);
     
    +fn f32_component_to_u8(component: f32) -> u8 {
    +    (component.clamp(0., 1.0) * 255.).round().cast()
    +}
    +
     impl Color {
         /// Returns a new color with the provided components.
         #[must_use]
    @@ -2674,14 +2749,12 @@
         /// Returns a new color by converting each component from its `0.0..=1.0`
         /// range into a `0..=255` range.
         #[must_use]
    -    #[allow(clippy::cast_possible_truncation)] // truncation desired
    -    #[allow(clippy::cast_sign_loss)] // sign loss is truncated
         pub fn new_f32(red: f32, green: f32, blue: f32, alpha: f32) -> Self {
             Self::new(
    -            (red.max(0.) * 255.).round() as u8,
    -            (green.max(0.) * 255.).round() as u8,
    -            (blue.max(0.) * 255.).round() as u8,
    -            (alpha.max(0.) * 255.).round() as u8,
    +            f32_component_to_u8(red),
    +            f32_component_to_u8(green),
    +            f32_component_to_u8(blue),
    +            f32_component_to_u8(alpha),
             )
         }
     
    @@ -2762,6 +2835,30 @@
         pub const fn with_alpha(self, alpha: u8) -> Self {
             Self(self.0 & 0xFFFF_FF00 | alpha as u32)
         }
    +
    +    /// Returns a new color replacing this colors red channel with `red`.
    +    #[must_use]
    +    pub fn with_red_f32(self, red: f32) -> Self {
    +        self.with_red(f32_component_to_u8(red))
    +    }
    +
    +    /// Returns a new color replacing this colors green channel with `green`.
    +    #[must_use]
    +    pub fn with_green_f32(self, green: f32) -> Self {
    +        self.with_green(f32_component_to_u8(green))
    +    }
    +
    +    /// Returns a new color replacing this colors blue channel with `blue`.
    +    #[must_use]
    +    pub fn with_blue_f32(self, blue: f32) -> Self {
    +        self.with_blue(f32_component_to_u8(blue))
    +    }
    +
    +    /// Returns a new color replacing this colors alpha channel with `alpha`.
    +    #[must_use]
    +    pub fn with_alpha_f32(self, alpha: f32) -> Self {
    +        self.with_alpha(f32_component_to_u8(alpha))
    +    }
     }
     
     impl Debug for Color {
    @@ -3110,6 +3207,7 @@
         size: Size<UPx>,
         format: wgpu::TextureFormat,
         usage: wgpu::TextureUsages,
    +    filter_mode: wgpu::FilterMode,
         loadable: Mutex<Option<Vec<u8>>>,
         data: OnceLock<TextureInstance>,
     }
    @@ -3121,15 +3219,60 @@
         bind_group: Arc<wgpu::BindGroup>,
     }
     
    +impl TextureInstance {
    +    fn from_wgpu(
    +        wgpu: wgpu::Texture,
    +        filter_mode: wgpu::FilterMode,
    +        graphics: &impl sealed::KludgineGraphics,
    +    ) -> Self {
    +        let view = wgpu.create_view(&wgpu::TextureViewDescriptor::default());
    +        let bind_group = Arc::new(pipeline::bind_group(
    +            graphics.device(),
    +            graphics.binding_layout(),
    +            graphics.uniforms(),
    +            &view,
    +            match filter_mode {
    +                wgpu::FilterMode::Nearest => graphics.nearest_sampler(),
    +                wgpu::FilterMode::Linear => graphics.linear_sampler(),
    +            },
    +        ));
    +        TextureInstance {
    +            wgpu,
    +            view,
    +            bind_group,
    +        }
    +    }
    +}
    +
     impl UnwindSafe for TextureInstance {}
     impl RefUnwindSafe for TextureInstance {}
     
     impl Texture {
    +    fn from_wgpu(
    +        wgpu: wgpu::Texture,
    +        graphics: &impl KludgineGraphics,
    +        size: Size<UPx>,
    +        format: wgpu::TextureFormat,
    +        usage: wgpu::TextureUsages,
    +        filter_mode: wgpu::FilterMode,
    +    ) -> Self {
    +        Self {
    +            id: sealed::TextureId::new_unique_id(),
    +            size,
    +            format,
    +            usage,
    +            loadable: Mutex::default(),
    +            filter_mode,
    +            data: OnceLock::from(TextureInstance::from_wgpu(wgpu, filter_mode, graphics)),
    +        }
    +    }
    +
         pub(crate) fn new_generic(
             graphics: &impl KludgineGraphics,
             size: Size<UPx>,
             format: wgpu::TextureFormat,
             usage: wgpu::TextureUsages,
    +        filter_mode: wgpu::FilterMode,
         ) -> Self {
             let wgpu = graphics.device().create_texture(&wgpu::TextureDescriptor {
                 label: None,
    @@ -3141,26 +3284,7 @@
                 usage,
                 view_formats: &[],
             });
    -        let view = wgpu.create_view(&wgpu::TextureViewDescriptor::default());
    -        let bind_group = Arc::new(pipeline::bind_group(
    -            graphics.device(),
    -            graphics.binding_layout(),
    -            graphics.uniforms(),
    -            &view,
    -            graphics.sampler(),
    -        ));
    -        Self {
    -            id: sealed::TextureId::new_unique_id(),
    -            size,
    -            format,
    -            usage,
    -            loadable: Mutex::default(),
    -            data: OnceLock::from(TextureInstance {
    -                wgpu,
    -                view,
    -                bind_group,
    -            }),
    -        }
    +        Self::from_wgpu(wgpu, graphics, size, format, usage, filter_mode)
         }
     
         /// Creates a new texture of the given size, format, and usages.
    @@ -3170,8 +3294,9 @@
             size: Size<UPx>,
             format: wgpu::TextureFormat,
             usage: wgpu::TextureUsages,
    +        filter_mode: wgpu::FilterMode,
         ) -> Self {
    -        Self::new_generic(graphics, size, format, usage)
    +        Self::new_generic(graphics, size, format, usage, filter_mode)
         }
     
         /// Returns a new texture of the given size, format, and usages. The texture
    @@ -3182,6 +3307,7 @@
             size: Size<UPx>,
             format: wgpu::TextureFormat,
             usage: wgpu::TextureUsages,
    +        filter_mode: wgpu::FilterMode,
             data: &[u8],
         ) -> Self {
             let wgpu = graphics.device().create_texture_with_data(
    @@ -3198,26 +3324,7 @@
                 },
                 data,
             );
    -        let view = wgpu.create_view(&wgpu::TextureViewDescriptor::default());
    -        let bind_group = Arc::new(pipeline::bind_group(
    -            graphics.device(),
    -            graphics.binding_layout(),
    -            graphics.uniforms(),
    -            &view,
    -            graphics.sampler(),
    -        ));
    -        Self {
    -            id: sealed::TextureId::new_unique_id(),
    -            size,
    -            format,
    -            usage,
    -            loadable: Mutex::default(),
    -            data: OnceLock::from(TextureInstance {
    -                wgpu,
    -                view,
    -                bind_group,
    -            }),
    -        }
    +        Self::from_wgpu(wgpu, graphics, size, format, usage, filter_mode)
         }
     
         /// Returns a new texture that loads its data to the gpu once used.
    @@ -3226,6 +3333,7 @@
             size: Size<UPx>,
             format: wgpu::TextureFormat,
             usage: wgpu::TextureUsages,
    +        filter_mode: wgpu::FilterMode,
             data: Vec<u8>,
         ) -> Self {
             Self {
    @@ -3233,6 +3341,7 @@
                 size,
                 format,
                 usage,
    +            filter_mode,
                 loadable: Mutex::new(Some(data)),
                 data: OnceLock::new(),
             }
    @@ -3241,7 +3350,11 @@
         /// Creates a texture from `image`.
         #[must_use]
         #[cfg(feature = "image")]
    -    pub fn from_image(image: image::DynamicImage, graphics: &Graphics<'_>) -> Self {
    +    pub fn from_image(
    +        image: image::DynamicImage,
    +        filter_mode: wgpu::FilterMode,
    +        graphics: &Graphics<'_>,
    +    ) -> Self {
             // TODO is it better to force rgba8, or is it better to avoid the
             // conversion and allow multiple texture formats?
             let image = image.into_rgba8();
    @@ -3250,6 +3363,7 @@
                 Size::upx(image.width(), image.height()),
                 wgpu::TextureFormat::Rgba8UnormSrgb,
                 wgpu::TextureUsages::TEXTURE_BINDING,
    +            filter_mode,
                 image.as_raw(),
             )
         }
    @@ -3257,12 +3371,13 @@
         /// Returns a texture that loads `image` into the gpu when it is used.
         #[must_use]
         #[cfg(feature = "image")]
    -    pub fn lazy_from_image(image: image::DynamicImage) -> Self {
    +    pub fn lazy_from_image(image: image::DynamicImage, filter_mode: wgpu::FilterMode) -> Self {
             let image = image.into_rgba8();
             Self::lazy_from_data(
                 Size::upx(image.width(), image.height()),
                 wgpu::TextureFormat::Rgba8UnormSrgb,
                 wgpu::TextureUsages::TEXTURE_BINDING,
    +            filter_mode,
                 image.into_raw(),
             )
         }
    @@ -3353,19 +3468,7 @@
                 },
                 data,
             );
    -        let view = wgpu.create_view(&wgpu::TextureViewDescriptor::default());
    -        let bind_group = Arc::new(pipeline::bind_group(
    -            graphics.device(),
    -            graphics.binding_layout(),
    -            graphics.uniforms(),
    -            &view,
    -            graphics.sampler(),
    -        ));
    -        TextureInstance {
    -            wgpu,
    -            view,
    -            bind_group,
    -        }
    +        TextureInstance::from_wgpu(wgpu, self.filter_mode, graphics)
         }
     
         fn wgpu(&self, graphics: &impl KludgineGraphics) -> &wgpu::Texture {
    @@ -3382,8 +3485,11 @@
     #[macro_export]
     macro_rules! include_texture {
         ($path:expr) => {
    +        $crate::include_texture!($path, $crate::wgpu::FilterMode::Nearest)
    +    };
    +    ($path:expr, $filter_mode:expr) => {
             $crate::image::load_from_memory(std::include_bytes!($path))
    -            .map($crate::Texture::lazy_from_image)
    +            .map(|image| $crate::Texture::lazy_from_image(image, $filter_mode))
         };
     }
     
    diff --git a/main/src/kludgine/render.rs.html b/main/src/kludgine/render.rs.html
    index 7c30e1725..6e5cea2d6 100644
    --- a/main/src/kludgine/render.rs.html
    +++ b/main/src/kludgine/render.rs.html
    @@ -703,7 +703,6 @@
     703
     704
     705
    -706
     
    use std::collections::{hash_map, HashMap};
     use std::ops::{Deref, DerefMut, Range};
     use std::sync::Arc;
    @@ -1300,8 +1299,7 @@
         textures: HashMap<sealed::TextureId, Arc<wgpu::BindGroup>, DefaultHasher>,
         commands: Vec<Command>,
         #[cfg(feature = "cosmic-text")]
    -    glyphs:
    -        HashMap<crate::text::PixelAlignedCacheKey, crate::text::CachedGlyphHandle, DefaultHasher>,
    +    glyphs: HashMap<cosmic_text::CacheKey, crate::text::CachedGlyphHandle, DefaultHasher>,
     }
     
     #[derive(Debug)]
    diff --git a/main/src/kludgine/sealed.rs.html b/main/src/kludgine/sealed.rs.html
    index cd3df4cb9..63e7f5748 100644
    --- a/main/src/kludgine/sealed.rs.html
    +++ b/main/src/kludgine/sealed.rs.html
    @@ -103,6 +103,7 @@
     103
     104
     105
    +106
     
    use std::ops::Deref;
     use std::sync::atomic::{self, AtomicUsize};
     use std::sync::{Arc, OnceLock};
    @@ -206,6 +207,7 @@
         fn queue(&self) -> &wgpu::Queue;
         fn binding_layout(&self) -> &wgpu::BindGroupLayout;
         fn uniforms(&self) -> &wgpu::Buffer;
    -    fn sampler(&self) -> &wgpu::Sampler;
    +    fn nearest_sampler(&self) -> &wgpu::Sampler;
    +    fn linear_sampler(&self) -> &wgpu::Sampler;
     }
     
    \ No newline at end of file diff --git a/main/src/kludgine/shapes.rs.html b/main/src/kludgine/shapes.rs.html index b8c760da8..da4421551 100644 --- a/main/src/kludgine/shapes.rs.html +++ b/main/src/kludgine/shapes.rs.html @@ -1500,6 +1500,19 @@ 1500 1501 1502 +1503 +1504 +1505 +1506 +1507 +1508 +1509 +1510 +1511 +1512 +1513 +1514 +1515
    use std::fmt::Debug;
     use std::ops::{Add, Div, Mul, Neg, Sub};
     
    @@ -2253,98 +2266,50 @@
         /// Creates a new path with the initial position `start_at`.
         #[must_use]
         pub fn new(start_at: impl Into<Endpoint<Unit>>) -> Self {
    -        let start_at = start_at.into();
    -        Self {
    -            path: Path::from_iter([PathEvent::Begin {
    -                at: start_at,
    -                texture: Point::default(),
    -            }]),
    -            current_location: start_at,
    -            current_texture: Point::default(),
    -            close: false,
    -        }
    +        Self::new_inner(start_at, Point::ZERO)
         }
     
         /// Clears this builder to a state as if it had just been created with
         /// [`new()`](Self::new).
         pub fn reset(&mut self, start_at: impl Into<Endpoint<Unit>>) {
    -        let start_at = start_at.into();
    -        self.current_location = start_at;
    -        let begin = PathEvent::Begin {
    -            at: start_at,
    -            texture: Point::default(),
    -        };
    -        if self.path.events.is_empty() {
    -            self.path.events.push(begin);
    -        } else {
    -            self.path.events.truncate(1);
    -            self.path.events[0] = begin;
    -        }
    -    }
    -
    -    /// Returns the built path.
    -    #[must_use]
    -    pub fn build(mut self) -> Path<Unit, false> {
    -        self.path.events.push(PathEvent::End { close: self.close });
    -        self.path
    +        self.reset_inner(start_at, Point::ZERO);
         }
     
         /// Create a straight line from the current location to `end_at`.
         #[must_use]
    -    pub fn line_to(mut self, end_at: impl Into<Endpoint<Unit>>) -> Self {
    -        let end_at = end_at.into();
    -        self.path.events.push(PathEvent::Line {
    -            to: end_at,
    -            texture: Point::default(),
    -        });
    -        self.current_location = end_at;
    -        self
    -    }
    +    pub fn line_to(self, end_at: impl Into<Endpoint<Unit>>) -> Self {
    +        self.line_to_inner(end_at, Point::ZERO)
    +    }
     
         /// Create a quadratic curve from the current location to `end_at` using
         /// `control` as the curve's control point.
         #[must_use]
         pub fn quadratic_curve_to(
    -        mut self,
    +        self,
             control: ControlPoint<Unit>,
             end_at: impl Into<Endpoint<Unit>>,
         ) -> Self {
    -        let end_at = end_at.into();
    -        self.path.events.push(PathEvent::Quadratic {
    -            ctrl: control,
    -            to: end_at,
    -            texture: Point::default(),
    -        });
    -        self.current_location = end_at;
    -        self
    -    }
    +        self.quadratic_curve_to_inner(control, end_at, Point::ZERO)
    +    }
     
         /// Create a cubic curve from the current location to `end_at` using
         /// `control1` and `control2` as the curve's control points.
         #[must_use]
         pub fn cubic_curve_to(
    -        mut self,
    +        self,
             control1: ControlPoint<Unit>,
             control2: ControlPoint<Unit>,
             end_at: impl Into<Endpoint<Unit>>,
         ) -> Self {
    -        let end_at = end_at.into();
    -        self.path.events.push(PathEvent::Cubic {
    -            ctrl1: control1,
    -            ctrl2: control2,
    -            to: end_at,
    -            texture: Point::default(),
    -        });
    -        self.current_location = end_at;
    -        self
    -    }
    +        self.cubic_curve_to_inner(control1, control2, end_at, Point::ZERO)
    +    }
     
         /// Add a clockwise arc starting at the current location.
         ///
         /// The arc will be drawn for an oval of size `radii`. The amount of
         /// rotation the arc will be drawn is controlled by `sweep`.
         #[must_use]
    -    pub fn arc(mut self, center: impl Into<Endpoint<Unit>>, radii: Size<Unit>, sweep: Angle) -> Self
    +    pub fn arc(self, center: impl Into<Endpoint<Unit>>, radii: Size<Unit>, sweep: Angle) -> Self
         where
             Unit: FloatConversion<Float = f32>,
         {
    @@ -2352,72 +2317,120 @@
                 location: center,
                 color,
             } = center.into();
    -        let center = center.into_float();
    +        self.arc_inner(center, radii, sweep, true, (Point::ZERO, color))
    +    }
     
    -        let current_offset = self.current_location.location.into_float() - center;
    -        let start_angle = current_offset.y.atan2(current_offset.x);
    +    /// Add a counter-clockwise arc starting at the current location.
    +    ///
    +    /// The arc will be drawn for an oval of size `radii`. The amount of
    +    /// rotation the arc will be drawn is controlled by `sweep`.
    +    #[must_use]
    +    pub fn arc_counter(
    +        self,
    +        center: impl Into<Endpoint<Unit>>,
    +        radii: Size<Unit>,
    +        sweep: Angle,
    +    ) -> Self
    +    where
    +        Unit: FloatConversion<Float = f32>,
    +    {
    +        let Endpoint {
    +            location: center,
    +            color,
    +        } = center.into();
    +        self.arc_inner(center, radii, sweep, false, (Point::ZERO, color))
    +    }
    +}
     
    -        let delta_red = color.red_f32() - self.current_location.color.red_f32();
    -        let delta_green = color.green_f32() - self.current_location.color.green_f32();
    -        let delta_blue = color.blue_f32() - self.current_location.color.blue_f32();
    -        let delta_alpha = color.alpha_f32() - self.current_location.color.alpha_f32();
    +impl<Unit> PathBuilder<Unit, true>
    +where
    +    Unit: Copy,
    +{
    +    /// Creates a new path with the initial position `start_at`.
    +    #[must_use]
    +    pub fn new_textured(start_at: impl Into<Endpoint<Unit>>, texture: Point<UPx>) -> Self {
    +        Self::new_inner(start_at, texture)
    +    }
     
    -        Arc {
    -            center: lyon_tessellation::geom::point(center.x, center.y),
    -            radii: lyon_tessellation::geom::vector(
    -                radii.width.into_float(),
    -                radii.height.into_float(),
    -            ),
    -            start_angle: lyon_tessellation::geom::Angle::radians(start_angle),
    -            sweep_angle: lyon_tessellation::geom::Angle::degrees(sweep.into_degrees()),
    -            x_rotation: lyon_tessellation::geom::Angle::degrees(0.),
    -        }
    -        .for_each_cubic_bezier(&mut |segment| {
    -            let to = Point::new(segment.to.x, segment.to.y);
    -            let current_offset = to - center;
    -            let current_angle = current_offset.y.atan2(current_offset.x);
    -            let elapsed_angle = if (current_angle - start_angle).abs() < f32::EPSILON {
    -                Angle::MAX
    -            } else {
    -                Angle::radians_f(current_angle - start_angle)
    -            };
    -            let progress = elapsed_angle.into_degrees::<f32>() / sweep.into_degrees::<f32>();
    +    /// Clears this builder to a state as if it had just been created with
    +    /// [`new_textured()`](Self::new_textured).
    +    pub fn reset(&mut self, start_at: impl Into<Endpoint<Unit>>, texture: Point<UPx>) {
    +        self.reset_inner(start_at, texture);
    +    }
     
    -            self.path.events.push(PathEvent::Cubic {
    -                ctrl1: Point::new(segment.ctrl1.x, segment.ctrl1.y).map(Unit::from_float),
    -                ctrl2: Point::new(segment.ctrl2.x, segment.ctrl2.y).map(Unit::from_float),
    -                to: Endpoint::new(
    -                    to.map(Unit::from_float),
    -                    Color::new_f32(
    -                        color.red_f32() + delta_red * progress,
    -                        color.green_f32() + delta_green * progress,
    -                        color.blue_f32() + delta_blue * progress,
    -                        color.alpha_f32() + delta_alpha * progress,
    -                    ),
    -                ),
    -                texture: Point::ZERO,
    -            });
    -        });
    +    /// Create a straight line from the current location to `end_at`.
    +    #[must_use]
    +    pub fn line_to(self, end_at: impl Into<Endpoint<Unit>>, texture: Point<UPx>) -> Self {
    +        self.line_to_inner(end_at, texture)
    +    }
     
    -        self
    -    }
    +    /// Create a quadratic curve from the current location to `end_at` using
    +    /// `control` as the curve's control point.
    +    #[must_use]
    +    pub fn quadratic_curve_to(
    +        self,
    +        control: ControlPoint<Unit>,
    +        end_at: impl Into<Endpoint<Unit>>,
    +        texture: Point<UPx>,
    +    ) -> Self {
    +        self.quadratic_curve_to_inner(control, end_at, texture)
    +    }
     
    -    /// Closes the path, connecting the current location to the shape's starting
    -    /// location.
    +    /// Create a cubic curve from the current location to `end_at` using
    +    /// `control1` and `control2` as the curve's control points.
         #[must_use]
    -    pub fn close(mut self) -> Path<Unit, false> {
    -        self.close = true;
    -        self.build()
    +    pub fn cubic_curve_to(
    +        self,
    +        control1: ControlPoint<Unit>,
    +        control2: ControlPoint<Unit>,
    +        end_at: impl Into<Endpoint<Unit>>,
    +        texture: Point<UPx>,
    +    ) -> Self {
    +        self.cubic_curve_to_inner(control1, control2, end_at, texture)
    +    }
    +
    +    /// Add a clockwise arc starting at the current location.
    +    ///
    +    /// The arc will be drawn for an oval of size `radii`. The amount of
    +    /// rotation the arc will be drawn is controlled by `sweep`.
    +    #[must_use]
    +    pub fn arc(
    +        self,
    +        center: Point<Unit>,
    +        radii: Size<Unit>,
    +        sweep: Angle,
    +        texture: impl Into<Endpoint<UPx>>,
    +    ) -> Self
    +    where
    +        Unit: FloatConversion<Float = f32>,
    +    {
    +        self.arc_inner(center, radii, sweep, true, texture)
    +    }
    +
    +    /// Add a counter-clockwise arc starting at the current location.
    +    ///
    +    /// The arc will be drawn for an oval of size `radii`. The amount of
    +    /// rotation the arc will be drawn is controlled by `sweep`.
    +    #[must_use]
    +    pub fn arc_counter(
    +        self,
    +        center: Point<Unit>,
    +        radii: Size<Unit>,
    +        sweep: Angle,
    +        texture: impl Into<Endpoint<UPx>>,
    +    ) -> Self
    +    where
    +        Unit: FloatConversion<Float = f32>,
    +    {
    +        self.arc_inner(center, radii, sweep, false, texture)
         }
     }
     
    -impl<Unit> PathBuilder<Unit, true>
    +impl<Unit, const TEXTURED: bool> PathBuilder<Unit, TEXTURED>
     where
         Unit: Copy,
     {
    -    /// Creates a new path with the initial position `start_at`.
    -    #[must_use]
    -    pub fn new_textured(start_at: impl Into<Endpoint<Unit>>, texture: Point<UPx>) -> Self {
    +    fn new_inner(start_at: impl Into<Endpoint<Unit>>, texture: Point<UPx>) -> Self {
             let start_at = start_at.into();
             Self {
                 path: Path::from_iter([(PathEvent::Begin {
    @@ -2430,9 +2443,7 @@
             }
         }
     
    -    /// Clears this builder to a state as if it had just been created with
    -    /// [`new_textured()`](Self::new_textured).
    -    pub fn reset(&mut self, start_at: impl Into<Endpoint<Unit>>, texture: Point<UPx>) {
    +    fn reset_inner(&mut self, start_at: impl Into<Endpoint<Unit>>, texture: Point<UPx>) {
             let start_at = start_at.into();
             self.current_location = start_at;
             self.current_texture = texture;
    @@ -2448,16 +2459,9 @@
             }
         }
     
    -    /// Returns the built path.
    -    #[must_use]
    -    pub fn build(mut self) -> Path<Unit, true> {
    -        self.path.events.push(PathEvent::End { close: self.close });
    -        self.path
    -    }
    -
         /// Create a straight line from the current location to `end_at`.
         #[must_use]
    -    pub fn line_to(mut self, end_at: impl Into<Endpoint<Unit>>, texture: Point<UPx>) -> Self {
    +    fn line_to_inner(mut self, end_at: impl Into<Endpoint<Unit>>, texture: Point<UPx>) -> Self {
             let end_at = end_at.into();
             self.path.events.push(PathEvent::Line {
                 to: end_at,
    @@ -2471,7 +2475,7 @@
         /// Create a quadratic curve from the current location to `end_at` using
         /// `control` as the curve's control point.
         #[must_use]
    -    pub fn quadratic_curve_to(
    +    fn quadratic_curve_to_inner(
             mut self,
             control: ControlPoint<Unit>,
             end_at: impl Into<Endpoint<Unit>>,
    @@ -2491,7 +2495,7 @@
         /// Create a cubic curve from the current location to `end_at` using
         /// `control1` and `control2` as the curve's control points.
         #[must_use]
    -    pub fn cubic_curve_to(
    +    fn cubic_curve_to_inner(
             mut self,
             control1: ControlPoint<Unit>,
             control2: ControlPoint<Unit>,
    @@ -2515,11 +2519,12 @@
         /// The arc will be drawn for an oval of size `radii`. The amount of
         /// rotation the arc will be drawn is controlled by `sweep`.
         #[must_use]
    -    pub fn arc(
    +    fn arc_inner(
             mut self,
             center: Point<Unit>,
             radii: Size<Unit>,
             sweep: Angle,
    +        clockwise: bool,
             texture: impl Into<Endpoint<UPx>>,
         ) -> Self
         where
    @@ -2540,6 +2545,11 @@
             let delta_green = color.green_f32() - self.current_location.color.green_f32();
             let delta_blue = color.blue_f32() - self.current_location.color.blue_f32();
             let delta_alpha = color.alpha_f32() - self.current_location.color.alpha_f32();
    +        let sweep = if clockwise {
    +            sweep.into_degrees()
    +        } else {
    +            -sweep.into_degrees::<f32>()
    +        };
     
             Arc {
                 center: lyon_tessellation::geom::point(center.x, center.y),
    @@ -2548,43 +2558,59 @@
                     radii.height.into_float(),
                 ),
                 start_angle: lyon_tessellation::geom::Angle::radians(start_angle),
    -            sweep_angle: lyon_tessellation::geom::Angle::degrees(sweep.into_degrees()),
    +            sweep_angle: lyon_tessellation::geom::Angle::degrees(sweep),
                 x_rotation: lyon_tessellation::geom::Angle::degrees(0.),
             }
             .for_each_cubic_bezier(&mut |segment| {
                 let to = Point::new(segment.to.x, segment.to.y);
                 let current_offset = to - center;
                 let current_angle = current_offset.y.atan2(current_offset.x);
    -            let elapsed_angle = if (current_angle - start_angle).abs() < f32::EPSILON {
    -                Angle::MAX
    +
    +            let (start_angle, current_angle) = if clockwise {
    +                (start_angle, current_angle)
                 } else {
    -                Angle::radians_f(current_angle - start_angle)
    +                (current_angle, start_angle)
                 };
    -            let progress = elapsed_angle.into_degrees::<f32>() / sweep.into_degrees::<f32>();
     
    +            let elapsed_angle = if (current_angle - start_angle).abs() < f32::EPSILON {
    +                360.
    +            } else {
    +                Angle::radians_f(current_angle - start_angle).into_degrees::<f32>()
    +            };
    +            let progress = elapsed_angle / sweep.abs();
    +
    +            self.current_location = Endpoint::new(
    +                to.map(Unit::from_float),
    +                Color::new_f32(
    +                    color.red_f32() + delta_red * progress,
    +                    color.green_f32() + delta_green * progress,
    +                    color.blue_f32() + delta_blue * progress,
    +                    color.alpha_f32() + delta_alpha * progress,
    +                ),
    +            );
    +            self.current_texture += texture_delta * progress;
                 self.path.events.push(PathEvent::Cubic {
                     ctrl1: Point::new(segment.ctrl1.x, segment.ctrl1.y).map(Unit::from_float),
                     ctrl2: Point::new(segment.ctrl2.x, segment.ctrl2.y).map(Unit::from_float),
    -                to: Endpoint::new(
    -                    to.map(Unit::from_float),
    -                    Color::new_f32(
    -                        color.red_f32() + delta_red * progress,
    -                        color.green_f32() + delta_green * progress,
    -                        color.blue_f32() + delta_blue * progress,
    -                        color.alpha_f32() + delta_alpha * progress,
    -                    ),
    -                ),
    -                texture: self.current_texture + texture_delta * progress,
    +                to: self.current_location,
    +                texture: self.current_texture,
                 });
             });
     
             self
         }
     
    +    /// Returns the built path.
    +    #[must_use]
    +    pub fn build(mut self) -> Path<Unit, TEXTURED> {
    +        self.path.events.push(PathEvent::End { close: self.close });
    +        self.path
    +    }
    +
         /// Closes the path, connecting the current location to the shape's starting
         /// location.
         #[must_use]
    -    pub fn close(mut self) -> Path<Unit, true> {
    +    pub fn close(mut self) -> Path<Unit, TEXTURED> {
             self.close = true;
             self.build()
         }
    diff --git a/main/src/kludgine/text.rs.html b/main/src/kludgine/text.rs.html
    index 6848eeed2..4bcc275c0 100644
    --- a/main/src/kludgine/text.rs.html
    +++ b/main/src/kludgine/text.rs.html
    @@ -843,25 +843,12 @@
     843
     844
     845
    -846
    -847
    -848
    -849
    -850
    -851
    -852
    -853
    -854
    -855
    -856
    -857
    -858
     
    use std::array;
     use std::collections::{hash_map, HashMap};
     use std::fmt::{self, Debug};
     use std::sync::{Arc, Mutex, PoisonError};
     
    -use cosmic_text::{fontdb, Attrs, AttrsOwned, LayoutGlyph, SwashContent};
    +use cosmic_text::{Attrs, AttrsOwned, LayoutGlyph, SwashContent};
     use figures::units::{Lp, Px, UPx};
     use figures::{FloatConversion, Fraction, Point, Rect, ScreenScale, Size, UPx2D};
     use intentional::Cast;
    @@ -966,26 +953,6 @@
         }
     }
     
    -#[derive(Debug, Eq, PartialEq, Hash, Clone, Copy)]
    -pub(crate) struct PixelAlignedCacheKey {
    -    /// Font ID
    -    pub font_id: fontdb::ID,
    -    /// Glyph ID
    -    pub glyph_id: u16,
    -    /// `f32` bits of font size
    -    pub font_size_bits: u32,
    -}
    -
    -impl From<cosmic_text::CacheKey> for PixelAlignedCacheKey {
    -    fn from(key: cosmic_text::CacheKey) -> Self {
    -        Self {
    -            font_id: key.font_id,
    -            glyph_id: key.glyph_id,
    -            font_size_bits: key.font_size_bits,
    -        }
    -    }
    -}
    -
     pub(crate) struct TextSystem {
         pub fonts: cosmic_text::FontSystem,
         pub swash_cache: cosmic_text::SwashCache,
    @@ -1020,11 +987,13 @@
                 alpha_text_atlas: TextureCollection::new_generic(
                     Size::new(512, 512).cast(),
                     wgpu::TextureFormat::R8Unorm,
    +                wgpu::FilterMode::Linear,
                     graphics,
                 ),
                 color_text_atlas: TextureCollection::new_generic(
                     Size::new(512, 512).cast(),
                     wgpu::TextureFormat::Rgba8UnormSrgb,
    +                wgpu::FilterMode::Linear,
                     graphics,
                 ),
                 swash_cache: cosmic_text::SwashCache::new(),
    @@ -1094,13 +1063,13 @@
     
     #[derive(Debug, Default, Clone)]
     struct GlyphCache {
    -    glyphs: Arc<Mutex<HashMap<PixelAlignedCacheKey, CachedGlyph, DefaultHasher>>>,
    +    glyphs: Arc<Mutex<HashMap<cosmic_text::CacheKey, CachedGlyph, DefaultHasher>>>,
     }
     
     impl GlyphCache {
         fn get_or_insert(
             &self,
    -        key: PixelAlignedCacheKey,
    +        key: cosmic_text::CacheKey,
             insert_fn: impl FnOnce() -> Option<(CollectedTexture, bool)>,
         ) -> Option<CachedGlyphHandle> {
             let mut data = self
    @@ -1147,7 +1116,7 @@
     }
     
     pub(crate) struct CachedGlyphHandle {
    -    key: PixelAlignedCacheKey,
    +    key: cosmic_text::CacheKey,
         pub is_mask: bool,
         cache: GlyphCache,
         pub texture: CollectedTexture,
    @@ -1269,7 +1238,7 @@
         kludgine: &mut Kludgine,
         device: &wgpu::Device,
         queue: &wgpu::Queue,
    -    glyphs: &mut HashMap<PixelAlignedCacheKey, CachedGlyphHandle, DefaultHasher>,
    +    glyphs: &mut HashMap<cosmic_text::CacheKey, CachedGlyphHandle, DefaultHasher>,
         mut map: impl for<'a> FnMut(
             TextureBlit<Px>,
             &'a CachedGlyphHandle,
    @@ -1319,7 +1288,7 @@
                     kludgine
                         .text
                         .glyphs
    -                    .get_or_insert(physical.cache_key.into(), || match image.content {
    +                    .get_or_insert(physical.cache_key, || match image.content {
                             SwashContent::Mask => Some((
                                 kludgine.text.alpha_text_atlas.push_texture_generic(
                                     &image.data,
    @@ -1333,7 +1302,8 @@
                                         device,
                                         queue,
                                         binding_layout: &kludgine.binding_layout,
    -                                    sampler: &kludgine.sampler,
    +                                    linear_sampler: &kludgine.linear_sampler,
    +                                    nearest_sampler: &kludgine.nearest_sampler,
                                         uniforms: &kludgine.uniforms.wgpu,
                                     },
                                 ),
    @@ -1355,7 +1325,8 @@
                                             device,
                                             queue,
                                             binding_layout: &kludgine.binding_layout,
    -                                        sampler: &kludgine.sampler,
    +                                        linear_sampler: &kludgine.linear_sampler,
    +                                        nearest_sampler: &kludgine.nearest_sampler,
                                             uniforms: &kludgine.uniforms.wgpu,
                                         },
                                     ),
    @@ -1372,6 +1343,11 @@
                     cached.texture.region,
                     Rect::new(
                         (Point::new(physical.x, physical.y)).cast::<Px>()
    +                        + Point::new(
    +                            physical.cache_key.x_bin.as_float(),
    +                            physical.cache_key.y_bin.as_float(),
    +                        )
    +                        .map(Px::from)
                             + Point::new(
                                 image.placement.left,
                                 metrics.line_height.cast::<i32>() - image.placement.top,
    @@ -1394,9 +1370,7 @@
                     kludgine,
                 );
     
    -            glyphs
    -                .entry(physical.cache_key.into())
    -                .or_insert_with(|| cached);
    +            glyphs.entry(physical.cache_key).or_insert_with(|| cached);
             }
         }
     }
    @@ -1407,7 +1381,7 @@
         kludgine: &mut Kludgine,
         device: &wgpu::Device,
         queue: &wgpu::Queue,
    -    glyphs: &mut HashMap<PixelAlignedCacheKey, CachedGlyphHandle, DefaultHasher>,
    +    glyphs: &mut HashMap<cosmic_text::CacheKey, CachedGlyphHandle, DefaultHasher>,
     ) -> MeasuredText<Unit>
     where
         Unit: figures::ScreenUnit,
    @@ -1472,7 +1446,7 @@
     /// Text that is ready to be rendered on the GPU.
     pub struct PreparedText {
         graphic: PreparedGraphic<Px>,
    -    _glyphs: HashMap<PixelAlignedCacheKey, CachedGlyphHandle, DefaultHasher>,
    +    _glyphs: HashMap<cosmic_text::CacheKey, CachedGlyphHandle, DefaultHasher>,
     }
     
     impl fmt::Debug for PreparedText {