diff options
| author | Joakim Verona | 2011-07-03 19:54:25 +0200 |
|---|---|---|
| committer | Joakim Verona | 2011-07-03 19:54:25 +0200 |
| commit | d5aa6c9095f22bb9cbac9557b3502e6b90d98d0e (patch) | |
| tree | 750f836d3798f7eaf7062685fbb65edf8af60a72 /src/xwidget.c | |
| parent | ff0863a96f15f7f2e9f9ea3df68146f0ae413579 (diff) | |
| download | emacs-d5aa6c9095f22bb9cbac9557b3502e6b90d98d0e.tar.gz emacs-d5aa6c9095f22bb9cbac9557b3502e6b90d98d0e.zip | |
event forwarding, makes webit-osr usable
Diffstat (limited to 'src/xwidget.c')
| -rw-r--r-- | src/xwidget.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/xwidget.c b/src/xwidget.c index 6d82263ff80..a47d6c12dbc 100644 --- a/src/xwidget.c +++ b/src/xwidget.c | |||
| @@ -433,7 +433,15 @@ xwidget_osr_button_callback ( GtkWidget *widget, | |||
| 433 | GdkEvent *event, | 433 | GdkEvent *event, |
| 434 | gpointer user_data) | 434 | gpointer user_data) |
| 435 | { | 435 | { |
| 436 | printf ("button callback\n",); | 436 | gdouble x, y; |
| 437 | struct xwidget* xw = (struct xwidget*) g_object_get_data (G_OBJECT (widget), XG_XWIDGET); | ||
| 438 | x = ((GdkEventButton*)event)->x; | ||
| 439 | y = ((GdkEventButton*)event)->y; | ||
| 440 | |||
| 441 | printf ("button callback %d %d\n",x,y); | ||
| 442 | GdkEventButton* eventcopy = gdk_event_copy(event); | ||
| 443 | eventcopy->window = gtk_widget_get_window(xw->widget_osr); | ||
| 444 | gtk_main_do_event(eventcopy); //TODO this will leak events. they should be deallocated later | ||
| 437 | } | 445 | } |
| 438 | 446 | ||
| 439 | int xwidget_view_index=0; | 447 | int xwidget_view_index=0; |
| @@ -538,12 +546,17 @@ xwidget_init_view ( | |||
| 538 | gtk_widget_add_events(xv->widget, | 546 | gtk_widget_add_events(xv->widget, |
| 539 | GDK_BUTTON_PRESS_MASK | 547 | GDK_BUTTON_PRESS_MASK |
| 540 | | GDK_BUTTON_RELEASE_MASK | 548 | | GDK_BUTTON_RELEASE_MASK |
| 549 | | GDK_POINTER_MOTION_MASK | ||
| 541 | ); | 550 | ); |
| 542 | 551 | ||
| 543 | g_signal_connect (G_OBJECT ( xv->widget), "draw", | 552 | g_signal_connect (G_OBJECT ( xv->widget), "draw", |
| 544 | G_CALLBACK (xwidget_osr_draw_callback), NULL); | 553 | G_CALLBACK (xwidget_osr_draw_callback), NULL); |
| 545 | 554 | ||
| 546 | g_signal_connect (G_OBJECT ( xv->widget), "buton-press-event", | 555 | g_signal_connect (G_OBJECT ( xv->widget), "button-press-event", |
| 556 | G_CALLBACK (xwidget_osr_button_callback), NULL); | ||
| 557 | g_signal_connect (G_OBJECT ( xv->widget), "button-release-event", | ||
| 558 | G_CALLBACK (xwidget_osr_button_callback), NULL); | ||
| 559 | g_signal_connect (G_OBJECT ( xv->widget), "motion-notify-event", | ||
| 547 | G_CALLBACK (xwidget_osr_button_callback), NULL); | 560 | G_CALLBACK (xwidget_osr_button_callback), NULL); |
| 548 | 561 | ||
| 549 | 562 | ||