projects
/
rodin
/
chimara.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Completed mouse support.
[rodin/chimara.git]
/
libchimara
/
mouse.c
diff --git
a/libchimara/mouse.c
b/libchimara/mouse.c
index f6c23b229e3b595114e26fa3b21c9991c1f46c06..98d522ff795d603359830fbef37d2b34d8defc31 100644
(file)
--- a/
libchimara/mouse.c
+++ b/
libchimara/mouse.c
@@
-6,7
+6,7
@@
glk_request_mouse_event(winid_t win)
{
VALID_WINDOW(win, return);
g_return_if_fail(win != NULL);
{
VALID_WINDOW(win, return);
g_return_if_fail(win != NULL);
- g_return_if_fail(win->type == wintype_Text
Buffer || win->type == wintype_Text
Grid);
+ g_return_if_fail(win->type == wintype_TextGrid);
g_signal_handler_unblock(win->widget, win->button_press_event_handler);
}
g_signal_handler_unblock(win->widget, win->button_press_event_handler);
}
@@
-16,7
+16,7
@@
glk_cancel_mouse_event(winid_t win)
{
VALID_WINDOW(win, return);
g_return_if_fail(win != NULL);
{
VALID_WINDOW(win, return);
g_return_if_fail(win != NULL);
- g_return_if_fail(win->type == wintype_Text
Buffer || win->type == wintype_Text
Grid);
+ g_return_if_fail(win->type == wintype_TextGrid);
g_signal_handler_block(win->widget, win->button_press_event_handler);
}
g_signal_handler_block(win->widget, win->button_press_event_handler);
}
@@
-27,8
+27,7
@@
on_window_button_press(GtkWidget *widget, GdkEventButton *event, winid_t win)
ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(win->widget, CHIMARA_TYPE_GLK));
g_assert(glk);
ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(win->widget, CHIMARA_TYPE_GLK));
g_assert(glk);
- /* TODO: calculate coordinates in proper metric */
- event_throw(glk, evtype_MouseInput, win, event->x, event->y);
+ event_throw(glk, evtype_MouseInput, win, event->x/win->unit_width, event->y/win->unit_height);
return TRUE;
}
return TRUE;
}