Mercurial > projects > doodle
comparison dia/icanvas.d @ 26:06c30d250c0a
Cleanup
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Thu, 16 Jul 2009 00:12:02 +0930 |
parents | 17c2df87b459 |
children | f3d91579bb28 |
comparison
equal
deleted
inserted
replaced
25:8f58a8f88735 | 26:06c30d250c0a |
---|---|
1 module dia.icanvas; | 1 module dia.icanvas; |
2 | 2 |
3 import tk.geometry; | 3 public { |
4 import tk.events; | 4 import tk.geometry; |
5 import cairo.Context; | 5 import tk.events; |
6 import cairo.Context; | |
7 } | |
6 | 8 |
7 interface Viewport { | 9 interface Viewport { |
8 void zoom_relative(Point pixel_datum, double factor); | 10 void zoom_relative(in Point pixel_datum, in double factor); |
9 void pan_relative(Vector pixel_displacement); | 11 void pan_relative(in Vector pixel_displacement); |
10 void damage_model(Rectangle area); // FIXME could be an inout parameter of the event handling, or a special scope Damage object that supports growth only | 12 void damage_model(in Rectangle area); // FIXME could be an inout parameter of the event handling, or a special scope Damage object that supports growth only |
11 void damage_pixel(Rectangle area); // FIXME as above | 13 void damage_pixel(in Rectangle area); // FIXME as above |
12 | 14 |
13 // FIXME not sure about these: | 15 // FIXME not sure about these: |
14 double zoom() const; | 16 double zoom() const; |
15 Point model_to_pixel(Point model) const; | 17 Point model_to_pixel(in Point model) const; |
16 Point pixel_to_model(Point pixel) const; | 18 Point pixel_to_model(in Point pixel) const; |
17 Vector model_to_pixel(Vector model) const; | 19 Vector model_to_pixel(in Vector model) const; |
18 Vector pixel_to_model(Vector pixel) const; | 20 Vector pixel_to_model(in Vector pixel) const; |
19 Rectangle model_to_pixel(Rectangle model) const; | 21 Rectangle model_to_pixel(in Rectangle model) const; |
20 Rectangle pixel_to_model(Rectangle model) const; | 22 Rectangle pixel_to_model(in Rectangle model) const; |
21 double model_to_pixel(double model) const; | 23 double model_to_pixel(in double model) const; |
22 double pixel_to_model(double pixel) const; | 24 double pixel_to_model(in double pixel) const; |
23 } | 25 } |
24 | 26 |
25 interface EventHandler { | 27 interface EventHandler { |
26 bool handle_button_press(Viewport viewport, in ButtonEvent event); | 28 bool handle_button_press(scope Viewport viewport, in ButtonEvent event); |
27 bool handle_button_release(Viewport viewport, in ButtonEvent event); | 29 bool handle_button_release(scope Viewport viewport, in ButtonEvent event); |
28 bool handle_motion(Viewport viewport, in MotionEvent event); | 30 bool handle_motion(scope Viewport viewport, in MotionEvent event); |
29 bool handle_scroll(Viewport viewport, in ScrollEvent event); | 31 bool handle_scroll(scope Viewport viewport, in ScrollEvent event); |
30 //bool handle_enter(Viewport viewport, CrossingEvent event); | 32 //bool handle_enter(scope Viewport viewport, CrossingEvent event); |
31 //bool handle_leave(Viewport viewport, CrossingEvent event); | 33 //bool handle_leave(scope Viewport viewport, CrossingEvent event); |
32 //bool handle_focus_in(Viewport viewport, FocusEvent event); | 34 //bool handle_focus_in(scope Viewport viewport, FocusEvent event); |
33 //bool handle_focus_out(Viewport viewport, FocusEvent event); | 35 //bool handle_focus_out(scope Viewport viewport, FocusEvent event); |
34 bool handle_key_press(Viewport viewport, in KeyEvent event); | 36 bool handle_key_press(scope Viewport viewport, in KeyEvent event); |
35 bool handle_key_release(Viewport viewport, in KeyEvent event); | 37 bool handle_key_release(scope Viewport viewport, in KeyEvent event); |
36 } | 38 } |
37 | 39 |
38 abstract class Layer { | 40 abstract class Layer { |
39 this(in string name) { | 41 this(in string name) { |
40 mName = name; | 42 mName = name; |
42 | 44 |
43 string name() const { return mName; } | 45 string name() const { return mName; } |
44 | 46 |
45 Rectangle bounds() const; | 47 Rectangle bounds() const; |
46 //void zoom_changed | 48 //void zoom_changed |
47 void draw(const Viewport viewport, | 49 void draw(in Viewport viewport, |
48 in Rectangle pixel_damage, scope Context pixel_cr, | 50 in Rectangle pixel_damage, scope Context pixel_cr, |
49 in Rectangle model_damage, scope Context model_cr) const; | 51 in Rectangle model_damage, scope Context model_cr) const; |
50 | 52 |
51 private { | 53 private { |
52 invariant string mName; | 54 invariant string mName; |