1 package de.jaret.examples.timebars.simple.swt.renderer;
2
3 import org.eclipse.swt.graphics.GC;
4 import org.eclipse.swt.graphics.Rectangle;
5
6 import de.jaret.util.date.Interval;
7 import de.jaret.util.ui.timebars.TimeBarViewerDelegate;
8 import de.jaret.util.ui.timebars.swt.renderer.DefaultRenderer;
9
10 public class OtherIntervalRenderer extends DefaultRenderer{
11 private final static int PREFWIDTH = 4;
12
13 @Override
14 public Rectangle getPreferredDrawingBounds(Rectangle intervalDrawingArea,
15 TimeBarViewerDelegate delegate, Interval interval,
16 boolean selected, boolean printing, boolean overlap) {
17
18 if (intervalDrawingArea.width<PREFWIDTH) {
19 int diff = (PREFWIDTH-intervalDrawingArea.width/2);
20 return new Rectangle(intervalDrawingArea.x-diff, intervalDrawingArea.y, intervalDrawingArea.width+2*diff, intervalDrawingArea.height);
21 } else {
22 return intervalDrawingArea;
23 }
24
25 }
26
27 @Override
28 public void draw(GC gc, Rectangle drawingArea,
29 TimeBarViewerDelegate delegate, Interval interval,
30 boolean selected, boolean printing, boolean overlap) {
31
32 if (drawingArea.width<PREFWIDTH) {
33 int diff = (PREFWIDTH-drawingArea.width/2);
34 drawingArea = new Rectangle(drawingArea.x-diff, drawingArea.y, drawingArea.width+2*diff, drawingArea.height);
35 }
36
37 super.draw(gc, drawingArea, delegate, interval, selected, printing, overlap);
38 }
39
40 }