package com.github.czyzby.autumn.mvc.stereotype.preference;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** Should annotate a string field with a path to a skin. Extension (.json) is optional. For example, if you have a
* "ui.json" file located at "interface" folder (in assets), you can pass "interface/ui". Annotated value is proposed to
* be kept in a single configuration component.
*
* @author MJ */
@Target({ ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Skin {
/** @return name of the skin, as it will be available in LML templates. Defaults to "default". */
String value() default "default";
/** @return paths to fonts. Allows to load fonts with the same atlas as the skin. Note that fonts names should be
* passed with {@link #fontNames()}. */
String[]fonts() default {};
/** @return names of the fonts as they appear in the skin. Allows to use font loaded from skin's atlas, without
* having to reference them in JSON files. Names array length has to match {@link #fonts()} length. */
String[]fontNames() default {};
}