Mercurial > sdl-ios-xcode
comparison src/video/cocoa/SDL_cocoawindow.m @ 1957:c7803e4c21d3
Implemented Cocoa mouse wheel events
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 29 Jul 2006 22:42:48 +0000 |
parents | ba0d62354872 |
children | 5fc6fb0fb605 |
comparison
equal
deleted
inserted
replaced
1956:ba0d62354872 | 1957:c7803e4c21d3 |
---|---|
206 if (mouse->focus != _data->windowID) { | 206 if (mouse->focus != _data->windowID) { |
207 SDL_SetMouseFocus(index, _data->windowID); | 207 SDL_SetMouseFocus(index, _data->windowID); |
208 } | 208 } |
209 | 209 |
210 point = [NSEvent mouseLocation]; | 210 point = [NSEvent mouseLocation]; |
211 if (point.x < rect.origin.x || | |
212 point.x > (rect.origin.x + rect.size.width) || | |
213 point.y < rect.origin.y || | |
214 point.y > (rect.origin.y + rect.size.height)) { | |
215 if (window->flags & SDL_WINDOW_MOUSE_FOCUS) { | |
216 SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_LEAVE, 0, 0); | |
217 } | |
218 } else { | |
219 if (!(window->flags & SDL_WINDOW_MOUSE_FOCUS)) { | |
220 SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_ENTER, 0, 0); | |
221 } | |
222 } | |
223 point.x = point.x - rect.origin.x; | 211 point.x = point.x - rect.origin.x; |
224 point.y = rect.size.height - (point.y - rect.origin.y); | 212 point.y = rect.size.height - (point.y - rect.origin.y); |
225 SDL_SendMouseMotion(index, 0, (int)point.x, (int)point.y); | 213 SDL_SendMouseMotion(index, 0, (int)point.x, (int)point.y); |
226 } | 214 } |
227 | 215 |
216 - (void)mouseDragged:(NSEvent *)theEvent | |
217 { | |
218 [self mouseMoved:theEvent]; | |
219 } | |
220 | |
228 - (void)scrollWheel:(NSEvent *)theEvent | 221 - (void)scrollWheel:(NSEvent *)theEvent |
229 { | 222 { |
230 fprintf(stderr, "scrollWheel\n"); | 223 int index; |
224 | |
225 index = _data->videodata->mouse; | |
226 SDL_SendMouseWheel(index, (int)([theEvent deltaY]+0.9f)); | |
231 } | 227 } |
232 | 228 |
233 - (void)keyDown:(NSEvent *)theEvent | 229 - (void)keyDown:(NSEvent *)theEvent |
234 { | 230 { |
235 fprintf(stderr, "keyDown\n"); | 231 fprintf(stderr, "keyDown\n"); |