1 package org.woehlke.computer.kurzweil.commons.model;
2
3 import lombok.*;
4 import lombok.extern.log4j.Log4j2;
5
6 import javax.swing.*;
7 import java.awt.*;
8 import java.io.Serializable;
9
10 @Log4j2
11 @Getter
12 @ToString
13 @AllArgsConstructor
14 @EqualsAndHashCode
15 public class Bounds implements Serializable {
16
17 private final int myStartX;
18 private final int myStartY;
19 private final int myWidth;
20 private final int myHeight;
21
22 public Bounds(double height, double width, Dimension screenSize){
23 double startX = (screenSize.getWidth() - width) / 2d;
24 double startY = (screenSize.getHeight() - height) / 2d;
25 myStartX = Double.valueOf(startX).intValue();
26 myStartY = Double.valueOf(startY).intValue();
27 myWidth = Double.valueOf(width).intValue();
28 myHeight = Double.valueOf(height).intValue();
29 }
30
31 public static Bounds getFrameBounds(JRootPane rootPane){
32 double width = rootPane.getWidth();
33 double height = rootPane.getHeight();
34 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
35 return new Bounds(height,width,screenSize);
36 }
37
38 public static Bounds getCanvas(JRootPane rootPane){
39 double width = rootPane.getWidth();
40 double height = rootPane.getHeight();
41 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
42 return new Bounds(height,width,screenSize);
43 }
44 }