Mercurial > projects > doodle
comparison doodle/dia/icanvas.d @ 92:a98116479793
Removed GL support. Improved grid.
author | daveb |
---|---|
date | Fri, 20 Aug 2010 18:34:32 +0930 |
parents | 42766e14534e |
children | 523269b36711 ab745d8b10e5 |
comparison
equal
deleted
inserted
replaced
91:42766e14534e | 92:a98116479793 |
---|---|
18 void damageModel(in Rectangle area); | 18 void damageModel(in Rectangle area); |
19 void damageScreen(in Rectangle area); | 19 void damageScreen(in Rectangle area); |
20 } | 20 } |
21 | 21 |
22 interface IViewport : IViewport2 { | 22 interface IViewport : IViewport2 { |
23 void zoomRelative(in Point screenDatum, in double factor); // FIXME reorder arguments | 23 void zoomRelative(in double factor, in Point screenDatum); |
24 void panRelative(in Vector screenDisplacement); | 24 void panRelative(in Vector screenDisplacement); |
25 void setCursor(in Cursor cursor); | 25 void setCursor(in Cursor cursor); |
26 } | 26 } |
27 | 27 |
28 /* | 28 /* |
36 interface IEventHandler { | 36 interface IEventHandler { |
37 bool handleButtonPress(scope IViewport viewport, in ButtonEvent event); | 37 bool handleButtonPress(scope IViewport viewport, in ButtonEvent event); |
38 bool handleButtonRelease(scope IViewport viewport, in ButtonEvent event); | 38 bool handleButtonRelease(scope IViewport viewport, in ButtonEvent event); |
39 bool handleMotion(scope IViewport viewport, in MotionEvent event); | 39 bool handleMotion(scope IViewport viewport, in MotionEvent event); |
40 bool handleScroll(scope IViewport viewport, in ScrollEvent event); | 40 bool handleScroll(scope IViewport viewport, in ScrollEvent event); |
41 bool handleEnter(scope IViewport viewport, CrossingEvent event); | 41 bool handleEnter(scope IViewport viewport, in CrossingEvent event); |
42 bool handleLeave(scope IViewport viewport, CrossingEvent event); | 42 bool handleLeave(scope IViewport viewport, in CrossingEvent event); |
43 bool handleKeyPress(scope IViewport viewport, in KeyEvent event); | 43 bool handleKeyPress(scope IViewport viewport, in KeyEvent event); |
44 bool handleKeyRelease(scope IViewport viewport, in KeyEvent event); | 44 bool handleKeyRelease(scope IViewport viewport, in KeyEvent event); |
45 | 45 |
46 // XXX Still not sure about these: | 46 // XXX Still not sure about these: |
47 //bool handleFocusIn(scope IViewport viewport, FocusEvent event); | 47 //bool handleFocusIn(scope IViewport viewport, FocusEvent event); |
48 //bool handleFocusOut(scope IViewport viewport, FocusEvent event); | 48 //bool handleFocusOut(scope IViewport viewport, FocusEvent event); |
49 } | 49 } |
50 | 50 |
51 interface IGrid { | 51 interface IGrid { |
52 void zoomChanged(double zoom); | 52 void zoomChanged(in double zoom); |
53 | 53 |
54 // TODO inout? | |
55 bool snap(in Point a, out Point b) const; // XXX remove this and add it to Layer | |
56 } | 54 } |
57 | 55 |
58 interface IPage { | 56 interface IPage { |
59 // TODO | |
60 } | 57 } |
61 | 58 |
62 abstract class Layer { | 59 abstract class Layer { |
63 this(in string name) { | 60 this(in string name) { |
64 _name = name; | 61 _name = name; |
66 | 63 |
67 string name() const { return _name; } | 64 string name() const { return _name; } |
68 | 65 |
69 Rectangle bounds() const; | 66 Rectangle bounds() const; |
70 | 67 |
68 //bool snap(in Point a, out Point b) const; | |
69 | |
71 void draw(in Rectangle screenDamage, scope Renderer screenRenderer, | 70 void draw(in Rectangle screenDamage, scope Renderer screenRenderer, |
72 in Rectangle modelDamage, scope Renderer modelRenderer, | 71 in Rectangle modelDamage, scope Renderer modelRenderer, |
73 in ScreenModel screenModel) const; | 72 in ScreenModel screenModel) const; |
74 | 73 |
75 private { | 74 private { |