1 package net.sourceforge.barbecue.output;
2
3 import java.awt.font.TextLayout;
4
5 public abstract class LabelLayout {
6 static final int NOT_SET = -1;
7
8 protected final int x;
9 protected final int y;
10 protected final int width;
11 protected final int height;
12 protected TextLayout textLayout;
13 protected float textX;
14 protected float textY;
15 protected int bgX;
16 protected int bgY;
17 protected int bgWidth;
18 protected int bgHeight;
19
20 protected LabelLayout(int x, int y, int width, int height) {
21 this.x = x;
22 this.y = y;
23 this.width = width;
24 this.height = height;
25 }
26
27 public void setTextLayout(TextLayout textLayout) {
28 this.textLayout = textLayout;
29 calculate();
30 }
31
32 protected abstract void calculate();
33
34 public float getTextX() {
35 return textX;
36 }
37
38 public float getTextY() {
39 return textY;
40 }
41
42 public int getBackgroundX() {
43 return bgX;
44 }
45
46 public int getBackgroundY() {
47 return bgY;
48 }
49
50 public int getBackgroundWidth() {
51 return bgWidth;
52 }
53
54 public int getBackgroundHeight() {
55 return bgHeight;
56 }
57 }