forked from enlightenment/enventor
support view scale factor change.
use ctrl + mouse wheel up/down
This commit is contained in:
parent
967644fb2c
commit
867c6bf2ed
2
README
2
README
|
@ -58,6 +58,8 @@ Ctrl+W = Show/Hide Dummy Swallow Object
|
|||
Ctrl++ = Font Size Up
|
||||
Ctrl+- = Font Size Down
|
||||
Ctrl+T = Insert Defaut Template Code
|
||||
Ctrl+Mouse Wheel Up = View Scale Up
|
||||
Ctrl+Mouse Wheel Down = View Scale Down
|
||||
Ctrl+Shift+A = Insert Part Template Code: Table
|
||||
Ctrl+Shift+B = Insert Part Template Code: Textblock
|
||||
Ctrl+Shift+E = Insert Part Template Code: External
|
||||
|
|
|
@ -16,12 +16,12 @@ struct config_s
|
|||
Eina_Strbuf *edc_data_path_buf; //pre-stored data paths for edc compile.
|
||||
|
||||
float font_size;
|
||||
double view_scale;
|
||||
|
||||
void (*update_cb)(void *data, config_data *cd);
|
||||
void *update_cb_data;
|
||||
Evas_Coord_Size view_size;
|
||||
|
||||
|
||||
Eina_Bool stats_bar : 1;
|
||||
Eina_Bool linenumber : 1;
|
||||
Eina_Bool part_highlight : 1;
|
||||
|
@ -83,6 +83,7 @@ config_init(const char *edc_path, const char *edc_img_path,
|
|||
config_edc_data_path_set(cd, edc_data_path);
|
||||
|
||||
cd->font_size = 1.0f;
|
||||
cd->view_scale = 1;
|
||||
cd->linenumber = EINA_TRUE;
|
||||
cd->part_highlight = EINA_TRUE;
|
||||
cd->dummy_swallow = EINA_TRUE;
|
||||
|
@ -454,3 +455,19 @@ config_auto_indent_set(config_data *cd, Eina_Bool auto_indent)
|
|||
{
|
||||
cd->auto_indent = auto_indent;
|
||||
}
|
||||
|
||||
void
|
||||
config_view_scale_set(config_data *cd, double view_scale)
|
||||
{
|
||||
if (view_scale > MAX_VIEW_SCALE)
|
||||
view_scale = MAX_VIEW_SCALE;
|
||||
else if (view_scale < MIN_VIEW_SCALE)
|
||||
view_scale = MIN_VIEW_SCALE;
|
||||
cd->view_scale = view_scale;
|
||||
}
|
||||
|
||||
double
|
||||
config_view_scale_get(config_data *cd)
|
||||
{
|
||||
return cd->view_scale;
|
||||
}
|
||||
|
|
|
@ -357,3 +357,14 @@ view_data_get(view_data *vd)
|
|||
{
|
||||
return vd->data;
|
||||
}
|
||||
|
||||
void
|
||||
view_scale_set(view_data *vd, double scale)
|
||||
{
|
||||
if (!vd->layout) return;
|
||||
edje_object_scale_set(vd->layout, scale);
|
||||
|
||||
char buf[256];
|
||||
snprintf(buf, sizeof(buf), "View Scale: %2.1fx", scale);
|
||||
stats_info_msg_update(vd->sd, buf);
|
||||
}
|
||||
|
|
|
@ -366,6 +366,27 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void *ev)
|
|||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
main_mouse_wheel_cb(void *data, int type EINA_UNUSED, void *ev)
|
||||
{
|
||||
Ecore_Event_Mouse_Wheel *event = ev;
|
||||
app_data *ad = data;
|
||||
|
||||
if (!ad->ctrl_pressed) return ECORE_CALLBACK_PASS_ON;
|
||||
|
||||
//Scale up/down layout
|
||||
view_data *vd = edj_mgr_view_get(ad->em, NULL);
|
||||
double scale = config_view_scale_get(ad->cd);
|
||||
|
||||
if (event->z < 0) scale += 0.1;
|
||||
else scale -= 0.1;
|
||||
|
||||
config_view_scale_set(ad->cd, scale);
|
||||
view_scale_set(vd, config_view_scale_get(ad->cd));
|
||||
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
||||
static void
|
||||
edc_view_set(app_data *ad, config_data *cd, stats_data *sd,
|
||||
Eina_Stringshare *group)
|
||||
|
@ -567,6 +588,7 @@ init(app_data *ad, int argc, char **argv)
|
|||
ecore_event_init();
|
||||
ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, main_key_down_cb, ad);
|
||||
ecore_event_handler_add(ECORE_EVENT_KEY_UP, main_key_up_cb, ad);
|
||||
ecore_event_handler_add(ECORE_EVENT_MOUSE_WHEEL, main_mouse_wheel_cb, ad);
|
||||
|
||||
elm_init(argc, argv);
|
||||
elm_setup();
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#define MAX_FONT_SIZE 5.0
|
||||
#define MIN_FONT_SIZE 0.5
|
||||
#define MAX_VIEW_SCALE 10
|
||||
#define MIN_VIEW_SCALE 0.1
|
||||
|
||||
config_data *config_init(const char *edc_path, const char *edc_img_path, const char *edc_snd_path, const char *edc_fnt_path, const char *edc_data_path);
|
||||
void config_term(config_data *cd);
|
||||
|
@ -34,4 +36,6 @@ void config_auto_indent_set(config_data *cd, Eina_Bool auto_indent);
|
|||
Eina_Bool config_auto_indent_get(config_data *cd);
|
||||
void config_font_size_set(config_data *cd, float font_size);
|
||||
float config_font_size_get(config_data *cd);
|
||||
void config_view_scale_set(config_data *cd, double view_scale);
|
||||
double config_view_scale_get(config_data *cd);
|
||||
|
||||
|
|
|
@ -7,3 +7,4 @@ void view_dummy_toggle(view_data *vd, Eina_Bool msg);
|
|||
void view_program_run(view_data *vd, const char *program);
|
||||
Eina_Stringshare *view_group_name_get(view_data *vd);
|
||||
void *view_data_get(view_data *vd);
|
||||
void view_scale_set(view_data *vd, double scale);
|
||||
|
|
Loading…
Reference in New Issue