From 4fcd1a989c16c3d35b6cfb7861a4a00b4f82b73e Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sat, 15 Feb 2020 15:33:02 +0000 Subject: [PATCH] e - scale pointer by scale factor properly... --- src/bin/e_pointer.c | 5 +++-- src/bin/e_scale.c | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c index 8bb536dc2..61743a2cf 100644 --- a/src/bin/e_pointer.c +++ b/src/bin/e_pointer.c @@ -525,7 +525,7 @@ e_pointer_window_new(Ecore_Window win, Eina_Bool filled) return NULL; /* set default pointer properties */ - ptr->w = ptr->h = e_config->cursor_size; + ptr->w = ptr->h = (double)e_config->cursor_size * e_scale; ptr->e_cursor = e_config->use_e_cursor; ptr->win = win; ptr->color = EINA_FALSE; @@ -555,7 +555,7 @@ e_pointer_canvas_new(Ecore_Evas *ee, Eina_Bool filled) /* set default pointer properties */ ptr->color = EINA_TRUE; ptr->canvas = EINA_TRUE; - ptr->w = ptr->h = e_config->cursor_size; + ptr->w = ptr->h = (double)e_config->cursor_size * e_scale; ptr->e_cursor = 1; ptr->ee = ee; @@ -581,6 +581,7 @@ e_pointers_size_set(int size) if (!e_config->show_cursor) return; + size = (double)size * e_scale; EINA_LIST_FOREACH(_ptrs, l, ptr) { if ((ptr->w == size) && (ptr->h == size)) continue; diff --git a/src/bin/e_scale.c b/src/bin/e_scale.c index 1ec285d7c..7ddb21f89 100644 --- a/src/bin/e_scale.c +++ b/src/bin/e_scale.c @@ -55,5 +55,6 @@ e_scale_update(void) snprintf(buf, sizeof(buf), "%1.3f", e_scale); e_util_env_set("E_SCALE", buf); e_hints_scale_update(); + e_pointers_size_set(e_config->cursor_size); }