Select Git revision
-
Robert Goldmann authoredRobert Goldmann authored
MediaViewController.java 5.53 KiB
package de.tobias.playpad.mediaplugin.main.impl;
import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Path;
import de.tobias.playpad.PlayPadPlugin;
import de.tobias.playpad.mediaplugin.image.ImageContent;
import de.tobias.playpad.mediaplugin.main.VideoSettings;
import de.tobias.playpad.mediaplugin.video.VideoContent;
import de.tobias.playpad.pad.Pad;
import de.tobias.playpad.pad.PadStatus;
import de.tobias.playpad.settings.Profile;
import de.tobias.playpad.settings.ProfileListener;
import de.tobias.utils.application.ApplicationUtils;
import de.tobias.utils.application.container.PathType;
import de.tobias.utils.util.OS;
import de.tobias.utils.util.OS.OSType;
import javafx.application.Platform;
import javafx.event.Event;
import javafx.geometry.Pos;
import javafx.geometry.Rectangle2D;
import javafx.scene.Scene;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.Pane;
import javafx.scene.layout.Priority;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaPlayer.Status;
import javafx.scene.media.MediaView;
import javafx.scene.paint.Color;
import javafx.stage.Screen;
import javafx.stage.Stage;
public class MediaViewController implements ProfileListener {
private MediaView mediaView;
private Pane imageView;
private Stage stage;
private boolean finish = true;
private VideoSettings settings;
private Pad currentDisplayedPad;
MediaViewController(VideoSettings settings) {
Profile.registerListener(this);
this.settings = settings;
mediaView = new MediaView();
imageView = new Pane();
VBox root = new VBox(mediaView);
root.setAlignment(Pos.CENTER);
StackPane stackPane = new StackPane(root, imageView);
stackPane.setBackground(new Background(new BackgroundFill(Color.BLACK, null, null)));
stackPane.setAlignment(Pos.CENTER);
stackPane.prefWidthProperty().bind(root.widthProperty());
mediaView.fitHeightProperty().bind(root.heightProperty());
VBox.setVgrow(mediaView, Priority.ALWAYS);
imageView.prefWidthProperty().bind(stackPane.widthProperty());
imageView.prefHeightProperty().bind(stackPane.heightProperty());
imageView.getStyleClass().add("image-style");