Mercurial > projects > doodle
comparison doodle/gtk/events.d @ 77:15ca7d5cd1ed
The rulers are broken
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sun, 15 Aug 2010 01:36:22 +0930 |
parents | 6f2525e170f2 |
children | d92b9f04b1e8 |
comparison
equal
deleted
inserted
replaced
76:78bc2046256e | 77:15ca7d5cd1ed |
---|---|
27 GdkDevice *device; | 27 GdkDevice *device; |
28 double xRoot, yRoot; | 28 double xRoot, yRoot; |
29 } | 29 } |
30 */ | 30 */ |
31 | 31 |
32 ButtonEvent makeButtonEvent(const GdkEventButton * event, in PixelModel pixelModel) { | 32 ButtonEvent makeButtonEvent(const GdkEventButton * event, in ScreenModel screenModel) { |
33 Point pixelPoint = Point(event.x + 0.5, pixelModel.viewBounds.h - (event.y + 0.5)); | 33 Point screenPoint = Point(event.x + 0.5, screenModel.viewBoundsScreen.h - (event.y + 0.5)); |
34 Point modelPoint = pixelModel.pixelToModel(pixelPoint); | 34 Point modelPoint = screenModel.screenToModel(screenPoint); |
35 return new ButtonEvent(gtk2tkButtonAction(event.type), | 35 return new ButtonEvent(gtk2tkButtonAction(event.type), |
36 gtk2tkButtonName(event.button), | 36 gtk2tkButtonName(event.button), |
37 pixelPoint, modelPoint, gtk2tkMask(event.state)); | 37 screenPoint, modelPoint, gtk2tkMask(event.state)); |
38 } | 38 } |
39 | 39 |
40 /* | 40 /* |
41 public struct GdkEventMotion { | 41 public struct GdkEventMotion { |
42 GdkEventType type; | 42 GdkEventType type; |
51 GdkDevice *device; | 51 GdkDevice *device; |
52 double xRoot, yRoot; | 52 double xRoot, yRoot; |
53 } | 53 } |
54 */ | 54 */ |
55 | 55 |
56 MotionEvent makeMotionEvent(const GdkEventMotion * event, in PixelModel pixelModel) { | 56 MotionEvent makeMotionEvent(const GdkEventMotion * event, in ScreenModel screenModel) { |
57 Point pixelPoint = Point(event.x + 0.5, pixelModel.viewBounds.h - (event.y + 0.5)); | 57 Point screenPoint = Point(event.x + 0.5, screenModel.viewBoundsScreen.h - (event.y + 0.5)); |
58 Point modelPoint = pixelModel.pixelToModel(pixelPoint); | 58 Point modelPoint = screenModel.screenToModel(screenPoint); |
59 | 59 |
60 return new MotionEvent(pixelPoint, modelPoint, gtk2tkMask(event.state)); | 60 return new MotionEvent(screenPoint, modelPoint, gtk2tkMask(event.state)); |
61 } | 61 } |
62 | 62 |
63 /* | 63 /* |
64 public struct GdkEventKey { | 64 public struct GdkEventKey { |
65 GdkEventType type; | 65 GdkEventType type; |
75 uint bitfield0; | 75 uint bitfield0; |
76 uint isModifier : 1; | 76 uint isModifier : 1; |
77 } | 77 } |
78 */ | 78 */ |
79 | 79 |
80 KeyEvent makeKeyEvent(const GdkEventKey * event, in PixelModel pixelModel) { | 80 KeyEvent makeKeyEvent(const GdkEventKey * event, in ScreenModel screenModel) { |
81 return new KeyEvent(event.string[0..strlen(event.string)].idup, | 81 return new KeyEvent(event.string[0..strlen(event.string)].idup, |
82 event.keyval, | 82 event.keyval, |
83 gtk2tkMask(event.state)); | 83 gtk2tkMask(event.state)); |
84 } | 84 } |
85 | 85 |
96 GdkDevice *device; | 96 GdkDevice *device; |
97 double xRoot, yRoot; | 97 double xRoot, yRoot; |
98 } | 98 } |
99 */ | 99 */ |
100 | 100 |
101 ScrollEvent makeScrollEvent(const GdkEventScroll * event, in PixelModel pixelModel) { | 101 ScrollEvent makeScrollEvent(const GdkEventScroll * event, in ScreenModel screenModel) { |
102 Point pixelPoint = Point(event.x + 0.5, pixelModel.viewBounds.h - (event.y + 0.5)); | 102 Point screenPoint = Point(event.x + 0.5, screenModel.viewBoundsScreen.h - (event.y + 0.5)); |
103 Point modelPoint = pixelModel.pixelToModel(pixelPoint); | 103 Point modelPoint = screenModel.screenToModel(screenPoint); |
104 return new ScrollEvent(gtk2tkDirection(event.direction), | 104 return new ScrollEvent(gtk2tkDirection(event.direction), |
105 pixelPoint, | 105 screenPoint, |
106 modelPoint, | 106 modelPoint, |
107 gtk2tkMask(event.state)); | 107 gtk2tkMask(event.state)); |
108 } | 108 } |
109 | 109 |
110 /* | 110 /* |
132 int focus; | 132 int focus; |
133 uint state; | 133 uint state; |
134 } | 134 } |
135 */ | 135 */ |
136 | 136 |
137 CrossingEvent makeCrossingEvent(const GdkEventCrossing * event, in PixelModel pixelModel) { | 137 CrossingEvent makeCrossingEvent(const GdkEventCrossing * event, in ScreenModel screenModel) { |
138 Point pixelPoint = Point(event.x + 0.5, pixelModel.viewBounds.h - (event.y + 0.5)); | 138 Point screenPoint = Point(event.x + 0.5, screenModel.viewBoundsScreen.h - (event.y + 0.5)); |
139 Point modelPoint = pixelModel.pixelToModel(pixelPoint); | 139 Point modelPoint = screenModel.screenToModel(screenPoint); |
140 return new CrossingEvent(gtk2tkCrossingMode(event.mode), | 140 return new CrossingEvent(gtk2tkCrossingMode(event.mode), |
141 pixelPoint, | 141 screenPoint, |
142 modelPoint, | 142 modelPoint, |
143 gtk2tkMask(event.state)); | 143 gtk2tkMask(event.state)); |
144 } | 144 } |
145 | 145 |
146 | 146 |