[EGIT] [exclaim] 01/01: Temp progress
This is an automated email from the git hooks/post-receive script. git pushed a commit to branch master in repository exclaim. View the commit online. commit 54e2d11dfb096d367356e19e6561174a9b913827 Author: Nekobit AuthorDate: Wed Sep 20 14:00:20 2023 -0400 Temp progress --- src/main.c | 3 +++ src/status.c | 21 - 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main.c b/src/main.c index e0a21d1..46c3266 100644 --- a/src/main.c +++ b/src/main.c @@ -36,6 +36,9 @@ elm_main(int argc, char** argv) elm_box_pack_end(status_content, status); } + Evas_Object* lol = E_SHOW(elm_label_add(status_content)); + elm_object_text_set(lol, "sdfjkfhjkahgkljsghklfjghdsjkghsdf"); + elm_box_pack_end(status_content, lol); E_END(status_content); E_END(status_scr); diff --git a/src/status.c b/src/status.c index f0a0c19..a3167ff 100644 --- a/src/status.c +++ b/src/status.c @@ -7,11 +7,19 @@ Evas_Object* exc_status_add(Evas_Object* parent, struct exc_status status) { - Evas_Object* st_frame = elm_frame_add(parent); + Evas_Object* root = elm_table_add(parent); + evas_object_size_hint_min_set(root, 300, 300); + + Evas_Object* st_frame = E_SHOW(elm_frame_add(root)); E_BEGIN(st_frame); + elm_table_pack(root, st_frame, 0, 0, 1, 1); evas_object_size_hint_padding_set(st_frame, 3, 3, 3, 3); + //evas_object_fullsize(st_frame); + evas_object_size_hint_weight_set(st_frame, 1, 0); + evas_object_size_hint_align_set (st_frame, -1, 0.0); //evas_object_size_hint_min_set(st_frame, 300, 300); + Evas_Object* st_box = E_SHOW(elm_box_add(st_frame)); E_BEGIN(st_box); //evas_object_size_hint_min_set(st_box, 300, 300); @@ -50,12 +58,13 @@ exc_status_add(Evas_Object* parent, struct exc_status status) Evas_Object* st_content = E_SHOW(elm_entry_add(st_box)); E_BEGIN(st_content); elm_object_text_set(st_username, "Status"); + +//evas_object_size_hint_min_set(st_content, 300, 300); -evas_object_size_hint_min_set(st_content, 300, 300); - -//evas_object_size_hint_weight_set(st_content +evas_object_size_hint_weight_set(st_content, 1, 1); elm_entry_editable_set(st_content, EINA_FALSE); +elm_entry_single_line_set(st_content, EINA_FALSE); elm_object_text_set(st_content, "Lol, lmao. LOL even"); elm_box_pack_end(st_box_rt, st_content); E_END(st_content); @@ -64,8 +73,10 @@ exc_status_add(Evas_Object* parent, struct exc_status status) E_BEGIN(st_box_rt); elm_object_content_set(st_frame, st_box); + elm_widget_style_set(st_frame, "outline"); + //elm_widget_theme_object_set(st_frame, NULL, "focus_highlight", "top", "notify"); E_END(st_box); E_END(st_frame); - return st_frame; + return root; } -- To stop receiving notification emails like this one, please contact the administrator of this repository.
[EGIT] [exclaim] 01/01: Improve statuses
This is an automated email from the git hooks/post-receive script. git pushed a commit to branch master in repository exclaim. View the commit online. commit b30cae39d2f6873b728cd6337794b32f30ba81a0 Author: Nekobit AuthorDate: Wed Sep 20 23:11:20 2023 -0400 Improve statuses --- src/explode.c | 209 src/main.c | 5 ++ src/meson.build | 1 + src/status.c| 117 --- 4 files changed, 309 insertions(+), 23 deletions(-) diff --git a/src/explode.c b/src/explode.c new file mode 100644 index 000..0d034ba --- /dev/null +++ b/src/explode.c @@ -0,0 +1,209 @@ +#include + +static Evas_Object *target = NULL; +static Ecore_Animator *anim = NULL; + +static Eina_List *mirrors = NULL; + +static Eina_Bool +_cb_anim(void *data EINA_UNUSED, double pos) +{ + Eina_List *l; + Evas_Object *o; + double v = ecore_animator_pos_map(pos, ECORE_POS_MAP_SINUSOIDAL, 0.0, 0.0); + Evas_Coord x, y, w, h; + Evas_Coord vw, vh; + int tot; + + evas_output_viewport_get(evas_object_evas_get(target), NULL, NULL, &vw, &vh); + evas_object_geometry_get(target, &x, &y, &w, &h); + tot = (eina_list_count(mirrors) + 2) / 2; + EINA_LIST_FOREACH(mirrors, l, o) + { +Evas_Map *m = evas_map_new(4); +int n = (int)((uintptr_t)evas_object_data_get(o, "stack")); +double ang = (((double)(n + 1) * 180.0) / (double)tot); +evas_map_util_points_populate_from_object(m, o); +//evas_map_util_3d_rotate(m, ang * v / 1.0, ang * v, 0, +//x + w + (w / 2), y + (h / 2), 315); + evas_map_util_3d_rotate(m, -10 * v, 20 * v, 0, x + (w/2), y + (h/2), ang * v); +//evas_map_util_3d_perspective(m, vw / 2, vh / 2, 0, vw + vh); +evas_object_map_set(o, m); +evas_map_free(m); +evas_object_map_enable_set(o, EINA_TRUE); + } + if (pos >= 1.0) anim = NULL; + return EINA_TRUE; +} + +static int +explode_obj(Evas_Object *obj, int n) +{ + Eina_List *children = NULL; + Evas_Object *o; + Evas *e; + + e = evas_object_evas_get(obj); + children = evas_object_smart_members_get(obj); + if (!children) + { +Evas_Object *m; +Evas_Coord x, y, w, h; + +evas_object_geometry_get(obj, &x, &y, &w, &h); + +m = evas_object_image_filled_add(e); +mirrors = eina_list_append(mirrors, m); +evas_object_anti_alias_set(m, EINA_TRUE); +evas_object_image_source_clip_set(m, EINA_FALSE); +evas_object_pass_events_set(m, EINA_TRUE); +evas_object_image_source_set(m, obj); +evas_object_image_source_visible_set(m, EINA_FALSE); +evas_object_layer_set(m, EVAS_LAYER_MAX - 10); +evas_object_move(m, x, y); +evas_object_resize(m, w, h); +evas_object_show(m); +evas_object_color_set(m, 0, 0, 0, 128); +evas_object_data_set(m, "stack", (void *)((uintptr_t)n)); + +n++; + +m = evas_object_image_filled_add(e); +mirrors = eina_list_append(mirrors, m); +evas_object_anti_alias_set(m, EINA_TRUE); +evas_object_image_source_clip_set(m, EINA_FALSE); +evas_object_pass_events_set(m, EINA_TRUE); +evas_object_image_source_set(m, obj); +evas_object_image_source_visible_set(m, EINA_FALSE); +evas_object_layer_set(m, EVAS_LAYER_MAX - 10); +evas_object_move(m, x, y); +evas_object_resize(m, w, h); +evas_object_show(m); +evas_object_data_set(m, "stack", (void *)((uintptr_t)n)); + } + else + { +EINA_LIST_FREE(children, o) + { + if (!evas_object_visible_get(o)) continue; + if (evas_object_clipees_has(o)) continue; + + n = explode_obj(o, n); + } + } + return n; +} + +static void +explode(Evas_Object *obj) +{ + Evas_Object *o; + + EINA_LIST_FREE(mirrors, o) evas_object_del(o); + if (!obj) return; + + explode_obj(obj, 0); + if (!anim) anim = ecore_animator_timeline_add(1.0, _cb_anim, NULL); +} + +static void +_cb_target_del(void *data EINA_UNUSED, Evas *e EINA_UNUSED, + Evas_Object *obj, void *info EINA_UNUSED) +{ + if (obj == target) + { +if (anim) + { + ecore_animator_del(anim); + anim = NULL; + } +explode(NULL); +target = NULL; + } +} + +static void +_cb_catcher_down(void *data, Evas *e, + Evas_Object *obj EINA_UNUSED, void *info) +{ + Evas_Event_Mouse_Down *ev = info; + + if (target) + { +evas_object_event_callback_del_full(target, EVAS_CALLBACK_DEL, +_cb_target_del, data); +if (anim) + { + ecore_animator_del(anim); + anim = NULL; + } +explode(NULL); +target = NULL; + } + if ((ev->button == 2) && + (evas_key_modifier_is_set(ev->modifiers, "Control"
[EGIT] [exclaim] 01/01: Sidebar
This is an automated email from the git hooks/post-receive script. git pushed a commit to branch master in repository exclaim. View the commit online. commit 51e10eae4dc30e918ed78d5f84dd8507f685e2b5 Author: Nekobit AuthorDate: Wed Sep 20 23:25:48 2023 -0400 Sidebar --- src/main.c | 77 ++ 1 file changed, 53 insertions(+), 24 deletions(-) diff --git a/src/main.c b/src/main.c index 49673e2..c51c49d 100644 --- a/src/main.c +++ b/src/main.c @@ -7,6 +7,25 @@ void explode_win_enable(Evas_Object* win); +Evas_Object* +create_sidebar(Evas_Object* parent) +{ + Evas_Object* o; + Evas_Object* sb = elm_toolbar_add(parent); + evas_object_size_hint_weight_set(sb, 0.0, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(sb, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_toolbar_horizontal_set(sb, EINA_FALSE); + elm_toolbar_homogeneous_set(sb, EINA_TRUE); + elm_toolbar_shrink_mode_set(sb, ELM_TOOLBAR_SHRINK_MENU); + + o = elm_toolbar_item_append(sb, "home", "Home", NULL, NULL); + elm_toolbar_item_priority_set(o, -100); + o = elm_toolbar_item_append(sb, "mail-unread", "Unread", NULL, NULL); + elm_toolbar_item_priority_set(o, 100); + + return sb; +} + EAPI_MAIN int elm_main(int argc, char** argv) { @@ -16,40 +35,50 @@ elm_main(int argc, char** argv) elm_app_compile_data_dir_set(PACKAGE_DATA_DIR); elm_app_info_set(elm_main, "exclaim", "checkme"); - Evas_Object* win = elm_win_util_standard_add("exclaim_root", "Exclaim"); + Evas_Object* win = E_SHOW(elm_win_util_standard_add("exclaim_root", "Exclaim")); E_BEGIN(win); elm_win_icon_name_set(win, "email-unread"); elm_win_autodel_set(win, EINA_TRUE); explode_win_enable(win); + + Evas_Object* root = E_SHOW(elm_box_add(win)); + E_BEGIN(root); + elm_box_horizontal_set(root, EINA_TRUE); + evas_object_fullsize(root); + + Evas_Object* sidebar = E_SHOW(create_sidebar(win)); + elm_box_pack_end(root, sidebar); - Evas_Object* status_scr = E_SHOW(elm_scroller_add(win)); - E_BEGIN(status_scr); - evas_object_fullsize(status_scr); + Evas_Object* status_scr = E_SHOW(elm_scroller_add(win)); + E_BEGIN(status_scr); + evas_object_fullsize(status_scr); - Evas_Object* status_content = E_SHOW(elm_box_add(status_scr)); - E_BEGIN(status_content); - evas_object_fullsize(status_content); - elm_object_content_set(status_scr, status_content); + Evas_Object* status_content = E_SHOW(elm_box_add(status_scr)); + E_BEGIN(status_content); +evas_object_fullsize(status_content); +elm_object_content_set(status_scr, status_content); - for (int i = 0; i < 30; ++i) - { -struct exc_status st_test = { - .title = "wow", -}; -Evas_Object* status = E_SHOW(exc_status_add(status_content, st_test)); +for (int i = 0; i < 30; ++i) +{ + struct exc_status st_test = { + .title = "wow", + }; + Evas_Object* status = E_SHOW(exc_status_add(status_content, st_test)); -elm_box_pack_end(status_content, status); - } - Evas_Object* lol = E_SHOW(elm_label_add(status_content)); - elm_object_text_set(lol, "sdfjkfhjkahgkljsghklfjghdsjkghsdf"); - elm_box_pack_end(status_content, lol); - E_END(status_content); - E_END(status_scr); + elm_box_pack_end(status_content, status); +} +Evas_Object* lol = E_SHOW(elm_label_add(status_content)); +elm_object_text_set(lol, "sdfjkfhjkahgkljsghklfjghdsjkghsdf"); +elm_box_pack_end(status_content, lol); + E_END(status_content); + + elm_box_pack_end(root, status_scr); + E_END(status_scr); - evas_object_resize(win, ELM_SCALE_SIZE(700), ELM_SCALE_SIZE(300)); - elm_win_resize_object_add(win, status_scr); - E_SHOW(win); + evas_object_resize(win, ELM_SCALE_SIZE(700), ELM_SCALE_SIZE(300)); + elm_win_resize_object_add(win, root); + E_END(root); E_END(win); elm_run(); -- To stop receiving notification emails like this one, please contact the administrator of this repository.