package com.asha.vrlib.strategy.display;
import com.asha.vrlib.MDVRLibrary;
import com.asha.vrlib.common.MDGLHandler;
import com.asha.vrlib.model.BarrelDistortionConfig;
import com.asha.vrlib.strategy.ModeManager;
/**
* Created by hzqiujiadi on 16/3/19.
* hzqiujiadi ashqalcn@gmail.com
*/
public class DisplayModeManager extends ModeManager<AbsDisplayStrategy> implements IDisplayMode {
public static int[] sModes = {MDVRLibrary.DISPLAY_MODE_NORMAL, MDVRLibrary.DISPLAY_MODE_GLASS};
private boolean antiDistortionEnabled;
private BarrelDistortionConfig barrelDistortionConfig;
public DisplayModeManager(int mode, MDGLHandler handler) {
super(mode, handler);
}
@Override
protected int[] getModes() {
return sModes;
}
@Override
protected AbsDisplayStrategy createStrategy(int mode) {
switch (mode){
case MDVRLibrary.DISPLAY_MODE_GLASS:
return new GlassStrategy();
case MDVRLibrary.DISPLAY_MODE_NORMAL:
default:
return new NormalStrategy();
}
}
@Override
public int getVisibleSize() {
return getStrategy().getVisibleSize();
}
public void setAntiDistortionEnabled(boolean antiDistortionEnabled) {
this.antiDistortionEnabled = antiDistortionEnabled;
}
public boolean isAntiDistortionEnabled() {
return antiDistortionEnabled;
}
public void setBarrelDistortionConfig(BarrelDistortionConfig barrelDistortionConfig) {
this.barrelDistortionConfig = barrelDistortionConfig;
}
public BarrelDistortionConfig getBarrelDistortionConfig() {
return barrelDistortionConfig;
}
}