parent
facd26f11d
commit
a37bf497c3
@ -1,124 +1,45 @@ |
|||||||
package com.otaliastudios.cameraview.filters; |
package com.otaliastudios.cameraview.filters; |
||||||
|
|
||||||
public enum Filters { |
import androidx.annotation.NonNull; |
||||||
NO_FILTER, |
|
||||||
|
|
||||||
AUTO_FIX_FILTER, |
public enum Filters { |
||||||
BLACK_AND_WHITE_FILTER, |
NONE(NoFilter.class), |
||||||
BRIGHTNESS_FILTER, |
AUTO_FIX(AutoFixFilter.class), |
||||||
CONTRAST_FILTER, |
BLACK_AND_WHITE(BlackAndWhiteFilter.class), |
||||||
CROSS_PROCESS_FILTER, |
BRIGHTNESS(BrightnessFilter.class), |
||||||
DOCUMENTARY_FILTER, |
CONTRAST(ContrastFilter.class), |
||||||
DUO_TONE_COLOR_FILTER, |
CROSS_PROCESS(CrossProcessFilter.class), |
||||||
FILL_LIGHT_FILTER, |
DOCUMENTARY(DocumentaryFilter.class), |
||||||
GAMMA_FILTER, |
DUOTONE(DuotoneFilter.class), |
||||||
GRAIN_FILTER, |
FILL_LIGHT(FillLightFilter.class), |
||||||
GREY_SCALE_FILTER, |
GAMMA(GammaFilter.class), |
||||||
HUE_FILTER, |
GRAIN(GrainFilter.class), |
||||||
INVERT_COLOR_FILTER, |
GRAYSCALE(GrayscaleFilter.class), |
||||||
LAMOISH_FILTER, |
HUE(HueFilter.class), |
||||||
POSTERIZE_FILTER, |
INVERT_COLORS(InvertColorsFilter.class), |
||||||
SATURATION_FILTER, |
LAMOISH(LamoishFilter.class), |
||||||
SEPIA_FILTER, |
POSTERIZE(PosterizeFilter.class), |
||||||
SHARPNESS_FILTER, |
SATURATION(SaturationFilter.class), |
||||||
TEMPERATURE_FILTER, |
SEPIA(SepiaFilter.class), |
||||||
TINT_FILTER, |
SHARPNESS(SharpnessFilter.class), |
||||||
VIGNETTE_FILTER; |
TEMPERATURE(TemperatureFilter.class), |
||||||
|
TINT(TintFilter.class), |
||||||
|
VIGNETTE(VignetteFilter.class); |
||||||
|
|
||||||
|
private Class<? extends Filter> filterClass; |
||||||
|
|
||||||
|
Filters(@NonNull Class<? extends Filter> filterClass) { |
||||||
|
this.filterClass = filterClass; |
||||||
|
} |
||||||
|
|
||||||
|
@NonNull |
||||||
public Filter newInstance() { |
public Filter newInstance() { |
||||||
Filter shaderEffect; |
try { |
||||||
switch (this) { |
return filterClass.newInstance(); |
||||||
|
} catch (IllegalAccessException e) { |
||||||
case AUTO_FIX_FILTER: |
return new NoFilter(); |
||||||
shaderEffect = new AutoFixFilter(); |
} catch (InstantiationException e) { |
||||||
break; |
return new NoFilter(); |
||||||
|
|
||||||
case BLACK_AND_WHITE_FILTER: |
|
||||||
shaderEffect = new BlackAndWhiteFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case BRIGHTNESS_FILTER: |
|
||||||
shaderEffect = new BrightnessFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case CONTRAST_FILTER: |
|
||||||
shaderEffect = new ContrastFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case CROSS_PROCESS_FILTER: |
|
||||||
shaderEffect = new CrossProcessFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case DOCUMENTARY_FILTER: |
|
||||||
shaderEffect = new DocumentaryFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case DUO_TONE_COLOR_FILTER: |
|
||||||
shaderEffect = new DuotoneFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case FILL_LIGHT_FILTER: |
|
||||||
shaderEffect = new FillLightFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case GAMMA_FILTER: |
|
||||||
shaderEffect = new GammaFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case GRAIN_FILTER: |
|
||||||
shaderEffect = new GrainFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case GREY_SCALE_FILTER: |
|
||||||
shaderEffect = new GreyScaleFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case HUE_FILTER: |
|
||||||
shaderEffect = new HueFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case INVERT_COLOR_FILTER: |
|
||||||
shaderEffect = new InvertColorsFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case LAMOISH_FILTER: |
|
||||||
shaderEffect = new LamoishFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case POSTERIZE_FILTER: |
|
||||||
shaderEffect = new PosterizeFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case SATURATION_FILTER: |
|
||||||
shaderEffect = new SaturationFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case SEPIA_FILTER: |
|
||||||
shaderEffect = new SepiaFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case SHARPNESS_FILTER: |
|
||||||
shaderEffect = new SharpnessFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case TEMPERATURE_FILTER: |
|
||||||
shaderEffect = new TemperatureFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case TINT_FILTER: |
|
||||||
shaderEffect = new TintFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
case VIGNETTE_FILTER: |
|
||||||
shaderEffect = new VignetteFilter(); |
|
||||||
break; |
|
||||||
|
|
||||||
|
|
||||||
case NO_FILTER: |
|
||||||
default: |
|
||||||
shaderEffect = new NoFilter(); |
|
||||||
} |
} |
||||||
|
|
||||||
return shaderEffect; |
|
||||||
} |
} |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue