package org.pepsoft.worldpainter; import org.pepsoft.util.SystemUtils; import java.util.*; import static org.pepsoft.util.SystemUtils.OS.*; /** * Created by pepijn on 7-5-15. */ public enum AccelerationType { DEFAULT(WINDOWS, MAC, LINUX, OTHER), DIRECT3D(WINDOWS), OPENGL(WINDOWS, MAC, LINUX), // TODO: Mac? Really? QUARTZ(MAC), XRENDER(LINUX), UNACCELERATED(WINDOWS, MAC, LINUX, OTHER); AccelerationType(SystemUtils.OS... oses) { this.oses = EnumSet.copyOf(Arrays.asList(oses)); } public static List<AccelerationType> getForThisOS() { List<AccelerationType> types = new ArrayList<>(values().length); for (AccelerationType type : values()) { if (type.oses.contains(SystemUtils.getOS())) { types.add(type); } } return types; } private final Set<SystemUtils.OS> oses; }