pozícia kurzora v gtk+2.0

Sekcia: Programovanie 07.09.2008 | 12:48
Avatar stanley Ubuntu,Knoppix  Používateľ
Ahojte! Mohli by ste mi, prosím vás, poradiť ako zistím súradnice grafického kurzora v gtk? Skusal som to cez:


gboolean clicked(GtkWidget *widget, GdkEventButton *event, gpointer user_data)
{
if (event->button == 1) {
x = event->x;
y = event->y;
}
return TRUE;
}
.
.
.
g_signal_connect(window, "button_press_event", G_CALLBACK(clicked), NULL);


Pekne mi načítalo súradnice kurzora x a y. Ja však chcem zistiť súradnice aj pri zmene pozície kurzora a nie len pri kliknutí.

Tak som to skúsil cez gdk:

GdkDisplay *display = NULL;
GdkScreen *screen = NULL;

display = gdk_display_get_default ();

gdk_display_get_pointer (display, NULL, &x, &y, NULL);


Teraz program reagoval aj na zmenu pozície kurzora, ale udával x,y pozíciu v rámci celej obrazovky a nie pozíciu v rámci mnou vytvoreného okna. Poradíte mi? Už deň sa hrabem v dokumentácii a našiel som všeličo, ale nie to čo teraz potrebujem. Vďaka.
    • Re: pozícia kurzora v gtk+2.0 07.09.2008 | 14:24
      still   Návštevník
      A zistit poziciu vytvoreneho okna vies? ;-)
      • Re: pozícia kurzora v gtk+2.0 07.09.2008 | 15:11
        Avatar stanley Ubuntu,Knoppix  Používateľ
        Už to mám. Išiel som na to od buka :-) Dá sa to cez gdk takto:

        gint x,y;
        GdkDisplay *display = NULL;
        GdkScreen *screen = NULL;

        display = gdk_display_get_default ();
        screen = gdk_display_get_default_screen (display);

        gdk_display_get_window_at_pointer(display, &x, &y);


        Vracia to súradnice x,y v mojom okne.