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