Put image based color samplers in own packages

This commit is contained in:
Astrash
2022-11-26 14:14:15 +11:00
parent a97273f358
commit f246c8ada3
10 changed files with 49 additions and 47 deletions

View File

@@ -7,8 +7,8 @@ import java.util.function.Supplier;
import com.dfsek.terra.addons.image.config.ImageLoader;
import com.dfsek.terra.addons.image.config.sampler.RotateColorSamplerTemplate;
import com.dfsek.terra.addons.image.config.sampler.ConstantColorSamplerTemplate;
import com.dfsek.terra.addons.image.config.sampler.SingleColorSamplerTemplate;
import com.dfsek.terra.addons.image.config.sampler.TileColorSamplerTemplate;
import com.dfsek.terra.addons.image.config.sampler.image.SingleImageColorSamplerTemplate;
import com.dfsek.terra.addons.image.config.sampler.image.TileImageColorSamplerTemplate;
import com.dfsek.terra.addons.image.image.Image;
import com.dfsek.terra.addons.image.sampler.ColorSampler;
import com.dfsek.terra.addons.manifest.api.AddonInitializer;
@@ -44,8 +44,8 @@ public class ImageLibraryAddon implements AddonInitializer {
.then(event -> {
CheckedRegistry<Supplier<ObjectTemplate<ColorSampler>>> colorSamplerRegistry = event.getPack().getOrCreateRegistry(
COLOR_PICKER_REGISTRY_KEY);
colorSamplerRegistry.register(addon.key("SINGLE_IMAGE"), SingleColorSamplerTemplate::new);
colorSamplerRegistry.register(addon.key("TILED_IMAGE"), TileColorSamplerTemplate::new);
colorSamplerRegistry.register(addon.key("SINGLE_IMAGE"), SingleImageColorSamplerTemplate::new);
colorSamplerRegistry.register(addon.key("TILED_IMAGE"), TileImageColorSamplerTemplate::new);
colorSamplerRegistry.register(addon.key("COLOR"), ConstantColorSamplerTemplate::new);
colorSamplerRegistry.register(addon.key("ROTATE"), RotateColorSamplerTemplate::new);
});

View File

@@ -1,17 +0,0 @@
package com.dfsek.terra.addons.image.config.sampler;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.terra.addons.image.sampler.ColorSampler;
import com.dfsek.terra.addons.image.sampler.SimpleColorSampler;
public class SingleColorSamplerTemplate extends ColorSamplerTemplate {
@Value("outside-image")
private ColorSampler fallback;
@Override
public ColorSampler get() {
return new SimpleColorSampler(image, fallback, alignment);
}
}

View File

@@ -1,13 +0,0 @@
package com.dfsek.terra.addons.image.config.sampler;
import com.dfsek.terra.addons.image.sampler.ColorSampler;
import com.dfsek.terra.addons.image.sampler.TileColorSampler;
public class TileColorSamplerTemplate extends ColorSamplerTemplate {
@Override
public ColorSampler get() {
return new TileColorSampler(image, alignment);
}
}

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.addons.image.config.sampler;
package com.dfsek.terra.addons.image.config.sampler.image;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
@@ -6,10 +6,10 @@ import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
import com.dfsek.terra.addons.image.image.Image;
import com.dfsek.terra.addons.image.sampler.ColorSampler;
import com.dfsek.terra.addons.image.sampler.transform.Alignment;
import com.dfsek.terra.addons.image.sampler.image.transform.Alignment;
public abstract class ColorSamplerTemplate implements ObjectTemplate<ColorSampler> {
public abstract class ImageColorSamplerTemplate implements ObjectTemplate<ColorSampler> {
@Value("path")
protected Image image;

View File

@@ -0,0 +1,17 @@
package com.dfsek.terra.addons.image.config.sampler.image;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.terra.addons.image.sampler.ColorSampler;
import com.dfsek.terra.addons.image.sampler.image.SingleImageColorSampler;
public class SingleImageColorSamplerTemplate extends ImageColorSamplerTemplate {
@Value("outside-image")
private ColorSampler fallback;
@Override
public ColorSampler get() {
return new SingleImageColorSampler(image, fallback, alignment);
}
}

View File

@@ -0,0 +1,13 @@
package com.dfsek.terra.addons.image.config.sampler.image;
import com.dfsek.terra.addons.image.sampler.ColorSampler;
import com.dfsek.terra.addons.image.sampler.image.TileImageColorSampler;
public class TileImageColorSamplerTemplate extends ImageColorSamplerTemplate {
@Override
public ColorSampler get() {
return new TileImageColorSampler(image, alignment);
}
}

View File

@@ -1,10 +1,11 @@
package com.dfsek.terra.addons.image.sampler;
package com.dfsek.terra.addons.image.sampler.image;
import com.dfsek.terra.addons.image.image.Image;
import com.dfsek.terra.addons.image.sampler.transform.ImageTransformation;
import com.dfsek.terra.addons.image.sampler.ColorSampler;
import com.dfsek.terra.addons.image.sampler.image.transform.ImageTransformation;
public class SimpleColorSampler implements ColorSampler {
public class SingleImageColorSampler implements ColorSampler {
private final Image image;
@@ -12,7 +13,7 @@ public class SimpleColorSampler implements ColorSampler {
private final ImageTransformation transformation;
public SimpleColorSampler(Image image, ColorSampler fallback, ImageTransformation transformation) {
public SingleImageColorSampler(Image image, ColorSampler fallback, ImageTransformation transformation) {
this.image = image;
this.fallback = fallback;
this.transformation = transformation;

View File

@@ -1,18 +1,19 @@
package com.dfsek.terra.addons.image.sampler;
package com.dfsek.terra.addons.image.sampler.image;
import net.jafama.FastMath;
import com.dfsek.terra.addons.image.image.Image;
import com.dfsek.terra.addons.image.sampler.transform.ImageTransformation;
import com.dfsek.terra.addons.image.sampler.ColorSampler;
import com.dfsek.terra.addons.image.sampler.image.transform.ImageTransformation;
public class TileColorSampler implements ColorSampler {
public class TileImageColorSampler implements ColorSampler {
private final Image image;
private final ImageTransformation transformation;
public TileColorSampler(Image image, ImageTransformation transformation) {
public TileImageColorSampler(Image image, ImageTransformation transformation) {
this.image = image;
this.transformation = transformation;
}

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.addons.image.sampler.transform;
package com.dfsek.terra.addons.image.sampler.image.transform;
import com.dfsek.terra.addons.image.image.Image;

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.addons.image.sampler.transform;
package com.dfsek.terra.addons.image.sampler.image.transform;
import com.dfsek.terra.addons.image.image.Image;