[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

RE: tracking mouse pointer



This is my test program to handle the motion, the event->state tell you
the key sataus like shift or ctrl.


gboolean    butt_motion(GtkWidget *widget, GdkEventMotion *event,
gpointer user_data)
{
        printf("buttonmotion:%s,%x\n",user_data,event->state);
        int x, y;
        GdkModifierType state;
        gdk_window_get_pointer (event->window, &x, &y, &state);

        return TRUE;
}

> -----Original Message-----
> From: gtk-app-devel-list-admin@gnome.org [mailto:gtk-app-devel-list-
> admin@gnome.org] On Behalf Of Paul Pogonyshev
> Sent: Monday, December 29, 2003 10:12 PM
> To: gtk-app-devel-list@gnome.org
> Subject: tracking mouse pointer
> 
> Hi.
> 
> In my application, i use a widget that can be clicked for certain
actions.
> As the pointer is moved over the widget, it provides a visual
feedback,
> which hints about particular action that will be performed at given
> position.
> 
> In general, it works just fine by intercepting "motion-notify-event".
> There
> are two minor, but annoying problems, though.
> 
> First of all, i would like it to provide feedback when the window
> containing
> the widget is "popped" (i.e shown, deiconified, or maybe shown
together
> with
> its desktop etc.)  I tried to make "show", "map" or
"enter-notify-event"
> callbacks to call gtk_widget_get_pointer() and use its information,
but
> either that didn't work at all, or the coordinates were wrong.  Any
ideas?
> 
> Another problem is that i use modifier keys (like Shift) to alter the
> action
> performed.  This would in turn alter the feedback depending on
currently
> pressed keys.  However, i have to use events like
"key-(press|release)-
> event"
> instead of "motion-notify-event" (one can (de)press Shift without
touching
> his mouse) and those events report "lagged" modifiers.  I.e. event
> structure
> for a "key-press-event" for Shift would still claim that Shift is
> depressed.
> Is there some way to get proper modifiers, or do i have to do that by
> hands?
> 
> Paul Pogonyshev
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]