65 lines
2.0 KiB
Java
65 lines
2.0 KiB
Java
package presenters;
|
|
|
|
import app.INavigator;
|
|
import app.state.AppState;
|
|
import com.google.inject.Inject;
|
|
import domain.common.Mode;
|
|
import domain.image.GrayScaleMatrix;
|
|
import domain.image.Image;
|
|
import services.ImageService;
|
|
import services.ModeService;
|
|
import ui.abstractions.INavBar;
|
|
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
|
|
public class NavPresenter {
|
|
private INavBar navBar;
|
|
private final INavigator navigator;
|
|
private final AppState appState;
|
|
private final ImageService imageService;
|
|
private final ModeService modeService;
|
|
|
|
@Inject
|
|
public NavPresenter(INavigator navigator, AppState appState, ImageService imageService, ModeService modeService) {
|
|
this.navigator = navigator;
|
|
this.appState = appState;
|
|
this.imageService = imageService;
|
|
this.modeService = modeService;
|
|
}
|
|
|
|
public void setView(INavBar navBar) {
|
|
this.navBar = navBar;
|
|
}
|
|
|
|
public void createImage(int red, int green, int blue, int height, int width) {
|
|
Image image = imageService.createImage(red, green, blue, height, width);
|
|
appState.setImage(image);
|
|
}
|
|
|
|
public void loadImage(File file) throws IOException {
|
|
Image image = imageService.loadImage(file);
|
|
appState.setImage(image);
|
|
}
|
|
|
|
public void goToFourier() { navigator.showFourier(); }
|
|
|
|
public void goToFiltering() { navigator.showIdealFiltering(); }
|
|
|
|
public void goToConvolution() { navigator.showConvolutionFiltering(); }
|
|
|
|
public void gotToButterworth() { navigator.showButterworth(); }
|
|
|
|
public void goToBasicMorphology(){ navigator.showBasicMorphology(); }
|
|
|
|
public void goToComplexMorphology(){ navigator.showComplexMorphology(); }
|
|
|
|
public void goToLinearOutline(){ navigator.showLinearOutline(); }
|
|
|
|
public void goToNonLinearOutline() { navigator.showNonLinearOutline(); }
|
|
|
|
public GrayScaleMatrix getImageGrayMatrix() { return appState.getImage().toGrayScale(); }
|
|
|
|
public void setMode(Mode mode) { modeService.setMode(mode); }
|
|
|
|
} |