annotate user/doob_test1/draw.d @ 4:8d49c4eb4800

Added user examples
author Frank Benoit <benoit@tionex.de>
date Sun, 10 Feb 2008 04:28:56 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 module user.doob_test1.draw;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 private import dwt.DWT;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 private import dwt.events.SelectionListener;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 private import dwt.events.SelectionEvent;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 private import dwt.layout.FillLayout;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 private import dwt.widgets.Canvas;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 private import dwt.widgets.Control;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 private import dwt.widgets.Display;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 private import dwt.widgets.Shell;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 private import dwt.events.PaintListener;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 private import dwt.events.MouseListener;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 private import dwt.events.MouseMoveListener;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 private import tango.io.Stdout;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 private import user.doob_test1.MouseHandler;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 private import user.doob_test1.PaintHandler;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 import tango.io.Stdout;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 import tango.math.Math;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 import tango.text.convert.Format;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 import tango.util.Convert;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 import tango.util.PathUtil;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 import dwt.events.SelectionListener;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 import dwt.events.SelectionEvent;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 void main(){
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 try{
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 auto display = new Display();
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 auto shell = new Shell(display);
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 auto canvas = new Canvas(shell,DWT.NO_REDRAW_RESIZE);
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 auto hPaint= new PaintHandler(canvas, display);
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 auto hMouse = new MouseHandler(hPaint);
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 shell.setText("Draw window");
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 shell.setSize(500, 500);
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 shell.setLayout(new FillLayout());
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 canvas.addPaintListener(hPaint);
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 canvas.addMouseListener(hMouse);
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 canvas.addMouseMoveListener(hMouse);
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 shell.layout();
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 shell.open();
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 while (!shell.isDisposed()) {
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 if (!display.readAndDispatch()) {
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 display.sleep();
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 }
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 }
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 Stdout("Stop").newline.flush;
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 } catch (Exception e) {
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 Stdout.formatln (e.toString);
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 }
8d49c4eb4800 Added user examples
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 }