Updated copyright message.
[meviz.git] / src / main / java / eu / svjatoslav / meviz / htmlindexer / metadata / Dimension.java
1 /*
2  * Meviz - Various tools collection to work with multimedia.
3  * Copyright (C) 2012 -- 2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of version 2 of the GNU General Public License
7  * as published by the Free Software Foundation.
8  */
9
10 package eu.svjatoslav.meviz.htmlindexer.metadata;
11
12 import java.io.Serializable;
13
14 /**
15  * Corresponds to single image dimensions.
16  */
17
18 public class Dimension implements Serializable, Comparable<Dimension> {
19
20     private static final long serialVersionUID = -1039288266937331829L;
21
22     public int width;
23     public int height;
24
25     private Dimension() {
26         width = 0;
27         height = 0;
28     }
29
30     public Dimension(final Dimension origial) {
31         width = origial.width;
32         height = origial.height;
33     }
34
35     public Dimension(final int width, final int height) {
36         this.width = width;
37         this.height = height;
38     }
39
40     @Override
41     public int compareTo(final Dimension anotherDimension) {
42         if (width < anotherDimension.width)
43             return -1;
44         if (width > anotherDimension.width)
45             return 1;
46
47         if (height < anotherDimension.height)
48             return -1;
49         if (height > anotherDimension.height)
50             return 1;
51
52         return 0;
53     }
54
55     public boolean equals(final Dimension anotherDimension) {
56         return compareTo(anotherDimension) == 0;
57     }
58
59     public int getArea() {
60         return width * height;
61     }
62
63     public java.awt.Dimension getAwtDimension() {
64         return new java.awt.Dimension(width, height);
65     }
66
67     public Dimension getScaled(final double multiplicationFactor) {
68         final Dimension result = new Dimension();
69
70         result.width = (int) ((width) * multiplicationFactor);
71         result.height = (int) ((height) * multiplicationFactor);
72
73         return result;
74     }
75
76     @Override
77     public String toString() {
78         return "Dimension [width=" + width + ", height=" + height + "]";
79     }
80
81 }