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 {