elementary: Add internal function to set wayland cursor
Add an internal elm function we can call from withint els_cursor.c so that we can set window cursor/pointer images based on what is supplied by els_cursor. @feature Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
parent
4bffa7bfa7
commit
e179115f41
|
@ -2960,6 +2960,55 @@ _elm_win_wlwindow_get(Efl_Ui_Win_Data *sd)
|
||||||
{
|
{
|
||||||
sd->wl.win = _elm_ee_wlwin_get(sd->ee);
|
sd->wl.win = _elm_ee_wlwin_get(sd->ee);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_elm_win_wl_cursor_set(Evas_Object *obj, const char *cursor)
|
||||||
|
{
|
||||||
|
ELM_WIN_DATA_GET(obj, sd);
|
||||||
|
|
||||||
|
if (!sd) return;
|
||||||
|
|
||||||
|
if (sd->pointer.obj)
|
||||||
|
{
|
||||||
|
Evas_Coord mw = 1, mh = 1, hx = 0, hy = 0;
|
||||||
|
|
||||||
|
fprintf(stderr, "Elm Win Cursor Set: %s\n", cursor);
|
||||||
|
|
||||||
|
if (cursor)
|
||||||
|
{
|
||||||
|
if (!_elm_theme_object_set(sd->obj, sd->pointer.obj,
|
||||||
|
"cursor", cursor, "default"))
|
||||||
|
{
|
||||||
|
fprintf(stderr, "\tCursor %s not found in theme\n", cursor);
|
||||||
|
_elm_theme_object_set(sd->obj, sd->pointer.obj,
|
||||||
|
"pointer", "base", "default");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
_elm_theme_object_set(sd->obj, sd->pointer.obj,
|
||||||
|
"pointer", "base", "default");
|
||||||
|
|
||||||
|
edje_object_size_min_get(sd->pointer.obj, &mw, &mh);
|
||||||
|
edje_object_size_min_restricted_calc(sd->pointer.obj, &mw, &mh, mw, mh);
|
||||||
|
if ((mw < 32) || (mh < 32))
|
||||||
|
{
|
||||||
|
mw = 32;
|
||||||
|
mh = 32;
|
||||||
|
}
|
||||||
|
fprintf(stderr, "\tMin Size: %d %d\n", mw, mh);
|
||||||
|
evas_object_move(sd->pointer.obj, 0, 0);
|
||||||
|
evas_object_resize(sd->pointer.obj, mw, mh);
|
||||||
|
edje_object_part_geometry_get(sd->pointer.obj,
|
||||||
|
"elm.swallow.hotspot",
|
||||||
|
&hx, &hy, NULL, NULL);
|
||||||
|
sd->pointer.hot_x = hx;
|
||||||
|
sd->pointer.hot_y = hy;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((sd->wl.win) && (sd->pointer.surf))
|
||||||
|
ecore_wl2_window_pointer_set(sd->wl.win, sd->pointer.surf,
|
||||||
|
sd->pointer.hot_x, sd->pointer.hot_y);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Ecore_Cocoa_Window *
|
Ecore_Cocoa_Window *
|
||||||
|
@ -3523,7 +3572,7 @@ static void
|
||||||
_elm_win_frame_cb_move_start(void *data,
|
_elm_win_frame_cb_move_start(void *data,
|
||||||
Evas_Object *obj EINA_UNUSED,
|
Evas_Object *obj EINA_UNUSED,
|
||||||
const char *sig EINA_UNUSED,
|
const char *sig EINA_UNUSED,
|
||||||
const char *source)
|
const char *source EINA_UNUSED)
|
||||||
{
|
{
|
||||||
int ox, oy;
|
int ox, oy;
|
||||||
|
|
||||||
|
|
|
@ -532,6 +532,10 @@ void _elm_dbus_menu_item_select_cb(Elm_Object_Item *obj_item);
|
||||||
void _elm_menu_menu_bar_set(Eo *obj, Eina_Bool menu_bar);
|
void _elm_menu_menu_bar_set(Eo *obj, Eina_Bool menu_bar);
|
||||||
void _elm_menu_menu_bar_hide(Eo *obj);
|
void _elm_menu_menu_bar_hide(Eo *obj);
|
||||||
|
|
||||||
|
#ifdef HAVE_ELEMENTARY_WL2
|
||||||
|
void _elm_win_wl_cursor_set(Evas_Object *obj, const char *cursor);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* DEPRECATED, will be removed on next release */
|
/* DEPRECATED, will be removed on next release */
|
||||||
void _elm_icon_signal_emit(Evas_Object *obj,
|
void _elm_icon_signal_emit(Evas_Object *obj,
|
||||||
const char *emission,
|
const char *emission,
|
||||||
|
|
Loading…
Reference in New Issue