package jp.crwdev.app.setting; import java.awt.Dimension; import java.util.ArrayList; import jp.crwdev.app.constant.Constant; import jp.crwdev.app.imagefilter.ImageFilterParam; @SuppressWarnings("serial") public class ImageFilterParamSet extends ArrayList<ImageFilterParam> { public static final int FILTER_INDEX_BASIC = 0; public static final int FILTER_INDEX_COLOR = 1; public static final int FILTER_INDEX_PICT = 2; public static final int FILTER_INDEX_TEXT = 3; private boolean mIsSimpleZoom = false; public ImageFilterParamSet(){ add(new ImageFilterParam()); // basic add(null); // color add(null); // pict add(null); // text } public ImageFilterParamSet clone(){ ImageFilterParamSet newSet = new ImageFilterParamSet(); for(int i=0; i<size(); i++){ ImageFilterParam param = get(i); newSet.set(i, param != null ? param.clone() : null); } return newSet; } public ImageFilterParam createMergedFilterParam(ImageFilterParam param){ int pageType = param.getPageType(); switch(pageType){ case Constant.PAGETYPE_COLOR: if(get(FILTER_INDEX_COLOR) != null){ return get(FILTER_INDEX_COLOR).createMergedFilterParam(param); }else{ return get(FILTER_INDEX_BASIC).createMergedFilterParam(param); } case Constant.PAGETYPE_PICT: if(get(FILTER_INDEX_PICT) != null){ return get(FILTER_INDEX_PICT).createMergedFilterParam(param); }else{ return get(FILTER_INDEX_BASIC).createMergedFilterParam(param); } case Constant.PAGETYPE_TEXT: if(get(FILTER_INDEX_TEXT) != null){ return get(FILTER_INDEX_TEXT).createMergedFilterParam(param); }else{ return get(FILTER_INDEX_BASIC).createMergedFilterParam(param); } case Constant.PAGETYPE_AUTO: default: return get(FILTER_INDEX_BASIC).createMergedFilterParam(param); } } public boolean isPreview(){ for(int i=0; i<size(); i++){ ImageFilterParam param = get(i); if(param != null){ if(param.isPreview()){ return true; } } } return false; } public void setPreview(boolean enable){ for(int i=0; i<size(); i++){ ImageFilterParam param = get(i); if(param != null){ param.setPreview(enable); } } } public void setResize(boolean enable){ for(int i=0; i<size(); i++){ ImageFilterParam param = get(i); if(param != null){ param.setResize(enable); } } } public void setResizeDimension(Dimension size){ for(int i=0; i<size(); i++){ ImageFilterParam param = get(i); if(param != null){ param.setResizeDimension(size); } } } public void setFixedSize(Dimension size){ for(int i=0; i<size(); i++){ ImageFilterParam param = get(i); if(param != null){ param.setFixedSize(size); } } } public void setSimpleZoom(boolean simpleZoom){ mIsSimpleZoom = simpleZoom; } public boolean isSimpleZoom(){ return mIsSimpleZoom; } }