diff --git a/README.md b/README.md
index aaafccb5..e0ecdffd 100644
--- a/README.md
+++ b/README.md
@@ -69,7 +69,7 @@ A typical Gradle dependency on anim8 looks like this (in the core module's depen
dependencies {
//... other dependencies are here, like libGDX 1.9.11 or higher
// libGDX 1.11.0 is recommended currently, but versions as old as 1.9.11 work.
- api "com.github.tommyettinger:anim8-gdx:0.3.14"
+ api "com.github.tommyettinger:anim8-gdx:0.3.15"
}
```
@@ -78,7 +78,7 @@ You can also get a specific commit using JitPack, by following the instructions
commit, unless you are experiencing problems with one in particular.)
A .gwt.xml file is present in the sources jar, and because GWT needs it, you can depend on the sources jar with
-`implementation "com.github.tommyettinger:anim8-gdx:0.3.14:sources"`. The PNG-related code isn't available on GWT
+`implementation "com.github.tommyettinger:anim8-gdx:0.3.15:sources"`. The PNG-related code isn't available on GWT
because it needs `java.util.zip`, which is unavailable there, but PaletteReducer and AnimatedGif should both work. None
of the "Fast" classes will work on GWT. The GWT inherits line, which is needed in `GdxDefinition.gwt.xml` if no
dependencies already have it, is:
@@ -282,47 +282,51 @@ various 8-color dithers using DawnBringer's carefully-chosen [DB8 palette](https
Original (full-color):
-![](https://i.imgur.com/sDJbRh2.png)
+![](src/test/resources/Mona_Lisa.jpg)
Neue (default):
-![](https://i.imgur.com/qPxNuvb.png)
+![](samples/Mona_Lisa-Gif-Neue-DB8.gif)
+
+Dodgy:
+
+![](samples/Mona_Lisa-Gif-Dodgy-DB8.gif)
+
+Woven:
+
+![](samples/Mona_Lisa-Gif-Woven-DB8.gif)
Pattern:
-![](https://i.imgur.com/tKk8Yds.png)
+![](samples/Mona_Lisa-Gif-Pattern-DB8.gif)
Diffusion:
-![](https://i.imgur.com/q7FHci0.png)
+![](samples/Mona_Lisa-Gif-Diffusion-DB8.gif)
Gradient Noise:
-![](https://i.imgur.com/6a68Nwd.png)
+![](samples/Mona_Lisa-Gif-GradientNoise-DB8.gif)
Blue Noise:
-![](https://i.imgur.com/f6Q0tLT.png)
+![](samples/Mona_Lisa-Gif-BlueNoise-DB8.gif)
Chaotic Noise:
-![](https://i.imgur.com/dccx9cL.png)
+![](samples/Mona_Lisa-Gif-ChaoticNoise-DB8.gif)
Scatter:
-![](https://i.imgur.com/mWPODHB.png)
+![](samples/Mona_Lisa-Gif-Scatter-DB8.gif)
Roberts:
-![](https://i.imgur.com/GEAtDj4.png)
-
-Woven:
-
-![](https://i.imgur.com/mHnVOAZ.png)
+![](samples/Mona_Lisa-Gif-Roberts-DB8.gif)
None (no dither):
-![](https://i.imgur.com/yoD23YJ.png)
+![](samples/Mona_Lisa-Gif-None-DB8.gif)
This doesn't call the `analyze()` method on the original image, and instead uses `exact()` with the aforementioned DB8
palette. If you are using `analyze()`, it works best when permitted all 255 colors available to it.
diff --git a/docs/apidocs/allclasses-index.html b/docs/apidocs/allclasses-index.html
index 0801e31f..3d10c8c1 100644
--- a/docs/apidocs/allclasses-index.html
+++ b/docs/apidocs/allclasses-index.html
@@ -2,7 +2,7 @@
-All Classes and Interfaces (anim8-gdx 0.3.14 API)
+All Classes and Interfaces (anim8-gdx 0.3.15 API)
@@ -120,6 +120,11 @@ All Classes and Interfaces<
PNG-8 encoder with compression; can write animated and non-animated PNG images in indexed-mode.
+
+
+
This is just like
PaletteReducer
, except that it uses a higher-quality, slower color difference calculation
+ when creating a palette.
+
diff --git a/docs/apidocs/allpackages-index.html b/docs/apidocs/allpackages-index.html
index d9e63e9a..72ee0ca5 100644
--- a/docs/apidocs/allpackages-index.html
+++ b/docs/apidocs/allpackages-index.html
@@ -2,7 +2,7 @@
-All Packages (anim8-gdx 0.3.14 API)
+All Packages (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/AnimatedGif.html b/docs/apidocs/com/github/tommyettinger/anim8/AnimatedGif.html
index ab9e5ae1..3f0754c8 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/AnimatedGif.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/AnimatedGif.html
@@ -2,7 +2,7 @@
-AnimatedGif (anim8-gdx 0.3.14 API)
+AnimatedGif (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/AnimatedPNG.html b/docs/apidocs/com/github/tommyettinger/anim8/AnimatedPNG.html
index a5c71057..375d2256 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/AnimatedPNG.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/AnimatedPNG.html
@@ -2,7 +2,7 @@
-AnimatedPNG (anim8-gdx 0.3.14 API)
+AnimatedPNG (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/AnimationWriter.html b/docs/apidocs/com/github/tommyettinger/anim8/AnimationWriter.html
index 592159dc..160ef4ee 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/AnimationWriter.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/AnimationWriter.html
@@ -2,7 +2,7 @@
-AnimationWriter (anim8-gdx 0.3.14 API)
+AnimationWriter (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/Dithered.DitherAlgorithm.html b/docs/apidocs/com/github/tommyettinger/anim8/Dithered.DitherAlgorithm.html
index a41b1818..57869ac4 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/Dithered.DitherAlgorithm.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/Dithered.DitherAlgorithm.html
@@ -2,7 +2,7 @@
-Dithered.DitherAlgorithm (anim8-gdx 0.3.14 API)
+Dithered.DitherAlgorithm (anim8-gdx 0.3.15 API)
@@ -44,13 +44,13 @@
Summary:
Nested |
Enum Constants |
-Field |
+Field |
Method
@@ -142,40 +142,45 @@ Enum Constant Summary
Floyd-Steinberg error-diffusion dithering; this is a good option for still images, and it's an OK option
for some animated images.
-
+
+
An error-diffusion dither that, like
NEUE
, starts with
Floyd-Steinberg
dither and
+ adds in blue noise values to break up patterns.
+
+
+
Jorge Jimenez' Gradient Interleaved Noise, modified slightly to use as an ordered dither here; this can have
subtle repetitive artifacts, but doesn't have different amounts of noise on different frames or different
parts of an image (which is a potential problem for
DIFFUSION
and the other error-diffusion
dithers).
-
-
+
+
An error diffusion dither that mixes in ordered noise from a triangular-mapped blue noise texture; this is
- the best-behaving dither here when it comes to smooth gradients.
+ one of the best-behaving dithers here when it comes to smooth gradients.
-
-
+
+
Doesn't dither at all; this generally looks bad unless the palette matches the colors in the image very
closely or exactly.
-
-
+
+
Thomas Knoll's Pattern Dither (with a 4x4 matrix), as originally described by Joel Yliluoma in
this dithering article .
-
-
+
+
An ordered dither built around the lightness-dispersing R2 point sequence, by Martin Roberts.
-
-
+
+
This tries to subtly alter the more rigidly-defined error-diffusion dither of
DIFFUSION
with a small
amount of triangular-distributed blue noise, and unlike
CHAOTIC_NOISE
, it doesn't introduce white
noise.
-
-
+
+
An error-diffusion dither much like
NEUE
, except that it adds or subtracts a different error value
from each RGB channel, and that it uses translated copies of the R2 dither used by
ROBERTS
, instead
of using blue noise in any way.
@@ -183,25 +188,51 @@
Enum Constant Summary
+
+
+
+Field Summary
+Fields
+
+
+
+
+
+
+
+
A cached array of the result of
values()
, to avoid repeatedly allocating new
+
DitherAlgorithm[]
arrays on each call to values().
+
+
+
+
+
Used by
toString()
to store a more human-readable name that isn't ALWAYS_YELLING.
+
+
+
+
Method Summary
-
All Methods Static Methods Concrete Methods
+
All Methods Static Methods Instance Methods Concrete Methods
-
-
-
+
+
+
+
+
+
Returns the enum constant of this class with the specified name.
-
-
-
+
+
+
Returns an array containing the constants of this enum class, in
the order they are declared.
@@ -210,7 +241,7 @@
Method Summary
Methods inherited from class java.lang.Enum
-
clone , compareTo , describeConstable , equals , finalize , getDeclaringClass , hashCode , name , ordinal , toString , valueOf
+
clone , compareTo , describeConstable , equals , finalize , getDeclaringClass , hashCode , name , ordinal , valueOf
@@ -277,8 +308,8 @@
DIFFUSION
GRADIENT_NOISE
, depending on the animation, but this isn't often. Setting the dither strength with
PaletteReducer.setDitherStrength(float)
can improve the results with DIFFUSION tremendously, but the
dither strength shouldn't go above about 1.5 or maybe 2.0 (this shows artifacts at higher strength).
-
SCATTER
and
NEUE
are based on this, and are generally able to break up visible artifacts
- that Floyd-Steinberg can have; Scatter and especially Neue are now recommended over Diffusion.
+
SCATTER
,
NEUE
,
WOVEN
, and
DODGY
are based on this, and are generally able
+ to break up visible artifacts that Floyd-Steinberg can have; all of those are now recommended over Diffusion.
@@ -325,8 +356,8 @@ SCATTER
noise. This offers an excellent mix of shape preservation, color preservation, animation-compatibility, and
speed, and it was the default for a long time. Setting the dither strength to a low value makes this more
bold, with higher contrast, while setting the strength too high (above 1.5, or sometimes higher) can
- introduce artifacts. This is only-just-okay at smooth gradient handling; NEUE
is much better at that
- and otherwise similar, which is why Neue is the current default.
+ introduce artifacts. This is only-just-okay at smooth gradient handling; NEUE
and DODGY
are
+ much better at that and otherwise similar.
@@ -334,14 +365,17 @@ SCATTER
NEUE
An error diffusion dither that mixes in ordered noise from a triangular-mapped blue noise texture; this is
- the best-behaving dither here when it comes to smooth gradients. The approach to blue noise here is to add it
- to the pixel channels before calculating error diffusion for that pixel. This is different from
+ one of the best-behaving dithers here when it comes to smooth gradients. The approach to blue noise here is
+ to add it to the pixel channels before calculating error diffusion for that pixel. This is different from
SCATTER
in only a few ways, but a main one is that Scatter multiplies the current error by a blue
noise value, where this adds in blue noise regardless of current error. The exact reason isn't clear, but
this is drastically better when dithering smooth gradients, and can avoid banding except for the very
smallest palettes. While
BLUE_NOISE
is similarly good with smooth gradients, it has a hard time
preserving fine color information (lightness is kept by Blue_Noise, but hue and saturation aren't very well);
- Neue preserves both. This is currently the default dither.
+ Neue preserves both. DODGY
is a potential successor to NEUE, and acts much like it except that it
+ changes each RGB component separately, using three different blue noise textures.
+
+ This is currently the default dither.
@@ -349,9 +383,11 @@ NEUE
ROBERTS
An ordered dither built around the lightness-dispersing R2 point sequence, by Martin Roberts. This is
- similar to
GRADIENT_NOISE
; both add or subtract from lightness at each pixel, but usually add a very
- different value to each pixel than to any of its neighbors. Compared to GRADIENT_NOISE, this is milder,
- softer, and may need larger changes to dither strength to get a noticeable effect. This is an ordered dither,
+ similar to
GRADIENT_NOISE
; both add or subtract from the values at each pixel, but usually add a
+ very different value to each pixel than to any of its neighbors. A major difference between GRADIENT_NOISE
+ and this would be that instead of changing all RGB components at once, ROBERTS changes each component
+ separately, using shifted versions of the R2 sequence. Compared to GRADIENT_NOISE, this has better (more
+ faithful) reproduction of many colors, but may show some colors less easily. This is an ordered dither,
so it won't change what artifacts it shows across different frames of an animation (the behavior here is
usually desirable, but not always).
@@ -368,7 +404,46 @@ WOVEN
more channels repeatedly, forming somewhat-noticeable light and dark patterns that look like scales or dots.
The artifacts here are usually less obvious than the ones in NEUE
at the same dither strength. This
is an excellent choice for still images, especially those with small, varied palettes. It is not expected to
- be as good for animations as an ordered dither.
+ be as good for pixel-art animations as an ordered dither.
+
+
+
+
+DODGY
+
+An error-diffusion dither that, like
NEUE
, starts with
Floyd-Steinberg
dither and
+ adds in blue noise values to break up patterns. Unlike NEUE, but like
WOVEN
, this adds different
+ noise values to the red, green, and blue channels. This last step significantly improves color accuracy, even
+ on small palettes, while avoiding repetitive artifacts like WOVEN has. This is probably not a great pick for
+ pixel-art animations, but can be good for some other GIFs in specific cases; when GIFs are recompressed, and
+ they use ordered dithers, the artifacts can worsen, but an error-diffusion dither can move around artifacts
+ in things like videos converted to GIF such that any artifact lasts only one frame.
+
+ This algorithm is similar to NEUE, but generally better. If no serious flaws are found with it, DODGY could
+ become the default algorithm here.
+
+
+
+
+
+
+
+
+Field Details
+
+
+
+legibleName
+public final String legibleName
+Used by
toString()
to store a more human-readable name that isn't ALWAYS_YELLING.
+
+
+
+
+ALL
+
+A cached array of the result of
values()
, to avoid repeatedly allocating new
+
DitherAlgorithm[]
arrays on each call to values().
@@ -410,6 +485,16 @@ valueOf
+
+
+
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/Dithered.html b/docs/apidocs/com/github/tommyettinger/anim8/Dithered.html
index 5ef39afc..a64cb362 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/Dithered.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/Dithered.html
@@ -2,7 +2,7 @@
-
Dithered (anim8-gdx 0.3.14 API)
+
Dithered (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/FastAPNG.html b/docs/apidocs/com/github/tommyettinger/anim8/FastAPNG.html
index 573a8c53..84bd04c2 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/FastAPNG.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/FastAPNG.html
@@ -2,7 +2,7 @@
-
FastAPNG (anim8-gdx 0.3.14 API)
+
FastAPNG (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/FastGif.html b/docs/apidocs/com/github/tommyettinger/anim8/FastGif.html
index ba9999e3..6920094a 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/FastGif.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/FastGif.html
@@ -2,7 +2,7 @@
-
FastGif (anim8-gdx 0.3.14 API)
+
FastGif (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/FastPNG.html b/docs/apidocs/com/github/tommyettinger/anim8/FastPNG.html
index aebc4f72..4f5795b0 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/FastPNG.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/FastPNG.html
@@ -2,7 +2,7 @@
-
FastPNG (anim8-gdx 0.3.14 API)
+
FastPNG (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/FastPNG8.html b/docs/apidocs/com/github/tommyettinger/anim8/FastPNG8.html
index 9f4c621a..97e01f83 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/FastPNG8.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/FastPNG8.html
@@ -2,7 +2,7 @@
-
FastPNG8 (anim8-gdx 0.3.14 API)
+
FastPNG8 (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/FastPalette.html b/docs/apidocs/com/github/tommyettinger/anim8/FastPalette.html
index a73f7f99..8fa19a7c 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/FastPalette.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/FastPalette.html
@@ -2,7 +2,7 @@
-
FastPalette (anim8-gdx 0.3.14 API)
+
FastPalette (anim8-gdx 0.3.15 API)
@@ -209,72 +209,78 @@
Method Summary
pseudo-random number generation, while also using some blue noise from a tiling texture to offset clumping.
com.badlogic.gdx.graphics.Pixmap
-
+
-
Modifies the given Pixmap so that it only uses colors present in this PaletteReducer, dithering when it can with
- the commonly-used Floyd-Steinberg dithering.
+
An error-diffusion dither that adds in error based on blue noise, much like
PaletteReducer.reduceNeue(Pixmap)
, but
+ unlike Neue it adds different blue noise values in for each RGB channel.
com.badlogic.gdx.graphics.Pixmap
-
+
-
+
Modifies the given Pixmap so that it only uses colors present in this PaletteReducer, dithering when it can with
+ the commonly-used Floyd-Steinberg dithering.
com.badlogic.gdx.graphics.Pixmap
-
+
-
It's interleaved gradient noise, by Jorge Jimenez! It's very fast! It's an ordered dither!
- It's pretty good with gradients, though it may introduce artifacts.
+
com.badlogic.gdx.graphics.Pixmap
-
+
-
Reduces a Pixmap to the palette this knows by using Thomas Knoll's pattern dither, which is out-of-patent since
- late 2019.
+
It's interleaved gradient noise, by Jorge Jimenez! It's very fast! It's an ordered dither!
+ It's pretty good with gradients, though it may introduce artifacts.
com.badlogic.gdx.graphics.Pixmap
-reduceNeue (com.badlogic.gdx.graphics.Pixmap pixmap)
+
-
+
Reduces a Pixmap to the palette this knows by using Thomas Knoll's pattern dither, which is out-of-patent since
+ late 2019.
com.badlogic.gdx.graphics.Pixmap
-
+reduceNeue (com.badlogic.gdx.graphics.Pixmap pixmap)
-
An ordered dither that uses a sub-random sequence by Martin Roberts to disperse lightness adjustments across the
- image.
+
com.badlogic.gdx.graphics.Pixmap
-
+
-
Modifies the given Pixmap so it only uses colors present in this PaletteReducer, using Floyd-Steinberg to dither
- but modifying patterns slightly by introducing triangular-distributed blue noise.
+
An ordered dither that uses a sub-random sequence by Martin Roberts to disperse lightness adjustments across the
+ image.
com.badlogic.gdx.graphics.Pixmap
-
+
-
Modifies the given Pixmap so that it only uses colors present in this PaletteReducer, dithering when it can with
- Sierra Lite dithering instead of the Floyd-Steinberg dithering that
PaletteReducer.reduce(Pixmap)
uses.
+
Modifies the given Pixmap so it only uses colors present in this PaletteReducer, using Floyd-Steinberg to dither
+ but modifying patterns slightly by introducing triangular-distributed blue noise.
com.badlogic.gdx.graphics.Pixmap
-
+
-
Modifies the given Pixmap so that it only uses colors present in this PaletteReducer, without dithering.
+
Modifies the given Pixmap so that it only uses colors present in this PaletteReducer, dithering when it can with
+ Sierra Lite dithering instead of the Floyd-Steinberg dithering that
PaletteReducer.reduce(Pixmap)
uses.
com.badlogic.gdx.graphics.Pixmap
-
-
-protected float
-roberts125 (int x,
+
+
+
Modifies the given Pixmap so that it only uses colors present in this PaletteReducer, without dithering.
+
+com.badlogic.gdx.graphics.Pixmap
+
+
+protected float
+
-
+
Calculates the R2 dither for an x, y point and returns a value between -1.25f and 1.25f .
-
protected int
-
@@ -746,6 +752,28 @@ reduceNeue
+
+reduceDodgy
+public com.badlogic.gdx.graphics.Pixmap reduceDodgy (com.badlogic.gdx.graphics.Pixmap pixmap)
+
+An error-diffusion dither that adds in error based on blue noise, much like
PaletteReducer.reduceNeue(Pixmap)
, but
+ unlike Neue it adds different blue noise values in for each RGB channel. This tends to improve color accuracy
+ quite a bit, but does add some random-seeming noise from how the different noise textures aren't connected. For
+ some palettes, this may very well be the best dither here. It has different color quality when compared to
+
PaletteReducer.reduceWoven(Pixmap)
, and is sometimes better, while this dither lacks the repetitive artifacts in Woven.
+
+ This dither uses blue noise, and it's baseball season in America; my local LA Dodgers have blue as their color.
+
+Overrides:
+reduceDodgy
in class PaletteReducer
+Parameters:
+pixmap
- will be modified in-place and returned
+Returns:
+pixmap, after modifications
+
+
+
+
reduceKnoll
public com.badlogic.gdx.graphics.Pixmap reduceKnoll (com.badlogic.gdx.graphics.Pixmap pixmap)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/OtherMath.BiasGain.html b/docs/apidocs/com/github/tommyettinger/anim8/OtherMath.BiasGain.html
index 2cc993a7..9894a749 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/OtherMath.BiasGain.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/OtherMath.BiasGain.html
@@ -2,7 +2,7 @@
-OtherMath.BiasGain (anim8-gdx 0.3.14 API)
+OtherMath.BiasGain (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/OtherMath.html b/docs/apidocs/com/github/tommyettinger/anim8/OtherMath.html
index 58e3d660..038e8f06 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/OtherMath.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/OtherMath.html
@@ -2,7 +2,7 @@
-OtherMath (anim8-gdx 0.3.14 API)
+OtherMath (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/PNG8.html b/docs/apidocs/com/github/tommyettinger/anim8/PNG8.html
index 817e4efe..1d3a380f 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/PNG8.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/PNG8.html
@@ -2,7 +2,7 @@
-PNG8 (anim8-gdx 0.3.14 API)
+PNG8 (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/PaletteReducer.IntComparator.html b/docs/apidocs/com/github/tommyettinger/anim8/PaletteReducer.IntComparator.html
index 00b5619e..7158981c 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/PaletteReducer.IntComparator.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/PaletteReducer.IntComparator.html
@@ -2,7 +2,7 @@
-PaletteReducer.IntComparator (anim8-gdx 0.3.14 API)
+PaletteReducer.IntComparator (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/PaletteReducer.html b/docs/apidocs/com/github/tommyettinger/anim8/PaletteReducer.html
index 0d61c10f..d279bd6b 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/PaletteReducer.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/PaletteReducer.html
@@ -2,7 +2,7 @@
-PaletteReducer (anim8-gdx 0.3.14 API)
+PaletteReducer (anim8-gdx 0.3.15 API)
@@ -75,7 +75,7 @@ Class PaletteReducer
Direct Known Subclasses:
-FastPalette
+FastPalette
, QualityPalette
public class PaletteReducer
@@ -627,132 +627,138 @@
Method Summary
A white-noise-based dither; uses the colors encountered so far during dithering as a sort of state for basic
pseudo-random number generation, while also using some blue noise from a tiling texture to offset clumping.
-float
-
+com.badlogic.gdx.graphics.Pixmap
+
+
An error-diffusion dither that adds in error based on blue noise, much like
reduceNeue(Pixmap)
, but
+ unlike Neue it adds different blue noise values in for each RGB channel.
+
+float
+
+
Looks up color
as if it was part of an image being color-reduced and finds the closest color to it in the
palette this holds.
-com.badlogic.gdx.graphics.Pixmap
-
-
+
com.badlogic.gdx.graphics.Pixmap
+
+
Modifies the given Pixmap so that it only uses colors present in this PaletteReducer, dithering when it can with
the commonly-used Floyd-Steinberg dithering.
-
com.badlogic.gdx.graphics.Pixmap
-
-
-
byte
-
-
+
com.badlogic.gdx.graphics.Pixmap
+
+
+
byte
+
+
Looks up color
as if it was part of an image being color-reduced and finds the closest color to it in the
palette this holds.
-
com.badlogic.gdx.graphics.Color
-
-
+
com.badlogic.gdx.graphics.Color
+
+
Modifies color
so its RGB values will match the closest color in this PaletteReducer's palette.
-
com.badlogic.gdx.graphics.Pixmap
-
-
+
com.badlogic.gdx.graphics.Pixmap
+
+
It's interleaved gradient noise, by Jorge Jimenez! It's very fast! It's an ordered dither!
It's pretty good with gradients, though it may introduce artifacts.
-
com.badlogic.gdx.graphics.Pixmap
-
-
+
com.badlogic.gdx.graphics.Pixmap
+
+
Reduces a Pixmap to the palette this knows by using Thomas Knoll's pattern dither, which is out-of-patent since
late 2019.
-
com.badlogic.gdx.graphics.Pixmap
-
-
+
com.badlogic.gdx.graphics.Pixmap
+
+
Reduces a Pixmap to the palette this knows by using a skewed version of Thomas Knoll's pattern dither, which is
out-of-patent since late 2019, using the harmonious numbers rediscovered by Martin Roberts to handle the skew.
-
com.badlogic.gdx.graphics.Pixmap
-
reduceNeue (com.badlogic.gdx.graphics.Pixmap pixmap)
-
+
com.badlogic.gdx.graphics.Pixmap
+
reduceNeue (com.badlogic.gdx.graphics.Pixmap pixmap)
+
-
com.badlogic.gdx.graphics.Pixmap
-
-
+
com.badlogic.gdx.graphics.Pixmap
+
+
An ordered dither that uses a sub-random sequence by Martin Roberts to disperse lightness adjustments across the
image.
-
com.badlogic.gdx.graphics.Pixmap
-
-
+
com.badlogic.gdx.graphics.Pixmap
+
+
Modifies the given Pixmap so it only uses colors present in this PaletteReducer, using Floyd-Steinberg to dither
but modifying patterns slightly by introducing triangular-distributed blue noise.
-
com.badlogic.gdx.graphics.Pixmap
-
-
+
com.badlogic.gdx.graphics.Pixmap
+
+
Modifies the given Pixmap so that it only uses colors present in this PaletteReducer, dithering when it can with
Sierra Lite dithering instead of the Floyd-Steinberg dithering that
reduce(Pixmap)
uses.
-
int
-
-
+
int
+
+
Looks up color
as if it was part of an image being color-reduced and finds the closest color to it in the
palette this holds.
-
com.badlogic.gdx.graphics.Pixmap
-
-
+
com.badlogic.gdx.graphics.Pixmap
+
+
Modifies the given Pixmap so it only uses colors present in this PaletteReducer, without dithering.
-
com.badlogic.gdx.graphics.Pixmap
-
-
-
static float
-
-
+
com.badlogic.gdx.graphics.Pixmap
+
+
+
static float
+
+
Changes the curve of the internally-used lightness when it is output to another format.
-
void
-
-
-
Resets the palette to the 256-color (including transparent) "Aurora" palette.
-
void
-
+
+
Resets the palette to the 256-color (including transparent) "Aurora" palette.
+
+
void
+
+
Changes the "strength" of the dither effect applied during
reduce(Pixmap)
calls.
-
static int
-
-
+
static int
+
+
Converts an RGBA8888 int color to the RGB555 format used by
OKLAB
to look up colors.
-
static void
-
sort (int[] items,
+static void
+
-
+
Sorts the specified range of elements according to the order induced by the specified
comparator using mergesort.
-
static void
-
sort (int[] items,
+static void
+
-
+
-
static int
-
-
+
static int
+
+
Converts an RGB555 int color to an approximation of the closest RGBA8888 color.
-
void
-
-
+
void
+
+
If this PaletteReducer has already calculated a palette, you can use this to save the slightly-slow-to-compute
palette mapping in a preload file for later runs.
@@ -2133,6 +2139,25 @@
reduceNeue
+
+reduceDodgy
+public com.badlogic.gdx.graphics.Pixmap reduceDodgy (com.badlogic.gdx.graphics.Pixmap pixmap)
+An error-diffusion dither that adds in error based on blue noise, much like
reduceNeue(Pixmap)
, but
+ unlike Neue it adds different blue noise values in for each RGB channel. This tends to improve color accuracy
+ quite a bit, but does add some random-seeming noise from how the different noise textures aren't connected. For
+ some palettes, this may very well be the best dither here. It has different color quality when compared to
+
reduceWoven(Pixmap)
, and is sometimes better, while this dither lacks the repetitive artifacts in Woven.
+
+ This dither uses blue noise, and it's baseball season in America; my local LA Dodgers have blue as their color.
+
+Parameters:
+pixmap
- will be modified in-place and returned
+Returns:
+pixmap, after modifications
+
+
+
+
compareSwap
protected static void compareSwap (int[] ints,
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/QualityPalette.html b/docs/apidocs/com/github/tommyettinger/anim8/QualityPalette.html
new file mode 100644
index 00000000..f9540a28
--- /dev/null
+++ b/docs/apidocs/com/github/tommyettinger/anim8/QualityPalette.html
@@ -0,0 +1,723 @@
+
+
+
+
+QualityPalette (anim8-gdx 0.3.15 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+This is just like
PaletteReducer
, except that it uses a higher-quality, slower color difference calculation
+ when creating a palette. This calculates the difference between colors using Euclidean distance in the Oklab color
+ space, rather than what PaletteReducer uses, which is Euclidean distance in RGB.
+
+ A quirk of how this calculates the color difference between colors A and B is that it avoids converting both A and B
+ to Oklab. Instead, it gets the absolute value of the difference between the RGB channels, and converts that to Oklab,
+ then just gets its magnitude. For identical colors, the difference should be 0. For colors that are only slightly
+ different, the difference may be roughly 800, and for the most different colors, the difference is over 200000.
+
+ This tends to use fewer very-dark colors than PaletteReducer or
FastPalette
, but seems to avoid the problem
+ case for those two where if a maximum of n colors are requested, fewer than n unique colors might be found for the
+ palette. If you use
the HueWise methods
, those will probably still do
+ poorly at separating out enough different colors.
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+Field Summary
+
+
Fields inherited from class com.github.tommyettinger.anim8.PaletteReducer
+
AURORA , colorCount , ditherStrength , entryComparator , HALTONIC , hueComparator , lightnessComparator , OKLAB , paletteArray , paletteMapping , populationBias , reverseMap , TRI_BLUE_NOISE , TRI_BLUE_NOISE_B , TRI_BLUE_NOISE_C , TRI_BLUE_NOISE_MULTIPLIERS
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Constructs a default QualityPalette that uses the "Aurora" 255-color-plus-transparent palette.
+
+
+
+
+
+
Constructs a QualityPalette that uses the given array of RGBA8888 ints as a palette (see
+
PaletteReducer.exact(int[], byte[])
for more info) and an encoded byte array to use to look up pre-loaded color data.
+
+
+
+
+
+
QualityPalette (com.badlogic.gdx.graphics.Color[] colorPalette,
+ int limit)
+
+
+
+
Constructs a QualityPalette that analyzes the given Pixmap for color count and frequency to generate a palette
+ (see
PaletteReducer.analyze(Pixmap)
for more info).
+
+
QualityPalette (com.badlogic.gdx.graphics.Pixmap pixmap,
+ double threshold)
+
+
QualityPalette (com.badlogic.gdx.utils.Array<com.badlogic.gdx.graphics.Pixmap> pixmaps)
+
+
Constructs a QualityPalette that analyzes the given Pixmaps for color count and frequency to generate a palette
+ (see
PaletteReducer.analyze(Array)
for more info).
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Instance Methods Concrete Methods
+
+
+
+
+
+
double
+
+
+
double
+
difference (int color1,
+ int r2,
+ int g2,
+ int b2)
+
+
double
+
difference (int r1,
+ int g1,
+ int b1,
+ int r2,
+ int g2,
+ int b2)
+
+
double
+
+
+
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
+
double
+
+
+
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
+
double
+
+
+
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
+
double
+
+
+
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
+
double
+
+
+
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
+
double
+
differenceHW (int r1,
+ int g1,
+ int b1,
+ int r2,
+ int g2,
+ int b2)
+
+
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
+
double
+
+
+
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
+
double
+
+
+
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
+
double
+
+
+
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
+
static double
+
+
+
Changes the curve of a requested L value so that it matches the internally-used curve.
+
+
static double
+
+
+
Changes the curve of the internally-used lightness when it is output to another format.
+
+
+
+
+
+
Methods inherited from class com.github.tommyettinger.anim8.PaletteReducer
+
alterColorsLightness , alterColorsOklab , analyze , analyze , analyze , analyze , analyze , analyze , analyze , analyzeFast , analyzeHueWise , analyzeHueWise , analyzeHueWise , analyzeHueWise , analyzeHueWise , analyzeMC , blend , compareSwap , exact , exact , exact , exact , exact , forwardLight , getDitherStrength , hueShift , loadPreloadFile , oklabToRGB , randomColor , randomColorIndex , reduce , reduce , reduceBlueNoise , reduceChaoticNoise , reduceDodgy , reduceFloat , reduceFloydSteinberg , reduceIgneous , reduceIndex , reduceInPlace , reduceJimenez , reduceKnoll , reduceKnollRoberts , reduceNeue , reduceRoberts , reduceScatter , reduceSierraLite , reduceSingle , reduceSolid , reduceWoven , reverseLight , setDefaultPalette , setDitherStrength , shrink , sort , sort , stretch , writePreloadFile
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+QualityPalette
+public QualityPalette ()
+Constructs a default QualityPalette that uses the "Aurora" 255-color-plus-transparent palette.
+ Note that this uses a more-detailed and higher-quality metric than you would get by just specifying
+ new QualityPalette(PaletteReducer.AURORA)
; this metric would be too slow to calculate at
+ runtime, but as pre-calculated data it works very well.
+
+
+
+
+QualityPalette
+public QualityPalette (int[] rgbaPalette)
+
+
+Parameters:
+rgbaPalette
- an array of RGBA8888 ints to use as a palette
+
+
+
+
+
+QualityPalette
+public QualityPalette (int[] rgbaPalette,
+ int limit)
+
+
+Parameters:
+rgbaPalette
- an array of RGBA8888 ints to use as a palette
+limit
- how many int items to use from rgbaPalette (this always starts at index 0)
+
+
+
+
+
+QualityPalette
+public QualityPalette (com.badlogic.gdx.graphics.Color[] colorPalette)
+
+
+Parameters:
+colorPalette
- an array of Color objects to use as a palette
+
+
+
+
+
+QualityPalette
+public QualityPalette (com.badlogic.gdx.graphics.Color[] colorPalette,
+ int limit)
+
+
+Parameters:
+colorPalette
- an array of Color objects to use as a palette
+
+
+
+
+
+QualityPalette
+public QualityPalette (com.badlogic.gdx.graphics.Pixmap pixmap)
+Constructs a QualityPalette that analyzes the given Pixmap for color count and frequency to generate a palette
+ (see
PaletteReducer.analyze(Pixmap)
for more info).
+
+Parameters:
+pixmap
- a Pixmap to analyze in detail to produce a palette
+
+
+
+
+
+QualityPalette
+public QualityPalette (com.badlogic.gdx.utils.Array<com.badlogic.gdx.graphics.Pixmap> pixmaps)
+Constructs a QualityPalette that analyzes the given Pixmaps for color count and frequency to generate a palette
+ (see
PaletteReducer.analyze(Array)
for more info).
+
+Parameters:
+pixmaps
- an Array of Pixmap to analyze in detail to produce a palette
+
+
+
+
+
+QualityPalette
+public QualityPalette (int[] palette,
+ byte[] preload)
+
+
+Parameters:
+palette
- an array of RGBA8888 ints to use as a palette
+preload
- a byte array containing preload data
+
+
+
+
+
+QualityPalette
+public QualityPalette (com.badlogic.gdx.graphics.Pixmap pixmap,
+ double threshold)
+
+
+Parameters:
+pixmap
- a Pixmap to analyze in detail to produce a palette
+threshold
- the minimum difference between colors required to put them in the palette (default 100)
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+differenceMatch
+public double differenceMatch (int color1,
+ int color2)
+
+
+Overrides:
+differenceMatch
in class PaletteReducer
+Parameters:
+color1
- the first color, as an RGBA8888 int
+color2
- the second color, as an RGBA8888 int
+Returns:
+the squared Euclidean distance between colors 1 and 2
+
+
+
+
+
+differenceAnalyzing
+public double differenceAnalyzing (int color1,
+ int color2)
+
+
+Overrides:
+differenceAnalyzing
in class PaletteReducer
+Parameters:
+color1
- the first color, as an RGBA8888 int
+color2
- the second color, as an RGBA8888 int
+Returns:
+the squared Euclidean distance between colors 1 and 2
+
+
+
+
+
+differenceHW
+public double differenceHW (int color1,
+ int color2)
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+ If you want to change this, just change
differenceHW(int, int, int, int, int, int)
, which this calls.
+
+Overrides:
+differenceHW
in class PaletteReducer
+Parameters:
+color1
- the first color, as an RGBA8888 int
+color2
- the second color, as an RGBA8888 int
+Returns:
+the squared Euclidean distance between colors 1 and 2
+
+
+
+
+
+differenceMatch
+public double differenceMatch (int color1,
+ int r2,
+ int g2,
+ int b2)
+
+
+Overrides:
+differenceMatch
in class PaletteReducer
+Parameters:
+color1
- the first color, as an RGBA8888 int
+r2
- red of the second color, from 0 to 255
+g2
- green of the second color, from 0 to 255
+b2
- blue of the second color, from 0 to 255
+Returns:
+the squared Euclidean distance between colors 1 and 2
+
+
+
+
+
+differenceAnalyzing
+public double differenceAnalyzing (int color1,
+ int r2,
+ int g2,
+ int b2)
+
+
+Overrides:
+differenceAnalyzing
in class PaletteReducer
+Parameters:
+color1
- the first color, as an RGBA8888 int
+r2
- red of the second color, from 0 to 255
+g2
- green of the second color, from 0 to 255
+b2
- blue of the second color, from 0 to 255
+Returns:
+the squared Euclidean distance between colors 1 and 2
+
+
+
+
+
+differenceHW
+public double differenceHW (int color1,
+ int r2,
+ int g2,
+ int b2)
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25. If
+ you want to change this, just change
differenceHW(int, int, int, int, int, int)
, which this calls.
+
+Overrides:
+differenceHW
in class PaletteReducer
+Parameters:
+color1
- the first color, as an RGBA8888 int
+r2
- red of the second color, from 0 to 255
+g2
- green of the second color, from 0 to 255
+b2
- blue of the second color, from 0 to 255
+Returns:
+the squared Euclidean distance between colors 1 and 2
+
+
+
+
+
+differenceMatch
+public double differenceMatch (int r1,
+ int g1,
+ int b1,
+ int r2,
+ int g2,
+ int b2)
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+ This can be changed in an extending (possibly anonymous) class to use a different squared metric. This is used
+ when matching to an existing palette, as with
PaletteReducer.exact(int[])
.
+
+ This uses Euclidean distance between the RGB colors in the 256-edge-length color cube. This does absolutely
+ nothing fancy with the colors, but this approach does well often. The same code is used by
+
differenceMatch(int, int, int, int, int, int)
,
+
differenceAnalyzing(int, int, int, int, int, int)
, and
+
differenceHW(int, int, int, int, int, int)
, but classes can (potentially anonymously) subclass
+ QualityPalette to change one, some, or all of these methods. The other difference methods call the 6-argument
+ overloads, so the override only needs to affect one method.
+
+Overrides:
+differenceMatch
in class PaletteReducer
+Parameters:
+r1
- red of the first color, from 0 to 255
+g1
- green of the first color, from 0 to 255
+b1
- blue of the first color, from 0 to 255
+r2
- red of the second color, from 0 to 255
+g2
- green of the second color, from 0 to 255
+b2
- blue of the second color, from 0 to 255
+Returns:
+the squared Euclidean distance between colors 1 and 2
+
+
+
+
+
+differenceAnalyzing
+public double differenceAnalyzing (int r1,
+ int g1,
+ int b1,
+ int r2,
+ int g2,
+ int b2)
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+ This can be changed in an extending (possibly anonymous) class to use a different squared metric. This is used
+ when analyzing an image, as with
PaletteReducer.analyze(Pixmap)
.
+
+ This uses Euclidean distance between the RGB colors in the 256-edge-length color cube. This does absolutely
+ nothing fancy with the colors, but this approach does well often. The same code is used by
+
differenceMatch(int, int, int, int, int, int)
,
+
differenceAnalyzing(int, int, int, int, int, int)
, and
+
differenceHW(int, int, int, int, int, int)
, but classes can (potentially anonymously) subclass
+ QualityPalette to change one, some, or all of these methods. The other difference methods call the 6-argument
+ overloads, so the override only needs to affect one method.
+
+Overrides:
+differenceAnalyzing
in class PaletteReducer
+Parameters:
+r1
- red of the first color, from 0 to 255
+g1
- green of the first color, from 0 to 255
+b1
- blue of the first color, from 0 to 255
+r2
- red of the second color, from 0 to 255
+g2
- green of the second color, from 0 to 255
+b2
- blue of the second color, from 0 to 255
+Returns:
+the squared Euclidean distance between colors 1 and 2
+
+
+
+
+
+differenceHW
+public double differenceHW (int r1,
+ int g1,
+ int b1,
+ int r2,
+ int g2,
+ int b2)
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+ This can be changed in an extending (possibly anonymous) class to use a different squared metric. This is used
+ when analyzing an image with
PaletteReducer.analyzeHueWise(Pixmap, double, int)
.
+
+ This uses Euclidean distance between the RGB colors in the 256-edge-length color cube. This does absolutely
+ nothing fancy with the colors, but this approach does well often. The same code is used by
+
differenceMatch(int, int, int, int, int, int)
,
+
differenceAnalyzing(int, int, int, int, int, int)
, and
+
differenceHW(int, int, int, int, int, int)
, but classes can (potentially anonymously) subclass
+ QualityPalette to change one, some, or all of these methods. The other difference methods call the 6-argument
+ overloads, so the override only needs to affect one method.
+
+Overrides:
+differenceHW
in class PaletteReducer
+Parameters:
+r1
- red of the first color, from 0 to 255
+g1
- green of the first color, from 0 to 255
+b1
- blue of the first color, from 0 to 255
+r2
- red of the second color, from 0 to 255
+g2
- green of the second color, from 0 to 255
+b2
- blue of the second color, from 0 to 255
+Returns:
+the squared Euclidean distance, between colors 1 and 2
+
+
+
+
+
+forwardLight
+public static double forwardLight (double L)
+Changes the curve of a requested L value so that it matches the internally-used curve. This takes a curve with a
+ very-dark area similar to sRGB (a very small one), and makes it significantly larger. This is typically used on
+ "to Oklab" conversions.
+
+Parameters:
+L
- lightness, from 0 to 1 inclusive
+Returns:
+an adjusted L value that can be used internally
+
+
+
+
+
+reverseLight
+public static double reverseLight (double L)
+Changes the curve of the internally-used lightness when it is output to another format. This makes the very-dark
+ area smaller, matching (kind-of) the curve that the standard sRGB lightness uses. This is typically used on "from
+ Oklab" conversions.
+
+Parameters:
+L
- lightness, from 0 to 1 inclusive
+Returns:
+an adjusted L value that can be fed into a conversion to RGBA or something similar
+
+
+
+
+
+difference
+public double difference (int color1,
+ int color2)
+
+
+
+
+difference
+public double difference (int color1,
+ int r2,
+ int g2,
+ int b2)
+
+
+
+
+difference
+public double difference (int r1,
+ int g1,
+ int b1,
+ int r2,
+ int g2,
+ int b2)
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/package-summary.html b/docs/apidocs/com/github/tommyettinger/anim8/package-summary.html
index 17e04d3c..741c21dc 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/package-summary.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/package-summary.html
@@ -2,7 +2,7 @@
-com.github.tommyettinger.anim8 (anim8-gdx 0.3.14 API)
+com.github.tommyettinger.anim8 (anim8-gdx 0.3.15 API)
@@ -133,6 +133,11 @@ Package com.git
PNG-8 encoder with compression; can write animated and non-animated PNG images in indexed-mode.
+
+
+
This is just like
PaletteReducer
, except that it uses a higher-quality, slower color difference calculation
+ when creating a palette.
+
diff --git a/docs/apidocs/com/github/tommyettinger/anim8/package-tree.html b/docs/apidocs/com/github/tommyettinger/anim8/package-tree.html
index 9528b726..d6dede14 100644
--- a/docs/apidocs/com/github/tommyettinger/anim8/package-tree.html
+++ b/docs/apidocs/com/github/tommyettinger/anim8/package-tree.html
@@ -2,7 +2,7 @@
-
com.github.tommyettinger.anim8 Class Hierarchy (anim8-gdx 0.3.14 API)
+
com.github.tommyettinger.anim8 Class Hierarchy (anim8-gdx 0.3.15 API)
@@ -68,6 +68,7 @@
Class Hierarchy
com.github.tommyettinger.anim8.PaletteReducer
com.github.tommyettinger.anim8.PNG8 (implements com.github.tommyettinger.anim8.AnimationWriter , com.badlogic.gdx.utils.Disposable, com.github.tommyettinger.anim8.Dithered )
diff --git a/docs/apidocs/help-doc.html b/docs/apidocs/help-doc.html
index 5a8e3f51..a0978a8a 100644
--- a/docs/apidocs/help-doc.html
+++ b/docs/apidocs/help-doc.html
@@ -2,7 +2,7 @@
-
API Help (anim8-gdx 0.3.14 API)
+
API Help (anim8-gdx 0.3.15 API)
diff --git a/docs/apidocs/index-all.html b/docs/apidocs/index-all.html
index d8b00f91..ac5fb7e6 100644
--- a/docs/apidocs/index-all.html
+++ b/docs/apidocs/index-all.html
@@ -2,7 +2,7 @@
-
Index (anim8-gdx 0.3.14 API)
+
Index (anim8-gdx 0.3.15 API)
@@ -48,7 +48,7 @@
-
A B C D E F G H I L N O P R S T U V W X Y All Classes and Interfaces | All Packages
+
A B C D E F G H I L N O P Q R S T U V W X Y All Classes and Interfaces | All Packages
A
addFrame(Pixmap) - Method in class com.github.tommyettinger.anim8.AnimatedGif
@@ -59,6 +59,11 @@ A
Adds next GIF frame.
+ALL - Static variable in enum class com.github.tommyettinger.anim8.Dithered.DitherAlgorithm
+
+
+
alterColorsLightness(Interpolation) - Method in class com.github.tommyettinger.anim8.PaletteReducer
Edits this PaletteReducer by changing each used color in the Oklab color space with an Interpolation
.
@@ -298,42 +303,84 @@ D
delay - Variable in class com.github.tommyettinger.anim8.FastGif
+difference(int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+difference(int, int, int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+difference(int, int, int, int, int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
differenceAnalyzing(int, int) - Method in class com.github.tommyettinger.anim8.PaletteReducer
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+differenceAnalyzing(int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
differenceAnalyzing(int, int, int, int) - Method in class com.github.tommyettinger.anim8.PaletteReducer
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+differenceAnalyzing(int, int, int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
differenceAnalyzing(int, int, int, int, int, int) - Method in class com.github.tommyettinger.anim8.PaletteReducer
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+differenceAnalyzing(int, int, int, int, int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
differenceHW(int, int) - Method in class com.github.tommyettinger.anim8.PaletteReducer
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+differenceHW(int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
differenceHW(int, int, int, int) - Method in class com.github.tommyettinger.anim8.PaletteReducer
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+differenceHW(int, int, int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
differenceHW(int, int, int, int, int, int) - Method in class com.github.tommyettinger.anim8.PaletteReducer
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+differenceHW(int, int, int, int, int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
differenceMatch(int, int) - Method in class com.github.tommyettinger.anim8.PaletteReducer
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+differenceMatch(int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
differenceMatch(int, int, int, int) - Method in class com.github.tommyettinger.anim8.PaletteReducer
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+differenceMatch(int, int, int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
differenceMatch(int, int, int, int, int, int) - Method in class com.github.tommyettinger.anim8.PaletteReducer
Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+differenceMatch(int, int, int, int, int, int) - Method in class com.github.tommyettinger.anim8.QualityPalette
+
+Gets a squared estimate of how different two colors are, with noticeable differences typically at least 25.
+
DIFFUSION - Enum constant in enum class com.github.tommyettinger.anim8.Dithered.DitherAlgorithm
Floyd-Steinberg error-diffusion dithering; this is a good option for still images, and it's an OK option
@@ -397,7 +444,12 @@
D
ditherStrength - Variable in class com.github.tommyettinger.anim8.PNG8
-
+
+
+
DODGY - Enum constant in enum class com.github.tommyettinger.anim8.Dithered.DitherAlgorithm
+
+
E
@@ -556,6 +608,10 @@
F
flipY - Variable in class com.github.tommyettinger.anim8.AnimatedGif
+
forwardLight(double) - Static method in class com.github.tommyettinger.anim8.QualityPalette
+
+Changes the curve of a requested L value so that it matches the internally-used curve.
+
forwardLight(float) - Static method in class com.github.tommyettinger.anim8.PaletteReducer
Changes the curve of a requested L value so that it matches the internally-used curve.
@@ -681,6 +737,10 @@ I
L
+legibleName - Variable in enum class com.github.tommyettinger.anim8.Dithered.DitherAlgorithm
+
+
+
lightnessComparator - Static variable in class com.github.tommyettinger.anim8.PaletteReducer
Compares shrunken indices (RGB555) by lightness as Oklab knows it.
@@ -697,7 +757,7 @@ N
NEUE - Enum constant in enum class com.github.tommyettinger.anim8.Dithered.DitherAlgorithm
An error diffusion dither that mixes in ordered noise from a triangular-mapped blue noise texture; this is
- the best-behaving dither here when it comes to smooth gradients.
+ one of the best-behaving dithers here when it comes to smooth gradients.
NONE - Enum constant in enum class com.github.tommyettinger.anim8.Dithered.DitherAlgorithm
@@ -832,6 +892,58 @@ P
inputs correspond to high outputs, and similarly for the low range.
+Q
+
+QualityPalette - Class in com.github.tommyettinger.anim8
+
+This is just like
PaletteReducer
, except that it uses a higher-quality, slower color difference calculation
+ when creating a palette.
+
+QualityPalette() - Constructor for class com.github.tommyettinger.anim8.QualityPalette
+
+Constructs a default QualityPalette that uses the "Aurora" 255-color-plus-transparent palette.
+
+QualityPalette(int[]) - Constructor for class com.github.tommyettinger.anim8.QualityPalette
+
+
+
+QualityPalette(int[], byte[]) - Constructor for class com.github.tommyettinger.anim8.QualityPalette
+
+Constructs a QualityPalette that uses the given array of RGBA8888 ints as a palette (see
+
PaletteReducer.exact(int[], byte[])
for more info) and an encoded byte array to use to look up pre-loaded color data.
+
+QualityPalette(int[], int) - Constructor for class com.github.tommyettinger.anim8.QualityPalette
+
+
+
+QualityPalette(Color[]) - Constructor for class com.github.tommyettinger.anim8.QualityPalette
+
+
+
+QualityPalette(Color[], int) - Constructor for class com.github.tommyettinger.anim8.QualityPalette
+
+
+
+QualityPalette(Pixmap) - Constructor for class com.github.tommyettinger.anim8.QualityPalette
+
+Constructs a QualityPalette that analyzes the given Pixmap for color count and frequency to generate a palette
+ (see
PaletteReducer.analyze(Pixmap)
for more info).
+
+QualityPalette(Pixmap, double) - Constructor for class com.github.tommyettinger.anim8.QualityPalette
+
+
+
+QualityPalette(Array<Pixmap>) - Constructor for class com.github.tommyettinger.anim8.QualityPalette
+
+Constructs a QualityPalette that analyzes the given Pixmaps for color count and frequency to generate a palette
+ (see
PaletteReducer.analyze(Array)
for more info).
+
+
R
randomColor(Random) - Method in class com.github.tommyettinger.anim8.PaletteReducer
@@ -883,6 +995,13 @@ R
A white-noise-based dither; uses the colors encountered so far during dithering as a sort of state for basic
pseudo-random number generation, while also using some blue noise from a tiling texture to offset clumping.
+reduceDodgy(Pixmap) - Method in class com.github.tommyettinger.anim8.FastPalette
+
+reduceDodgy(Pixmap) - Method in class com.github.tommyettinger.anim8.PaletteReducer
+
+An error-diffusion dither that adds in error based on blue noise, much like
PaletteReducer.reduceNeue(Pixmap)
, but
+ unlike Neue it adds different blue noise values in for each RGB channel.
+
reduceFloat(float) - Method in class com.github.tommyettinger.anim8.PaletteReducer
diff --git a/docs/apidocs/index.html b/docs/apidocs/index.html
index ef9f7283..8a13a4fc 100644
--- a/docs/apidocs/index.html
+++ b/docs/apidocs/index.html
@@ -2,7 +2,7 @@
-
anim8-gdx 0.3.14 API
+
anim8-gdx 0.3.15 API
diff --git a/docs/apidocs/member-search-index.js b/docs/apidocs/member-search-index.js
index 4986dd1c..6022e187 100644
--- a/docs/apidocs/member-search-index.js
+++ b/docs/apidocs/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"addFrame(Pixmap)","u":"addFrame(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"addFrame(Pixmap)","u":"addFrame(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"alterColorsLightness(Interpolation)","u":"alterColorsLightness(com.badlogic.gdx.math.Interpolation)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"alterColorsOklab(Interpolation, Interpolation, Interpolation)","u":"alterColorsOklab(com.badlogic.gdx.math.Interpolation,com.badlogic.gdx.math.Interpolation,com.badlogic.gdx.math.Interpolation)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Array
)","u":"analyze(com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Array, double)","u":"analyze(com.badlogic.gdx.utils.Array,double)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Array, double, int)","u":"analyze(com.badlogic.gdx.utils.Array,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Pixmap)","u":"analyze(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Pixmap, double)","u":"analyze(com.badlogic.gdx.graphics.Pixmap,double)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"analyze(Pixmap, double, int)","u":"analyze(com.badlogic.gdx.graphics.Pixmap,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Pixmap, double, int)","u":"analyze(com.badlogic.gdx.graphics.Pixmap,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"analyze(Pixmap[], int, double, int)","u":"analyze(com.badlogic.gdx.graphics.Pixmap[],int,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Pixmap[], int, double, int)","u":"analyze(com.badlogic.gdx.graphics.Pixmap[],int,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"analyzeFast(Pixmap, double, int)","u":"analyzeFast(com.badlogic.gdx.graphics.Pixmap,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeFast(Pixmap, double, int)","u":"analyzeFast(com.badlogic.gdx.graphics.Pixmap,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeHueWise(Array)","u":"analyzeHueWise(com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeHueWise(Array, double)","u":"analyzeHueWise(com.badlogic.gdx.utils.Array,double)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeHueWise(Array, double, int)","u":"analyzeHueWise(com.badlogic.gdx.utils.Array,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeHueWise(Pixmap, double, int)","u":"analyzeHueWise(com.badlogic.gdx.graphics.Pixmap,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeHueWise(Pixmap[], int, double, int)","u":"analyzeHueWise(com.badlogic.gdx.graphics.Pixmap[],int,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeMC(Pixmap, int)","u":"analyzeMC(com.badlogic.gdx.graphics.Pixmap,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"analyzePixels()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"analyzePixels()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"AnimatedGif()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"AnimatedPNG()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"AnimatedPNG(int)","u":"%3Cinit%3E(int)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath.BiasGain","l":"apply(float)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"atan2(float, float)","u":"atan2(float,float)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"AURORA"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"barronSpline(float, float, float)","u":"barronSpline(float,float,float)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath.BiasGain","l":"BiasGain()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath.BiasGain","l":"BiasGain(float, float)","u":"%3Cinit%3E(float,float)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"blend(int, int, float)","u":"blend(int,int,float)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"BLUE_NOISE"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"cbrt(float)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"cbrtShape(float)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"centralize(byte)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"centralizePalette(FileHandle, FileHandle)","u":"centralizePalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"centralizePalette(FileHandle, FileHandle)","u":"centralizePalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"centralizePalette(FileHandle, FileHandle, float)","u":"centralizePalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,float)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"centralizePalette(FileHandle, FileHandle, float)","u":"centralizePalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,float)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"CHAOTIC_NOISE"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"closeStream"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"closeStream"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"colorCount"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"colorDepth"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"colorDepth"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"colorTab"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"colorTab"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer.IntComparator","l":"compare(int, int)","u":"compare(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"compareSwap(int[], int, int)","u":"compareSwap(int[],int,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"delay"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"delay"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceAnalyzing(int, int)","u":"differenceAnalyzing(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceAnalyzing(int, int, int, int)","u":"differenceAnalyzing(int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceAnalyzing(int, int, int, int, int, int)","u":"differenceAnalyzing(int,int,int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceHW(int, int)","u":"differenceHW(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceHW(int, int, int, int)","u":"differenceHW(int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceHW(int, int, int, int, int, int)","u":"differenceHW(int,int,int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceMatch(int, int)","u":"differenceMatch(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceMatch(int, int, int, int)","u":"differenceMatch(int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceMatch(int, int, int, int, int, int)","u":"differenceMatch(int,int,int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"DIFFUSION"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"dispose"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"dispose"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"dispose()"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"dispose()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"dispose()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"dispose()"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"dispose()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"ditherAlgorithm"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"ditherAlgorithm"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"ditherAlgorithm"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"ditherAlgorithm"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"ditherStrength"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"ditherStrength"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"ditherStrength"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"ditherStrength"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"ditherStrength"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"editPalette(FileHandle, FileHandle, Interpolation)","u":"editPalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.math.Interpolation)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"editPalette(FileHandle, FileHandle, Interpolation)","u":"editPalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.math.Interpolation)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"entryComparator"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"exact(Color[])","u":"exact(com.badlogic.gdx.graphics.Color[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"exact(Color[], int)","u":"exact(com.badlogic.gdx.graphics.Color[],int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"exact(int[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"exact(int[], byte[])","u":"exact(int[],byte[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"exact(int[], int)","u":"exact(int[],int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"fastAnalysis"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"fastAnalysis"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"FastAPNG()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"FastAPNG(int)","u":"%3Cinit%3E(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"FastGif()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(Array)","u":"%3Cinit%3E(com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(Color[])","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Color[])"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(Color[], int)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Color[],int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(int[])","u":"%3Cinit%3E(int[])"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(int[], byte[])","u":"%3Cinit%3E(int[],byte[])"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(int[], int)","u":"%3Cinit%3E(int[],int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(Pixmap)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(Pixmap, double)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Pixmap,double)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"FastPNG()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"FastPNG(int)","u":"%3Cinit%3E(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"FastPNG8()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"FastPNG8(int)","u":"%3Cinit%3E(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"finish()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"finish()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"firstFrame"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"firstFrame"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"flipY"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"forwardLight(float)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"getDitherAlgorithm()"},{"p":"com.github.tommyettinger.anim8","c":"Dithered","l":"getDitherAlgorithm()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"getDitherAlgorithm()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"getDitherAlgorithm()"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"getDitherAlgorithm()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"getDitherStrength()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"getDitherStrength()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"getDitherStrength()"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"getDitherStrength()"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"getDitherStrength()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"getImagePixels()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"getImagePixels()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"getPalette()"},{"p":"com.github.tommyettinger.anim8","c":"Dithered","l":"getPalette()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"getPalette()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"getPalette()"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"getPalette()"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"GRADIENT_NOISE"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"HALTONIC"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"height"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"height"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"hueComparator"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"hueShift()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"image"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"image"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"indexedPixels"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"indexedPixels"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"isFlipY()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"isFlipY()"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"lightnessComparator"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"loadPreloadFile(FileHandle)","u":"loadPreloadFile(com.badlogic.gdx.files.FileHandle)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"NEUE"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"NONE"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"OKLAB"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"oklabToRGB(float, float, float, float)","u":"oklabToRGB(float,float,float,float)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"out"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"out"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"palette"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"palette"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"palette"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"palette"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"paletteArray"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"paletteMapping"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(Array)","u":"%3Cinit%3E(com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(Color[])","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Color[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(Color[], int)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Color[],int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(int[])","u":"%3Cinit%3E(int[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(int[], byte[])","u":"%3Cinit%3E(int[],byte[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(int[], int)","u":"%3Cinit%3E(int[],int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(Pixmap)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(Pixmap, double)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Pixmap,double)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"palSize"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"palSize"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"PATTERN"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"PNG8()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"PNG8(int)","u":"%3Cinit%3E(int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"populationBias"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"probit(double)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"randomColor(Random)","u":"randomColor(java.util.Random)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"randomColorIndex(Random)","u":"randomColorIndex(java.util.Random)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"readChunks(InputStream)","u":"readChunks(java.io.InputStream)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"readChunks(InputStream)","u":"readChunks(java.io.InputStream)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduce(Pixmap)","u":"reduce(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduce(Pixmap, Dithered.DitherAlgorithm)","u":"reduce(com.badlogic.gdx.graphics.Pixmap,com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceBlueNoise(Pixmap)","u":"reduceBlueNoise(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceBlueNoise(Pixmap)","u":"reduceBlueNoise(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceChaoticNoise(Pixmap)","u":"reduceChaoticNoise(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceChaoticNoise(Pixmap)","u":"reduceChaoticNoise(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceFloat(float)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceFloydSteinberg(Pixmap)","u":"reduceFloydSteinberg(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceFloydSteinberg(Pixmap)","u":"reduceFloydSteinberg(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceIgneous(Pixmap)","u":"reduceIgneous(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceIgneous(Pixmap)","u":"reduceIgneous(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceIndex(int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceInPlace(Color)","u":"reduceInPlace(com.badlogic.gdx.graphics.Color)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceJimenez(Pixmap)","u":"reduceJimenez(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceJimenez(Pixmap)","u":"reduceJimenez(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceKnoll(Pixmap)","u":"reduceKnoll(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceKnoll(Pixmap)","u":"reduceKnoll(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceKnollRoberts(Pixmap)","u":"reduceKnollRoberts(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceNeue(Pixmap)","u":"reduceNeue(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceNeue(Pixmap)","u":"reduceNeue(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceRoberts(Pixmap)","u":"reduceRoberts(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceRoberts(Pixmap)","u":"reduceRoberts(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceScatter(Pixmap)","u":"reduceScatter(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceScatter(Pixmap)","u":"reduceScatter(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceSierraLite(Pixmap)","u":"reduceSierraLite(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceSierraLite(Pixmap)","u":"reduceSierraLite(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceSingle(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceSolid(Pixmap)","u":"reduceSolid(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceSolid(Pixmap)","u":"reduceSolid(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceWoven(Pixmap)","u":"reduceWoven(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceWoven(Pixmap)","u":"reduceWoven(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"repeat"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"repeat"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reverseLight(float)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reverseMap"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"ROBERTS"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"roberts125(int, int)","u":"roberts125(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"SCATTER"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"seq"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"seq"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"setCompression(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"setCompression(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"setCompression(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"setCompression(int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"setCompression(int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"setDefaultPalette()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setDelay(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setDelay(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setDispose(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setDispose(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setDitherAlgorithm(Dithered.DitherAlgorithm)","u":"setDitherAlgorithm(com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered","l":"setDitherAlgorithm(Dithered.DitherAlgorithm)","u":"setDitherAlgorithm(com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setDitherAlgorithm(Dithered.DitherAlgorithm)","u":"setDitherAlgorithm(com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"setDitherAlgorithm(Dithered.DitherAlgorithm)","u":"setDitherAlgorithm(com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"setDitherAlgorithm(Dithered.DitherAlgorithm)","u":"setDitherAlgorithm(com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setDitherStrength(float)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setDitherStrength(float)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"setDitherStrength(float)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"setDitherStrength(float)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"setDitherStrength(float)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setFrameRate(float)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setFrameRate(float)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setPalette(PaletteReducer)","u":"setPalette(com.github.tommyettinger.anim8.PaletteReducer)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered","l":"setPalette(PaletteReducer)","u":"setPalette(com.github.tommyettinger.anim8.PaletteReducer)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setPalette(PaletteReducer)","u":"setPalette(com.github.tommyettinger.anim8.PaletteReducer)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"setPalette(PaletteReducer)","u":"setPalette(com.github.tommyettinger.anim8.PaletteReducer)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"setPalette(PaletteReducer)","u":"setPalette(com.github.tommyettinger.anim8.PaletteReducer)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setPosition(int, int)","u":"setPosition(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setPosition(int, int)","u":"setPosition(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setRepeat(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setRepeat(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setSize(int, int)","u":"setSize(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setSize(int, int)","u":"setSize(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath.BiasGain","l":"shape"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"shrink(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"sizeSet"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"sizeSet"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"sort(int[], int, int, PaletteReducer.IntComparator)","u":"sort(int[],int,int,com.github.tommyettinger.anim8.PaletteReducer.IntComparator)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"sort(int[], PaletteReducer.IntComparator)","u":"sort(int[],com.github.tommyettinger.anim8.PaletteReducer.IntComparator)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"start(OutputStream)","u":"start(java.io.OutputStream)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"start(OutputStream)","u":"start(java.io.OutputStream)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"started"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"started"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"stretch(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"swapPalette(FileHandle, FileHandle, int[])","u":"swapPalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,int[])"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"swapPalette(FileHandle, FileHandle, int[])","u":"swapPalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,int[])"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"transIndex"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"transIndex"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"TRI_BLUE_NOISE"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"TRI_BLUE_NOISE_B"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"TRI_BLUE_NOISE_C"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"TRI_BLUE_NOISE_MULTIPLIERS"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath.BiasGain","l":"turning"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"usedEntry"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"usedEntry"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"values()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"width"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"width"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"WOVEN"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"AnimationWriter","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimationWriter","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Array, int, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Array, int, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"write(FileHandle, Pixmap)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Pixmap)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Pixmap)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Pixmap, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Pixmap, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Pixmap, boolean, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Pixmap, boolean, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Pixmap, boolean, boolean, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Pixmap, boolean, boolean, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimationWriter","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Array, int, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Array, int, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"write(OutputStream, Pixmap)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Pixmap)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Pixmap)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Pixmap, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Pixmap, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Pixmap, boolean, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Pixmap, boolean, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Pixmap, boolean, boolean, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Pixmap, boolean, boolean, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writeChunks(OutputStream, OrderedMap)","u":"writeChunks(java.io.OutputStream,com.badlogic.gdx.utils.OrderedMap)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writeChunks(OutputStream, OrderedMap)","u":"writeChunks(java.io.OutputStream,com.badlogic.gdx.utils.OrderedMap)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeGraphicCtrlExt()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeGraphicCtrlExt()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeImageDesc()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeImageDesc()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeLSD()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeLSD()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeNetscapeExt()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeNetscapeExt()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writePalette()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writePalette()"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"writePixel(ByteBuffer, int, boolean)","u":"writePixel(java.nio.ByteBuffer,int,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writePixels()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writePixels()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(FileHandle, Pixmap, boolean)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(FileHandle, Pixmap, boolean)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(FileHandle, Pixmap, boolean, int)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(FileHandle, Pixmap, boolean, int)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(FileHandle, Pixmap, int[], boolean, int)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,int[],boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(FileHandle, Pixmap, int[], boolean, int)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,int[],boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(OutputStream, Pixmap, boolean)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(OutputStream, Pixmap, boolean)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(OutputStream, Pixmap, boolean, int)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(OutputStream, Pixmap, boolean, int)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(OutputStream, Pixmap, int[], boolean, int)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,int[],boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(OutputStream, Pixmap, int[], boolean, int)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,int[],boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePreciseSection(FileHandle, Pixmap, int[], int, int, int, int)","u":"writePreciseSection(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,int[],int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePreciseSection(FileHandle, Pixmap, int[], int, int, int, int)","u":"writePreciseSection(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,int[],int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePreciseSection(OutputStream, Pixmap, int[], int, int, int, int)","u":"writePreciseSection(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,int[],int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePreciseSection(OutputStream, Pixmap, int[], int, int, int, int)","u":"writePreciseSection(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,int[],int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"writePreloadFile(FileHandle)","u":"writePreloadFile(com.badlogic.gdx.files.FileHandle)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeShort(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeShort(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeString(String)","u":"writeString(java.lang.String)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeString(String)","u":"writeString(java.lang.String)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"x"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"x"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"y"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"y"}];updateSearchResults();
\ No newline at end of file
+memberSearchIndex = [{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"addFrame(Pixmap)","u":"addFrame(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"addFrame(Pixmap)","u":"addFrame(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"ALL"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"alterColorsLightness(Interpolation)","u":"alterColorsLightness(com.badlogic.gdx.math.Interpolation)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"alterColorsOklab(Interpolation, Interpolation, Interpolation)","u":"alterColorsOklab(com.badlogic.gdx.math.Interpolation,com.badlogic.gdx.math.Interpolation,com.badlogic.gdx.math.Interpolation)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Array)","u":"analyze(com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Array, double)","u":"analyze(com.badlogic.gdx.utils.Array,double)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Array, double, int)","u":"analyze(com.badlogic.gdx.utils.Array,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Pixmap)","u":"analyze(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Pixmap, double)","u":"analyze(com.badlogic.gdx.graphics.Pixmap,double)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"analyze(Pixmap, double, int)","u":"analyze(com.badlogic.gdx.graphics.Pixmap,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Pixmap, double, int)","u":"analyze(com.badlogic.gdx.graphics.Pixmap,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"analyze(Pixmap[], int, double, int)","u":"analyze(com.badlogic.gdx.graphics.Pixmap[],int,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyze(Pixmap[], int, double, int)","u":"analyze(com.badlogic.gdx.graphics.Pixmap[],int,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"analyzeFast(Pixmap, double, int)","u":"analyzeFast(com.badlogic.gdx.graphics.Pixmap,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeFast(Pixmap, double, int)","u":"analyzeFast(com.badlogic.gdx.graphics.Pixmap,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeHueWise(Array)","u":"analyzeHueWise(com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeHueWise(Array, double)","u":"analyzeHueWise(com.badlogic.gdx.utils.Array,double)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeHueWise(Array, double, int)","u":"analyzeHueWise(com.badlogic.gdx.utils.Array,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeHueWise(Pixmap, double, int)","u":"analyzeHueWise(com.badlogic.gdx.graphics.Pixmap,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeHueWise(Pixmap[], int, double, int)","u":"analyzeHueWise(com.badlogic.gdx.graphics.Pixmap[],int,double,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"analyzeMC(Pixmap, int)","u":"analyzeMC(com.badlogic.gdx.graphics.Pixmap,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"analyzePixels()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"analyzePixels()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"AnimatedGif()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"AnimatedPNG()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"AnimatedPNG(int)","u":"%3Cinit%3E(int)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath.BiasGain","l":"apply(float)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"atan2(float, float)","u":"atan2(float,float)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"AURORA"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"barronSpline(float, float, float)","u":"barronSpline(float,float,float)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath.BiasGain","l":"BiasGain()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath.BiasGain","l":"BiasGain(float, float)","u":"%3Cinit%3E(float,float)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"blend(int, int, float)","u":"blend(int,int,float)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"BLUE_NOISE"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"cbrt(float)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"cbrtShape(float)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"centralize(byte)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"centralizePalette(FileHandle, FileHandle)","u":"centralizePalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"centralizePalette(FileHandle, FileHandle)","u":"centralizePalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"centralizePalette(FileHandle, FileHandle, float)","u":"centralizePalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,float)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"centralizePalette(FileHandle, FileHandle, float)","u":"centralizePalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,float)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"CHAOTIC_NOISE"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"closeStream"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"closeStream"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"colorCount"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"colorDepth"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"colorDepth"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"colorTab"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"colorTab"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer.IntComparator","l":"compare(int, int)","u":"compare(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"compareSwap(int[], int, int)","u":"compareSwap(int[],int,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"delay"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"delay"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"difference(int, int)","u":"difference(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"difference(int, int, int, int)","u":"difference(int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"difference(int, int, int, int, int, int)","u":"difference(int,int,int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceAnalyzing(int, int)","u":"differenceAnalyzing(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"differenceAnalyzing(int, int)","u":"differenceAnalyzing(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceAnalyzing(int, int, int, int)","u":"differenceAnalyzing(int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"differenceAnalyzing(int, int, int, int)","u":"differenceAnalyzing(int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceAnalyzing(int, int, int, int, int, int)","u":"differenceAnalyzing(int,int,int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"differenceAnalyzing(int, int, int, int, int, int)","u":"differenceAnalyzing(int,int,int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceHW(int, int)","u":"differenceHW(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"differenceHW(int, int)","u":"differenceHW(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceHW(int, int, int, int)","u":"differenceHW(int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"differenceHW(int, int, int, int)","u":"differenceHW(int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceHW(int, int, int, int, int, int)","u":"differenceHW(int,int,int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"differenceHW(int, int, int, int, int, int)","u":"differenceHW(int,int,int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceMatch(int, int)","u":"differenceMatch(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"differenceMatch(int, int)","u":"differenceMatch(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceMatch(int, int, int, int)","u":"differenceMatch(int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"differenceMatch(int, int, int, int)","u":"differenceMatch(int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"differenceMatch(int, int, int, int, int, int)","u":"differenceMatch(int,int,int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"differenceMatch(int, int, int, int, int, int)","u":"differenceMatch(int,int,int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"DIFFUSION"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"dispose"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"dispose"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"dispose()"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"dispose()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"dispose()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"dispose()"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"dispose()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"ditherAlgorithm"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"ditherAlgorithm"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"ditherAlgorithm"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"ditherAlgorithm"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"ditherStrength"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"ditherStrength"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"ditherStrength"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"ditherStrength"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"ditherStrength"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"DODGY"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"editPalette(FileHandle, FileHandle, Interpolation)","u":"editPalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.math.Interpolation)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"editPalette(FileHandle, FileHandle, Interpolation)","u":"editPalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.math.Interpolation)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"entryComparator"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"exact(Color[])","u":"exact(com.badlogic.gdx.graphics.Color[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"exact(Color[], int)","u":"exact(com.badlogic.gdx.graphics.Color[],int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"exact(int[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"exact(int[], byte[])","u":"exact(int[],byte[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"exact(int[], int)","u":"exact(int[],int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"fastAnalysis"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"fastAnalysis"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"FastAPNG()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"FastAPNG(int)","u":"%3Cinit%3E(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"FastGif()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(Array)","u":"%3Cinit%3E(com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(Color[])","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Color[])"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(Color[], int)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Color[],int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(int[])","u":"%3Cinit%3E(int[])"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(int[], byte[])","u":"%3Cinit%3E(int[],byte[])"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(int[], int)","u":"%3Cinit%3E(int[],int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(Pixmap)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"FastPalette(Pixmap, double)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Pixmap,double)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"FastPNG()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"FastPNG(int)","u":"%3Cinit%3E(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"FastPNG8()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"FastPNG8(int)","u":"%3Cinit%3E(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"finish()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"finish()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"firstFrame"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"firstFrame"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"flipY"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"forwardLight(double)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"forwardLight(float)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"getDitherAlgorithm()"},{"p":"com.github.tommyettinger.anim8","c":"Dithered","l":"getDitherAlgorithm()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"getDitherAlgorithm()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"getDitherAlgorithm()"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"getDitherAlgorithm()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"getDitherStrength()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"getDitherStrength()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"getDitherStrength()"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"getDitherStrength()"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"getDitherStrength()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"getImagePixels()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"getImagePixels()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"getPalette()"},{"p":"com.github.tommyettinger.anim8","c":"Dithered","l":"getPalette()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"getPalette()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"getPalette()"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"getPalette()"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"GRADIENT_NOISE"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"HALTONIC"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"height"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"height"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"hueComparator"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"hueShift()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"image"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"image"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"indexedPixels"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"indexedPixels"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"isFlipY()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"isFlipY()"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"legibleName"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"lightnessComparator"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"loadPreloadFile(FileHandle)","u":"loadPreloadFile(com.badlogic.gdx.files.FileHandle)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"NEUE"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"NONE"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"OKLAB"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"oklabToRGB(float, float, float, float)","u":"oklabToRGB(float,float,float,float)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"out"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"out"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"palette"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"palette"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"palette"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"palette"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"paletteArray"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"paletteMapping"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(Array)","u":"%3Cinit%3E(com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(Color[])","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Color[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(Color[], int)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Color[],int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(int[])","u":"%3Cinit%3E(int[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(int[], byte[])","u":"%3Cinit%3E(int[],byte[])"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(int[], int)","u":"%3Cinit%3E(int[],int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(Pixmap)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"PaletteReducer(Pixmap, double)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Pixmap,double)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"palSize"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"palSize"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"PATTERN"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"PNG8()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"PNG8(int)","u":"%3Cinit%3E(int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"populationBias"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath","l":"probit(double)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"QualityPalette()","u":"%3Cinit%3E()"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"QualityPalette(Array)","u":"%3Cinit%3E(com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"QualityPalette(Color[])","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Color[])"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"QualityPalette(Color[], int)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Color[],int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"QualityPalette(int[])","u":"%3Cinit%3E(int[])"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"QualityPalette(int[], byte[])","u":"%3Cinit%3E(int[],byte[])"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"QualityPalette(int[], int)","u":"%3Cinit%3E(int[],int)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"QualityPalette(Pixmap)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"QualityPalette(Pixmap, double)","u":"%3Cinit%3E(com.badlogic.gdx.graphics.Pixmap,double)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"randomColor(Random)","u":"randomColor(java.util.Random)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"randomColorIndex(Random)","u":"randomColorIndex(java.util.Random)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"readChunks(InputStream)","u":"readChunks(java.io.InputStream)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"readChunks(InputStream)","u":"readChunks(java.io.InputStream)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduce(Pixmap)","u":"reduce(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduce(Pixmap, Dithered.DitherAlgorithm)","u":"reduce(com.badlogic.gdx.graphics.Pixmap,com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceBlueNoise(Pixmap)","u":"reduceBlueNoise(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceBlueNoise(Pixmap)","u":"reduceBlueNoise(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceChaoticNoise(Pixmap)","u":"reduceChaoticNoise(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceChaoticNoise(Pixmap)","u":"reduceChaoticNoise(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceDodgy(Pixmap)","u":"reduceDodgy(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceDodgy(Pixmap)","u":"reduceDodgy(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceFloat(float)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceFloydSteinberg(Pixmap)","u":"reduceFloydSteinberg(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceFloydSteinberg(Pixmap)","u":"reduceFloydSteinberg(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceIgneous(Pixmap)","u":"reduceIgneous(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceIgneous(Pixmap)","u":"reduceIgneous(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceIndex(int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceInPlace(Color)","u":"reduceInPlace(com.badlogic.gdx.graphics.Color)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceJimenez(Pixmap)","u":"reduceJimenez(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceJimenez(Pixmap)","u":"reduceJimenez(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceKnoll(Pixmap)","u":"reduceKnoll(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceKnoll(Pixmap)","u":"reduceKnoll(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceKnollRoberts(Pixmap)","u":"reduceKnollRoberts(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceNeue(Pixmap)","u":"reduceNeue(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceNeue(Pixmap)","u":"reduceNeue(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceRoberts(Pixmap)","u":"reduceRoberts(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceRoberts(Pixmap)","u":"reduceRoberts(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceScatter(Pixmap)","u":"reduceScatter(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceScatter(Pixmap)","u":"reduceScatter(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceSierraLite(Pixmap)","u":"reduceSierraLite(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceSierraLite(Pixmap)","u":"reduceSierraLite(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceSingle(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceSolid(Pixmap)","u":"reduceSolid(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceSolid(Pixmap)","u":"reduceSolid(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"reduceWoven(Pixmap)","u":"reduceWoven(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reduceWoven(Pixmap)","u":"reduceWoven(com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"repeat"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"repeat"},{"p":"com.github.tommyettinger.anim8","c":"QualityPalette","l":"reverseLight(double)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reverseLight(float)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"reverseMap"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"ROBERTS"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"roberts125(int, int)","u":"roberts125(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"SCATTER"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"seq"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"seq"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"setCompression(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"setCompression(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"setCompression(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"setCompression(int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"setCompression(int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"setDefaultPalette()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setDelay(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setDelay(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setDispose(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setDispose(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setDitherAlgorithm(Dithered.DitherAlgorithm)","u":"setDitherAlgorithm(com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered","l":"setDitherAlgorithm(Dithered.DitherAlgorithm)","u":"setDitherAlgorithm(com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setDitherAlgorithm(Dithered.DitherAlgorithm)","u":"setDitherAlgorithm(com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"setDitherAlgorithm(Dithered.DitherAlgorithm)","u":"setDitherAlgorithm(com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"setDitherAlgorithm(Dithered.DitherAlgorithm)","u":"setDitherAlgorithm(com.github.tommyettinger.anim8.Dithered.DitherAlgorithm)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setDitherStrength(float)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setDitherStrength(float)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"setDitherStrength(float)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"setDitherStrength(float)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"setDitherStrength(float)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"setFlipY(boolean)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setFrameRate(float)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setFrameRate(float)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setPalette(PaletteReducer)","u":"setPalette(com.github.tommyettinger.anim8.PaletteReducer)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered","l":"setPalette(PaletteReducer)","u":"setPalette(com.github.tommyettinger.anim8.PaletteReducer)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setPalette(PaletteReducer)","u":"setPalette(com.github.tommyettinger.anim8.PaletteReducer)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"setPalette(PaletteReducer)","u":"setPalette(com.github.tommyettinger.anim8.PaletteReducer)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"setPalette(PaletteReducer)","u":"setPalette(com.github.tommyettinger.anim8.PaletteReducer)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setPosition(int, int)","u":"setPosition(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setPosition(int, int)","u":"setPosition(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setRepeat(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setRepeat(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"setSize(int, int)","u":"setSize(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"setSize(int, int)","u":"setSize(int,int)"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath.BiasGain","l":"shape"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"shrink(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"sizeSet"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"sizeSet"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"sort(int[], int, int, PaletteReducer.IntComparator)","u":"sort(int[],int,int,com.github.tommyettinger.anim8.PaletteReducer.IntComparator)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"sort(int[], PaletteReducer.IntComparator)","u":"sort(int[],com.github.tommyettinger.anim8.PaletteReducer.IntComparator)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"start(OutputStream)","u":"start(java.io.OutputStream)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"start(OutputStream)","u":"start(java.io.OutputStream)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"started"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"started"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"stretch(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"swapPalette(FileHandle, FileHandle, int[])","u":"swapPalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,int[])"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"swapPalette(FileHandle, FileHandle, int[])","u":"swapPalette(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.files.FileHandle,int[])"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"toString()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"transIndex"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"transIndex"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"TRI_BLUE_NOISE"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"TRI_BLUE_NOISE_B"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"TRI_BLUE_NOISE_C"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"TRI_BLUE_NOISE_MULTIPLIERS"},{"p":"com.github.tommyettinger.anim8","c":"OtherMath.BiasGain","l":"turning"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"usedEntry"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"usedEntry"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"values()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"width"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"width"},{"p":"com.github.tommyettinger.anim8","c":"Dithered.DitherAlgorithm","l":"WOVEN"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"AnimationWriter","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Array)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimationWriter","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Array, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Array, int, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Array, int, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.utils.Array,int,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"write(FileHandle, Pixmap)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Pixmap)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Pixmap)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Pixmap, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Pixmap, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Pixmap, boolean, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Pixmap, boolean, boolean)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(FileHandle, Pixmap, boolean, boolean, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(FileHandle, Pixmap, boolean, boolean, int)","u":"write(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedPNG","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimationWriter","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastAPNG","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Array, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Array, int, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Array, int, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.utils.Array,int,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG","l":"write(OutputStream, Pixmap)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Pixmap)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Pixmap)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Pixmap, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Pixmap, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Pixmap, boolean, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Pixmap, boolean, boolean)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"write(OutputStream, Pixmap, boolean, boolean, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"write(OutputStream, Pixmap, boolean, boolean, int)","u":"write(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writeChunks(OutputStream, OrderedMap)","u":"writeChunks(java.io.OutputStream,com.badlogic.gdx.utils.OrderedMap)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writeChunks(OutputStream, OrderedMap)","u":"writeChunks(java.io.OutputStream,com.badlogic.gdx.utils.OrderedMap)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeGraphicCtrlExt()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeGraphicCtrlExt()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeImageDesc()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeImageDesc()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeLSD()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeLSD()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeNetscapeExt()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeNetscapeExt()"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writePalette()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writePalette()"},{"p":"com.github.tommyettinger.anim8","c":"FastPalette","l":"writePixel(ByteBuffer, int, boolean)","u":"writePixel(java.nio.ByteBuffer,int,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writePixels()"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writePixels()"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(FileHandle, Pixmap, boolean)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(FileHandle, Pixmap, boolean)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(FileHandle, Pixmap, boolean, int)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(FileHandle, Pixmap, boolean, int)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(FileHandle, Pixmap, int[], boolean, int)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,int[],boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(FileHandle, Pixmap, int[], boolean, int)","u":"writePrecisely(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,int[],boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(OutputStream, Pixmap, boolean)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(OutputStream, Pixmap, boolean)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(OutputStream, Pixmap, boolean, int)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(OutputStream, Pixmap, boolean, int)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePrecisely(OutputStream, Pixmap, int[], boolean, int)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,int[],boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePrecisely(OutputStream, Pixmap, int[], boolean, int)","u":"writePrecisely(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,int[],boolean,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePreciseSection(FileHandle, Pixmap, int[], int, int, int, int)","u":"writePreciseSection(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,int[],int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePreciseSection(FileHandle, Pixmap, int[], int, int, int, int)","u":"writePreciseSection(com.badlogic.gdx.files.FileHandle,com.badlogic.gdx.graphics.Pixmap,int[],int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"FastPNG8","l":"writePreciseSection(OutputStream, Pixmap, int[], int, int, int, int)","u":"writePreciseSection(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,int[],int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PNG8","l":"writePreciseSection(OutputStream, Pixmap, int[], int, int, int, int)","u":"writePreciseSection(java.io.OutputStream,com.badlogic.gdx.graphics.Pixmap,int[],int,int,int,int)"},{"p":"com.github.tommyettinger.anim8","c":"PaletteReducer","l":"writePreloadFile(FileHandle)","u":"writePreloadFile(com.badlogic.gdx.files.FileHandle)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeShort(int)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeShort(int)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"writeString(String)","u":"writeString(java.lang.String)"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"writeString(String)","u":"writeString(java.lang.String)"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"x"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"x"},{"p":"com.github.tommyettinger.anim8","c":"AnimatedGif","l":"y"},{"p":"com.github.tommyettinger.anim8","c":"FastGif","l":"y"}];updateSearchResults();
\ No newline at end of file
diff --git a/docs/apidocs/overview-tree.html b/docs/apidocs/overview-tree.html
index c613d68e..ef0d6f9a 100644
--- a/docs/apidocs/overview-tree.html
+++ b/docs/apidocs/overview-tree.html
@@ -2,7 +2,7 @@
-Class Hierarchy (anim8-gdx 0.3.14 API)
+Class Hierarchy (anim8-gdx 0.3.15 API)
@@ -72,6 +72,7 @@ Class Hierarchy
com.github.tommyettinger.anim8.PaletteReducer
com.github.tommyettinger.anim8.PNG8 (implements com.github.tommyettinger.anim8.AnimationWriter , com.badlogic.gdx.utils.Disposable, com.github.tommyettinger.anim8.Dithered )
diff --git a/docs/apidocs/type-search-index.js b/docs/apidocs/type-search-index.js
index 43c4d147..ac99b7d3 100644
--- a/docs/apidocs/type-search-index.js
+++ b/docs/apidocs/type-search-index.js
@@ -1 +1 @@
-typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"com.github.tommyettinger.anim8","l":"AnimatedGif"},{"p":"com.github.tommyettinger.anim8","l":"AnimatedPNG"},{"p":"com.github.tommyettinger.anim8","l":"AnimationWriter"},{"p":"com.github.tommyettinger.anim8","l":"OtherMath.BiasGain"},{"p":"com.github.tommyettinger.anim8","l":"Dithered.DitherAlgorithm"},{"p":"com.github.tommyettinger.anim8","l":"Dithered"},{"p":"com.github.tommyettinger.anim8","l":"FastAPNG"},{"p":"com.github.tommyettinger.anim8","l":"FastGif"},{"p":"com.github.tommyettinger.anim8","l":"FastPalette"},{"p":"com.github.tommyettinger.anim8","l":"FastPNG"},{"p":"com.github.tommyettinger.anim8","l":"FastPNG8"},{"p":"com.github.tommyettinger.anim8","l":"PaletteReducer.IntComparator"},{"p":"com.github.tommyettinger.anim8","l":"OtherMath"},{"p":"com.github.tommyettinger.anim8","l":"PaletteReducer"},{"p":"com.github.tommyettinger.anim8","l":"PNG8"}];updateSearchResults();
\ No newline at end of file
+typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"com.github.tommyettinger.anim8","l":"AnimatedGif"},{"p":"com.github.tommyettinger.anim8","l":"AnimatedPNG"},{"p":"com.github.tommyettinger.anim8","l":"AnimationWriter"},{"p":"com.github.tommyettinger.anim8","l":"OtherMath.BiasGain"},{"p":"com.github.tommyettinger.anim8","l":"Dithered.DitherAlgorithm"},{"p":"com.github.tommyettinger.anim8","l":"Dithered"},{"p":"com.github.tommyettinger.anim8","l":"FastAPNG"},{"p":"com.github.tommyettinger.anim8","l":"FastGif"},{"p":"com.github.tommyettinger.anim8","l":"FastPalette"},{"p":"com.github.tommyettinger.anim8","l":"FastPNG"},{"p":"com.github.tommyettinger.anim8","l":"FastPNG8"},{"p":"com.github.tommyettinger.anim8","l":"PaletteReducer.IntComparator"},{"p":"com.github.tommyettinger.anim8","l":"OtherMath"},{"p":"com.github.tommyettinger.anim8","l":"PaletteReducer"},{"p":"com.github.tommyettinger.anim8","l":"PNG8"},{"p":"com.github.tommyettinger.anim8","l":"QualityPalette"}];updateSearchResults();
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 12a83909..9f1ae189 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -7,7 +7,7 @@ RELEASE_SIGNING_ENABLED=true
GROUP=com.github.tommyettinger
POM_ARTIFACT_ID=anim8-gdx
-VERSION_NAME=0.3.15-SNAPSHOT
+VERSION_NAME=0.3.15
POM_NAME=anim8-gdx
POM_DESCRIPTION=Support for writing animated GIF and PNG files, plus PNG8, to libGDX.
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index ccebba77..c1962a79 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradlew b/gradlew
index 79a61d42..aeb74cbb 100644
--- a/gradlew
+++ b/gradlew
@@ -85,9 +85,6 @@ done
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -197,6 +194,10 @@ if "$cygwin" || "$msys" ; then
done
fi
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
diff --git a/samples/Mona_Lisa-Gif-BlueNoise-DB8.gif b/samples/Mona_Lisa-Gif-BlueNoise-DB8.gif
new file mode 100644
index 00000000..f0086cca
Binary files /dev/null and b/samples/Mona_Lisa-Gif-BlueNoise-DB8.gif differ
diff --git a/samples/Mona_Lisa-Gif-ChaoticNoise-DB8.gif b/samples/Mona_Lisa-Gif-ChaoticNoise-DB8.gif
new file mode 100644
index 00000000..64ead7b3
Binary files /dev/null and b/samples/Mona_Lisa-Gif-ChaoticNoise-DB8.gif differ
diff --git a/samples/Mona_Lisa-Gif-Diffusion-DB8.gif b/samples/Mona_Lisa-Gif-Diffusion-DB8.gif
new file mode 100644
index 00000000..947add73
Binary files /dev/null and b/samples/Mona_Lisa-Gif-Diffusion-DB8.gif differ
diff --git a/samples/Mona_Lisa-Gif-Dodgy-DB8.gif b/samples/Mona_Lisa-Gif-Dodgy-DB8.gif
new file mode 100644
index 00000000..09f15197
Binary files /dev/null and b/samples/Mona_Lisa-Gif-Dodgy-DB8.gif differ
diff --git a/samples/Mona_Lisa-Gif-GradientNoise-DB8.gif b/samples/Mona_Lisa-Gif-GradientNoise-DB8.gif
new file mode 100644
index 00000000..e86d5a8e
Binary files /dev/null and b/samples/Mona_Lisa-Gif-GradientNoise-DB8.gif differ
diff --git a/samples/Mona_Lisa-Gif-Neue-DB8.gif b/samples/Mona_Lisa-Gif-Neue-DB8.gif
new file mode 100644
index 00000000..c24f2615
Binary files /dev/null and b/samples/Mona_Lisa-Gif-Neue-DB8.gif differ
diff --git a/samples/Mona_Lisa-Gif-None-DB8.gif b/samples/Mona_Lisa-Gif-None-DB8.gif
new file mode 100644
index 00000000..3db209e4
Binary files /dev/null and b/samples/Mona_Lisa-Gif-None-DB8.gif differ
diff --git a/samples/Mona_Lisa-Gif-Pattern-DB8.gif b/samples/Mona_Lisa-Gif-Pattern-DB8.gif
new file mode 100644
index 00000000..a81c7885
Binary files /dev/null and b/samples/Mona_Lisa-Gif-Pattern-DB8.gif differ
diff --git a/samples/Mona_Lisa-Gif-Roberts-DB8.gif b/samples/Mona_Lisa-Gif-Roberts-DB8.gif
new file mode 100644
index 00000000..926db1a2
Binary files /dev/null and b/samples/Mona_Lisa-Gif-Roberts-DB8.gif differ
diff --git a/samples/Mona_Lisa-Gif-Scatter-DB8.gif b/samples/Mona_Lisa-Gif-Scatter-DB8.gif
new file mode 100644
index 00000000..965e7071
Binary files /dev/null and b/samples/Mona_Lisa-Gif-Scatter-DB8.gif differ
diff --git a/samples/Mona_Lisa-Gif-Woven-DB8.gif b/samples/Mona_Lisa-Gif-Woven-DB8.gif
new file mode 100644
index 00000000..133f7003
Binary files /dev/null and b/samples/Mona_Lisa-Gif-Woven-DB8.gif differ