Skip to content
Snippets Groups Projects
Select Git revision
  • bad1f074b0255be68cdf5fe046ef81e98e605020
  • master default
  • v5.2.2
  • v5.2.1
  • v5.2.0
  • v5.1.2
  • v5.1.1
  • v5.1.0
  • 5.0.2
9 results

README.md

Blame
  • 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");