tilman's xcursor patch

SVN revision: 11380
This commit is contained in:
Carsten Haitzler 2004-08-25 23:41:57 +00:00
parent 5f9604253c
commit 74218f9611
3 changed files with 21 additions and 18 deletions

View File

@ -738,6 +738,8 @@ int ecore_x_dnd_begin (Ecore_X_Window source, unsigned char *data,
Ecore_X_Window ecore_x_window_new(Ecore_X_Window parent, int x, int y, int w, int h);
Ecore_X_Window ecore_x_window_override_new(Ecore_X_Window parent, int x, int y, int w, int h);
Ecore_X_Window ecore_x_window_input_new(Ecore_X_Window parent, int x, int y, int w, int h);
void ecore_x_window_cursor_set(Ecore_X_Window win,
Ecore_X_Cursor c);
void ecore_x_window_del(Ecore_X_Window win);
void ecore_x_window_delete_request_send(Ecore_X_Window win);
void ecore_x_window_show(Ecore_X_Window win);
@ -877,10 +879,8 @@ void ecore_x_gc_del(Ecore_X_GC gc);
ecore_x_cursor_new(Ecore_X_Window win, int *pixels, int w, int h, int hot_x, int hot_y);
void
ecore_x_cursor_free(Ecore_X_Cursor c);
void
ecore_x_cursor_set(Ecore_X_Window win, Ecore_X_Cursor c);
void
ecore_x_cursor_shape_set(Ecore_X_Window win, int shape);
Ecore_X_Cursor
ecore_x_cursor_shape_get(int shape);
int
ecore_x_pointer_grab(Ecore_X_Window win);

View File

@ -1184,22 +1184,16 @@ ecore_x_cursor_free(Ecore_X_Cursor c)
XFreeCursor(_ecore_x_disp, c);
}
void
ecore_x_cursor_set(Ecore_X_Window win, Ecore_X_Cursor c)
{
if (c == 0)
XUndefineCursor(_ecore_x_disp, win);
else
XDefineCursor(_ecore_x_disp, win, c);
}
void
ecore_x_cursor_shape_set(Ecore_X_Window win, int shape)
/*
* Returns the cursor for the given shape.
* Note that the return value must not be freed with
* ecore_x_cursor_free()!
*/
Ecore_X_Cursor
ecore_x_cursor_shape_get(int shape)
{
/* Shapes are defined in Ecore_X_Cursor.h */
Cursor c = XCreateFontCursor(_ecore_x_disp, shape);
if (c)
ecore_x_cursor_set(win, c);
return XCreateFontCursor(_ecore_x_disp, shape);
}
int

View File

@ -536,6 +536,15 @@ ecore_x_window_cursor_show(Ecore_X_Window win, int show)
}
}
void
ecore_x_window_cursor_set(Ecore_X_Window win, Ecore_X_Cursor c)
{
if (c == 0)
XUndefineCursor(_ecore_x_disp, win);
else
XDefineCursor(_ecore_x_disp, win, c);
}
/**
* Finds out whether the given window is currently visible.
* @param win The given window.