aboutsummaryrefslogtreecommitdiffstats
path: root/data/themes/edc
diff options
context:
space:
mode:
Diffstat (limited to 'data/themes/edc')
-rw-r--r--data/themes/edc/O/efm_icons.edc160
-rw-r--r--data/themes/edc/O/icons.edc200
-rw-r--r--data/themes/edc/about-e.edc284
-rw-r--r--data/themes/edc/about-theme.edc189
-rw-r--r--data/themes/edc/appmenu.edc77
-rw-r--r--data/themes/edc/background.edc21
-rw-r--r--data/themes/edc/backlight.edc66
-rw-r--r--data/themes/edc/battery.edc347
-rw-r--r--data/themes/edc/bluez4.edc26
-rw-r--r--data/themes/edc/border-icons.edc42
-rw-r--r--data/themes/edc/border.edc1274
-rw-r--r--data/themes/edc/button.edc218
-rw-r--r--data/themes/edc/check.edc166
-rw-r--r--data/themes/edc/clock.edc1179
-rw-r--r--data/themes/edc/colors.edc156
-rw-r--r--data/themes/edc/colorwell.edc78
-rw-r--r--data/themes/edc/comp.edc853
-rw-r--r--data/themes/edc/comp_effects.edc497
-rw-r--r--data/themes/edc/conf.edc142
-rw-r--r--data/themes/edc/connman.edc703
-rw-r--r--data/themes/edc/cpufreq.edc353
-rw-r--r--data/themes/edc/cslider.edc146
-rw-r--r--data/themes/edc/desklock.edc301
-rw-r--r--data/themes/edc/deskpreview.edc17
-rw-r--r--data/themes/edc/dialog.edc110
-rw-r--r--data/themes/edc/edgebindings.edc233
-rw-r--r--data/themes/edc/elm/access.edc60
-rw-r--r--data/themes/edc/elm/actionslider.edc277
-rw-r--r--data/themes/edc/elm/bg.edc31
-rw-r--r--data/themes/edc/elm/border.edc1666
-rw-r--r--data/themes/edc/elm/bubble.edc738
-rw-r--r--data/themes/edc/elm/button.edc1285
-rw-r--r--data/themes/edc/elm/calendar.edc534
-rw-r--r--data/themes/edc/elm/check.edc891
-rw-r--r--data/themes/edc/elm/clock.edc397
-rw-r--r--data/themes/edc/elm/colorsel.edc629
-rw-r--r--data/themes/edc/elm/conform.edc53
-rw-r--r--data/themes/edc/elm/ctxpopup.edc263
-rw-r--r--data/themes/edc/elm/datetime.edc192
-rw-r--r--data/themes/edc/elm/dayselector.edc487
-rw-r--r--data/themes/edc/elm/diskselector.edc388
-rw-r--r--data/themes/edc/elm/entry.edc1208
-rw-r--r--data/themes/edc/elm/fileselector.edc204
-rw-r--r--data/themes/edc/elm/flipselector.edc558
-rw-r--r--data/themes/edc/elm/focus.edc152
-rw-r--r--data/themes/edc/elm/frame.edc286
-rw-r--r--data/themes/edc/elm/gengrid.edc984
-rw-r--r--data/themes/edc/elm/genlist.edc5699
-rw-r--r--data/themes/edc/elm/hover.edc1264
-rw-r--r--data/themes/edc/elm/icon.edc89
-rw-r--r--data/themes/edc/elm/index.edc680
-rw-r--r--data/themes/edc/elm/inwin.edc79
-rw-r--r--data/themes/edc/elm/label.edc389
-rw-r--r--data/themes/edc/elm/layout.edc535
-rw-r--r--data/themes/edc/elm/list.edc707
-rw-r--r--data/themes/edc/elm/map.edc208
-rw-r--r--data/themes/edc/elm/menu.edc690
-rw-r--r--data/themes/edc/elm/multibuttonentry.edc262
-rw-r--r--data/themes/edc/elm/naviframe.edc635
-rw-r--r--data/themes/edc/elm/notify.edc188
-rw-r--r--data/themes/edc/elm/panel.edc355
-rw-r--r--data/themes/edc/elm/panes.edc515
-rw-r--r--data/themes/edc/elm/photo.edc91
-rw-r--r--data/themes/edc/elm/photocam.edc100
-rw-r--r--data/themes/edc/elm/player.edc639
-rw-r--r--data/themes/edc/elm/pointer.edc50
-rw-r--r--data/themes/edc/elm/popup.edc455
-rw-r--r--data/themes/edc/elm/progress.edc1400
-rw-r--r--data/themes/edc/elm/radio.edc272
-rw-r--r--data/themes/edc/elm/scroller.edc756
-rw-r--r--data/themes/edc/elm/segment_control.edc440
-rw-r--r--data/themes/edc/elm/separator.edc27
-rw-r--r--data/themes/edc/elm/slider.edc1452
-rw-r--r--data/themes/edc/elm/slideshow.edc349
-rw-r--r--data/themes/edc/elm/spinner.edc302
-rw-r--r--data/themes/edc/elm/thumb.edc134
-rw-r--r--data/themes/edc/elm/toolbar.edc1398
-rw-r--r--data/themes/edc/elm/tooltip.edc428
-rw-r--r--data/themes/edc/elm/video.edc43
-rw-r--r--data/themes/edc/elm/win.edc46
-rw-r--r--data/themes/edc/entry.edc202
-rw-r--r--data/themes/edc/evrything.edc1965
-rw-r--r--data/themes/edc/fileman.edc2434
-rw-r--r--data/themes/edc/fontpreview.edc21
-rw-r--r--data/themes/edc/frame.edc101
-rw-r--r--data/themes/edc/gadman.edc508
-rw-r--r--data/themes/edc/ibar-ibox.edc745
-rw-r--r--data/themes/edc/icons.edc46
-rw-r--r--data/themes/edc/ilist.edc407
-rw-r--r--data/themes/edc/illume.edc674
-rw-r--r--data/themes/edc/init.edc583
-rw-r--r--data/themes/edc/label.edc37
-rw-r--r--data/themes/edc/menu.edc532
-rw-r--r--data/themes/edc/mixer.edc226
-rw-r--r--data/themes/edc/music_control.edc118
-rw-r--r--data/themes/edc/notification.edc189
-rw-r--r--data/themes/edc/pager.edc465
-rw-r--r--data/themes/edc/pointer.edc454
-rw-r--r--data/themes/edc/preview.edc49
-rw-r--r--data/themes/edc/radio.edc141
-rw-r--r--data/themes/edc/randr.edc686
-rw-r--r--data/themes/edc/scrollframe.edc711
-rw-r--r--data/themes/edc/shelf.edc287
-rw-r--r--data/themes/edc/slider.edc451
-rw-r--r--data/themes/edc/spectrum.edc139
-rw-r--r--data/themes/edc/start.edc117
-rw-r--r--data/themes/edc/sys.edc103
-rw-r--r--data/themes/edc/syscon.edc256
-rw-r--r--data/themes/edc/systray.edc153
-rw-r--r--data/themes/edc/tasks.edc394
-rw-r--r--data/themes/edc/temperature.edc119
-rw-r--r--data/themes/edc/textblock.edc25
-rw-r--r--data/themes/edc/toolbar.edc358
-rw-r--r--data/themes/edc/transitions.edc146
-rw-r--r--data/themes/edc/wallpaper.edc1700
-rw-r--r--data/themes/edc/winlist.edc303
-rw-r--r--data/themes/edc/wizard.edc377
-rw-r--r--data/themes/edc/xkbswitch.edc173
118 files changed, 56193 insertions, 0 deletions
diff --git a/data/themes/edc/O/efm_icons.edc b/data/themes/edc/O/efm_icons.edc
new file mode 100644
index 000000000..bac8c4dcf
--- /dev/null
+++ b/data/themes/edc/O/efm_icons.edc
@@ -0,0 +1,160 @@
+ // EFM icons //
+ /* #define EFMICON(NAME, FILE, SIZE) \
+ * group { name: "e/icons/fileman/"NAME; \
+ * max: SIZE SIZE; \
+ * parts { \
+ * part { name: "icon"; \
+ * mouse_events: 0; \
+ * description { state: "default" 0.0; \
+ * aspect: 1.0 1.0; \
+ * aspect_preference: BOTH; \
+ * image.image: FILE COMP; \
+ * image.normal: FILE ; \
+ * } \
+ * } \
+ * } \
+ * } */
+ //EFMICON("folder","icon_efm_folder.png", 128)
+ //EFMICON("chrdev","icon_efm_file.png", 128)
+ //EFMICON("blkdev","icon_efm_file.png", 128)
+ //EFMICON("fifo","icon_efm_file.png", 128)
+ //EFMICON("socket","icon_efm_file.png", 128)
+ //EFMICON("executable","icon_efm_file.png", 128)
+ //EFMICON("home","icon_efm_home.png", 128)
+ //EFMICON("root","icon_efm_root.png", 128)
+ //EFMICON("tmp","icon_efm_tmp.png", 128)
+ //EFMICON("desktop","icon_efm_desktop.png", 128)
+ //EFMICON("hdd","icon_efm_hdd.png", 128)
+ //EFMICON("hd","icon_efm_hdd.png", 128)
+
+ // EFM Mime type icons //
+
+ #define MIMEICON(NAME, FILE, SIZE) \
+ group { \
+ name: "e/icons/fileman/mime/"NAME; \
+ max: SIZE SIZE; \
+ parts { \
+ part { \
+ name: "icon"; \
+ mouse_events: 0; \
+ description { \
+ state: "default" 0.0; \
+ aspect: 1.0 1.0; \
+ aspect_preference: BOTH; \
+ image.image: "O/"FILE COMP; \
+ image.normal: "O/"FILE ; \
+ } \
+ } \
+ } \
+ }
+
+ MIMEICON("application/pdf","icon_mime_pdf.png", 128);
+ MIMEICON("application/x-deb","icon_mime_deb.png", 128);
+ MIMEICON("application/x-bzip","icon_mime_package.png", 128);
+ MIMEICON("application/zip","icon_mime_package.png", 128);
+ MIMEICON("application/x-gzip","icon_mime_package.png", 128);
+ MIMEICON("application/x-bzip-compressed-tar","icon_mime_package.png", 128);
+ MIMEICON("application/x-bzip2-compressed-tar","icon_mime_package.png",128);
+ MIMEICON("application/x-compressed-tar","icon_mime_package.png",128);
+ MIMEICON("application/x-tar","icon_mime_package.png", 128);
+ MIMEICON("application/x-rar","icon_mime_package.png", 128);
+ MIMEICON("inode/chardevice","icon_efm_file.png", 128);
+ MIMEICON("inode/blockdevice","icon_efm_file.png", 128);
+ MIMEICON("inode/fifo","icon_efm_file.png", 128);
+ MIMEICON("inode/socket","icon_efm_file.png", 128);
+ MIMEICON("inode/directory","icon_efm_folder.png", 128);
+ MIMEICON("inode/file","icon_efm_file.png", 128);
+ MIMEICON("application/octet-stream","icon_efm_file.png", 128);
+ MIMEICON("application/x-executable","icon_mime_executable_generic.png", 128);
+ MIMEICON("application/x-ms-dos-executable","icon_mime_executable_generic.png", 128);
+ MIMEICON("application/x-7z-compressed","icon_mime_package.png", 128);
+ MIMEICON("application/vnd.ms-cab-compressed","icon_mime_package.png", 128);
+
+ // Dynamic MIME Icons //
+ #define MIMEBASE(MIME, FILE, NAME, SIZE) \
+ group { \
+ name: "e/icons/fileman/mime/"MIME; \
+ max: SIZE SIZE; \
+ parts { \
+ part { \
+ name: "base"; \
+ mouse_events: 0; \
+ description { \
+ state: "default" 0.0; \
+ aspect: 1.0 1.0; \
+ aspect_preference: BOTH; \
+ image.image: "O/"FILE COMP; \
+ image.normal: "O/"FILE; \
+ } \
+ } \
+ part { \
+ name: "name"; \
+ type: TEXT; \
+ mouse_events: 0; \
+ description { \
+ state: "default" 0.0; \
+ rel1.relative: 0.2444 0.6797; \
+ rel2.relative: 0.7478 0.8894; \
+ color: 245 245 245 255; \
+ text { \
+ text: NAME; \
+ font: FNBD; \
+ size: 4; \
+ fit: 1 1; \
+ min: 1 1; \
+ align: 0.5 0.0; \
+ } \
+ } \
+ } \
+ } \
+ }
+
+ MIMEBASE("video/mpeg","icon_mime_video_generic.png", ".MPEG", 128);
+ MIMEBASE("application/ogg","icon_mime_video_generic.png", ".OGG", 128);
+ MIMEBASE("video/x-theora+ogg","icon_mime_video_generic.png", ".OGG", 128);
+ MIMEBASE("video/x-msvideo","icon_mime_video_generic.png", ".AVI", 128);
+ MIMEBASE("video/ogg","icon_mime_video_generic.png", ".OGG", 128);
+ MIMEBASE("video/mp4","icon_mime_video_generic.png", ".MP4", 128);
+ MIMEBASE("video/quicktime","icon_mime_video_generic.png", ".MOV", 128);
+ MIMEBASE("video/x-matroska","icon_mime_video_generic.png", ".MKV", 128);
+ MIMEBASE("video/x-flv","icon_mime_video_generic.png", ".FLV", 128);
+ MIMEBASE("application/vnd.rn-realmedia","icon_mime_video_generic.png", ".REAL", 128);
+ MIMEBASE("video/x-ms-wmv","icon_mime_video_generic.png", ".WMV", 128);
+ MIMEBASE("image/png","icon_mime_image_generic.png", ".PNG", 128);
+ MIMEBASE("image/jpeg","icon_mime_image_generic.png", ".JPEG", 128);
+ MIMEBASE("image/gif","icon_mime_image_generic.png", ".GIF", 128);
+ MIMEBASE("image/bmp","icon_mime_image_generic.png", ".BMP", 128);
+ MIMEBASE("application/x-xcf","icon_mime_image_generic.png", ".XCF", 128);
+ MIMEBASE("application/x-cbz","icon_mime_image_generic.png", ".CBZ", 128);
+ MIMEBASE("application/x-cbr","icon_mime_image_generic.png", ".CBR", 128);
+ MIMEBASE("audio/mpeg","icon_mime_audio_generic.png", ".MP3", 128);
+ MIMEBASE("audio/x-wav","icon_mime_audio_generic.png", ".WAV", 128);
+ MIMEBASE("audio/x-flac","icon_mime_audio_generic.png", ".FLAC", 128);
+ MIMEBASE("audio/x-musepack","icon_mime_audio_generic.png", ".MPC", 128);
+ MIMEBASE("audio/x-vorbis+ogg","icon_mime_audio_generic.png", ".OGG", 128);
+ MIMEBASE("application/x-audacity-project","icon_mime_audio_generic.png", ".AUP", 128);
+ MIMEBASE("audio/x-ms-wma","icon_mime_audio_generic.png", ".WMA", 128);
+ MIMEBASE("text/css","icon_mime_text_generic.png", ".CSS", 128);
+ MIMEBASE("text/html","icon_mime_text_generic.png", ".HTML", 128);
+ MIMEBASE("text/x-csrc","icon_mime_text_generic.png", ".C", 128);
+ MIMEBASE("text/x-chdr","icon_mime_text_generic.png", ".H", 128);
+ MIMEBASE("text/x-c++src","icon_mime_text_generic.png", ".C++", 128);
+ MIMEBASE("text/x-csharp","icon_mime_text_generic.png", ".C#", 128);
+ MIMEBASE("text/x-patch","icon_mime_text_generic.png", ".PATCH", 128);
+ MIMEBASE("text/plain","icon_mime_text_generic.png", ".TXT", 128);
+ MIMEBASE("application/x-msword","icon_mime_text_generic.png", ".DOC", 128);
+ MIMEBASE("application/vnd.ms-powerpoint","icon_mime_text_generic.png", ".PPT", 128);
+ MIMEBASE("application/vnd.ms-excel","icon_mime_text_generic.png", ".XLS", 128);
+ MIMEBASE("application/x-abiword","icon_mime_text_generic.png", ".ABW", 128);
+ MIMEBASE("application/vnd.scribus","icon_mime_text_generic.png", ".SLA", 128);
+ MIMEBASE("text/x-python","icon_mime_text_generic.png", ".PY", 128);
+ MIMEBASE("application/x-awk","icon_mime_text_generic.png", ".AWK", 128);
+ MIMEBASE("application/x-lyx","icon_mime_text_generic.png", ".LYX", 128);
+ MIMEBASE("application/vnd.oasis.opendocument.spreadsheet","icon_mime_text_generic.png", ".ODS", 128);
+ MIMEBASE("application/vnd.oasis.opendocument.text","icon_mime_text_generic.png", ".ODT", 128);
+ MIMEBASE("application/vnd.oasis.opendocument.presentation","icon_mime_text_generic.png", ".ODP", 128);
+ MIMEBASE("application/x-object","icon_efm_file.png", "", 128);
+ MIMEBASE("application/x-shellscript","icon_applications.png", "", 128);
+ MIMEBASE("application/x-font-ttf","icon_mime_font_generic.png", ".TTF", 128);
+ MIMEBASE("application/x-font-pcf","icon_mime_font_generic.png", ".PCF", 128);
+ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
diff --git a/data/themes/edc/O/icons.edc b/data/themes/edc/O/icons.edc
new file mode 100644
index 000000000..a47886559
--- /dev/null
+++ b/data/themes/edc/O/icons.edc
@@ -0,0 +1,200 @@
+/////////////////////////////////////////////////////////////////////////////
+/*** ICONS ***/
+
+ #define ICON(NAME, FILE, SIZE) \
+ group { \
+ name: "e/icons/"NAME ; \
+ max: SIZE SIZE; \
+ parts { \
+ part { \
+ name: "icon"; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ aspect: 1.0 1.0; \
+ aspect_preference: BOTH; \
+ image.image: "O/"FILE COMP; \
+ image.normal: "O/"FILE ; \
+ } \
+ } \
+ } \
+ }
+
+ #define ICONMIME(NAME, FILE, SIZE) ICON("mimetypes/"NAME, FILE, SIZE)
+ /* FreeDesktop.Org Icons
+ * http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
+ *
+ * In the comment you can find the old e icon name.
+ *
+ * Icons marked with *** are not mentioned in the spec, but we still try to
+ * follow the naming convention.
+ *
+ * TO ADD A NEW ICON:
+ * 1. Search for a name in the spec OR
+ * 2. Search for a name in kde (oxygen) and gnome (tango - human) icon set OR
+ * 3. Try to follow the naming convention
+ */
+ //Standard Action Icons
+ ICON("list-add","icon_add.png",64) // "widget/add"
+ ICON("list-remove","icon_del.png",64) // "widget/del"
+ ICON("go-up","icon_up_arrow.png",64) // "widget/up_arrow" "widget/up_dir"
+ ICON("go-down","icon_down_arrow.png",64) // "widget/down_arrow"
+ ICON("go-next","icon_right_arrow.png",64) // "widget/new_dialog"
+ ICON("go-previous","icon_left_arrow.png",64) // none
+ ICON("bookmark-new","icon_add_fav.png",64) // "widget/add_fav"
+ ICON("edit-swap","icon_swap.png",64) // *** // "widget/swap"
+ ICON("edit-copy","icon_efm_copy.png",16) // EFMBUTTON("copy"
+ ICON("edit-cut","icon_efm_cut.png",16) // EFMBUTTON("cut"
+ ICON("edit-paste","icon_efm_paste.png",16) // EFMBUTTON("paste"
+ ICON("edit-delete","icon_efm_delete.png",16) // EFMBUTTON("delete"
+ ICON("edit-rename","icon_efm_rename.png",16) // EFMBUTTON("rename"
+ ICON("edit-select-all","icon_efm_select.png",16) // EFMBUTTON("select"
+ ICON("document-open","icon_efm_open.png",16) // "widget/open" EFMBUTTON("open") EFMBUTTON("new")
+ ICON("document-new","icon_new.png",64) // "widget/new"
+ ICON("document-properties","icon_efm_properties.png",16) // EFMBUTTON("properties"
+ ICON("folder-new","icon_efm_new_dir.png",16) // EFMBUTTON("new_dir"
+ ICON("view-sort","icon_efm_sort.png",16) // *** // EFMBUTTON("sort",
+ ICON("view-order","icon_efm_sort.png",16) // *** // EFMBUTTON("ordering"
+ ICON("view-hidden-files","icon_efm_view.png",16) // *** // EFMBUTTON("hidden_files"
+ ICON("configure","icon_config.png",64) // "widget/config"
+ ICON("system-run","icon_run.png",64) // "enlightenment/run"
+ ICON("window-close","icon_close.png",64) // "widget/close"
+ ICON("dialog-ok-apply","icon_check.png",64) // "enlightenment/check"
+ ICON("transform-scale","icon_resize.png",64) // "widget/resize"
+ ICON("transform-move","icon_autoscroll.png",64) // "enlightenment/autoscroll"
+ ICON("view-refresh","icon_reset.png",16) // EFMBUTTON("refresh"
+ ICON("view-inherit","icon_dummy.png",64) // *** // EFMBUTTON("inherit"
+ ICON("screenshot","icon_screenshot.png",64) // dunno
+ //Standard Status Icons
+ ICON("dialog-warning","icon_warning.png",128) // "enlightenment/warning"
+ ICON("dialog-error","icon_warning.png",128) // "enlightenment/error"
+ ICON("dialog-ask","icon_dummy.png",64) // "enlightenment/unknown"
+ ICON("unknown","icon_dummy.png",64) // *** // "enlightenment/unknown"
+ //Standard Application Icons
+ ICON("preferences-desktop","icon_desktops.png",64) // "enlightenment/desktops"
+ ICON("preferences-desktop-theme","icon_theme.png",64) // "enlightenment/themes"
+ ICON("preferences-desktop-wallpaper","icon_wallpaper.png",64) // "enlightenment/background"
+ ICON("preferences-desktop-color","icon_colors.png",64) // "enlightenment/colors"
+ ICON("preferences-desktop-font","icon_fonts.png",64) // "enlightenment/fonts"
+ ICON("preferences-desktop-screensaver","icon_screensaver.png",64) // "enlightenment/screensaver"
+ ICON("preferences-desktop-display","icon_screen_setup.png",64) // "enlightenment/screen_setup"
+ ICON("preferences-desktop-keyboard","icon_keyboard.png",64) // "enlightenment/keys"
+ ICON("preferences-desktop-keyboard-shortcuts","icon_keys.png",64) // "enlightenment/keys"
+ ICON("preferences-desktop-pointer","icon_mouse.png",64) // *** // "enlightenment/mouse"
+ ICON("preferences-desktop-mouse","icon_mouse_clean.png",64) // "enlightenment/mouse_clean"
+ ICON("preferences-desktop-mouse-left","icon_mouse_left.png",64) // *** // "enlightenment/mouse_left"
+ ICON("preferences-desktop-mouse-right","icon_mouse_right.png",64) // *** // "enlightenment/mouse_right"
+ ICON("preferences-desktop-mouse-middle","icon_mouse_middle.png",64) // *** // "enlightenment/mouse_middle"
+ ICON("preferences-desktop-mouse-wheel","icon_mouse_wheel.png",64) // *** // "enlightenment/mouse_wheel"
+ ICON("preferences-desktop-mouse-extra","icon_mouse_extra.png",64) // *** // "enlightenment/mouse_extra"
+ ICON("preferences-desktop-locale","icon_intl.png",64) // "enlightenment/intl"
+ ICON("preferences-desktop-mixer","icon_mixer.png",64) // "enlightenment/mixer"
+ ICON("preferences-desktop-shelf","icon_shelf.png",64) // *** // "enlightenment/shelf"
+ ICON("preferences-desktop-shelf-bottom-desk","icon_shelf_bottom_desk.png",64)// *** // "enlightenment/shelf_bottom_desk"
+ ICON("preferences-desktop-shelf-custom","icon_shelf_custom.png",64) // *** // "enlightenment/shelf_custom"
+ ICON("preferences-desktop-shelf-dock","icon_shelf_dock.png",64) // *** // "enlightenment/shelf_dock"
+ ICON("preferences-desktop-shelf-menu-bar","icon_shelf_menu_bar.png",64) // *** // "enlightenment/shelf_menu_bar"
+ ICON("preferences-desktop-shelf-panel","icon_shelf_panel.png",64) // *** // "enlightenment/shelf_panel"
+ ICON("preferences-desktop-shelf-top-desk","icon_shelf_top_desk.png",64) // *** // "enlightenment/shelf_top_desk"
+ ICON("preferences-desktop-window-remember","icon_window_remembers.png",64) // *** // "enlightenment/window_remembers"
+ ICON("preferences-position-bottom","icon_shelf_bottom.png",64) // *** // "enlightenment/shelf_position_bottom"
+ ICON("preferences-position-bottom-left","icon_shelf_bottom_left.png",64) // *** // "enlightenment/shelf_position_bottom_left"
+ ICON("preferences-position-bottom-right","icon_shelf_bottom_right.png",64) // *** // "enlightenment/shelf_position_bottom_right"
+ ICON("preferences-position-top","icon_shelf_top.png",64) // *** // "enlightenment/shelf_position_top"
+ ICON("preferences-position-top-left","icon_shelf_top_left.png",64) // *** // "enlightenment/shelf_position_top_left"
+ ICON("preferences-position-top-right","icon_shelf_top_right.png",64) // *** // "enlightenment/shelf_position_top_right"
+ ICON("preferences-position-left","icon_shelf_left.png",64) // *** // "enlightenment/shelf_position_left"
+ ICON("preferences-position-left-top","icon_shelf_left_top.png",64) // *** // "enlightenment/shelf_position_left_top"
+ ICON("preferences-position-left-bottom","icon_shelf_left_bottom.png",64) // *** // "enlightenment/shelf_position_left_bottom"
+ ICON("preferences-position-right","icon_shelf_right.png",64) // *** // "enlightenment/shelf_position_right"
+ ICON("preferences-position-right-top","icon_shelf_right_top.png",64) // *** // "enlightenment/shelf_position_right_top"
+ ICON("preferences-position-right-bottom","icon_shelf_right_bottom.png",64) // *** // "enlightenment/shelf_position_right_bottom"
+ ICON("preferences-window-process","icon_window_process_management.png",64) // *** // "enlightenment/window_process"
+ ICON("preferences-window-manipulation","icon_window_manipulation.png",64) // *** // "enlightenment/window_manipulation"
+ ICON("preferences-window-maximize","icon_window_manipulation.png",64) // *** // "enlightenment/window_maximize"
+ ICON("preferences-window-stacking","icon_winlist.png",64) // *** // "enlightenment/window_stacking"
+ ICON("preferences-window-geometry","icon_window_geometry.png",64) // *** // "enlightenment/window_geometry"
+ ICON("preferences-windows-lost","icon_lost_windows.png",64) // *** // "enlightenment/lost_windows"
+ ICON("preferences-gradient","icon_gradient.png",64) // *** // "enlightenment/gradient"
+ ICON("preferences-focus","icon_window_focus.png",64) // *** // "enlightenment/focus"
+ ICON("preferences-engine","icon_engine.png",64) // *** // "enlightenment/engine"
+ ICON("preferences-dialogs","icon_dummy.png",64) // *** // "enlightenment/dialogs"
+ ICON("preferences-imc","icon_imc.png",64) // *** // "enlightenment/imc"
+ ICON("preferences-system-lock-screen","icon_desklock.png",64) // *** // "enlightenment/desklock"
+ ICON("preferences-icon-theme","icon_icon_theme.png",64) // *** // "enlightenment/icon_theme"
+ ICON("preferences-transitions","icon_transitions.png",64) // *** // "enlightenment/transitions"
+ ICON("preferences-desktop-edge-bindings","icon_shelf_right.png",64) // *** // "enlightenment/edges"
+ ICON("preferences-toolbar","icon_toolbar.png",64) // *** // "enlightenment/toolbar"
+ ICON("preferences-profiles","icon_profiles.png",64) // *** // "enlightenment/profiles"
+ ICON("preferences-startup","icon_startup.png",64) // *** // "enlightenment/startup"
+ ICON("preferences-winlist","icon_winlist.png",64) // *** // "enlightenment/winlist"
+ ICON("preferences-menus","icon_menus.png",64) // *** // "enlightenment/menus"
+ ICON("preferences-menu-settings","icon_menu_settings.png",64) // *** // "enlightenment/menu_settings"
+ ICON("preferences-advanced","icon_advanced.png",64) // *** // "enlightenment/advanced"
+ ICON("preferences-behavior","icon_behavior.png",64) // *** // "enlightenment/behavior"
+ ICON("preferences-look","icon_look.png",64) // *** // "enlightenment/look"
+ ICON("preferences-utils","icon_gadget.png",64) // *** // "enlightenment/utils"
+ ICON("preferences-extensions","icon_extensions.png",64) // *** // "enlightenment/extensions"
+ ICON("preferences-file-icons","icon_file_icons.png",64) // *** // "enlightenment/file_icons"
+ ICON("preferences-pager","icon_pager.png",64) // *** // "enlightenment/pager"
+ ICON("preferences-scale","icon_scale.png",64) // *** // "enlightenment/scale"
+ ICON("preferences-directories","icon_directories.png",64) // *** // "enlightenment/directories"
+ ICON("preferences-screen-normal","icon_screen_normal.png",64) // *** // "enlightenment/screen_normal"
+ ICON("preferences-screen-around","icon_screen_around.png",64) // *** // "enlightenment/screen_around"
+ ICON("preferences-screen-left","icon_screen_left.png",64) // *** // "enlightenment/screen_left"
+ ICON("preferences-screen-right","icon_screen_right.png",64) // *** // "enlightenment/screen_right"
+ ICON("preferences-screen-vflip","icon_screen_vflip.png",64) // *** // "enlightenment/screen_vflip"
+ ICON("preferences-screen-hflip","icon_screen_hflip.png",64) // *** // "enlightenment/screen_hflip"
+ ICON("preferences-applications","icon_applications.png",64) // *** // "enlightenment/applications"
+ ICON("preferences-applications-add","icon_applications_new.png",64) // *** // "enlightenment/add_application"
+ ICON("preferences-applications-ibar","icon_applications_ibar.png",64) // *** // "enlightenment/ibar_applications"
+ ICON("preferences-applications-restart","icon_applications_restart.png",64) // *** // "enlightenment/restart_applications"
+ ICON("preferences-applications-startup","icon_applications_startup.png",64) // *** // "enlightenment/startup_applications"
+ ICON("preferences-desktop-default-applications","icon_advanced.png",64)
+ ICON("preferences-preferences","icon_config.png",64) // "enlightenment/configuration" "enlightenment/settings"
+ ICON("preferences-plugin","icon_modules.png",64) // "enlightenment/modules"
+ ICON("preferences-system","icon_configuration.png",64) // "enlightenment/configuration" "enlightenment/settings"
+ ICON("preferences-system-windows","icon_windows.png",64) // "enlightenment/windows" "enlightenment/showhide"
+ ICON("preferences-system-performance","icon_performance.png",64) // "enlightenment/performance"
+ ICON("preferences-system-power-management","icon_power_management.png",64) // "enlightenment/power_management"
+ ICON("preferences-system-screen-resolution","icon_screen_resolution.png",64)// *** // "enlightenment/screen_resolution"
+ ICON("preferences-illume","icon_illume.png",64)
+ ICON("system-file-manager","icon_efm_folder.png",64) // "enlightenment/fileman"
+ //Standard Module Category Icons
+ ICON("modules-utils","icon_gadget.png",64)
+ ICON("modules-system","icon_gadget.png",64)
+ ICON("modules-look","icon_look.png",64)
+ ICON("modules-files","icon_efm_folder.png",64)
+ ICON("modules-launcher","icon_run.png",64)
+ ICON("modules-core","logo_white_128.png",64)
+ ICON("modules-mobile","icon_globe.png",64)
+ ICON("modules-settings","icon_config.png",64)
+ //Standard Emblem Icons
+ ICON("emblem-symbolic-link","icon_dummy.png",64) // EFMBUTTON("symlink")
+ //Standard Place Icons
+ ICON("start-here","logo_white_128.png",128) // "enlightenment/e"
+ ICON("folder","icon_efm_folder.png",64) // "fileman/folder"
+ ICON("user-home","icon_efm_home.png",64) // "fileman/home"
+ ICON("user-temp","icon_efm_tmp.png",64) // *** // "fileman/tmp"
+ ICON("user-desktop","icon_efm_desktop.png",64) // "fileman/desktop"
+ ICON("user-bookmarks","icon_favorites.png",64) // "enlightenment/favorites"
+ ICON("folder-image","icon_wallpaper.png",64) // "enlightenment/picture"
+ ICON("network-website","icon_globe.png",64) // "enlightenment/website"
+ //Standard Device Icons
+ ICON("computer","icon_efm_root.png", 64) // "fileman/root"
+ ICON("drive-harddisk","icon_efm_hdd.png", 128) // "fileman/hd" "fileman/hdd"
+ ICON("drive-optical","icon_efm_cd.png", 128) // "fileman/??"
+ ICON("media-flash","icon_efm_flash.png", 128) // "fileman/??"
+ ICON("drive-removable-media","icon_efm_usbmedia.png", 128);
+ ICON("media-eject","icon_efm_eject.png", 64)
+ /* End of FreeDesktop.Org icons */
+ //E Specific icons
+ ICON("everything-launch","icon_advanced.png",64)
+ ICON("everything-clipboard","icon_evry_clipboard.png", 256)
+ //EFM Mime icons
+ ICONMIME("inode/chardevice","icon_efm_file.png",128)
+ ICONMIME("inode/blockdevice","icon_efm_file.png",128)
+ ICONMIME("inode/directory-locked","icon_efm_file.png",128)
+ ICONMIME("inode/directory","icon_efm_folder.png",128)
+ ICONMIME("inode/fifo","icon_efm_file.png",128)
+ ICONMIME("inode/socket","icon_efm_file.png",128)
diff --git a/data/themes/edc/about-e.edc b/data/themes/edc/about-e.edc
new file mode 100644
index 000000000..ef1c14fdd
--- /dev/null
+++ b/data/themes/edc/about-e.edc
@@ -0,0 +1,284 @@
+group { name: "e/widgets/about/main";
+ // data.item: "borderless" "1";
+ // data.item: "shaped" "1";
+ images.image: "bg_radgrad.png" COMP;
+ images.image: "dot_pattern.png" COMP;
+ images.image: "bevel_dark_out.png" COMP;
+ images.image: "vgrad_med_lighter.png" COMP;
+ images.image: "bevel_out.png" COMP;
+ images.image: "shine.png" COMP;
+ images.image: "shadow_square_tiny.png" COMP;
+ images.image: "screen_circular_shadow.png" COMP;
+ images.image: "logo_blue_bottom.png" COMP;
+ images.image: "button_normal.png" COMP;
+ images.image: "button_clicked.png" COMP;
+ styles {
+ style { name: "about_style";
+ base: "font="FN" font_size=10 align=center text_class=tb_plain color=#ffff style=shadow,bottom shadow_color=#00000080 wrap=word";
+ tag: "hilight" "+ font="FNBD" text_class=tb_light style=glow color=#3399ffff glow_color=#3399ff18 align=center glow2_color=#3399ff12";
+ tag: "title" "+ font_size=16 font="FNBD" text_class=tb_big";
+ tag: "/title" "- \n \n";
+ tag: "br" "\n";
+ }
+ style { name: "authors_style";
+ base: "font="FNBD" font_size=16 align=left text_class=tb_plain color=#00000044 wrap=none";
+ tag: "hilight" "+ font="FNBD" text_class=tb_light color=#3399ff44";
+ tag: "title" "+ font_size=24 font="FNBD" text_class=tb_big";
+ tag: "/title" "- \n \n";
+ tag: "br" "\n";
+ }
+ }
+ min: 220 260;
+ max: 800 600;
+ parts {
+ part { name: "sizer"; type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 220 260;
+ }
+ }
+ part { name: "bg";
+ description { state: "default" 0.0;
+ image.normal: "bg_radgrad.png";
+ image.scale_hint: STATIC;
+ fill.smooth: 0;
+ ASPECT_FILL((1024/653))
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ part { name: "e.textblock.authors"; type: TEXTBLOCK; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ max: 20000 20000;
+ min: 160 0;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 4 4;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -5 4;
+ align: 0.5 0.0;
+ text { style: "authors_style";
+ min: 0 1;
+ align: 0.5 0.0;
+ }
+ }
+ description { state: "up" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.offset: 4 -5;
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -5 -5;
+ align: 0.5 1.0;
+ }
+ }
+ part { name: "e.textblock.about"; type: TEXTBLOCK; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ max: 20000 20000;
+ min: 160 0;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 4 4;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -5 4;
+ align: 0.5 0.0;
+ text { style: "about_style";
+ min: 0 1;
+ align: 0.5 0.0;
+ }
+ }
+ description { state: "up" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.offset: 4 -5;
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -5 -5;
+ align: 0.5 1.0;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ image.normal: "screen_circular_shadow.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "bevel";
+ description { state: "default" 0.0;
+ image.normal: "bevel_dark_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "top_shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: -3 -2;
+ rel1.to: "top_base";
+ rel2.offset: 3 4;
+ rel2.to: "top_base";
+ image.normal: "shadow_square_tiny.png";
+ image.border: 6 6 6 6;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "logo";
+ description { state: "default" 0.0;
+ image.normal: "logo_blue_bottom.png";
+ image.scale_hint: STATIC;
+ FIXED_SIZE(263,100);
+ rel1.to: "top_base";
+ rel2.to: "top_base";
+ align: 0.5 0.25;
+ }
+ }
+ part { name: "top_base";
+ description { state: "default" 0.0;
+ image.normal: "vgrad_med_lighter.png";
+ rel2.to_y: "e.text.title";
+ rel2.offset: -1 3;
+ fill.smooth: 0;
+ TILED_HORIZ(120)
+ }
+ }
+ part { name: "top_bevel"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "top_base";
+ rel2.to: "top_base";
+ image.normal: "bevel_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "e.text.title"; type: TEXT;
+ scale: 1;
+ effect: SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1.offset: 3 3;
+ rel2.relative: 0.0 0.0;
+ rel2.offset: 3 3;
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.0 0.0;
+ text_class: "about_title";
+ }
+ fixed: 1 1;
+ }
+ }
+ part { name: "e.text.version"; type: TEXT;
+ scale: 1;
+ effect: SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ align: 1.0 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.offset: -4 3;
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -4 3;
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 1.0 0.0;
+ text_class: "about_version";
+ }
+ fixed: 1 1;
+ }
+ }
+ part { name: "base";
+ description { state: "default" 0.0;
+ image.normal: "button_normal.png";
+ image.border: 4 4 3 5;
+ image.middle: SOLID;
+ rel1.offset: -6 -6;
+ rel1.to: "e.text.label";
+ rel2.offset: 5 5;
+ rel2.to: "e.text.label";
+ fill.smooth: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "button_clicked.png";
+ image.border: 5 5 4 6;
+ }
+ }
+ part { name: "e.text.label"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.offset: 0 -14;
+ rel1.relative: 0.5 1.0;
+ rel2.offset: -1 -14;
+ rel2.relative: 0.5 1.0;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "button_text";
+ align: 0.5 1.0;
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "button";
+ }
+ fixed: 1 1;
+ }
+ }
+ part { name: "shine"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "shine.png";
+ rel1.offset: 0 -2;
+ rel1.to: "top_base";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to: "top_base";
+ FIXED_SIZE(69, 5)
+ }
+ }
+ }
+ programs {
+ program { name: "show1";
+ signal: "show"; source: "";
+ action: STATE_SET "up" 0.0;
+ transition: LINEAR 45.0;
+ target: "e.textblock.about";
+ after: "show2";
+ }
+ program { name: "show2";
+ action: STATE_SET "default" 0.0;
+ target: "e.textblock.about";
+ after: "show1";
+ }
+ program { name: "show3";
+ signal: "show"; source: "";
+ action: STATE_SET "up" 0.0;
+ transition: LINEAR 120.0;
+ target: "e.textblock.authors";
+ after: "show4";
+ }
+ program { name: "show4";
+ action: STATE_SET "default" 0.0;
+ target: "e.textblock.authors";
+ after: "show3";
+ }
+ program {
+ signal: "mouse,down,1*"; source: "base";
+ action: STATE_SET "clicked" 0.0;
+ target: "base";
+ target: "e.text.label";
+ }
+ program {
+ signal: "mouse,up,1"; source: "base";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "e.text.label";
+ }
+ program {
+ signal: "mouse,clicked,1*"; source: "base";
+ action: SIGNAL_EMIT "e,action,close" "";
+ }
+ }
+}
diff --git a/data/themes/edc/about-theme.edc b/data/themes/edc/about-theme.edc
new file mode 100644
index 000000000..13fee85d0
--- /dev/null
+++ b/data/themes/edc/about-theme.edc
@@ -0,0 +1,189 @@
+group { name: "e/theme/about";
+ // data.item: "borderless" "1";
+ // data.item: "shaped" "1";
+ images.image: "bevel_dark_out.png" COMP;
+ images.image: "screen_circular_shadow.png" COMP;
+ images.image: "button_normal.png" COMP;
+ images.image: "button_clicked.png" COMP;
+ min: 220 220;
+ max: 220 220;
+ parts {
+ part { name: "sizer"; type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 220 220;
+ }
+ }
+ part { name: "bg";
+ description { state: "default" 0.0;
+ image.normal: "bg_radgrad.png";
+ image.scale_hint: STATIC;
+ fill.smooth: 0;
+ ASPECT_FILL((1024/653))
+ }
+ }
+ part { name: "name"; type: TEXT; mouse_events: 0;
+ effect: GLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 51 153 255 255;
+ color2: 51 153 255 24;
+ color3: 51 153 255 18;
+ rel1.relative: 0.5 0.5;
+ rel2.relative: 0.5 0.5;
+ text { font: FNBD; size: 64;
+ text: "Dark";
+ min: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+ }
+ part { name: "name2"; type: TEXT; mouse_events: 0;
+ effect: GLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 51 153 255 255;
+ color2: 51 153 255 24;
+ color3: 51 153 255 18;
+ rel1.relative: 0.5 0.9;
+ rel1.to: "name";
+ rel2.relative: 0.5 0.9;
+ rel2.to: "name";
+ align: 0.5 1.0;
+ text { font: FN; size: 10;
+ text: "The default theme for Enlightenment";
+ min: 1 1;
+ align: 0.5 1.0;
+ }
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ image.normal: "screen_circular_shadow.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "bevel";
+ description { state: "default" 0.0;
+ image.normal: "bevel_dark_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "base";
+ description { state: "default" 0.0;
+ image.normal: "button_normal.png";
+ image.border: 4 4 3 5;
+ image.middle: SOLID;
+ rel1.offset: -6 -6;
+ rel1.to: "e.text.label";
+ rel2.offset: 5 5;
+ rel2.to: "e.text.label";
+ fill.smooth: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "button_clicked.png";
+ image.border: 5 5 4 6;
+ }
+ }
+ part { name: "e.text.label"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.offset: -14 -14;
+ rel1.relative: 1.0 1.0;
+ rel2.offset: -14 -14;
+ rel2.relative: 1.0 1.0;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "button_text";
+ align: 1.0 1.0;
+ min: 85 0;
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "button";
+ }
+ fixed: 1 1;
+ }
+ }
+ part { name: "base2";
+ description { state: "default" 0.0;
+ image.normal: "button_normal.png";
+ image.border: 4 4 3 5;
+ image.middle: SOLID;
+ rel1.offset: -6 -6;
+ rel1.to: "e.text.theme";
+ rel2.offset: 5 5;
+ rel2.to: "e.text.theme";
+ fill.smooth: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "button_clicked.png";
+ image.border: 5 5 4 6;
+ }
+ }
+ part { name: "e.text.theme"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.offset: 13 -14;
+ rel1.relative: 0.0 1.0;
+ rel2.offset: 13 -14;
+ rel2.relative: 0.0 1.0;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "button_text";
+ align: 0.0 1.0;
+ min: 85 0;
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "button";
+ }
+ fixed: 1 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,down,1*"; source: "base";
+ action: STATE_SET "clicked" 0.0;
+ target: "base";
+ target: "e.text.label";
+ }
+ program {
+ signal: "mouse,up,1"; source: "base";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "e.text.label";
+ }
+ program {
+ signal: "mouse,clicked,1*"; source: "base";
+ action: SIGNAL_EMIT "e,action,close" "";
+ }
+ program {
+ signal: "mouse,down,1*"; source: "base2";
+ action: STATE_SET "clicked" 0.0;
+ target: "base2";
+ target: "e.text.theme";
+ }
+ program {
+ signal: "mouse,up,1"; source: "base2";
+ action: STATE_SET "default" 0.0;
+ target: "base2";
+ target: "e.text.theme";
+ }
+ program {
+ signal: "mouse,clicked,1*"; source: "base2";
+ action: SIGNAL_EMIT "e,action,settings,theme" "";
+ }
+ }
+}
diff --git a/data/themes/edc/appmenu.edc b/data/themes/edc/appmenu.edc
new file mode 100644
index 000000000..80cdc8dda
--- /dev/null
+++ b/data/themes/edc/appmenu.edc
@@ -0,0 +1,77 @@
+group { name: "e/modules/appmenu/item";
+ images.image: "vgrad_med_dark.png" COMP;
+ data.item: "padding_horizontal" "5";
+ data.item: "padding_vertical" "5";
+ parts {
+ part {
+ name: "event_area";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "background";
+ type: IMAGE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image.normal: "vgrad_med_dark.png";
+ fill.smooth: 0;
+ TILED_HORIZ(120)
+ visible: 0;
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "text";
+ type: TEXT;
+ mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.offset: 2 2;
+ rel2.offset: -3 -3;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ text {
+ font: FN;
+ size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "label";
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ color2: 51 153 255 24;
+ color3: 51 153 255 18;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,in";
+ source: "event_area";
+ action: STATE_SET "selected" 0.0;
+ target: "background";
+ target: "text";
+ }
+ program {
+ signal: "mouse,out";
+ source: "event_area";
+ action: STATE_SET "default" 0.0;
+ target: "background";
+ target: "text";
+ }
+ }
+} \ No newline at end of file
diff --git a/data/themes/edc/background.edc b/data/themes/edc/background.edc
new file mode 100644
index 000000000..955bee28e
--- /dev/null
+++ b/data/themes/edc/background.edc
@@ -0,0 +1,21 @@
+group { name: "e/desktop/background";
+ images.image: "bg_radgrad.png" COMP;
+ images.image: "dot_pattern.png" COMP;
+ parts {
+ part { name: "bg";
+ description { state: "default" 0.0;
+ image.normal: "bg_radgrad.png";
+ image.scale_hint: STATIC;
+ fill.smooth: 0;
+ ASPECT_FILL((1024/653))
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ }
+}
+
diff --git a/data/themes/edc/backlight.edc b/data/themes/edc/backlight.edc
new file mode 100644
index 000000000..438766312
--- /dev/null
+++ b/data/themes/edc/backlight.edc
@@ -0,0 +1,66 @@
+group { name: "e/modules/backlight/main";
+ images.image: "bulb_glow.png" COMP;
+ images.image: "bulb_off.png" COMP;
+ images.image: "bulb_on.png" COMP;
+ images.image: "bulb_over.png" COMP;
+ min: 16 16;
+ max: 160 160;
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_FLOAT) && (id == 0)) {
+ new Float:val;
+ val = getfarg(2);
+ set_tween_state(PART:"glow", val, "default", 0.0, "full", 0.0);
+ set_tween_state(PART:"glow2", val, "default", 0.0, "full", 0.0);
+ }
+ }
+ }
+ parts {
+ part { name: "glow";
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.relative: (76/152) (69/152);
+ rel2.to: "base";
+ rel2.relative: (76/152) (69/152);
+ image.normal: "bulb_glow.png";
+ color: 255 255 255 0;
+ max: 138 138;
+ }
+ description { state: "full" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: (7/152) (0/152);
+ rel2.relative: (145/152) (138/152);
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "base";
+ description { state: "default" 0.0;
+ rel1.relative: (4/160) (4/160);
+ rel2.relative: (156/160) (156/160);
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ image.normal: "bulb_off.png";
+ max: 152 152;
+ }
+ }
+ part { name: "glow2";
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ image.normal: "bulb_on.png";
+ color: 255 255 255 0;
+ }
+ description { state: "full" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "over";
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ image.normal: "bulb_over.png";
+ }
+ }
+ }
+}
+
diff --git a/data/themes/edc/battery.edc b/data/themes/edc/battery.edc
new file mode 100644
index 000000000..d19037620
--- /dev/null
+++ b/data/themes/edc/battery.edc
@@ -0,0 +1,347 @@
+group { name: "e/modules/battery/main";
+ images.image: "bat_shadow.png" COMP;
+ images.image: "bat_base.png" COMP;
+ images.image: "bat_shine.png" COMP;
+ images.image: "bat_bottom0.png" COMP;
+ images.image: "bat_bottom1.png" COMP;
+ images.image: "bat_top0.png" COMP;
+ images.image: "bat_top1.png" COMP;
+ images.image: "glow_med_white.png" COMP;
+ min: 16 16;
+ max: 160 160;
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_FLOAT) && (id == 1)) {
+ new Float:val;
+ new r = 51, g = 153, b = 255;
+ new lr = 255, lg = 0, lb = 0;
+
+ val = getfarg(2);
+ if (val < 0.35) {
+ new Float:val1, Float:val2;
+
+ val1 = (val - 0.10) / 0.25;
+ val2 = 1.0 - val1;
+ r = round((r * val1) + (lr * val2), ROUND);
+ g = round((g * val1) + (lg * val2), ROUND);
+ b = round((b * val1) + (lb * val2), ROUND);
+ }
+ custom_state(PART:"fill", "default", 0.0);
+ set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255);
+ set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255);
+ set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255);
+ set_state_val(PART:"fill", STATE_REL1, 0.0, 1.0 - val);
+ set_state(PART:"fill", "custom", 0.0);
+ }
+ }
+ }
+ parts {
+ part { name: "fade_clip"; type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "faded" 0.0;
+ color: 128 128 128 255;
+ }
+ }
+ part { name: "info_clip"; type: RECT;
+ clip_to: "fade_clip";
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "visible" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "pulse_clip"; type: RECT;
+ clip_to: "fade_clip";
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "faded" 1.0;
+ color: 255 255 255 255;
+ }
+ description { state: "faded" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "fill_region"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ }
+ }
+ part { name: "pwr"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel1.relative: 0.40 0.40;
+ rel2.to: "bg";
+ rel2.relative: 0.60 0.60;
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ min: 5 5;
+ step: 5 5;
+ }
+ }
+ part { name: "base"; type: SPACER;
+ description { state: "default" 0.0;
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ }
+ }
+ part { name: "shadow";
+ clip_to: "pulse_clip";
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel1.offset: -4 0;
+ rel2.to: "bottom";
+ rel2.offset: 3 3;
+ image.normal: "bat_shadow.png";
+ }
+ }
+ part { name: "bg";
+ clip_to: "pulse_clip";
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel1.relative: 0.0 1.0;
+ rel2.to: "bottom";
+ rel2.relative: 1.0 0.0;
+ image.normal: "bat_base.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "top";
+ clip_to: "pulse_clip";
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 6 4;
+ rel2.to: "base";
+ rel2.offset: -7 4;
+ rel2.relative: 1.0 0.0;
+ aspect: (112/24) (112/24); aspect_preference: HORIZONTAL;
+ align: 0.5 0.0;
+ image.normal: "bat_top0.png";
+ }
+ }
+ part { name: "bottom";
+ clip_to: "pulse_clip";
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 6 -5;
+ rel2.to: "base";
+ rel2.offset: -7 -5;
+ aspect: (112/12) (112/12); aspect_preference: HORIZONTAL;
+ align: 0.5 1.0;
+ image.normal: "bat_bottom0.png";
+ }
+ }
+ part { name: "fill"; mouse_events: 0;
+ clip_to: "pulse_clip";
+ description { state: "default" 0.0;
+ rel1.to: "fill_region";
+ rel1.offset: -5 -5;
+ rel2.to: "fill_region";
+ rel2.offset: 4 4;
+ image.normal: "glow_med_white.png";
+ image.border: 10 10 10 10;
+ color: 51 153 255 255;
+ }
+ }
+ part { name: "top-shine";
+ clip_to: "pulse_clip";
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ image.normal: "bat_top1.png";
+ }
+ }
+ part { name: "bottom-shine";
+ clip_to: "pulse_clip";
+ description { state: "default" 0.0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ image.normal: "bat_bottom1.png";
+ }
+ }
+ part { name: "shine";
+ clip_to: "pulse_clip";
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel1.offset: 0 -6;
+ rel2.to: "bg";
+ rel2.offset: -1 5;
+ image.normal: "bat_shine.png";
+ image.border: 0 0 7 7;
+ }
+ }
+ part { name: "pwr1";
+ clip_to: "pulse_clip";
+ description { state: "default" 0.0;
+ rel1.to: "pwr";
+ rel1.relative: (2/5) 0.0;
+ rel1.offset: -5 -5;
+ rel2.to: "pwr";
+ rel2.relative: (3/5) 1.0;
+ rel2.offset: 4 4;
+ image.normal: "glow_med_white.png";
+ image.border: 5 5 5 5;
+ fill.smooth: 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "pwr2";
+ clip_to: "pulse_clip";
+ description { state: "default" 0.0;
+ rel1.to: "pwr";
+ rel1.relative: 0.0 (2/5);
+ rel1.offset: -5 -5;
+ rel2.to: "pwr";
+ rel2.relative: 1.0 (3/5);
+ rel2.offset: 4 4;
+ image.normal: "glow_med_white.png";
+ image.border: 5 5 5 5;
+ fill.smooth: 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "e.text.reading"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ clip_to: "info_clip";
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ rel1.to: "bg";
+ rel1.offset: 0 -2;
+ rel2.relative: 1.0 0.0;
+ rel2.to_x: "bg";
+ rel2.to_y: "pwr";
+ color: 255 255 255 255;
+ color_class: "module_label";
+ text { font: "Sans"; size: 6;
+ min: 0 1;
+ text_class: "module_small";
+ }
+ }
+ }
+ part { name: "e.text.time"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ clip_to: "info_clip";
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ rel1.relative: 0.0 1.0;
+ rel1.to_x: "bg";
+ rel1.to_y: "pwr";
+ rel2.offset: -1 1;
+ rel2.to: "bg";
+ color: 255 255 255 255;
+ color_class: "module_label";
+ text { font: "Sans"; size: 6;
+ min: 0 1;
+ text_class: "module_small";
+ }
+ }
+ }
+ part { name: "over"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,in"; source: "over";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.3;
+ target: "info_clip";
+ }
+ program {
+ signal: "mouse,out"; source: "over";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.3;
+ target: "info_clip";
+ }
+ program {
+ signal: "e,state,charging"; source: "e";
+ action: STATE_SET "visible" 0.0;
+ target: "pwr1";
+ target: "pwr2";
+ }
+ program {
+ signal: "e,state,discharging"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "pwr1";
+ target: "pwr2";
+ }
+ program {
+ signal: "e,state,unknown"; source: "e";
+ action: STATE_SET "faded" 0.0;
+ target: "fade_clip";
+ }
+ program { name: "pulse";
+ signal: "e,action,pulse,start"; source: "e";
+ action: STATE_SET "faded" 0.0;
+ transition: ACCELERATE 0.3;
+ after: "pulse2";
+ target: "pulse_clip";
+ }
+ program { name: "pulse2";
+ action: STATE_SET "faded" 1.0; transition: ACCELERATE 0.1;
+ target: "pulse_clip";
+ }
+ program {
+ signal: "e,action,pulse,stop"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "pulse_clip";
+ }
+ }
+}
+
+group { name: "e/modules/battery/popup";
+ min: 240 60;
+ parts {
+ part { name: "e.swallow.battery"; type: SWALLOW;
+ description { state: "default" 0.0;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ min: 1 1;
+ max: 160 160;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "e.text.title"; type: TEXT;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "e.swallow.battery";
+ rel2.relative: 1.0 0.5;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ text { font: "Sans:style=Bold"; size: 10;
+ text: "Your battery is low!";
+ min: 1 1;
+ text_class: "module_large";
+ }
+ }
+ }
+ part { name: "e.text.label"; type: TEXT;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.5;
+ rel1.to_x: "e.swallow.battery";
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ text { font: "Sans"; size: 10;
+ text: "AC power is recommended.";
+ min: 1 1;
+ text_class: "module_normal";
+ }
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/bluez4.edc b/data/themes/edc/bluez4.edc
new file mode 100644
index 000000000..b9a89fb8e
--- /dev/null
+++ b/data/themes/edc/bluez4.edc
@@ -0,0 +1,26 @@
+group { name: "e/modules/bluez4/main";
+ images.image: "bt_base.png" COMP;
+ max: 160 160;
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ aspect: (160/144) (160/144); aspect_preference: BOTH;
+ image.normal: "bt_base.png";
+ }
+ }
+ }
+}
+
+group { name: "e/modules/bluez4/inactive";
+ images.image: "bt_base.png" COMP;
+ max: 160 160;
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ aspect: (160/144) (160/144); aspect_preference: BOTH;
+ image.normal: "bt_base.png";
+ color: 255 255 255 128;
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/border-icons.edc b/data/themes/edc/border-icons.edc
new file mode 100644
index 000000000..9abf83b15
--- /dev/null
+++ b/data/themes/edc/border-icons.edc
@@ -0,0 +1,42 @@
+#define ICON(_NAME, _FILE) \
+ group { \
+ name: "e/widgets/border/default/"_NAME; \
+ max: 16 16; \
+ parts { \
+ part { name: "icon"; mouse_events: 0; \
+ description { state: "default" 0.0; \
+ max: 16 16; \
+ aspect: 1.0 1.0; aspect_preference: BOTH; \
+ image.image: _FILE COMP; \
+ image.normal: _FILE; \
+ } \
+ } \
+ } \
+ }
+
+ ICON("basic", "icon_border_more.png")
+ ICON("close", "icon_border_close.png")
+ ICON("kill", "icon_border_kill.png")
+ ICON("stacking", "icon_border_stack_norm.png")
+ ICON("stack_on_top", "icon_border_stack_top.png")
+ ICON("stack_normal", "icon_border_stack_norm.png")
+ ICON("stack_below", "icon_border_stack_bot.png")
+ ICON("move_icon", "icon_border_move.png")
+ ICON("resize_icon", "icon_border_resize.png");
+ ICON("maximize", "icon_border_maximize.png")
+ ICON("fullscreen", "icon_border_maximize.png")
+ ICON("minimize", "icon_border_minimize.png")
+ ICON("stick", "icon_border_pin.png")
+ ICON("sendto", "icon_border_sendto.png")
+ ICON("skip", "icon_border_skip.png")
+ ICON("skip_pager", "icon_border_pager.png")
+ ICON("skip_taskbar", "icon_border_skip.png")
+ ICON("skip_winlist", "icon_border_skip.png")
+ ICON("borderless", "icon_border_border.png")
+ ICON("remember", "icon_border_remember.png")
+ ICON("shade", "icon_border_shaded.png")
+ ICON("locks", "icon_border_lock.png")
+ ICON("locks_user", "icon_border_lock.png")
+ ICON("locks_application", "icon_border_lock.png")
+ ICON("properties", "icon_border_properties.png")
+#undef ICON
diff --git a/data/themes/edc/border.edc b/data/themes/edc/border.edc
new file mode 100644
index 000000000..a0ca40a15
--- /dev/null
+++ b/data/themes/edc/border.edc
@@ -0,0 +1,1274 @@
+group { name: "e/widgets/border/default/border";
+ alias: "e/widgets/border/shaped/border";
+ images.image: "vgrad_med_lighter.png" COMP;
+ images.image: "vgrad_med_dark.png" COMP;
+ images.image: "bevel_out.png" COMP;
+ images.image: "shine.png" COMP;
+ images.image: "bevel_dark_out.png" COMP;
+ images.image: "sym_close_dark_normal.png" COMP;
+ images.image: "sym_close_dark_selected.png" COMP;
+ images.image: "sym_close_light_normal.png" COMP;
+ images.image: "sym_close_light_selected.png" COMP;
+ images.image: "sym_down_dark_normal.png" COMP;
+ images.image: "sym_down_dark_selected.png" COMP;
+ images.image: "sym_down_light_normal.png" COMP;
+ images.image: "sym_down_light_selected.png" COMP;
+ images.image: "sym_up_dark_normal.png" COMP;
+ images.image: "sym_up_dark_selected.png" COMP;
+ images.image: "sym_up_light_normal.png" COMP;
+ images.image: "sym_up_light_selected.png" COMP;
+ images.image: "glow_round_corners_small.png" COMP;
+ images.image: "knob_round_small_busy.png" COMP;
+ images.image: "screen_circular_shadow.png" COMP;
+ images.image: "win_shadow.png" COMP;
+ data.item: "shadow" "1";
+ parts {
+ part { name: "client_clip"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to_y: "e.swallow.client";
+ rel2.to_y: "e.swallow.client";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default";
+ visible: 0;
+ }
+ }
+ part { name: "e.swallow.client"; type: SWALLOW; mouse_events: 0;
+ clip_to: "client_clip";
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.to_y: "top";
+ rel2.relative: 1.0 0.0;
+ rel2.to_y: "bottom";
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -1 -1;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -1 -1;
+ }
+ }
+ part { name: "top"; mouse_events: 0;
+ description { state: "default" 0.0;
+ color_class: "border_top";
+ image.normal: "vgrad_med_lighter.png";
+ rel2.to_y: "title2";
+ rel2.offset: -1 -4;
+ fill.smooth: 0;
+ TILED_HORIZ(120)
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "vgrad_med_dark.png";
+ }
+ }
+ part { name: "bevel"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "top";
+ rel2.to: "top";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "e.text.title"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ effect: SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ color_class: "border_title";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 1 3;
+ rel1.to_x: "e.event.icon";
+ rel2.relative: 0.0 0.0;
+ rel2.offset: -2 3;
+ rel2.to_x: "e.event.minimize";
+ align: 0.5 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ text { font: FNBD; size: 10;
+ text_class: "title_bar";
+ align: 0.5 0.0;
+ min: 0 1;
+ }
+ fixed: 0 1;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "title2"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ effect: SOFT_SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ color_class: "border_title_active";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 1 2;
+ rel1.to_x: "e.event.icon";
+ rel2.relative: 0.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to_x: "e.event.minimize";
+ align: 0.5 0.0;
+ color: 255 255 255 255;
+ color3: 0 0 0 18;
+ text { font: FNBD; size: 10;
+ text_source: "e.text.title";
+ text_class: "title_bar";
+ align: 0.5 0.0;
+ min: 0 1;
+ }
+ fixed: 0 1;
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "icon"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.to: "e.event.icon";
+ rel2.to: "e.event.icon";
+ }
+ description { state: "bounce1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.15;
+ rel2.relative: 1.0 1.15;
+ }
+ description { state: "bounce2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 -0.15;
+ rel2.relative: 1.0 0.85;
+ }
+ }
+ part { name: "e.swallow.icon"; type: SWALLOW; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "icon";
+ rel1.relative: 0.15 0.15;
+ rel2.to: "icon";
+ rel2.relative: 0.85 0.85;
+ rel2.offset: 0 0;
+ }
+ }
+ part { name: "busy_clip"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "hung" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "knob"; mouse_events: 0;
+ clip_to: "busy_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ image.normal: "knob_round_small_busy.png";
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ max: 20 20;
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 2 -0;
+ rel1.to: "e.event.icon";
+ rel2.relative: 1.0 1.0;
+ rel2.offset: 2 -1;
+ rel2.to: "e.event.icon";
+ align: 0.0 0.5;
+ fixed: 1 1;
+ }
+ }
+ part { name: "knob_spinner"; mouse_events: 0;
+ clip_to: "busy_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "knob";
+ rel2.to: "knob";
+ image.normal: "glow_round_corners_small.png";
+ map.on: 1;
+ map.smooth: 1;
+ map.rotation.center: "knob";
+ }
+ description { state: "spin" 0.0;
+ inherit: "default" 0.0;
+ map.rotation.z: 360;
+ }
+ }
+ part { name: "clip1"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "clip2"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "close1"; mouse_events: 0;
+ clip_to: "clip1";
+ description { state: "default" 0.0;
+ image.normal: "sym_close_dark_normal.png";
+ rel1.to: "e.event.close";
+ rel2.to: "e.event.close";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_close_dark_selected.png";
+ }
+ }
+ part { name: "max1"; mouse_events: 0;
+ clip_to: "clip1";
+ description { state: "default" 0.0;
+ image.normal: "sym_up_dark_normal.png";
+ rel1.to: "e.event.maximize";
+ rel2.to: "e.event.maximize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_up_dark_selected.png";
+ }
+ }
+ part { name: "min1"; mouse_events: 0;
+ clip_to: "clip1";
+ description { state: "default" 0.0;
+ image.normal: "sym_down_dark_normal.png";
+ rel1.to: "e.event.minimize";
+ rel2.to: "e.event.minimize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_down_dark_selected.png";
+ }
+ }
+ part { name: "close2"; mouse_events: 0;
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ image.normal: "sym_close_light_normal.png";
+ rel1.to: "e.event.close";
+ rel2.to: "e.event.close";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_close_light_selected.png";
+ }
+ }
+ part { name: "max2"; mouse_events: 0;
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ image.normal: "sym_up_light_normal.png";
+ rel1.to: "e.event.maximize";
+ rel2.to: "e.event.maximize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_up_light_selected.png";
+ }
+ }
+ part { name: "min2"; mouse_events: 0;
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ image.normal: "sym_down_light_normal.png";
+ rel1.to: "e.event.minimize";
+ rel2.to: "e.event.minimize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_down_light_selected.png";
+ }
+ }
+ part { name: "e.event.titlebar"; type: RECT;
+ description { state: "default" 0.0;
+ rel2.to_y: "e.swallow.client";
+ rel2.relative: 1 0;
+ rel2.offset: 0 1;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.icon"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ rel2.to_y: "top";
+ align: 0.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.close"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 1.0;
+ rel2.to_y: "top";
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.maximize"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: -0.25 0.0;
+ rel1.offset: -1 0;
+ rel1.to_x: "e.event.close";
+ rel2.relative: -0.25 1.0;
+ rel2.to_y: "top";
+ rel2.to_x: "e.event.close";
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.minimize"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.offset: -1 0;
+ rel1.to_x: "e.event.maximize";
+ rel2.relative: 0.0 1.0;
+ rel2.to_y: "top";
+ rel2.to_x: "e.event.maximize";
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.tl"; type: RECT;
+ description { state: "default" 0.0;
+ rel2.relative: 0.0 0.0;
+ min: 32 4;
+ align: 0.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.t"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "e.event.resize.tl";
+ rel2.relative: 0.0 0.0;
+ rel2.to_x: "e.event.resize.tr";
+ min: 0 4;
+ align: 0.5 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.tr"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 0.0;
+ min: 32 4;
+ align: 1.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "bottom"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color_class: "border_bottom";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 -5;
+ rel2.relative: 1.0 1.0;
+ min: 0 5;
+ color: 64 64 64 255;
+ fixed: 0 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "bevel2"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_dark_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ fill.smooth: 0;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "shadow_clip"; type: RECT; mouse_events: 0;
+ description { state: "default";
+ rel1.to: "shadow";
+ rel2.to: "shadow";
+ }
+ description { state: "hidden";
+ visible: 0;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0; clip_to: "shadow_clip";
+ description { state: "default" 0.0;
+ image.normal: "win_shadow.png";
+ image.border: 14 14 14 14;
+ image.middle: 0;
+ rel1.to: "top";
+ rel1.offset: -7 -3;
+ rel2.to: "bottom";
+ rel2.offset: 6 11;
+ fill.smooth: 0;
+ }
+ description { state: "shaded";
+ inherit: "default";
+ rel2.to: "top";
+ }
+ }
+ part { name: "e.event.resize.bl"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.to_y: "e.swallow.client";
+ rel1.offset: 0 -1;
+ rel2.relative: 0.0 1.0;
+ min: 32 5;
+ align: 0.0 1.0;
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.b"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 1.0;
+ rel1.to_x: "e.event.resize.tl";
+ rel1.to_y: "e.swallow.client";
+ rel1.offset: 0 -1;
+ rel2.relative: 0.0 1.0;
+ rel2.to_x: "e.event.resize.tr";
+ min: 0 5;
+ align: 0.5 1.0;
+ color: 0 0 0 0;
+ fixed: 0 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.br"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 1.0;
+ rel1.to_y: "e.swallow.client";
+ rel1.offset: 0 -1;
+ rel2.relative: 1.0 1.0;
+ min: 32 5;
+ align: 1.0 1.0;
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "shine"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "shine.png";
+ rel1.offset: 0 -2;
+ rel1.to: "top";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to: "top";
+ FIXED_SIZE(69, 5)
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,state,shadow,on"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "shadow_clip";
+ }
+ program {
+ signal: "e,state,shadow,off"; source: "e";
+ action: STATE_SET "hidden" 0.0;
+ target: "shadow_clip";
+ }
+ program {
+ signal: "e,state,focused"; source: "e";
+ action: STATE_SET "focused" 0.0;
+ target: "top";
+ target: "e.text.title";
+ target: "title2";
+ target: "clip1";
+ target: "clip2";
+ }
+ program {
+ signal: "e,state,unfocused"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "top";
+ target: "e.text.title";
+ target: "title2";
+ target: "clip1";
+ target: "clip2";
+ }
+ program {
+ signal: "e,state,urgent"; source: "e";
+ action: STATE_SET "bounce1" 0.0;
+ target: "icon";
+ after: "urg1";
+ }
+ program { name: "urg1";
+ action: STATE_SET "bounce2" 0.0;
+ transition: DECELERATE 0.2;
+ target: "icon";
+ after: "urg2";
+ }
+ program { name: "urg2";
+ action: STATE_SET "bounce1" 0.0;
+ transition: ACCELERATE 0.2;
+ target: "icon";
+ after: "urg1";
+ }
+ program {
+ signal: "e,state,not_urgent"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "icon";
+ }
+ program { name: "spin";
+ signal: "e,state,hung"; source: "e";
+ action: STATE_SET "spin" 0.0;
+ transition: LINEAR 1.0;
+ target: "knob_spinner";
+ after: "spin2";
+ }
+ program { name: "spin2";
+ action: STATE_SET "default" 0.0;
+ target: "knob_spinner";
+ after: "spin";
+ }
+ program {
+ signal: "e,state,hung"; source: "e";
+ action: STATE_SET "hung" 0.0;
+ transition: SINUSOIDAL 0.25;
+ target: "busy_clip";
+ }
+ program {
+ signal: "e,state,unhung"; source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 1.0;
+ target: "busy_clip";
+ after: "spin3";
+ }
+ program { name: "spin3";
+ action: ACTION_STOP;
+ target: "spin";
+ target: "spin2";
+ after: "spin4";
+ }
+ program { name: "spin4";
+ action: STATE_SET "default" 0.0;
+ target: "knob_spinner";
+ }
+ program { name: "shade_hide";
+ action: STATE_SET "hidden" 0.0;
+ target: "client_clip";
+ }
+ program {
+ signal: "e,state,shaded"; source: "e";
+ action: STATE_SET "shaded" 0.0;
+ target: "shadow";
+ after: "shade_hide";
+ after: "shading";
+ }
+ program { name: "shading";
+ signal: "e,state,shading"; source: "e";
+ action: STATE_SET "shaded" 0.0;
+ target: "e.swallow.client";
+ target: "bottom";
+ target: "bevel2";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.b";
+ target: "e.event.resize.br";
+ }
+ program {
+ signal: "e,state,unshaded"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bottom";
+ target: "bevel2";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.b";
+ target: "e.event.resize.br";
+ target: "client_clip";
+ after: "unshading";
+ }
+ program { name: "unshading";
+ signal: "e,state,unshading"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "e.swallow.client";
+ target: "shadow";
+ target: "client_clip";
+ }
+// program {
+// signal: "e,action,maximize"; source: "e";
+// }
+// program {
+// signal: "e,action,unmaximize"; source: "e";
+// }
+// program {
+// signal: "e,action,maximize,fullscreen"; source: "e";
+// }
+// program {
+// signal: "e,action,unmaximize,fullscreen"; source: "e";
+// }
+ program {
+ signal: "e,action,maximize*"; source: "e";
+ action: STATE_SET "max" 0.0;
+ target: "e.swallow.client";
+ target: "bottom";
+ target: "bevel2";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.b";
+ target: "e.event.resize.br";
+ }
+ program {
+ signal: "e,action,unmaximize*"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "e.swallow.client";
+ target: "bottom";
+ target: "bevel2";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.b";
+ target: "e.event.resize.br";
+ }
+ program {
+ signal: "mouse,down,*"; source: "e.event.close";
+ action: STATE_SET "selected" 0.0;
+ target: "close1";
+ target: "close2";
+ }
+ program {
+ signal: "mouse,up,*"; source: "e.event.close";
+ action: STATE_SET "default" 0.0;
+ target: "close1";
+ target: "close2";
+ }
+ program {
+ signal: "mouse,down,*"; source: "e.event.maximize";
+ action: STATE_SET "selected" 0.0;
+ target: "max1";
+ target: "max2";
+ }
+ program {
+ signal: "mouse,up,*"; source: "e.event.maximize";
+ action: STATE_SET "default" 0.0;
+ target: "max1";
+ target: "max2";
+ }
+ program {
+ signal: "mouse,down,*"; source: "e.event.minimize";
+ action: STATE_SET "selected" 0.0;
+ target: "min1";
+ target: "min2";
+ }
+ program {
+ signal: "mouse,up,*"; source: "e.event.minimize";
+ action: STATE_SET "default" 0.0;
+ target: "min1";
+ target: "min2";
+ }
+ }
+}
+
+group { name: "e/widgets/border/sparkle/border";
+ inherit: "e/widgets/border/default/border";
+ images.image: "vgrad_med_lighter_sparkle.png" COMP;
+ images.image: "vgrad_med_dark_sparkle.png" COMP;
+ script {
+ public in_x, in_y, locked = 0;
+ }
+ parts {
+ part { name: "top";
+ description { state: "default" 0.0;
+ image.normal: "vgrad_med_lighter_sparkle.png";
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ image.normal: "vgrad_med_dark_sparkle.png";
+ visible: 0;
+ }
+ }
+ part { name: "proxy"; type: PROXY; mouse_events: 0;
+ insert_after: "top";
+ description { state: "default";
+ source: "top";
+ rel1.to: "top";
+ rel2.to: "top";
+ fill.smooth: 0;
+ TILED_HORIZ(120)
+ }
+ }
+ part { name: "bevel";
+ description { state: "default" 0.0;
+ rel1.to: "proxy";
+ rel2.to: "proxy";
+ }
+ }
+ part { name: "e.text.title";
+ effect: GLOW;
+ description { state: "default" 0.0;
+ color3: 255 255 255 222;
+ }
+ }
+ part { name: "title2";
+ effect: OUTLINE_SHADOW;
+ description { state: "focused" 0.0;
+ color3: 0 0 0 255;
+ }
+ }
+ part { name: "e.event.icon";
+ description { state: "default" 0.0;
+ rel1.to: "proxy";
+ }
+ }
+ part { name: "e.event.close";
+ description { state: "default" 0.0;
+ rel2.to: "proxy";
+ }
+ }
+ part { name: "shine";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "events"; type: RECT; repeat_events: 1;
+ description { state: "default";
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program { name: "in";
+ signal: "mouse,in"; source: "events";
+
+ script {
+ new mx, my;
+
+ get_mouse(mx, my);
+ set_int(in_x, mx);
+ set_int(in_y, my);
+ }
+ }
+ program { name: "out";
+ signal: "mouse,out"; source: "events";
+ action: STATE_SET "default" 0.0;
+ target: "proxy";
+ transition: LINEAR 0.2;
+ }
+ program { name: "anim";
+ signal: "mouse,move"; source: "events";
+ script {
+ new mx, my;
+
+ if (get_int(locked) != 1) {
+ get_mouse(mx, my);
+ custom_state(PART:"proxy", "default", 0.0);
+ set_state_val(PART:"proxy", STATE_REL1_OFFSET, get_int(in_x) - mx, 0);
+ set_state_val(PART:"proxy", STATE_REL2_OFFSET, get_int(in_x) - mx, 0);
+ set_state(PART:"proxy", "custom", 0.0);
+ }
+ }
+ }
+ program { name: "lock";
+ after: "out";
+ script {
+ set_int(locked, 1);
+ set_int(in_x, 0);
+ set_int(in_y, 0);
+ }
+ }
+ program { name: "unlock";
+ script {
+ set_int(locked, 0);
+ }
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.tr";
+ after: "lock";
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.t";
+ after: "lock";
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.tl";
+ after: "lock";
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.br";
+ after: "lock";
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.b";
+ after: "lock";
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.bl";
+ after: "lock";
+ }
+ program {
+ signal: "mouse,up,1"; source: "e.event.resize.tr";
+ after: "unlock";
+ }
+ program {
+ signal: "mouse,up,1"; source: "e.event.resize.t";
+ after: "unlock";
+ }
+ program {
+ signal: "mouse,up,1"; source: "e.event.resize.tl";
+ after: "unlock";
+ }
+ program {
+ signal: "mouse,up,1"; source: "e.event.resize.br";
+ after: "unlock";
+ }
+ program {
+ signal: "mouse,up,1"; source: "e.event.resize.b";
+ after: "unlock";
+ }
+ program {
+ signal: "mouse,up,1"; source: "e.event.resize.bl";
+ after: "unlock";
+ }
+ }
+}
+
+group { name: "e/widgets/border/dialog/border";
+ inherit: "e/widgets/border/default/border";
+ parts {
+ part { name: "max1";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ visible: 0;
+ }
+ description { state: "selected" 0.0;
+ min: 0 0;
+ max: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "min1";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ visible: 0;
+ }
+ description { state: "selected" 0.0;
+ min: 0 0;
+ max: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "max2";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ visible: 0;
+ }
+ description { state: "selected" 0.0;
+ min: 0 0;
+ max: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "min2";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ visible: 0;
+ }
+ description { state: "selected" 0.0;
+ min: 0 0;
+ max: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.titlebar";
+ description { state: "default" 0.0;
+ rel2.to_x: "e.event.close";
+ }
+ }
+ part { name: "e.event.maximize";
+ description { state: "default" 0.0;
+ max: 0 0;
+ aspect: 0.0 0.0;
+ visible: 0;
+ fixed: 1 1;
+ }
+ }
+ part { name: "e.event.minimize";
+ description { state: "default" 0.0;
+ max: 0 0;
+ aspect: 0.0 0.0;
+ visible: 0;
+ fixed: 1 1;
+ }
+ }
+ }
+}
+
+group { name: "e/widgets/border/noresize/border";
+ inherit: "e/widgets/border/default/border";
+ parts {
+ part { name: "e.swallow.client"; type: SWALLOW; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ part { name: "bottom"; type: RECT;
+ description { state: "default" 0.0;
+ color_class: "border_bottom";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 -1;
+ rel2.relative: 1.0 1.0;
+ min: 0 0;
+ fixed: 0 1;
+ visible: 0;
+ }
+ }
+ part { name: "bevel2";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.bl";
+ description { state: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.b";
+ description { state: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.br";
+ description { state: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ }
+}
+
+group { name: "e/widgets/border/noresize_dialog/border";
+ inherit: "e/widgets/border/dialog/border";
+ parts {
+ part { name: "e.swallow.client"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ part { name: "bottom"; type: RECT;
+ description { state: "default" 0.0;
+ color_class: "border_bottom";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 -1;
+ rel2.relative: 1.0 1.0;
+ min: 0 0;
+ fixed: 0 1;
+ visible: 0;
+ }
+ }
+ part { name: "bevel2";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.bl";
+ description { state: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.b";
+ description { state: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.br";
+ description { state: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ }
+}
+
+group { name: "e/widgets/border/pixel/border";
+ parts {
+ part { name: "client_clip"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to_y: "e.swallow.client";
+ rel2.to_y: "e.swallow.client";
+ }
+ }
+ part { name: "e.swallow.client"; type: SWALLOW; mouse_events: 0;
+ clip_to: "client_clip";
+ description { state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ }
+ }
+ part { name: "top"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 255;
+ align: 0.0 0.0;
+ max: 99999 1;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+ part { name: "bottom"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 255;
+ align: 0.0 1.0;
+ max: 99999 1;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+ part { name: "left"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 255;
+ align: 0.0 0.0;
+ max: 1 99999;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+ part { name: "right"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 255;
+ align: 1.0 0.0;
+ max: 1 99999;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+ part { name: "e.event.resize.tl"; type: RECT;
+ description { state: "default" 0.0;
+ rel2.relative: 0.0 0.0;
+ min: 32 4;
+ align: 0.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.t"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "e.event.resize.tl";
+ rel2.relative: 0.0 0.0;
+ rel2.to_x: "e.event.resize.tr";
+ min: 0 4;
+ align: 0.5 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.tr"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 0.0;
+ min: 32 4;
+ align: 1.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.bl"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel2.relative: 0.0 1.0;
+ min: 32 5;
+ align: 0.0 1.0;
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ }
+ part { name: "e.event.resize.b"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 1.0;
+ rel1.to_x: "e.event.resize.tl";
+ rel2.relative: 0.0 1.0;
+ rel2.to_x: "e.event.resize.tr";
+ min: 0 5;
+ align: 0.5 1.0;
+ color: 0 0 0 0;
+ fixed: 0 1;
+ }
+ }
+ part { name: "e.event.resize.br"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 1.0;
+ rel2.relative: 1.0 1.0;
+ min: 32 5;
+ align: 1.0 1.0;
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,state,focused"; source: "e";
+ action: STATE_SET "focused" 0.0;
+ target: "top";
+ target: "bottom";
+ target: "left";
+ target: "right";
+ }
+ program {
+ signal: "e,state,unfocused"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "top";
+ target: "bottom";
+ target: "left";
+ target: "right";
+ }
+ }
+}
+
+group { name: "e/widgets/border/default/move";
+ images.image: "vgrad_tall.png" COMP;
+ images.image: "bevel_out.png" COMP;
+ images.image: "shine.png" COMP;
+ images.image: "ic_win_move.png" COMP;
+ parts {
+ part { name: "bg"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "vgrad_tall.png";
+ fill.smooth: 0;
+ TILED_HORIZ(40)
+ }
+ }
+ part { name: "bevel"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "icon";
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ FIXED_SIZE(21, 21)
+ rel1.offset: 2 2;
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 2 -3;
+ image.normal: "ic_win_move.png";
+ }
+ }
+ part { name: "e.text.label"; type: TEXT;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_x: "icon";
+ rel1.offset: 4 4;
+ rel1.relative: 1.0 0.0;
+ rel2.offset: -5 -5;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "move_text";
+ text { font: FN; size: 10;
+ min: 1 1;
+ text_class: "move_text";
+ }
+ }
+ }
+ part { name: "shine"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "shine.png";
+ rel1.offset: 0 -2;
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ FIXED_SIZE(69, 5)
+ }
+ }
+ }
+}
+
+group { name: "e/widgets/border/default/resize";
+ inherit: "e/widgets/border/default/move";
+ images.image: "ic_win_resize.png" COMP;
+ parts {
+ part { name: "icon";
+ description { state: "default" 0.0;
+ image.normal: "ic_win_resize.png";
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/button.edc b/data/themes/edc/button.edc
new file mode 100644
index 000000000..8369efe7b
--- /dev/null
+++ b/data/themes/edc/button.edc
@@ -0,0 +1,218 @@
+ group { name: "e/widgets/button";
+ images.image: "button_normal.png" COMP;
+ images.image: "button_clicked.png" COMP;
+ images.image: "win_glow.png" COMP;
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ image.normal: "button_normal.png";
+ image.border: 4 4 3 5;
+ image.middle: SOLID;
+ rel1.offset: -1 0;
+ rel2.offset: 0 1;
+ fill.smooth: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "button_clicked.png";
+ image.border: 5 5 4 6;
+ }
+ }
+ part { name: "icon_clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "e.swallow.icon"; type: SWALLOW; mouse_events: 0;
+ clip_to: "icon_clip";
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ rel1.offset: 6 5;
+ rel1.to: "base";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 6 -8;
+ rel2.to: "base";
+ }
+ description { state: "combo" 0.0;
+ inherit: "default" 0.0;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ }
+ description { state: "icon" 0.0;
+ inherit: "default" 0.0;
+ min: 17 17;
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ align: 0.5 0.5;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -7 -8;
+ }
+ }
+ part { name: "label_clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "e.text.label"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "label_clip";
+ description { state: "default" 0.0;
+ rel1.offset: 6 5;
+ rel1.to_x: "base";
+ rel1.to_y: "base";
+ rel2.offset: -7 -7;
+ rel2.to: "base";
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "button_text";
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "button";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "button_text_disabled";
+ }
+ description { state: "combo" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 2 5;
+ rel1.to_x: "e.swallow.icon";
+ }
+ description { state: "icon" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "label2"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "e.text.label";
+ rel2.to: "e.text.label";
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "button_text_disabled";
+ text { font: FN; size: 10;
+ text_source: "e.text.label";
+ align: 0.5 0.5;
+ text_class: "button";
+ }
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "base2"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ }
+ }
+ part { name: "glow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "win_glow.png";
+ image.border: 9 9 9 9;
+ image.middle: 0;
+ rel1.to: "base2";
+ rel1.offset: -2 -3;
+ rel2.to: "base2";
+ rel2.offset: 1 0;
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 150;
+ visible: 1;
+ }
+ }
+ part { name: "event"; type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,down,1"; source: "event";
+ action: STATE_SET "clicked" 0.0;
+ target: "base";
+ target: "base2";
+ }
+ program {
+ signal: "mouse,up,1"; source: "event";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "base2";
+ }
+ program {
+ signal: "mouse,clicked,1*"; source: "event";
+ action: SIGNAL_EMIT "e,action,click" "";
+ }
+ program {
+ signal: "e,state,text"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "e.swallow.icon";
+ target: "e.text.label";
+ }
+ program {
+ signal: "e,state,icon"; source: "e";
+ action: STATE_SET "icon" 0.0;
+ target: "e.swallow.icon";
+ target: "e.text.label";
+ }
+ program {
+ signal: "e,state,combo"; source: "e";
+ action: STATE_SET "combo" 0.0;
+ target: "e.swallow.icon";
+ target: "e.text.label";
+ }
+ program {
+ signal: "e,state,disabled"; source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "event";
+ target: "icon_clip";
+ target: "label_clip";
+ target: "label2";
+ }
+ program {
+ signal: "e,state,enabled"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "event";
+ target: "icon_clip";
+ target: "label_clip";
+ target: "label2";
+ }
+ program { signal: "e,state,focused"; source: "e";
+ action: STATE_SET "focused" 0.0;
+ target: "glow";
+ }
+ program { signal: "e,state,unfocused"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "glow";
+ }
+ }
+}
diff --git a/data/themes/edc/check.edc b/data/themes/edc/check.edc
new file mode 100644
index 000000000..59ab0a088
--- /dev/null
+++ b/data/themes/edc/check.edc
@@ -0,0 +1,166 @@
+group { name: "e/widgets/check";
+ images.image: "inset_shadow_tiny.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "sym_check_alum.png" COMP;
+ parts {
+ part { name: "base"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel1.to: "inset";
+ rel2.offset: -2 -2;
+ rel2.to: "inset";
+ color: 24 24 24 255;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 64 64 64 255;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow_tiny.png";
+ rel1.to: "base";
+ rel2.to: "base";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "inset"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: 2 2;
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 2 -3;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ align: 0.0 0.5;
+ min: 13 13;
+ max: 13 13;
+ fixed: 1 1;
+ }
+ }
+ part { name: "clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "indicator"; mouse_events: 0;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ image.normal: "sym_check_alum.png";
+ min: 11 11;
+ max: 11 11;
+ visible: 0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "e.text.label"; type: TEXT;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.offset: 2 2;
+ rel1.to_x: "inset";
+ rel1.relative: 1.0 0.0;
+ rel2.offset: -3 -3;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "check_text";
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.0 0.5;
+ text_class: "check_button";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ }
+ }
+ part { name: "event"; type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,state,checked"; source: "e";
+ action: STATE_SET "selected" 0.0;
+ target: "indicator";
+ }
+ program {
+ signal: "e,state,unchecked"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "indicator";
+ }
+ program {
+ signal: "mouse,up,1"; source: "event";
+ action: SIGNAL_EMIT "e,action,toggle" "";
+ }
+ program {
+ signal: "e,state,disabled"; source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "base";
+ target: "shadow";
+ target: "clip";
+ target: "e.text.label";
+ target: "event";
+ }
+ program {
+ signal: "e,state,enabled"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "shadow";
+ target: "clip";
+ target: "e.text.label";
+ target: "event";
+ }
+ }
+}
+
+group { name: "e/widgets/check_icon";
+ inherit: "e/widgets/check";
+ parts {
+ part { name: "e.swallow.icon"; type: SWALLOW;
+ insert_before: "event";
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ rel1.offset: 2 2;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "inset";
+ rel2.offset: 2 -3;
+ rel2.relative: 1.0 1.0;
+ rel1.to_x: "inset";
+ align: 0.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ }
+ }
+ part { name: "e.text.label";
+ description { state: "default" 0.0;
+ rel1.to_x: "e.swallow.icon";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/clock.edc b/data/themes/edc/clock.edc
new file mode 100644
index 000000000..e0f5b166f
--- /dev/null
+++ b/data/themes/edc/clock.edc
@@ -0,0 +1,1179 @@
+group { name: "e/modules/clock/digital";
+ min: 64 16;
+ max: 512 128;
+ images.image: "digit_na.png" COMP;
+ images.image: "digit_nm.png" COMP;
+ images.image: "digit_0.png" COMP;
+ images.image: "digit_1.png" COMP;
+ images.image: "digit_2.png" COMP;
+ images.image: "digit_3.png" COMP;
+ images.image: "digit_4.png" COMP;
+ images.image: "digit_5.png" COMP;
+ images.image: "digit_6.png" COMP;
+ images.image: "digit_7.png" COMP;
+ images.image: "digit_8.png" COMP;
+ images.image: "digit_9.png" COMP;
+ images.image: "digit_am.png" COMP;
+ images.image: "digit_pm.png" COMP;
+ images.image: "hole_tiny.png" COMP;
+ script {
+ public do_seconds, do_24h, do_date, tick_timer;
+
+ evalsize() {
+ new do24h, dosec, v[14], i, tot, mul;
+ new parts[] = {
+ PART:"hours1", PART:"hours1",
+ PART:"hours2", PART:"hours2",
+ PART:"mins1", PART:"mins1",
+ PART:"mins2", PART:"mins2",
+ PART:"secs1", PART:"secs1",
+ PART:"secs2", PART:"secs2",
+ PART:"ampm", PART:"ampm"
+ };
+
+ mul = 4;
+ if (get_int(do_date)) {
+ mul = 3;
+ }
+
+ for (i = 0; i < 14; i += 2) {
+ custom_state(parts[i], "default", 0.0);
+ }
+ v[0] = 0; v[1] = 2; v[2] = 2; v[3] = 4; // hrs
+ v[4] = 5; v[5] = 7; v[6] = 7; v[7] = 9; // mins
+ tot = 9;
+
+ dosec = get_int(do_seconds);
+ do24h = get_int(do_24h);
+ if ((dosec) && (!do24h)) { // sec + ampm
+ tot += 7;
+ v[8] = 10; v[9] = 12; v[10] = 12; v[11] = 14;
+ v[12] = 14; v[13] = 16;
+ }
+ else if ((dosec) && (do24h)) { // sec + -
+ tot += 5;
+ v[8] = 10; v[9] = 12; v[10] = 12; v[11] = 14;
+ v[12] = 0; v[13] = 0;
+ }
+ else if ((!dosec) && (!do24h)) { // - + ampm
+ tot += 2;
+ v[8] = 0; v[9] = 0; v[10] = 0; v[11] = 0;
+ v[12] = 9; v[13] = 11;
+ }
+ else if ((!dosec) && (do24h)) { // - + -
+ tot += 0;
+ v[8] = 0; v[9] = 0; v[10] = 0; v[11] = 0;
+ v[12] = 0; v[13] = 0;
+ }
+ for (i = 0; i < 14; i += 2) {
+ set_state_val(parts[i], STATE_REL1,
+ float(v[i]) / float(tot), 0.0);
+ set_state_val(parts[i + 1], STATE_REL2,
+ float(v[i + 1]) / float(tot), 1.0);
+ }
+ for (i = 0; i < 14; i += 2) {
+ set_state(parts[i], "custom", 0.0);
+ }
+ set_min_size(tot * mul, 16);
+ set_max_size(tot * 8 * mul, 128);
+ emit("e,state,sizing,changed", "");
+ }
+ reset() {
+ new tim;
+
+ evalsize();
+ tim = get_int(tick_timer);
+ if (tim) {
+ cancel_timer(tim);
+ set_int(tick_timer, 0);
+ }
+ clock_cb(0);
+ }
+ valset(name[], v) {
+ new buf[20], i;
+
+ for (i = 0; i < 10; i++) {
+ if (i == v) {
+ snprintf(buf, 20, "show,%s-%i", name, i);
+ }
+ else {
+ snprintf(buf, 20, "hide,%s-%i", name, i);
+ }
+ emit(buf, "c");
+ }
+ }
+ apvalset(id, pm) {
+ if (pm) set_state(id, "active", 0.0);
+ else set_state(id, "default", 0.0);
+ }
+ public clock_cb(val) {
+ new year, month, day, yearday, weekday, hour, minute;
+ new Float:second;
+ new v, dosec, do24h, tim;
+
+ date(year, month, day, yearday, weekday, hour, minute, second);
+ dosec = get_int(do_seconds);
+ if (dosec) {
+ v = round(second);
+ tim = timer(1.0 - (second - v), "clock_cb", 1);
+ // set seconds to v
+ valset("s0", v / 10);
+ valset("s1", v % 10);
+ }
+ else {
+ tim = timer(60.0 - (second), "clock_cb", 1);
+ }
+ set_int(tick_timer, tim);
+
+ // set minutes to minute
+ valset("m0", minute / 10);
+ valset("m1", minute % 10);
+
+ // set hours to hour
+ do24h = get_int(do_24h);
+ if (do24h) {
+ valset("h0", hour / 10);
+ valset("h1", hour % 10);
+ }
+ else {
+ new pm;
+
+ // if 12 or later, its pm
+ if (hour >= 12) {
+ pm = 1;
+ // if we are after 12 (1, 2, 3 etc.) then mod by 12
+ if (hour > 12) hour = hour % 12;
+ }
+ else {
+ pm = 0;
+ // make after midnight be 12:XX AM :)
+ if (hour == 0) hour = 12;
+ }
+ valset("h0", hour / 10);
+ valset("h1", hour % 10);
+ apvalset(PART:"ap", pm);
+ }
+ }
+ }
+ parts {
+ part { name: "secclip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "hidden" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "ampmclip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "hidden" 0.0;
+ visible: 0;
+ }
+ }
+ // XXX: hours1/2, mins1/2, secs1/2 and ampm SHOULD be spacers... but
+ // if they are calculations go weird. this shouldnt happen, but does.
+ part { name: "timearea"; type: RECT;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "date" 0.0;
+ inherit: "default" 0.0;
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 4;
+ rel2.to_y: "e.text.today";
+ }
+ }
+ part { name: "hours1"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: (0/16) 0.0;
+ rel2.relative: (2/16) 1.0;
+ rel1.to: "timearea";
+ rel2.to: "timearea";
+ visible: 0;
+ }
+ }
+ part { name: "hours2"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: (2/16) 0.0;
+ rel2.relative: (4/16) 1.0;
+ rel1.to: "timearea";
+ rel2.to: "timearea";
+ visible: 0;
+ }
+ }
+ part { name: "mins1"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: (5/16) 0.0;
+ rel2.relative: (7/16) 1.0;
+ rel1.to: "timearea";
+ rel2.to: "timearea";
+ visible: 0;
+ }
+ }
+ part { name: "mins2"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: (7/16) 0.0;
+ rel2.relative: (9/16) 1.0;
+ rel1.to: "timearea";
+ rel2.to: "timearea";
+ visible: 0;
+ }
+ }
+ part { name: "secs1"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: (10/16) 0.0;
+ rel2.relative: (12/16) 1.0;
+ rel1.to: "timearea";
+ rel2.to: "timearea";
+ visible: 0;
+ }
+ }
+ part { name: "secs2"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: (12/16) 0.0;
+ rel2.relative: (14/16) 1.0;
+ rel1.to: "timearea";
+ rel2.to: "timearea";
+ visible: 0;
+ }
+ }
+ part { name: "ampm"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: (14/16) 0.0;
+ rel2.relative: (16/16) 1.0;
+ rel1.to: "timearea";
+ rel2.to: "timearea";
+ visible: 0;
+ }
+ }
+ part { name: "c00";
+ description { state: "default" 0.0;
+ rel1.to: "hours2";
+ rel1.relative: 1.0 0.5;
+ rel1.offset: 0 -2;
+ rel2.to: "mins1";
+ rel2.relative: 0.0 0.5;
+ rel2.offset: 0 -2;
+ align: 0.5 1.0;
+ FIXED_SIZE(4, 4)
+ image.normal: "hole_tiny.png";
+ }
+ }
+ part { name: "c01";
+ description { state: "default" 0.0;
+ rel1.to: "hours2";
+ rel1.relative: 1.0 0.5;
+ rel1.offset: 0 1;
+ rel2.to: "mins1";
+ rel2.relative: 0.0 0.5;
+ rel2.offset: 0 1;
+ align: 0.5 0.0;
+ FIXED_SIZE(4, 4)
+ image.normal: "hole_tiny.png";
+ }
+ }
+ part { name: "c10";
+ clip_to: "secclip";
+ description { state: "default" 0.0;
+ rel1.to: "mins2";
+ rel1.relative: 1.0 0.5;
+ rel1.offset: 0 -2;
+ rel2.to: "secs1";
+ rel2.relative: 0.0 0.5;
+ rel2.offset: 0 -2;
+ align: 0.5 1.0;
+ FIXED_SIZE(4, 4)
+ image.normal: "hole_tiny.png";
+ }
+ }
+ part { name: "c11";
+ clip_to: "secclip";
+ description { state: "default" 0.0;
+ rel1.to: "mins2";
+ rel1.relative: 1.0 0.5;
+ rel1.offset: 0 1;
+ rel2.to: "secs1";
+ rel2.relative: 0.0 0.5;
+ rel2.offset: 0 1;
+ align: 0.5 0.0;
+ FIXED_SIZE(4, 4)
+ image.normal: "hole_tiny.png";
+ }
+ }
+#define ELEM(_NAME, _TO, _DIGIT) \
+ part { name: _NAME; \
+ description { state: "default" 0.0; \
+ rel1.to: _TO; rel2.to: _TO; \
+ aspect: (52/72) (52/72); aspect_preference: BOTH; \
+ image.normal: "digit_"_DIGIT".png"; \
+ visible: 0; \
+ color: 255 255 255 0; \
+ } \
+ description { state: "active" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ color: 255 255 255 255; \
+ } \
+ }
+#define DIGIT(_NAME, _TO) \
+ ELEM(_NAME"-0", _TO, "0") \
+ ELEM(_NAME"-1", _TO, "1") \
+ ELEM(_NAME"-2", _TO, "2") \
+ ELEM(_NAME"-3", _TO, "3") \
+ ELEM(_NAME"-4", _TO, "4") \
+ ELEM(_NAME"-5", _TO, "5") \
+ ELEM(_NAME"-6", _TO, "6") \
+ ELEM(_NAME"-7", _TO, "7") \
+ ELEM(_NAME"-8", _TO, "8") \
+ ELEM(_NAME"-9", _TO, "9")
+#define ELEMC(_NAME, _TO, _DIGIT, _CLIP) \
+ part { name: _NAME; \
+ clip_to: _CLIP; \
+ description { state: "default" 0.0; \
+ rel1.to: _TO; rel2.to: _TO; \
+ aspect: (52/72) (52/72); aspect_preference: BOTH; \
+ image.normal: "digit_"_DIGIT".png"; \
+ visible: 0; \
+ color: 255 255 255 0; \
+ } \
+ description { state: "active" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ color: 255 255 255 255; \
+ } \
+ }
+#define DIGITC(_NAME, _TO, _CLIP) \
+ ELEMC(_NAME"-0", _TO, "0", _CLIP) \
+ ELEMC(_NAME"-1", _TO, "1", _CLIP) \
+ ELEMC(_NAME"-2", _TO, "2", _CLIP) \
+ ELEMC(_NAME"-3", _TO, "3", _CLIP) \
+ ELEMC(_NAME"-4", _TO, "4", _CLIP) \
+ ELEMC(_NAME"-5", _TO, "5", _CLIP) \
+ ELEMC(_NAME"-6", _TO, "6", _CLIP) \
+ ELEMC(_NAME"-7", _TO, "7", _CLIP) \
+ ELEMC(_NAME"-8", _TO, "8", _CLIP) \
+ ELEMC(_NAME"-9", _TO, "9", _CLIP)
+
+#define TAG(_NAME, _TO, _CLIP) \
+ part { name: _NAME; \
+ clip_to: _CLIP; \
+ description { state: "default" 0.0; \
+ rel1.to: _TO; rel2.to: _TO; \
+ aspect: (48/31) (48/31); aspect_preference: BOTH; \
+ image.normal: "digit_am.png"; \
+ } \
+ description { state: "active" 0.0; \
+ inherit: "default" 0.0; \
+ image.normal: "digit_pm.png"; \
+ } \
+ }
+#define BASE(_NAME, _BASE, _IMG) \
+ part { name: _NAME; \
+ description { state: "default" 0.0; \
+ rel1.to: _BASE; \
+ rel2.to: _BASE; \
+ image.normal: _IMG; \
+ color: 255 255 255 128; \
+ } \
+ }
+#define BASEC(_NAME, _CLIP, _BASE, _IMG) \
+ part { name: _NAME; \
+ clip_to: _CLIP; \
+ description { state: "default" 0.0; \
+ rel1.to: _BASE; \
+ rel2.to: _BASE; \
+ image.normal: _IMG; \
+ color: 255 255 255 128; \
+ } \
+ }
+
+ BASE ("ha", "h0-0", "digit_na.png")
+ BASE ("hb", "h1-0", "digit_na.png")
+ BASE ("ma", "m0-0", "digit_na.png")
+ BASE ("mb", "m1-0", "digit_na.png")
+
+ BASEC("sa", "secclip", "s0-0", "digit_na.png")
+ BASEC("sb", "secclip", "s1-0", "digit_na.png")
+ BASEC("aa", "ampmclip", "ap", "digit_nm.png")
+
+ DIGIT ("h0", "hours1")
+ DIGIT ("h1", "hours2")
+ DIGIT ("m0", "mins1")
+ DIGIT ("m1", "mins2")
+ DIGITC("s0", "secs1", "secclip")
+ DIGITC("s1", "secs2", "secclip")
+ TAG("ap", "ampm", "ampmclip")
+#undef TAG
+#undef TAG
+#undef ELEM
+#undef ELEMC
+#undef BASE
+#undef BASEC
+#undef DIGIT
+#undef DIGITC
+
+ part { name: "e.text.today"; type: TEXT;
+ effect: GLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 1;
+ align: 0.5 1.0;
+ color: 51 153 255 255;
+ color2: 51 153 255 24;
+ color3: 51 153 255 18;
+ text { font: FN; size: 8;
+ text_class: "module_small";
+ align: 0.5 0.5;
+ min: 0 1;
+ }
+ fixed: 0 1;
+ visible: 0;
+ }
+ description { state: "date" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ }
+ }
+
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "load"; source: "";
+ script {
+ reset();
+ }
+ }
+ program {
+ signal: "e,state,date,on"; source: "e";
+ script {
+ set_int(do_date, 1);
+ set_state(PART:"timearea", "date", 0.0);
+ set_state(PART:"e.text.today", "date", 0.0);
+ reset();
+ }
+ }
+ program {
+ signal: "e,state,date,off"; source: "e";
+ script {
+ set_int(do_date, 0);
+ set_state(PART:"timearea", "default", 0.0);
+ set_state(PART:"e.text.today", "default", 0.0);
+ reset();
+ }
+ }
+ program {
+ signal: "e,state,seconds,on"; source: "e";
+ script {
+ set_int(do_seconds, 1);
+ set_state(PART:"secclip", "default", 0.0);
+ reset();
+ }
+ }
+ program {
+ signal: "e,state,seconds,off"; source: "e";
+ script {
+ set_int(do_seconds, 0);
+ set_state(PART:"secclip", "hidden", 0.0);
+ reset();
+ }
+ }
+ program {
+ signal: "e,state,24h,on"; source: "e";
+ script {
+ set_int(do_24h, 1);
+ set_state(PART:"ampmclip", "hidden", 0.0);
+ reset();
+ }
+ }
+ program {
+ signal: "e,state,24h,off"; source: "e";
+ script {
+ set_int(do_24h, 0);
+ set_state(PART:"ampmclip", "default", 0.0);
+ reset();
+ }
+ }
+#define DIGPRG(_NAME) \
+ program { \
+ signal: "show,"_NAME; source: "c"; \
+ action: STATE_SET "active" 0.0; \
+ transition: BOUNCE 0.3 0.5 2; \
+ target: _NAME; \
+ } \
+ program { \
+ signal: "hide,"_NAME; source: "c"; \
+ action: STATE_SET "default" 0.0; \
+ transition: DECELERATE 0.3; \
+ target: _NAME; \
+ }
+#define DIGPRGS(_NAME) \
+ DIGPRG(_NAME"-0") \
+ DIGPRG(_NAME"-1") \
+ DIGPRG(_NAME"-2") \
+ DIGPRG(_NAME"-3") \
+ DIGPRG(_NAME"-4") \
+ DIGPRG(_NAME"-5") \
+ DIGPRG(_NAME"-6") \
+ DIGPRG(_NAME"-7") \
+ DIGPRG(_NAME"-8") \
+ DIGPRG(_NAME"-9")
+
+ DIGPRGS("h0")
+ DIGPRGS("h1")
+ DIGPRGS("m0")
+ DIGPRGS("m1")
+ DIGPRGS("s0")
+ DIGPRGS("s1")
+#undef DIGPRG
+#undef DIGPRGS
+ }
+}
+
+group { name: "e/modules/clock/main";
+ images.image: "clock_base.png" COMP;
+ images.image: "inset_round_hilight.png" COMP;
+ images.image: "inset_round_shadow.png" COMP;
+ images.image: "inset_round_shading.png" COMP;
+ set { name: "tacho_hand_big";
+ image { image: "tacho_hand_big.png" COMP; size: 73 73 99999 99999; }
+ image { image: "tacho_hand_big2.png" COMP; size: 37 37 72 72; }
+ image { image: "tacho_hand_big3.png" COMP; size: 19 19 36 36; }
+ image { image: "tacho_hand_big4.png" COMP; size: 0 0 18 18; }
+ }
+ images.image: "tacho_hand_big_shadow.png" COMP;
+ set { name: "tacho_hand_small_min";
+ image { image: "tacho_hand_small_min.png" COMP; size: 73 73 99999 99999; }
+ image { image: "tacho_hand_small_min2.png" COMP; size: 37 37 72 72; }
+ image { image: "tacho_hand_small_min3.png" COMP; size: 19 19 36 36; }
+ image { image: "tacho_hand_small_min4.png" COMP; size: 0 0 18 18; }
+ }
+ set { name: "knob";
+ image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; }
+ image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; }
+ image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; }
+ image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; }
+ image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; }
+ image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; }
+ image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; }
+ image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; }
+ image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; }
+ image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; }
+ image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; }
+ }
+ min: 16 16;
+ max: 160 160;
+ script {
+ public do_seconds, tick_timer;
+
+ public clock_cb(val) {
+ new year, month, day, yearday, weekday, hour, minute;
+ new Float:second;
+ new v, dosec, tim;
+
+ date(year, month, day, yearday, weekday, hour, minute, second);
+ dosec = get_int(do_seconds);
+ if (dosec) {
+ v = round(second);
+ tim = timer(1.0 - (second - v), "clock_cb", 1);
+
+ custom_state(PART:"seconds", "default", 0.0);
+ set_state_val(PART:"seconds", STATE_MAP_ROT_Z, (v * 360.0) / 60.0);
+ set_state(PART:"seconds", "custom", 0.0);
+
+ custom_state(PART:"seconds-sh", "default", 0.0);
+ set_state_val(PART:"seconds-sh", STATE_MAP_ROT_Z, (v * 360.0) / 60.0);
+ set_state(PART:"seconds-sh", "custom", 0.0);
+ }
+ else {
+ tim = timer(60.0 - (second), "clock_cb", 1);
+ }
+ set_int(tick_timer, tim);
+
+ custom_state(PART:"minutes", "default", 0.0);
+ set_state_val(PART:"minutes", STATE_MAP_ROT_Z, (float(minute) * 360.0) / 60.0);
+ set_state(PART:"minutes", "custom", 0.0);
+
+ custom_state(PART:"minutes-sh", "default", 0.0);
+ set_state_val(PART:"minutes-sh", STATE_MAP_ROT_Z, (float(minute) * 360.0) / 60.0);
+ set_state(PART:"minutes-sh", "custom", 0.0);
+
+ custom_state(PART:"hours", "default", 0.0);
+ set_state_val(PART:"hours", STATE_MAP_ROT_Z, ((float(hour) + (float(minute) / 60.0)) * 360.0) / 12.0);
+ set_state(PART:"hours", "custom", 0.0);
+
+ custom_state(PART:"hours-sh", "default", 0.0);
+ set_state_val(PART:"hours-sh", STATE_MAP_ROT_Z, ((float(hour) + (float(minute) / 60.0)) * 360.0) / 12.0);
+ set_state(PART:"hours-sh", "custom", 0.0);
+ }
+ }
+ parts {
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "base-sh";
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 0 -1;
+ rel2.to: "base";
+ rel2.offset: -1 -2;
+ image.normal: "inset_round_shadow.png";
+ }
+ }
+ part { name: "base-hi";
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 0 1;
+ rel2.to: "base";
+ rel2.offset: -1 0;
+ image.normal: "inset_round_hilight.png";
+ }
+ }
+ part { name: "base";
+ description { state: "default" 0.0;
+ rel1.relative: (25/380) (25/380);
+ rel2.relative: (365/380) (365/380);
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ image.normal: "clock_base.png";
+ }
+ }
+ part { name: "seconds-sh"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "tacho_hand_big_shadow.png";
+ rel1.to: "hours-sh";
+ rel2.to: "hours-sh";
+ map {
+ on: 1;
+ rotation.center: "seconds-sh";
+ }
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "seconds"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "tacho_hand_big";
+ color: 255 0 0 255;
+ rel1.to: "base";
+ rel2.to: "base";
+ map {
+ on: 1;
+ rotation.center: "base";
+ }
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "minutes-sh"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "tacho_hand_big_shadow.png";
+ rel1.to: "hours-sh";
+ rel2.to: "hours-sh";
+ map {
+ on: 1;
+ rotation.center: "minutes-sh";
+ }
+ }
+ }
+ part { name: "minutes"; mouse_events: 0;
+ description { state: "default" 0.0000;
+ color: 255 255 255 255;
+ image.normal: "tacho_hand_big";
+ rel1.to: "base";
+ rel2.to: "base";
+ map {
+ on: 1;
+ rotation.center: "base";
+ }
+ }
+ }
+ part { name: "hours-sh"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "tacho_hand_small_shadow.png";
+ rel1.to: "hours";
+ rel1.relative: 0.0 (15/380);
+ rel1.offset: 0 1;
+ rel2.to: "hours";
+ rel2.relative: 1.0 (395/380);
+ rel2.offset: -1 0;
+ map {
+ on: 1;
+ rotation.center: "hours-sh";
+ }
+ }
+ }
+ part { name: "hours"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "tacho_hand_small_min";
+ color: 255 255 255 255;
+ rel1.to: "base";
+ rel2.to: "base";
+ map {
+ on: 1;
+ rotation.center: "base";
+ }
+ }
+ }
+ part { name: "over"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ image.normal: "inset_round_shading.png";
+ }
+ }
+ part { name: "knob"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.relative: (140/340) (140/340);
+ rel1.to: "base";
+ rel2.relative: (205/340) (205/340);
+ rel2.to: "base";
+ min: 4 4;
+ step: 2 2;
+ max: 24 24;
+ }
+ }
+ part { name: "knob2";
+ description { state: "default" 0.0;
+ rel1.offset: -4 -4;
+ rel1.to: "knob";
+ rel2.offset: 3 3;
+ rel2.to: "knob";
+ min: 12 12;
+ max: 32 32;
+ image.normal: "knob";
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "load"; source: "";
+ script {
+ clock_cb(0);
+ }
+ }
+ program {
+ signal: "e,state,seconds,on"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "seconds";
+ target: "seconds-sh";
+ after: "sec2";
+ }
+ program { name: "sec2";
+ script {
+ new tim;
+
+ set_int(do_seconds, 1);
+ tim = get_int(tick_timer);
+ if (tim) {
+ cancel_timer(tim);
+ set_int(tick_timer, 0);
+ }
+ clock_cb(0);
+ }
+ }
+ program {
+ signal: "e,state,seconds,off"; source: "e";
+ action: STATE_SET "hidden" 0.0;
+ target: "seconds";
+ target: "seconds-sh";
+ after: "sec3";
+ }
+ program { name: "sec3";
+ script {
+ new tim;
+
+ set_int(do_seconds, 0);
+ tim = get_int(tick_timer);
+ if (tim) {
+ cancel_timer(tim);
+ set_int(tick_timer, 0);
+ }
+ clock_cb(0);
+ }
+ }
+ }
+}
+
+group { name: "e/modules/clock/calendar/dayname";
+ parts {
+ part { name: "e.text.label"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ text { font: FN; size: 8;
+ text: "WWe";
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "module_small";
+ }
+ }
+ description { state: "weekend" 0.0;
+ inherit: "default" 0.0;
+ color: 48 48 48 255;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,state,weekend"; source: "e";
+ action: STATE_SET "weekend" 0.0;
+ target: "e.text.label";
+ }
+ program {
+ signal: "e,state,weekday"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "e.text.label";
+ }
+ }
+}
+
+group { name: "e/modules/clock/calendar/day";
+ script {
+ public day_state = 0;
+ evalstate() {
+ new vv = get_int(day_state);
+
+ if (vv & 2)
+ {
+ set_state(PART:"e.text.label", "today", 0.0);
+ set_state(PART:"label2", "today", 0.0);
+ }
+ else if (vv & 4)
+ {
+ set_state(PART:"e.text.label", "hidden", 0.0);
+ set_state(PART:"label2", "default", 0.0);
+ }
+ else if (vv & 1)
+ {
+ set_state(PART:"e.text.label", "weekend", 0.0);
+ set_state(PART:"label2", "default", 0.0);
+ }
+ else
+ {
+ set_state(PART:"e.text.label", "default", 0.0);
+ set_state(PART:"label2", "default", 0.0);
+ }
+ }
+ }
+ parts {
+ part { name: "e.text.label"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ text { font: FN; size: 10;
+ text: "00";
+ min: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+ description { state: "today" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "weekend" 0.0;
+ inherit: "default" 0.0;
+ color: 128 128 128 255;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ }
+ }
+ part { name: "label2"; type: TEXT; mouse_events: 0;
+ effect: GLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.offset: -3 -3;
+ rel1.to: "e.text.label";
+ rel2.offset: 2 1;
+ rel2.to: "e.text.label";
+ color: 51 153 255 255;
+ color2: 51 153 255 24;
+ color3: 51 153 255 18;
+ text { font: FN; size: 10;
+ text_source: "e.text.label";
+ min: 1 1;
+ align: 0.5 0.5;
+ }
+ visible: 0;
+ }
+ description { state: "today" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,state,weekend"; source: "e";
+ script {
+ new vv = get_int(day_state);
+ set_int(day_state, vv | 1);
+ evalstate();
+ }
+ }
+ program {
+ signal: "e,state,weekday"; source: "e";
+ script {
+ new vv = get_int(day_state);
+ set_int(day_state, vv & (~1));
+ evalstate();
+ }
+ }
+
+ program {
+ signal: "e,state,today"; source: "e";
+ script {
+ new vv = get_int(day_state);
+ set_int(day_state, vv | 2);
+ evalstate();
+ }
+ }
+ program {
+ signal: "e,state,someday"; source: "e";
+ script {
+ new vv = get_int(day_state);
+ set_int(day_state, vv & (~2));
+ evalstate();
+ }
+ }
+
+ program {
+ signal: "e,state,hidden"; source: "e";
+ script {
+ new vv = get_int(day_state);
+ set_int(day_state, vv | 4);
+ evalstate();
+ }
+ }
+ program {
+ signal: "e,state,visible"; source: "e";
+ script {
+ new vv = get_int(day_state);
+ set_int(day_state, vv & (~4));
+ evalstate();
+ }
+ }
+ }
+}
+
+group { name: "e/modules/clock/calendar";
+ images.image: "separator_horiz.png" COMP;
+ images.image: "sym_left_light_normal.png" COMP;
+ images.image: "sym_right_light_normal.png" COMP;
+ images.image: "sym_left_glow_normal.png" COMP;
+ images.image: "sym_right_glow_normal.png" COMP;
+ parts {
+ part { name: "e.text.month"; type: TEXT;
+ effect: SHADOW BOTTOM;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1.to_x: "prev";
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 0.0;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ text { font: FNBD; size: 10;
+ text: "000000000000";
+ align: 0.0 0.5;
+ min: 0 1;
+ text_class: "module_normal";
+ }
+ }
+ }
+ part { name: "e.text.year"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 1.0 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.to_x: "next";
+ rel2.relative: 0.0 0.0;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ text { font: FNBD; size: 10;
+ text: "0000";
+ align: 1.0 0.5;
+ min: 0 1;
+ text_class: "module_normal";
+ }
+ }
+ }
+ part { name: "previm"; mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 15 15;
+ max: 15 15;
+ rel1.to: "prev";
+ rel2.to: "prev";
+ image.normal: "sym_left_light_normal.png";
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_left_glow_normal.png";
+ }
+ }
+ part { name: "prev"; type: RECT;
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ color: 0 0 0 0;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ rel1.to_y: "e.text.month";
+ rel1.relative: 0.0 0.0;
+ rel2.to_y: "e.text.month";
+ rel2.relative: 0.0 1.0;
+ }
+ program { name: "prev_down";
+ signal: "mouse,down,1*"; source: "prev";
+ action: STATE_SET "pressed" 0.0;
+ target: "previm";
+ }
+ program { name: "prev_up";
+ signal: "mouse,up,1"; source: "prev";
+ action: STATE_SET "default" 0.0;
+ target: "previm";
+ }
+ program { name: "prev_clicked";
+ signal: "mouse,clicked,1*"; source: "prev";
+ action: SIGNAL_EMIT "e,action,prev" "";
+ }
+ }
+ part { name: "nextim"; mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 15 15;
+ max: 15 15;
+ rel1.to: "next";
+ rel2.to: "next";
+ image.normal: "sym_right_light_normal.png";
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_right_glow_normal.png";
+ }
+ }
+ part { name: "next"; type: RECT;
+ description { state: "default" 0.0;
+ align: 1.0 0.5;
+ color: 0 0 0 0;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ rel1.to_y: "e.text.month";
+ rel1.relative: 1.0 0.0;
+ rel2.to_y: "e.text.month";
+ rel2.relative: 1.0 1.0;
+ }
+ program { name: "next_down";
+ signal: "mouse,down,1"; source: "next";
+ action: STATE_SET "pressed" 0.0;
+ target: "nextim";
+ }
+ program { name: "next_up";
+ signal: "mouse,up,1"; source: "next";
+ action: STATE_SET "default" 0.0;
+ target: "nextim";
+ }
+ program { name: "next_clicked";
+ signal: "mouse,clicked,1"; source: "next";
+ action: SIGNAL_EMIT "e,action,next" "";
+ }
+ }
+ part { name: "sel";
+ description { state: "default" 0.0;
+ image.normal: "separator_horiz.png";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 0;
+ rel1.to: "e.table.daynames";
+ rel2.offset: -1 1;
+ rel2.to: "e.table.daynames";
+ min: 0 2;
+ fill.smooth: 0;
+ }
+ }
+
+ part { name: "e.table.daynames"; type: TABLE;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1.to_y: "e.text.month";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 2 2;
+ rel2.to_y: "e.text.month";
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -3 2;
+ step: 7 1;
+ table { homogeneous: TABLE;
+ padding: 1 1;
+ align: 0.5 0.5;
+ min: 1 1;
+ }
+ }
+ table {
+ items {
+#define D(x) \
+item { \
+ position: x 0; \
+ span: 1 1; \
+ source: "e/modules/clock/calendar/dayname"; \
+ weight: 1.0 1.0; \
+ align: -1.0 -1.0; \
+}
+ D(0) D(1) D(2) D(3) D(4) D(5) D(6)
+#undef D
+ }
+ }
+ }
+ part { name: "e.table.days"; type: TABLE;
+ description { state: "default" 0.0;
+ rel1.to_y: "e.table.daynames";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 2 2;
+ rel2.offset: -3 -3;
+ step: 7 5;
+ table { homogeneous: TABLE;
+ padding: 1 1;
+ align: 0.5 0.5;
+ min: 1 1;
+ }
+ }
+ table {
+ items {
+#define D(x, y) \
+item { \
+ position: x y; \
+ span: 1 1; \
+ source: "e/modules/clock/calendar/day"; \
+ weight: 1.0 1.0; \
+ align: -1.0 -1.0; \
+}
+ D(0, 0) D(1, 0) D(2, 0) D(3, 0) D(4, 0) D(5, 0) D(6, 0)
+ D(0, 1) D(1, 1) D(2, 1) D(3, 1) D(4, 1) D(5, 1) D(6, 1)
+ D(0, 2) D(1, 2) D(2, 2) D(3, 2) D(4, 2) D(5, 2) D(6, 2)
+ D(0, 3) D(1, 3) D(2, 3) D(3, 3) D(4, 3) D(5, 3) D(6, 3)
+ D(0, 4) D(1, 4) D(2, 4) D(3, 4) D(4, 4) D(5, 4) D(6, 4)
+ D(0, 5) D(1, 5) D(2, 5) D(3, 5) D(4, 5) D(5, 5) D(6, 5)
+#undef D
+ }
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/colors.edc b/data/themes/edc/colors.edc
new file mode 100644
index 000000000..d980a671e
--- /dev/null
+++ b/data/themes/edc/colors.edc
@@ -0,0 +1,156 @@
+group { name: "e/modules/conf_colors/preview/solid";
+ images.image: "inset_shadow.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "dot_pattern.png" COMP;
+ parts {
+ part { name: "bg"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.offset: 3 3;
+ rel2.offset: -4 -4;
+ color: 48 48 48 255;
+ min: 18 18;
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ part { name: "e.rect"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ color_class: "color_preview";
+ rel1.to: "bg";
+ rel2.to: "bg";
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "inset";
+ description { state: "default" 0.0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel1.offset: -1 -1;
+ rel2.to: "bg";
+ rel2.offset: 0 0;
+ fill.smooth: 0;
+ }
+ }
+ }
+}
+
+group { name: "e/modules/conf_colors/preview/text";
+ parts {
+ part { name: "shadow"; type: TEXT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 255 255 255 32;
+ text { font: FN; size: 10;
+ text: "Text";
+ min: 1 1;
+ }
+ }
+ }
+ part { name: "e.text"; type: TEXT; mouse_events: 0;
+ effect: OUTLINE_SHADOW;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ color2: 255 255 255 255;
+ color3: 255 255 255 255;
+ color_class: "color_preview";
+ text { font: FNBD; size: 16;
+ text: "Ab";
+ min: 1 1;
+ }
+ }
+ }
+ }
+}
+
+group { name: "e/modules/conf_colors/preview/unknown";
+ images.image: "inset_shadow.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "dot_pattern.png" COMP;
+ parts {
+ part { name: "bg"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.offset: 3 3;
+ rel2.offset: -4 -4;
+ color: 48 48 48 255;
+ min: 18 18;
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ part { name: "c1"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 255 0 0 128;
+ color_class: "color_preview_c1";
+ rel1.to: "bg";
+ rel2.to: "bg";
+ rel2.relative: 0.333 1.0;
+ }
+ }
+ part { name: "c2"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 0 255 0 128;
+ color_class: "color_preview_c2";
+ rel1.to: "c1";
+ rel1.relative: 1.0 0.0;
+ rel2.to: "bg";
+ rel2.relative: 0.667 1.0;
+ }
+ }
+ part { name: "c3"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 0 0 255 128;
+ color_class: "color_preview_c3";
+ rel1.to: "c2";
+ rel1.relative: 1.0 0.0;
+ rel2.to: "bg";
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "inset";
+ description { state: "default" 0.0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel1.offset: -1 -1;
+ rel2.to: "bg";
+ rel2.offset: 0 0;
+ fill.smooth: 0;
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/colorwell.edc b/data/themes/edc/colorwell.edc
new file mode 100644
index 000000000..d129cf83c
--- /dev/null
+++ b/data/themes/edc/colorwell.edc
@@ -0,0 +1,78 @@
+group { name: "e/widgets/color_well";
+ images.image: "inset_shadow.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "dot_pattern.png" COMP;
+ parts {
+ part { name: "bg"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.content";
+ rel2.to: "e.swallow.content";
+ color: 48 48 48 255;
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ part { name: "clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.content";
+ rel2.to: "e.swallow.content";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "e.swallow.content"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.offset: 3 3;
+ rel2.offset: -4 -4;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "inset";
+ description { state: "default" 0.0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel1.offset: -1 -1;
+ rel2.to: "bg";
+ rel2.offset: 0 0;
+ fill.smooth: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,clicked,1"; source: "inset";
+ action: SIGNAL_EMIT "e,action,click" "";
+ }
+ program {
+ signal: "e,state,disabled"; source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "clipper";
+ }
+ program {
+ signal: "e,state,enabled"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ }
+}
diff --git a/data/themes/edc/comp.edc b/data/themes/edc/comp.edc
new file mode 100644
index 000000000..b8da88095
--- /dev/null
+++ b/data/themes/edc/comp.edc
@@ -0,0 +1,853 @@
+group { name: "e/comp/preview";
+ parts {
+ part { name: "e.swallow.preview"; type: SWALLOW; mouse_events: 0;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "e.text.label"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ effect: SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ text { font: FNBD; size: 10;
+ text_class: "fileman_icon";
+ align: 0.5 0.5;
+ min: 1 1;
+ }
+ fixed: 0 1;
+ }
+ }
+ }
+}
+
+group { name: "e/comp/screen/base/default";
+ alias: "e/comp/screen/base/noeffects";
+ parts {
+ part { name: "clip"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "e.swallow.background"; type: SWALLOW; mouse_events: 0;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ }
+ }
+ }
+}
+
+group { name: "e/comp/screen/overlay/default";
+ images.image: "screen_circular_shadow.png" COMP;
+ parts {
+ part { name: "clip"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ rel1.relative: -1.0 -1.0;
+ rel2.relative: 2.0 2.0;
+ image.normal: "screen_circular_shadow.png";
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "blanker"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 0 0 0 255;
+ visible: 1;
+ }
+ }
+ part { name: "suspender"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 0 0 0 255;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "screensaver_on";
+ signal: "e,state,screensaver,on"; source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: ACCELERATE 3.0 CURRENT;
+ target: "blanker";
+ }
+ program {
+ name: "screensaver_on2";
+ signal: "e,state,screensaver,on"; source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 1.5 CURRENT;
+ target: "shadow";
+ }
+ program {
+ name: "screensaver_off";
+ signal: "e,state,screensaver,off"; source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: ACCELERATE 0.5 CURRENT;
+ target: "blanker";
+ }
+ program {
+ name: "screensaver_off2";
+ signal: "e,state,screensaver,off"; source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: ACCELERATE 0.25 CURRENT;
+ target: "shadow";
+ }
+ program {
+ name: "suspend";
+ signal: "e,state,sys,suspend"; source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: ACCELERATE 0.5 CURRENT;
+ target: "suspender";
+ after: "suspend_done";
+ }
+ program { name: "suspend_done";
+ action: SIGNAL_EMIT "e,state,sys,suspend,done" "e";
+ }
+ program {
+ name: "hibernate";
+ signal: "e,state,sys,hibernate"; source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: ACCELERATE 0.5 CURRENT;
+ target: "suspender";
+ after: "hibernate_done";
+ }
+ program { name: "hibernate_done";
+ action: SIGNAL_EMIT "e,state,sys,hibernate,done" "e";
+ }
+ program {
+ name: "resume";
+ signal: "e,state,sys,resume"; source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 1.0 CURRENT;
+ target: "suspender";
+ }
+ program {
+ name: "reboot";
+ signal: "e,state,sys,reboot"; source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: ACCELERATE 0.5 CURRENT;
+ target: "suspender";
+ after: "reboot_done";
+ }
+ program { name: "reboot_done";
+ action: SIGNAL_EMIT "e,state,sys,reboot,done" "e";
+ }
+ program {
+ name: "halt";
+ signal: "e,state,sys,halt"; source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: ACCELERATE 0.5 CURRENT;
+ target: "suspender";
+ after: "halt_done";
+ }
+ program { name: "halt_done";
+ action: SIGNAL_EMIT "e,state,sys,halt,done" "e";
+ }
+ program {
+ name: "logout";
+ signal: "e,state,sys,logout"; source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: ACCELERATE 0.5 CURRENT;
+ target: "suspender";
+ after: "logout_done";
+ }
+ program { name: "logout_done";
+ action: SIGNAL_EMIT "e,state,sys,logout,done" "e";
+ }
+ }
+}
+
+
+group { name: "e/comp/screen/overlay/noeffects";
+ inherit: "e/comp/screen/overlay/default";
+ programs {
+ program {
+ name: "screensaver_on";
+ transition: ACCELERATE 0 CURRENT;
+ }
+ program {
+ name: "screensaver_on2";
+ transition: DECELERATE 0 CURRENT;
+ }
+ program {
+ name: "screensaver_off";
+ transition: ACCELERATE 0 CURRENT;
+ }
+ program {
+ name: "screensaver_off2";
+ transition: ACCELERATE 0 CURRENT;
+ }
+ program {
+ name: "suspend";
+ signal: "e,state,sys,suspend"; source: "e";
+ action: SIGNAL_EMIT "e,state,sys,suspend,done" "e";
+ after: "action_done";
+ }
+ program {
+ name: "action_done";
+ action: STATE_SET "visible" 0.0;
+ transition: ACCELERATE 0 CURRENT;
+ target: "suspender";
+ }
+ program {
+ name: "hibernate";
+ signal: "e,state,sys,hibernate"; source: "e";
+ action: SIGNAL_EMIT "e,state,sys,hibernate,done" "e";
+ after: "action_done";
+ }
+ program {
+ name: "resume";
+ transition: DECELERATE 1 CURRENT;
+ }
+ program {
+ name: "reboot";
+ signal: "e,state,sys,reboot"; source: "e";
+ action: SIGNAL_EMIT "e,state,sys,reboot,done" "e";
+ after: "action_done";
+ }
+ program {
+ name: "halt";
+ signal: "e,state,sys,halt"; source: "e";
+ action: SIGNAL_EMIT "e,state,sys,halt,done" "e";
+ after: "action_done";
+ }
+ program {
+ name: "logout";
+ signal: "e,state,sys,logout"; source: "e";
+ action: SIGNAL_EMIT "e,state,sys,logout,done" "e";
+ after: "action_done";
+ }
+ }
+}
+
+group { name: "e/comp/border/default";
+ images.image: "win_shadow.png" COMP;
+ images.image: "win_glow.png" COMP;
+ parts {
+ part { name: "clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: -1.0 -1.0;
+ rel1.offset: -9999 -9999;
+ rel2.relative: 2.0 2.0;
+ rel2.offset: 9999 9999;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ image.normal: "win_shadow.png";
+ image.border: 14 14 14 14;
+ image.middle: 0;
+ rel1.to: "e.swallow.content";
+ rel1.offset: -7 -3;
+ rel2.to: "e.swallow.content";
+ rel2.offset: 6 11;
+ fill.smooth: 0;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "glow"; mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ image.normal: "win_glow.png";
+ image.border: 9 9 9 9;
+ image.middle: 0;
+ rel1.to: "e.swallow.content";
+ rel1.offset: -5 -5;
+ rel2.to: "e.swallow.content";
+ rel2.offset: 4 4;
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "shower"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.relative: 0.05 0.05;
+ rel2.relative: 0.95 0.95;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ part { name: "trans-clipper";
+ type: RECT;
+ clip_to: "clipper";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ color_class: "comp_alpha";
+ rel1.to: "clipper";
+ rel2.to: "clipper";
+ }
+ }
+ part { name: "focus-clipper";
+ type: RECT;
+ clip_to: "trans-clipper";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ color_class: "comp_focus-out_color";
+ rel1.to: "clipper";
+ rel2.to: "clipper";
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color_class: "";
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "e.swallow.content"; type: SWALLOW;
+ clip_to: "focus-clipper";
+ description { state: "default" 0.0;
+ rel1.to: "shower";
+ rel2.to: "shower";
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,state,shadow,on"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "shadow";
+ }
+ program {
+ signal: "e,state,shadow,off"; source: "e";
+ action: STATE_SET "hidden" 0.0;
+ target: "shadow";
+ }
+ program {
+ name: "visible_on";
+ signal: "e,state,visible,on"; source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.15;
+ target: "clipper";
+ target: "shower";
+ after: "show2";
+ }
+ program { name: "show2";
+ action: SIGNAL_EMIT "e,action,show,done" "e";
+ }
+ program {
+ name: "visible_off";
+ signal: "e,state,visible,off"; source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.30;
+ target: "clipper";
+ target: "shower";
+ after: "hide2";
+ }
+ program { name: "hide2";
+ action: SIGNAL_EMIT "e,action,hide,done" "e";
+ }
+ program {
+ name: "focus_on";
+ signal: "e,state,focus,on"; source: "e";
+ action: STATE_SET "focused" 0.0;
+ transition: SINUSOIDAL 0.1;
+ target: "glow";
+ target: "focus-clipper";
+ after: "focus2";
+ }
+ program { name: "focus2";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.4;
+ target: "glow";
+ }
+ program {
+ name: "focus_off";
+ signal: "e,state,focus,off"; source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.1;
+ target: "focus-clipper";
+ after: "focus_off2";
+ }
+ program {
+ name: "focus_off2";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.4;
+ target: "glow";
+ }
+ program { name: "urgent1";
+ signal: "e,state,urgent,on"; source: "e";
+ action: STATE_SET "focused" 0.0;
+ transition: SINUSOIDAL 0.3;
+ target: "glow";
+ after: "urgent2";
+ }
+ program { name: "urgent2";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.3;
+ target: "glow";
+ after: "urgent1";
+ }
+ program {
+ signal: "e,state,urgent,off"; source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.6 CURRENT;
+ target: "glow";
+ }
+ }
+}
+
+group { name: "e/comp/border/rotate";
+ inherit: "e/comp/border/default";
+ parts {
+ part { name: "e.swallow.content";
+ description { state: "default";
+ map {
+ on: 1;
+ rotation {
+ z: 0;
+ }
+ }
+ }
+ description { state: "focus-out";
+ inherit: "default";
+ map.rotation.z: 180;
+ }
+ }
+ part {
+ name: "shower";
+ description { state: "default";
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ }
+ programs {
+ program { name: "focus3";
+ signal: "e,state,focus,on"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "e.swallow.content";
+ transition: LINEAR 0.3;
+ }
+ program { name: "focus_off3";
+ signal: "e,state,focus,off"; source: "e";
+ action: STATE_SET "focus-out" 0.0;
+ target: "e.swallow.content";
+ transition: LINEAR 0.3;
+ }
+ }
+}
+
+group { name: "e/comp/border/rotate/fast";
+ inherit: "e/comp/border/rotate";
+ programs {
+ program { name: "focus3";
+ transition: LINEAR 0;
+ }
+ program { name: "focus_off3";
+ transition: LINEAR 0;
+ }
+ }
+}
+
+group { name: "e/comp/border/flip";
+ inherit: "e/comp/border/rotate";
+ parts {
+ part { name: "e.swallow.content";
+ description { state: "default";
+ map {
+ on: 1;
+ rotation {
+ z: 0;
+ y: 0;
+ }
+ backface_cull: 1;
+ }
+ }
+ description { state: "focus-out";
+ inherit: "default";
+ map.rotation {
+ z: 0;
+ y: 180;
+ }
+ }
+ }
+ }
+}
+
+group { name: "e/comp/border/flip/fast";
+ inherit: "e/comp/border/flip";
+ programs {
+ program { name: "focus3";
+ transition: LINEAR 0;
+ }
+ program { name: "focus_off3";
+ transition: LINEAR 0;
+ }
+ }
+}
+
+group { name: "e/comp/border/popup";
+ inherit: "e/comp/border/default";
+ parts {
+ part { name: "focus-clipper";
+ description { state: "default";
+ color_class: "";
+ }
+ }
+ }
+}
+
+group { name: "e/comp/border/default/fast";
+ inherit: "e/comp/border/default";
+ programs {
+ program {
+ name: "visible_on";
+ transition: DECELERATE 0;
+ }
+ program {
+ name: "visible_off";
+ transition: DECELERATE 0;
+ }
+ program {
+ name: "focus_on";
+ signal: "e,state,focus,on"; source: "e";
+ action: STATE_SET "focused" 0.0;
+ transition: SINUSOIDAL 0.1;
+ target: "glow";
+ target: "focus-clipper";
+ after: "focus2";
+ }
+ program { name: "focus2";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.1;
+ target: "glow";
+ }
+ program {
+ name: "focus_off";
+ transition: SINUSOIDAL 0;
+ }
+ }
+}
+
+group { name: "e/comp/border/popup/fast";
+ inherit: "e/comp/border/default/fast";
+ parts {
+ part { name: "focus-clipper";
+ description { state: "default";
+ color_class: "";
+ }
+ }
+ }
+}
+
+group { name: "e/comp/border/none";
+ parts {
+ part { name: "e.swallow.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,state,visible,on"; source: "e";
+ action: SIGNAL_EMIT "e,action,show,done" "e";
+ }
+ program {
+ signal: "e,state,visible,off"; source: "e";
+ action: SIGNAL_EMIT "e,action,hide,done" "e";
+ }
+ }
+}
+
+group { name: "e/comp/border/still";
+ inherit: "e/comp/border/default";
+ parts {
+ part { name: "shower";
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ }
+}
+
+group { name: "e/comp/border/still/fast";
+ inherit: "e/comp/border/default/fast";
+ parts {
+ part { name: "shower";
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ }
+}
+
+group { name: "e/comp/border/menu";
+ inherit: "e/comp/border/popup";
+ parts {
+ part { name: "shower";
+ description { state: "default" 0.0;
+ rel1.relative: 0.05 0.0;
+ rel2.relative: 0.95 0.9;
+ }
+ }
+ }
+}
+
+group { name: "e/comp/border/menu/fast";
+ inherit: "e/comp/border/popup/fast";
+ parts {
+ part { name: "shower";
+ description { state: "default" 0.0;
+ rel1.relative: 0.05 0.0;
+ rel2.relative: 0.95 0.9;
+ }
+ }
+ }
+}
+
+group { name: "e/comp/border/everything";
+ inherit: "e/comp/border/popup";
+ parts {
+ part { name: "shower";
+ description { state: "default" 0.0;
+ rel1.relative: -0.3 -0.3;
+ rel2.relative: 1.3 1.3;
+ }
+ }
+ }
+}
+
+group { name: "e/comp/border/everything/fast";
+ inherit: "e/comp/border/popup/fast";
+ parts {
+ part { name: "shower";
+ description { state: "default" 0.0;
+ rel1.relative: -0.3 -0.3;
+ rel2.relative: 1.3 1.3;
+ }
+ }
+ }
+}
+
+group { name: "e/comp/border/fullscreen";
+ images.image: "screen_circular_shadow.png" COMP;
+ data.item: "screen.bg" "fullscreen.bg";
+ parts {
+ part { name: "clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: -1.0 -1.0;
+ rel1.offset: -9999 -9999;
+ rel2.relative: 2.0 2.0;
+ rel2.offset: 9999 9999;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "visible1" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ description { state: "visible2" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "clipper_all"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "scr_shadow"; mouse_events: 0;
+ clip_to: "clipper_all";
+ description { state: "default" 0.0;
+ rel1.relative: -1.0 -1.0;
+ rel2.relative: 2.0 2.0;
+ image.normal: "screen_circular_shadow.png";
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "scr_shade"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 0 0 0 255;
+ visible: 1;
+ }
+ }
+ part { name: "shower"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.relative: 0.5 0.5;
+ rel2.relative: 0.5 0.5;
+ }
+ description { state: "visible1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.1 0.49;
+ rel1.offset: 0 0;
+ rel2.relative: 0.9 0.51;
+ rel2.offset: -1 -1;
+ }
+ description { state: "visible2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ part { name: "e.swallow.content"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "shower";
+ rel2.to: "shower";
+ }
+ }
+ part { name: "fader"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.content";
+ rel2.to: "e.swallow.content";
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "visible1" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ description { state: "visible2" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "visible_on";
+ signal: "e,state,visible,on"; source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.25;
+ target: "scr_shadow";
+ target: "scr_shade";
+ }
+ program {
+ name: "visible_on2";
+ signal: "e,state,visible,on"; source: "e";
+ action: STATE_SET "visible1" 0.0;
+ transition: DECELERATE 0.05;
+ target: "clipper";
+ target: "shower";
+ target: "fader";
+ after: "show2";
+ }
+ program { name: "show2";
+ action: STATE_SET "visible2" 0.0;
+ transition: DECELERATE 0.20;
+ target: "clipper";
+ target: "shower";
+ target: "fader";
+ after: "show3";
+ }
+ program { name: "show3";
+ action: SIGNAL_EMIT "e,action,show,done" "e";
+ }
+ program {
+ name: "visible_off";
+ signal: "e,state,visible,off"; source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.25;
+ target: "scr_shadow";
+ target: "scr_shade";
+ }
+ program {
+ name: "visible_off2";
+ signal: "e,state,visible,off"; source: "e";
+ action: STATE_SET "visible1" 0.0;
+ transition: DECELERATE 0.2;
+ target: "clipper";
+ target: "shower";
+ target: "fader";
+ after: "hide2";
+ }
+ program { name: "hide2";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.05;
+ target: "clipper";
+ target: "shower";
+ target: "fader";
+ after: "hide3";
+ }
+ program { name: "hide3";
+ action: SIGNAL_EMIT "e,action,hide,done" "e";
+ }
+ }
+}
+
+group { name: "e/comp/border/fullscreen/fast";
+ inherit: "e/comp/border/fullscreen";
+ programs {
+ program {
+ name: "visible_on";
+ transition: DECELERATE 0;
+ }
+ program {
+ name: "visible_on2";
+ transition: DECELERATE 0;
+ }
+ program { name: "show2";
+ transition: DECELERATE 0;
+ }
+ program {
+ name: "visible_off";
+ transition: DECELERATE 0;
+ }
+ program {
+ name: "visible_off2";
+ transition: DECELERATE 0;
+ }
+ program { name: "hide2";
+ transition: DECELERATE 0;
+ }
+ }
+}
diff --git a/data/themes/edc/comp_effects.edc b/data/themes/edc/comp_effects.edc
new file mode 100644
index 000000000..9d7aaf801
--- /dev/null
+++ b/data/themes/edc/comp_effects.edc
@@ -0,0 +1,497 @@
+#define COMP_EFFECT_DURATION 0.4
+
+group { name: "e/comp/effects/none";
+ parts {
+ part { name: "e.swallow.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ }
+ }
+ }
+}
+
+/* non-auto effects are assumed to be run frame by frame by an animator */
+group { name: "e/comp/effects/move";
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_INT_SET) && (id == 0)) {
+ /* set state */
+ new st;
+
+ st = getarg(2);
+ if (st == 1)
+ set_state(PART:"mover", "custom", 0.0);
+ else
+ set_state(PART:"mover", "default", 0.0);
+ } else if ((type == MSG_INT_SET) && (id == 1)) {
+ /* x,y coords to move to */
+ new x, y;
+
+ x = getarg(2);
+ y = getarg(3);
+
+ custom_state(PART:"mover", "default", 0.0);
+ set_state_val(PART:"mover", STATE_REL1_OFFSET, x, y);
+ set_state_val(PART:"mover", STATE_REL2_OFFSET, x, y);
+ }
+ }
+ }
+ parts {
+ part { name: "mover"; type: SPACER;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "e.swallow.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "mover";
+ rel2.to: "mover";
+ }
+ }
+ }
+ programs {
+ program {
+ name: "show";
+ signal: "e,action,go";
+ source: "e";
+ filter: "mover" "default";
+ action: STATE_SET "custom" 0.0;
+ transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
+ target: "mover";
+ after: "done";
+ }
+ program {
+ name: "hide";
+ signal: "e,action,go";
+ source: "e";
+ filter: "mover" "custom";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
+ target: "mover";
+ after: "done";
+ }
+ program {
+ name: "stop";
+ signal: "e,action,stop";
+ source: "e";
+ action: ACTION_STOP;
+ target: "show";
+ target: "hide";
+ }
+ program {
+ name: "done";
+ action: SIGNAL_EMIT "e,action,done" "e";
+ }
+ }
+}
+
+/* auto effects are "start and forget" */
+group { name: "e/comp/effects/auto/pane";
+ //data.item: "noclip" "1"; //setting this prevents object from being clipped to its zone during effect
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_INT_SET) && (id == 0)) {
+ /* set state */
+ new st;
+
+ st = getarg(2);
+ if (st == 1)
+ set_state(PART:"mover", "custom", 0.0);
+ else
+ set_state(PART:"mover", "default", 0.0);
+ } else if ((type == MSG_INT_SET) && (id == 1)) {
+ /* border geom[4] / screen size[2] / desk change direction[2] */
+ new x, y, sw, sh, dx, dy;
+
+ sw = getarg(6);
+ sh = getarg(7);
+ dx = getarg(8);
+ dy = getarg(9);
+
+ x = round(sw*dx*1.5);
+ y = round(sh*dy*1.5);
+
+ custom_state(PART:"mover", "default", 0.0);
+ set_state_val(PART:"mover", STATE_REL1_OFFSET, x, y);
+ set_state_val(PART:"mover", STATE_REL2_OFFSET, x, y);
+ }
+ }
+ }
+ parts {
+ part { name: "mover"; type: SPACER;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "e.swallow.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "mover";
+ rel2.to: "mover";
+ }
+ }
+ }
+ programs {
+ program {
+ name: "show";
+ signal: "e,action,go";
+ source: "e";
+ filter: "mover" "default";
+ action: STATE_SET "custom" 0.0;
+ transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
+ target: "mover";
+ after: "done";
+ }
+ program {
+ name: "hide";
+ signal: "e,action,go";
+ source: "e";
+ filter: "mover" "custom";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
+ target: "mover";
+ after: "done";
+ }
+ program {
+ name: "stop";
+ signal: "e,action,stop";
+ source: "e";
+ action: ACTION_STOP;
+ target: "show";
+ target: "hide";
+ }
+ program {
+ name: "done";
+ action: SIGNAL_EMIT "e,action,done" "e";
+ }
+ }
+}
+
+group { name: "e/comp/effects/auto/diagonal";
+ inherit: "e/comp/effects/auto/pane";
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_INT_SET) && (id == 0)) {
+ /* set state */
+ new st;
+
+ st = getarg(2);
+
+ if (st == 1)
+ set_state(PART:"mover", "custom", 0.0);
+ else
+ set_state(PART:"mover", "default", 0.0);
+ } else if ((type == MSG_INT_SET) && (id == 1)) {
+ /* border geom / screen size / desk change direction */
+ new x, y, w, h, sw, sh, mx, my, bx, by;
+ new Float:fx, Float:fy, Float:ang, Float:len, Float:lmax, Float:rad;
+
+ x = getarg(2);
+ y = getarg(3);
+ w = getarg(4);
+ h = getarg(5);
+ sw = getarg(6);
+ sh = getarg(7);
+ custom_state(PART:"mover", "default", 0.0);
+
+ mx = sw/2;
+ my = sh/2;
+
+ bx = x+(w/2)-mx;
+ by = y+(h/2)-my;
+ if (bx == 0) bx = 1;
+ if (by == 0) by = 1;
+ fx = bx/(w/2);
+ fy = by/(h/2);
+ ang = atan(fy/fx);
+ if (fx < 0.0)
+ ang = PI+ang;
+ len = sqrt((bx*bx)+(by*by));
+ lmax = sqrt(((sw/2)*(sw/2))+((sh/2)*(sh/2)));
+ rad = sqrt((w*w)+(h*h))/2.0;
+ x = round(cos(ang)*(lmax-len+rad));
+ y = round(sin(ang)*(lmax-len+rad));
+ set_state_val(PART:"mover", STATE_REL1_OFFSET, x, y);
+ set_state_val(PART:"mover", STATE_REL2_OFFSET, x, y);
+ }
+ }
+ }
+}
+
+group { name: "e/comp/effects/auto/zoom";
+ inherit: "e/comp/effects/auto/diagonal";
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_INT_SET) && (id == 0)) {
+ /* set state */
+ new st;
+
+ st = getarg(2);
+ if (st == 1) {
+ /* starting from offscreen */
+ set_state_val(PART:"mover", STATE_REL1, 0.3, 0.3);
+ set_state_val(PART:"mover", STATE_REL2, 0.7, 0.7);
+ set_state(PART:"mover", "custom", 0.0);
+ set_state(PART:"clip", "hidden", 0.0);
+ } else {
+ /* starting from normal position */
+ set_state_val(PART:"mover", STATE_REL1, -1.7, -1.7);
+ set_state_val(PART:"mover", STATE_REL2, 1.7, 1.7);
+ set_state(PART:"mover", "default", 0.0);
+ set_state(PART:"clip", "default", 0.0);
+ }
+ } else if ((type == MSG_INT_SET) && (id == 1)) {
+ /* border geom / screen size / desk change direction */
+ new x, y, w, h, sw, sh, mx, my, bx, by;
+ new Float:fx, Float:fy, Float:ang, Float:len, Float:lmax, Float:rad;
+
+ x = getarg(2);
+ y = getarg(3);
+ w = getarg(4);
+ h = getarg(5);
+ sw = getarg(6);
+ sh = getarg(7);
+ custom_state(PART:"mover", "default", 0.0);
+
+ mx = sw/2;
+ my = sh/2;
+
+ bx = x+(w/2)-mx;
+ by = y+(h/2)-my;
+ if (bx == 0) bx = 1;
+ if (by == 0) by = 1;
+ fx = bx/(w/2);
+ fy = by/(h/2);
+ ang = atan(fy/fx);
+ if (fx < 0.0)
+ ang = PI+ang;
+ len = sqrt((bx*bx)+(by*by));
+ lmax = sqrt(((sw/2)*(sw/2))+((sh/2)*(sh/2)));
+ rad = sqrt((w*w)+(h*h))/2.0;
+ x = round(cos(ang)*(lmax-len+rad));
+ y = round(sin(ang)*(lmax-len+rad));
+ set_state_val(PART:"mover", STATE_REL1_OFFSET, x, y);
+ set_state_val(PART:"mover", STATE_REL2_OFFSET, x, y);
+ }
+ }
+ }
+ parts {
+ part { name: "clip"; type: RECT; mouse_events: 0;
+ insert_after: "mover";
+ description { state: "default";
+ rel1.to: "mover";
+ rel1.offset: -20 -20;
+ rel2.to: "mover";
+ rel2.offset: 20 20;
+ color: 255 255 255 255;
+ }
+ description { state: "hidden";
+ rel1.to: "mover";
+ rel2.to: "mover";
+ color: 255 255 255 0;
+ }
+ }
+ part { name: "e.swallow.content"; clip_to: "clip";
+ }
+ }
+ programs {
+ program {
+ name: "show2";
+ signal: "e,action,go";
+ source: "e";
+ filter: "mover" "default";
+ action: STATE_SET "hidden" 0.0;
+ transition: ACCELERATE COMP_EFFECT_DURATION CURRENT;
+ target: "clip";
+ }
+ program {
+ name: "hide2";
+ signal: "e,action,go";
+ source: "e";
+ filter: "mover" "custom";
+ action: STATE_SET "default" 0.0;
+ transition: ACCELERATE COMP_EFFECT_DURATION CURRENT;
+ target: "clip";
+ }
+ }
+}
+
+group { name: "e/comp/effects/auto/blend";
+ //data.item: "noclip" "1"; //setting this prevents object from being clipped to its zone during effect
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_INT_SET) && (id == 0)) {
+ /* set state */
+ new st;
+
+ st = getarg(2);
+ if (st == 1) {
+ /* starting from hidden */
+ set_state(PART:"clip", "hidden", 0.0);
+ } else {
+ set_state(PART:"clip", "default", 0.0);
+ }
+ }
+ }
+ }
+ parts {
+ part { name: "clip"; type: RECT; mouse_events: 0;
+ description { state: "default";
+ rel1.to: "e.swallow.content";
+ rel1.offset: -20 -20;
+ rel2.to: "e.swallow.content";
+ rel2.offset: 20 20;
+ color: 255 255 255 255;
+ }
+ description { state: "hidden";
+ inherit: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ }
+ part { name: "e.swallow.content"; type: SWALLOW;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "show";
+ signal: "e,action,go";
+ source: "e";
+ filter: "clip" "default";
+ action: STATE_SET "hidden" 0.0;
+ transition: LINEAR COMP_EFFECT_DURATION CURRENT;
+ target: "clip";
+ after: "done";
+ }
+ program {
+ name: "hide";
+ signal: "e,action,go";
+ source: "e";
+ filter: "clip" "hidden";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR COMP_EFFECT_DURATION CURRENT;
+ target: "clip";
+ after: "done";
+ }
+ program {
+ name: "stop";
+ signal: "e,action,stop";
+ source: "e";
+ action: ACTION_STOP;
+ target: "show";
+ target: "hide";
+ }
+ program {
+ name: "done";
+ action: SIGNAL_EMIT "e,action,done" "e";
+ }
+ }
+}
+
+group { name: "e/comp/effects/auto/grow";
+ inherit: "e/comp/effects/auto/pane";
+ //data.item: "noclip" "1"; //setting this prevents object from being clipped to its zone during effect
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_INT_SET) && (id == 0)) {
+ /* set state */
+ new st;
+
+ st = getarg(2);
+ if (st == 1)
+ set_state(PART:"mover", "custom", 0.0);
+ else
+ set_state(PART:"mover", "default", 0.0);
+ } else if ((type == MSG_INT_SET) && (id == 1)) {
+ /* border geom[4] / screen size[2] / desk change direction[2] */
+ new dx, dy;
+ new Float:r1x = 0.0, Float:r1y = 0.0, Float:r2x = 1.0, Float:r2y = 1.0;
+
+ dx = getarg(8);
+ dy = getarg(9);
+
+ custom_state(PART:"mover", "default", 0.0);
+ if (dx == 1) r1x = 1.0;
+ else if (dx == -1) r2x = 0.0;
+ if (dy == 1) r1y = 1.0;
+ else if (dy == -1) r2y = 0.0;
+ set_state_val(PART:"mover", STATE_REL1, r1x, r1y);
+ set_state_val(PART:"mover", STATE_REL2, r2x, r2y);
+ }
+ }
+ }
+}
+
+#if 0 //this is weirdly broken with proxy visibility somehow...
+group { name: "e/comp/effects/auto/rotate";
+ inherit: "e/comp/effects/auto/pane";
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_INT_SET) && (id == 0)) {
+ /* set state */
+ new st;
+
+ st = getarg(2);
+
+ if (st == 1) {
+ set_state(PART:"mover", "custom", 0.0);
+ set_state(PART:"proxy", "hidden", 0.0);
+ } else {
+ set_state(PART:"mover", "default", 0.0);
+ set_state(PART:"proxy", "default", 0.0);
+ }
+ }
+#if 0
+ else if ((type == MSG_INT_SET) && (id == 1)) {
+ /* desk change direction */
+ new Float:mx, Float:my;
+ mx = get_float(getarg(8) * 180);
+ my = get_float(getarg(9) * 180);
+ custom_state(PART:"proxy", "hidden", 0.0);
+ set_state_val(PART:"proxy", STATE_MAP_ROT_Y, mx);
+ set_state_val(PART:"proxy", STATE_MAP_ROT_X, my);
+ }
+#endif
+ }
+ }
+ parts {
+ part { name: "proxy"; type: PROXY; mouse_events: 0;
+ insert_after: "e.swallow.content";
+ description { state: "default";
+ source: "e.swallow.content";
+ map {
+ on: 1;
+ perspective_on: 1;
+ perspective: "e.swallow.content";
+ smooth: 1;
+ rotation.y: 0;
+ rotation.x: 0;
+ }
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default";
+ map.rotation.y: -180;
+ map.rotation.x: -180;
+ proxy.source_visible: 0;
+ map.backface_cull: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "show2";
+ signal: "e,action,go";
+ source: "e";
+ action: STATE_SET "hidden" 0.0;
+ transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
+ target: "proxy";
+ }
+ program {
+ name: "hide2";
+ signal: "e,action,go";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
+ target: "proxy";
+ }
+ }
+}
+#endif
diff --git a/data/themes/edc/conf.edc b/data/themes/edc/conf.edc
new file mode 100644
index 000000000..1d277aa11
--- /dev/null
+++ b/data/themes/edc/conf.edc
@@ -0,0 +1,142 @@
+group { name: "e/widgets/configure/main";
+ images.image: "bevel_dark_out.png" COMP;
+ images.image: "separator_horiz.png" COMP;
+ parts {
+ part { name: "base"; type: RECT;
+ description { state: "default" 0.0;
+ color_class: "dialog_base";
+ color: 64 64 64 255;
+ }
+ }
+ part { name: "bevel";
+ description { state: "default" 0.0;
+ image.normal: "bevel_dark_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "separator"; mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 16 2;
+ max: 99999 2;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 0;
+ rel1.to_y: "e.swallow.content";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 -1;
+ rel2.to_y: "e.swallow.button";
+ image.normal: "separator_horiz.png";
+ fill.smooth: 0;
+ fixed: 0 1;
+ }
+ }
+ part { name: "e.swallow.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.offset: 4 4;
+ rel1.to_x: "base";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -5 -8;
+ rel2.to_y: "e.swallow.button";
+ }
+ }
+ part { name: "e.swallow.button"; type: SWALLOW;
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ rel1.relative: 0.5 1.0;
+ rel1.offset: 0 -5;
+ rel2.relative: 0.5 1.0;
+ rel2.offset: -1 -5;
+ fixed: 1 1;
+ }
+ }
+ }
+}
+
+group { name: "e/modules/conf/main";
+ images.image: "button_normal.png" COMP;
+ images.image: "button_clicked.png" COMP;
+ images.image: "spanner_inset.png" COMP;
+ images.image: "spanner_hilight.png" COMP;
+ images.image: "spanner_glow.png" COMP;
+ min: 16 16;
+ max: 80 80;
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ image.normal: "button_normal.png";
+ image.border: 4 4 3 5;
+ image.middle: SOLID;
+ rel1.offset: -1 0;
+ rel2.offset: 0 1;
+ fill.smooth: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "button_clicked.png";
+ image.border: 5 5 4 6;
+ }
+ }
+ part { name: "spanner_hilight"; mouse_events: 0;
+ description { state: "default" 0.0;
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ max: 80 80;
+ rel1.offset: 0 1;
+ rel1.to: "spanner";
+ rel2.offset: -1 0;
+ rel2.to: "spanner";
+ image.normal: "spanner_hilight.png";
+ }
+ }
+ part { name: "spanner"; mouse_events: 0;
+ description { state: "default" 0.0;
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ max: 80 80;
+ rel1.offset: 4 4;
+ rel2.offset: -5 -5;
+ image.normal: "spanner_inset.png";
+ }
+ }
+ part { name: "spanner_glow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ max: 80 80;
+ rel1.to: "spanner";
+ rel2.to: "spanner";
+ image.normal: "spanner_glow.png";
+ visible: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,down,1"; source: "base";
+ action: STATE_SET "clicked" 0.0;
+ target: "base";
+ }
+ program {
+ signal: "mouse,up,1"; source: "base";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "spanner_glow";
+ }
+ program {
+ signal: "mouse,clicked,1*"; source: "base";
+ action: SIGNAL_EMIT "e,action,conf" "";
+ }
+ program {
+ signal: "mouse,in"; source: "base";
+ action: STATE_SET "clicked" 0.0;
+ target: "spanner_glow";
+ }
+ program {
+ signal: "mouse,out"; source: "base";
+ action: STATE_SET "default" 0.0;
+ target: "spanner_glow";
+ }
+ }
+}
diff --git a/data/themes/edc/connman.edc b/data/themes/edc/connman.edc
new file mode 100644
index 000000000..06dc51316
--- /dev/null
+++ b/data/themes/edc/connman.edc
@@ -0,0 +1,703 @@
+group { name: "e/modules/connman/main";
+ images.image: "slot_horiz_top.png" COMP;
+ images.image: "slot_horiz_bottom.png" COMP;
+ images.image: "wifi_base.png" COMP;
+ images.image: "wifi_sig_1.png" COMP;
+ images.image: "wifi_sig_2.png" COMP;
+ images.image: "wifi_sig_3.png" COMP;
+ images.image: "eth.png" COMP;
+ images.image: "exlclam.png" COMP;
+ images.image: "hole_tiny.png" COMP;
+ images.image: "led_tiny_orange.png" COMP;
+ images.image: "led_tiny_green.png" COMP;
+ images.image: "bt_base.png" COMP;
+ images.image: "bt_sig_1.png" COMP;
+ images.image: "bt_sig_2.png" COMP;
+ images.image: "cell_base.png" COMP;
+ images.image: "cell_sig_1.png" COMP;
+ images.image: "cell_sig_2.png" COMP;
+ images.image: "cell_sig_3.png" COMP;
+ images.image: "cell_sig_4.png" COMP;
+ parts {
+ part { name: "slot_bottom"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "slot";
+ rel2.relative: 1.0 0.5;
+ rel2.to: "slot";
+ min: 0 3;
+ image.normal: "slot_horiz_bottom.png";
+ fixed: 0 1;
+ }
+ }
+///////////////////////
+ part { name: "exclam_base"; mouse_events: 0;
+ clip_to: "clip_exclam";
+ description { state: "default" 0.0;
+ aspect: (71/144) (71/144); aspect_preference: BOTH;
+ align: 0.5 1.0;
+ rel2.relative: 1.0 0.5;
+ rel2.to_y: "slot";
+ image.normal: "exlclam.png";
+ }
+ }
+///////////////////////
+ part { name: "eth_base"; mouse_events: 0;
+ clip_to: "clip_eth";
+ description { state: "default" 0.0;
+ aspect: (60/144) (60/144); aspect_preference: BOTH;
+ align: 0.5 1.0;
+ rel2.relative: 1.0 0.5;
+ rel2.to_y: "slot";
+ image.normal: "eth.png";
+ }
+ }
+///////////////////////
+ part { name: "wifi_base"; mouse_events: 0;
+ clip_to: "clip_wifi";
+ description { state: "default" 0.0;
+ aspect: (160/144) (160/144); aspect_preference: BOTH;
+ align: 0.5 1.0;
+ rel2.relative: 1.0 0.5;
+ rel2.to_y: "slot";
+ image.normal: "wifi_base.png";
+ }
+ }
+ part { name: "wifi_1"; mouse_events: 0;
+ clip_to: "clip_wifi";
+ description { state: "default" 0.0;
+ rel1.to: "wifi_base";
+ rel2.to: "wifi_base";
+ image.normal: "wifi_sig_1.png";
+ visible: 0;
+ }
+ description { state: "partly" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "wifi_2"; mouse_events: 0;
+ clip_to: "clip_wifi";
+ description { state: "default" 0.0;
+ rel1.to: "wifi_base";
+ rel2.to: "wifi_base";
+ image.normal: "wifi_sig_2.png";
+ visible: 0;
+ }
+ description { state: "partly" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "wifi_3"; mouse_events: 0;
+ clip_to: "clip_wifi";
+ description { state: "default" 0.0;
+ rel1.to: "wifi_base";
+ rel2.to: "wifi_base";
+ image.normal: "wifi_sig_3.png";
+ visible: 0;
+ }
+ description { state: "partly" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+///////////////////////
+ part { name: "bt_base"; mouse_events: 0;
+ clip_to: "clip_bt";
+ description { state: "default" 0.0;
+ aspect: (160/144) (160/144); aspect_preference: BOTH;
+ align: 0.5 1.0;
+ rel2.relative: 1.0 0.5;
+ rel2.to_y: "slot";
+ image.normal: "bt_base.png";
+ }
+ }
+ part { name: "bt_1"; mouse_events: 0;
+ clip_to: "clip_bt";
+ description { state: "default" 0.0;
+ rel1.to: "bt_base";
+ rel2.to: "bt_base";
+ image.normal: "bt_sig_1.png";
+ visible: 0;
+ }
+ description { state: "partly" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "bt_2"; mouse_events: 0;
+ clip_to: "clip_bt";
+ description { state: "default" 0.0;
+ rel1.to: "bt_base";
+ rel2.to: "bt_base";
+ image.normal: "bt_sig_2.png";
+ visible: 0;
+ }
+ description { state: "partly" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+///////////////////////
+ part { name: "cell_base"; mouse_events: 0;
+ clip_to: "clip_cell";
+ description { state: "default" 0.0;
+ aspect: (160/144) (160/144); aspect_preference: BOTH;
+ align: 0.5 1.0;
+ rel2.relative: 1.0 0.5;
+ rel2.to_y: "slot";
+ image.normal: "cell_base.png";
+ }
+ }
+ part { name: "cell_1"; mouse_events: 0;
+ clip_to: "clip_cell";
+ description { state: "default" 0.0;
+ rel1.to: "cell_base";
+ rel2.to: "cell_base";
+ image.normal: "cell_sig_1.png";
+ visible: 0;
+ }
+ description { state: "partly" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "cell_2"; mouse_events: 0;
+ clip_to: "clip_cell";
+ description { state: "default" 0.0;
+ rel1.to: "cell_base";
+ rel2.to: "cell_base";
+ image.normal: "cell_sig_2.png";
+ visible: 0;
+ }
+ description { state: "partly" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "cell_3"; mouse_events: 0;
+ clip_to: "clip_cell";
+ description { state: "default" 0.0;
+ rel1.to: "cell_base";
+ rel2.to: "cell_base";
+ image.normal: "cell_sig_3.png";
+ visible: 0;
+ }
+ description { state: "partly" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "cell_4"; mouse_events: 0;
+ clip_to: "clip_cell";
+ description { state: "default" 0.0;
+ rel1.to: "cell_base";
+ rel2.to: "cell_base";
+ image.normal: "cell_sig_4.png";
+ visible: 0;
+ }
+ description { state: "partly" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+///////////////////////
+ part { name: "slot"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: 0 -1;
+ rel1.relative: (21/160) 1.0;
+ rel2.offset: -1 -1;
+ rel2.relative: (140/160) 1.0;
+ align: 0.5 1.0;
+ min: 0 6;
+ image.normal: "slot_horiz_top.png";
+ fixed: 0 1;
+ }
+ }
+ part { name: "hole"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: -4 -4;
+ rel1.relative: 1.0 1.0;
+ rel2.offset: -4 -4;
+ align: 1.0 1.0;
+ min: 4 4;
+ max: 4 4;
+ image.normal: "hole_tiny.png";
+ fixed: 1 1;
+ }
+ }
+ part { name: "clip_exclam"; type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "wifi" 0.0;
+ visible: 0;
+ }
+ description { state: "eth" 0.0;
+ visible: 0;
+ }
+ description { state: "bt" 0.0;
+ visible: 0;
+ }
+ description { state: "cell" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "clip_wifi"; type: RECT;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "wifi" 0.0;
+ visible: 1;
+ }
+ description { state: "eth" 0.0;
+ visible: 0;
+ }
+ description { state: "bt" 0.0;
+ visible: 0;
+ }
+ description { state: "cell" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "clip_eth"; type: RECT;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "wifi" 0.0;
+ visible: 0;
+ }
+ description { state: "eth" 0.0;
+ visible: 1;
+ }
+ description { state: "bt" 0.0;
+ visible: 0;
+ }
+ description { state: "cell" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "clip_bt"; type: RECT;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "wifi" 0.0;
+ visible: 0;
+ }
+ description { state: "eth" 0.0;
+ visible: 0;
+ }
+ description { state: "bt" 0.0;
+ visible: 1;
+ }
+ description { state: "cell" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "clip_cell"; type: RECT;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "wifi" 0.0;
+ visible: 0;
+ }
+ description { state: "eth" 0.0;
+ visible: 0;
+ }
+ description { state: "bt" 0.0;
+ visible: 0;
+ }
+ description { state: "cell" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "led"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "hole";
+ rel2.to: "hole";
+ min: 10 10;
+ max: 10 10;
+ image.normal: "led_tiny_orange.png";
+ fixed: 1 1;
+ visible: 0;
+ }
+ description { state: "connected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "led_tiny_orange.png";
+ visible: 1;
+ }
+ description { state: "online" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "led_tiny_green.png";
+ visible: 1;
+ }
+ }
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+#define SCRIPT_MESSAGE() \
+script { \
+public message(Msg_Type:type, id, ...) { \
+if ((type == MSG_INT_SET) && (id == 1)) { \
+new state = getarg(2), signl = getarg(3); \
+if (signl <= 14) { \
+set_state(PART:"wifi_1", "default", 0.0); \
+set_state(PART:"wifi_2", "default", 0.0); \
+set_state(PART:"wifi_3", "default", 0.0); \
+} \
+else if (signl <= 28) { \
+set_state(PART:"wifi_1", "partly", 0.0); \
+set_state(PART:"wifi_2", "default", 0.0); \
+set_state(PART:"wifi_3", "default", 0.0); \
+} \
+else if (signl <= 42) { \
+set_state(PART:"wifi_1", "visible", 0.0); \
+set_state(PART:"wifi_2", "default", 0.0); \
+set_state(PART:"wifi_3", "default", 0.0); \
+} \
+else if (signl <= 57) { \
+set_state(PART:"wifi_1", "visible", 0.0); \
+set_state(PART:"wifi_2", "partly", 0.0); \
+set_state(PART:"wifi_3", "default", 0.0); \
+} \
+else if (signl <= 71) { \
+set_state(PART:"wifi_1", "visible", 0.0); \
+set_state(PART:"wifi_2", "visible", 0.0); \
+set_state(PART:"wifi_3", "default", 0.0); \
+} \
+else if (signl <= 85) { \
+set_state(PART:"wifi_1", "visible", 0.0); \
+set_state(PART:"wifi_2", "visible", 0.0); \
+set_state(PART:"wifi_3", "partly", 0.0); \
+} \
+else { \
+set_state(PART:"wifi_1", "visible", 0.0); \
+set_state(PART:"wifi_2", "visible", 0.0); \
+set_state(PART:"wifi_3", "visible", 0.0); \
+} \
+if (signl <= 20) { \
+set_state(PART:"bt_1", "default", 0.0); \
+set_state(PART:"bt_2", "default", 0.0); \
+} \
+else if (signl <= 40) { \
+set_state(PART:"bt_1", "partly", 0.0); \
+set_state(PART:"bt_2", "default", 0.0); \
+} \
+else if (signl <= 60) { \
+set_state(PART:"bt_1", "visible", 0.0); \
+set_state(PART:"bt_2", "default", 0.0); \
+} \
+else if (signl <= 80) { \
+set_state(PART:"bt_1", "visible", 0.0); \
+set_state(PART:"bt_2", "partly", 0.0); \
+} \
+else { \
+set_state(PART:"bt_1", "visible", 0.0); \
+set_state(PART:"bt_2", "visible", 0.0); \
+} \
+if (signl <= 11) { \
+set_state(PART:"cell_1", "default", 0.0); \
+set_state(PART:"cell_2", "default", 0.0); \
+set_state(PART:"cell_3", "default", 0.0); \
+set_state(PART:"cell_4", "default", 0.0); \
+} \
+else if (signl <= 22) { \
+set_state(PART:"cell_1", "partly", 0.0); \
+set_state(PART:"cell_2", "default", 0.0); \
+set_state(PART:"cell_3", "default", 0.0); \
+set_state(PART:"cell_4", "default", 0.0); \
+} \
+else if (signl <= 33) { \
+set_state(PART:"cell_1", "visible", 0.0); \
+set_state(PART:"cell_2", "default", 0.0); \
+set_state(PART:"cell_3", "default", 0.0); \
+set_state(PART:"cell_4", "default", 0.0); \
+} \
+else if (signl <= 44) { \
+set_state(PART:"cell_1", "visible", 0.0); \
+set_state(PART:"cell_2", "partly", 0.0); \
+set_state(PART:"cell_3", "default", 0.0); \
+set_state(PART:"cell_4", "default", 0.0); \
+} \
+else if (signl <= 55) { \
+set_state(PART:"cell_1", "visible", 0.0); \
+set_state(PART:"cell_2", "visible", 0.0); \
+set_state(PART:"cell_3", "default", 0.0); \
+set_state(PART:"cell_4", "default", 0.0); \
+} \
+else if (signl <= 66) { \
+set_state(PART:"cell_1", "visible", 0.0); \
+set_state(PART:"cell_2", "visible", 0.0); \
+set_state(PART:"cell_3", "partly", 0.0); \
+set_state(PART:"cell_4", "default", 0.0); \
+} \
+else if (signl <= 77) { \
+set_state(PART:"cell_1", "visible", 0.0); \
+set_state(PART:"cell_2", "visible", 0.0); \
+set_state(PART:"cell_3", "visible", 0.0); \
+set_state(PART:"cell_4", "default", 0.0); \
+} \
+else if (signl <= 88) { \
+set_state(PART:"cell_1", "visible", 0.0); \
+set_state(PART:"cell_2", "visible", 0.0); \
+set_state(PART:"cell_3", "visible", 0.0); \
+set_state(PART:"cell_4", "partly", 0.0); \
+} \
+else { \
+set_state(PART:"cell_1", "visible", 0.0); \
+set_state(PART:"cell_2", "visible", 0.0); \
+set_state(PART:"cell_3", "visible", 0.0); \
+set_state(PART:"cell_4", "visible", 0.0); \
+} \
+if ((state == 2)) { \
+set_state(PART:"led", "default", 0.0); \
+run_program(PROGRAM:"connecting"); \
+return; } \
+else if ((state == 3)) { return; } \
+else if ((state == 4)) { set_state(PART:"led", "connected", 0.0); } \
+else if ((state == 5)) { set_state(PART:"led", "online", 0.0); } \
+else { set_state(PART:"led", "default", 0.0); \
+} } } }
+
+ SCRIPT_MESSAGE()
+ programs {
+ program { name: "connecting";
+ action: STATE_SET "connected" 0.0;
+ target: "led";
+ in: 0.3 0.0;
+ after: "connecting2";
+ }
+ program { name: "connecting2";
+ action: STATE_SET "default" 0.0;
+ target: "led";
+ in: 0.3 0.0;
+ after: "connecting";
+ }
+// program {
+// signal: "e,available"; source: "e";
+// }
+// program {
+// signal: "e,unavailable"; source: "e";
+// }
+ program {
+ signal: "e,changed,connected,no"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "clip_exclam";
+ target: "clip_wifi";
+ target: "clip_eth";
+ target: "clip_bt";
+ target: "clip_cell";
+ }
+ program {
+ signal: "e,changed,technology,wifi"; source: "e";
+ action: STATE_SET "wifi" 0.0;
+ target: "clip_exclam";
+ target: "clip_wifi";
+ target: "clip_eth";
+ target: "clip_bt";
+ target: "clip_cell";
+ }
+ program {
+ signal: "e,changed,technology,ethernet"; source: "e";
+ action: STATE_SET "eth" 0.0;
+ target: "clip_exclam";
+ target: "clip_wifi";
+ target: "clip_eth";
+ target: "clip_bt";
+ target: "clip_cell";
+ }
+ program {
+ signal: "e,changed,technology,bluetooth"; source: "e";
+ action: STATE_SET "bt" 0.0;
+ target: "clip_exclam";
+ target: "clip_wifi";
+ target: "clip_eth";
+ target: "clip_bt";
+ target: "clip_cell";
+ }
+ program {
+ signal: "e,changed,technology,cellular"; source: "e";
+ action: STATE_SET "cell" 0.0;
+ target: "clip_exclam";
+ target: "clip_wifi";
+ target: "clip_eth";
+ target: "clip_bt";
+ target: "clip_cell";
+ }
+ program {
+ signal: "e,changed,technology,other"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "clip_exclam";
+ target: "clip_wifi";
+ target: "clip_eth";
+ target: "clip_bt";
+ target: "clip_cell";
+ }
+ }
+}
+
+group { name: "e/modules/connman/icon/wifi";
+ inherit: "e/modules/connman/main";
+ SCRIPT_MESSAGE()
+ programs {
+ program {
+ signal: "load"; source: "";
+ action: STATE_SET "wifi" 0.0;
+ target: "clip_exclam";
+ target: "clip_wifi";
+ target: "clip_eth";
+ target: "clip_bt";
+ target: "clip_cell";
+ }
+ }
+}
+
+group { name: "e/modules/connman/icon/ethernet";
+ inherit: "e/modules/connman/main";
+ SCRIPT_MESSAGE()
+ programs {
+ program {
+ signal: "load"; source: "";
+ action: STATE_SET "eth" 0.0;
+ target: "clip_exclam";
+ target: "clip_wifi";
+ target: "clip_eth";
+ target: "clip_bt";
+ target: "clip_cell";
+ }
+ }
+}
+
+group { name: "e/modules/connman/icon/bluetooth";
+ inherit: "e/modules/connman/main";
+ SCRIPT_MESSAGE()
+ programs {
+ program {
+ signal: "load"; source: "";
+ action: STATE_SET "bt" 0.0;
+ target: "clip_exclam";
+ target: "clip_wifi";
+ target: "clip_eth";
+ target: "clip_bt";
+ target: "clip_cell";
+ }
+ }
+}
+
+group { name: "e/modules/connman/icon/cellular";
+ inherit: "e/modules/connman/main";
+ SCRIPT_MESSAGE()
+ programs {
+ program {
+ signal: "load"; source: "";
+ action: STATE_SET "cell" 0.0;
+ target: "clip_exclam";
+ target: "clip_wifi";
+ target: "clip_eth";
+ target: "clip_bt";
+ target: "clip_cell";
+ }
+ }
+}
+
+group { name: "e/modules/connman/end";
+ images.image: "glow_lock_locked.png" COMP;
+ images.image: "glow_lock_unlocked.png" COMP;
+ images.image: "glow_lock_double.png" COMP;
+ parts {
+ part { name: "base"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "glow_lock_locked.png";
+ max: 16 16;
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ visible: 0;
+ }
+ description { state: "none" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "glow_lock_unlocked.png";
+ visible: 1;
+ }
+ description { state: "wep" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "glow_lock_locked.png";
+ visible: 1;
+ }
+ description { state: "psk" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "glow_lock_double.png";
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,security,off"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ }
+ program {
+ signal: "e,security,none"; source: "e";
+ action: STATE_SET "none" 0.0;
+ target: "base";
+ }
+ program {
+ signal: "e,security,wep"; source: "e";
+ action: STATE_SET "wep" 0.0;
+ target: "base";
+ }
+ program {
+ signal: "e,security,psk"; source: "e";
+ action: STATE_SET "psk" 0.0;
+ target: "base";
+ }
+ }
+}
diff --git a/data/themes/edc/cpufreq.edc b/data/themes/edc/cpufreq.edc
new file mode 100644
index 000000000..a50b91b55
--- /dev/null
+++ b/data/themes/edc/cpufreq.edc
@@ -0,0 +1,353 @@
+group { name: "e/modules/cpufreq/main";
+ images.image: "tacho_base.png" COMP;
+ images.image: "inset_round_hilight.png" COMP;
+ images.image: "inset_round_shadow.png" COMP;
+ images.image: "inset_round_shading.png" COMP;
+ set { name: "tacho_hand_big";
+ image { image: "tacho_hand_big.png" COMP; size: 73 73 99999 99999; }
+ image { image: "tacho_hand_big2.png" COMP; size: 37 37 72 72; }
+ image { image: "tacho_hand_big3.png" COMP; size: 19 19 36 36; }
+ image { image: "tacho_hand_big4.png" COMP; size: 0 0 18 18; }
+ }
+ images.image: "tacho_hand_big_shadow.png" COMP;
+ set { name: "tacho_hand_small_min";
+ image { image: "tacho_hand_small_min.png" COMP; size: 73 73 99999 99999; }
+ image { image: "tacho_hand_small_min2.png" COMP; size: 37 37 72 72; }
+ image { image: "tacho_hand_small_min3.png" COMP; size: 19 19 36 36; }
+ image { image: "tacho_hand_small_min4.png" COMP; size: 0 0 18 18; }
+ }
+ images.image: "tacho_hand_small_shadow.png" COMP;
+ set { name: "knob";
+ image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; }
+ image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; }
+ image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; }
+ image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; }
+ image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; }
+ image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; }
+ image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; }
+ image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; }
+ image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; }
+ image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; }
+ image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; }
+ }
+ min: 16 16;
+ max: 160 160;
+ script {
+ public available_frequencies;
+ public available_governors;
+
+ public cur_freq_old;
+ public cur_freq_new;
+ public cur_freq_now;
+ public cur_freq_anim;
+
+ public min_freq_old;
+ public min_freq_new;
+ public min_freq_now;
+
+ public max_freq_old;
+ public max_freq_new;
+ public max_freq_now;
+
+ public slide_cur_freq(val, Float:v) {
+ new Float:freq, Float:min_freq, Float:max_freq, Float:tf;
+ new f, f0, f1;
+
+ v = (1.0 - cos(v * 3.141592654)) / 2.0;
+
+ min_freq = fetch_int(available_frequencies, 0);
+ max_freq = fetch_int(available_frequencies,
+ count(available_frequencies) - 1);
+
+ f0 = get_int(cur_freq_old);
+ f1 = get_int(cur_freq_new);
+ f = f1 - f0;
+ freq = float(f) * v;
+ f = round(freq);
+ f = f + f0;
+ set_int(cur_freq_now, f);
+
+ freq = (float(f) - min_freq) / (max_freq - min_freq);
+ tf = (freq * 225.0) - 135.0;
+ custom_state(PART:"meter", "default", 0.0);
+ set_state_val(PART:"meter", STATE_MAP_ROT_Z, tf);
+ set_state(PART:"meter", "custom", 0.0);
+ custom_state(PART:"meter_sh", "default", 0.0);
+ set_state_val(PART:"meter_sh", STATE_MAP_ROT_Z, tf);
+ set_state(PART:"meter_sh", "custom", 0.0);
+
+ f0 = get_int(min_freq_old);
+ f1 = get_int(min_freq_new);
+ f = f1 - f0;
+ freq = float(f) * v;
+ f = round(freq);
+ f = f + f0;
+ set_int(min_freq_now, f);
+
+ freq = (float(f) - min_freq) / (max_freq - min_freq);
+ tf = (freq * 225.0) - 135.0;
+ custom_state(PART:"meter_min", "default", 0.0);
+ set_state_val(PART:"meter_min", STATE_MAP_ROT_Z, tf);
+ set_state(PART:"meter_min", "custom", 0.0);
+ custom_state(PART:"meter_min_sh", "default", 0.0);
+ set_state_val(PART:"meter_min_sh", STATE_MAP_ROT_Z, tf);
+ set_state(PART:"meter_min_sh", "custom", 0.0);
+
+ f0 = get_int(max_freq_old);
+ f1 = get_int(max_freq_new);
+ f = f1 - f0;
+ freq = float(f) * v;
+ f = round(freq);
+ f = f + f0;
+ set_int(max_freq_now, f);
+
+ freq = (float(f) - min_freq) / (max_freq - min_freq);
+ tf = (freq * 225.0) - 135.0;
+ custom_state(PART:"meter_max", "default", 0.0);
+ set_state_val(PART:"meter_max", STATE_MAP_ROT_Z, tf);
+ set_state(PART:"meter_max", "custom", 0.0);
+ custom_state(PART:"meter_max_sh", "default", 0.0);
+ set_state_val(PART:"meter_max_sh", STATE_MAP_ROT_Z, tf);
+ set_state(PART:"meter_max_sh", "custom", 0.0);
+
+ if (v >= 1.0) {
+ set_int(cur_freq_anim, 0);
+ return 0;
+ }
+ return 1;
+ }
+
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_INT_SET) && (id == 1)) { // add an available freq
+ while (count(available_frequencies) > 0) {
+ remove(available_frequencies, 0);
+ }
+ for (new i = 2; i < numargs(); i++) {
+ append_int(available_frequencies, getarg(i));
+ }
+ }
+ else if ((type == MSG_STRING_SET) && (id == 2)) { // add a governor
+ new text[100];
+ while (count(available_governors) > 0) {
+ remove(available_governors, 0);
+ }
+ for (new i = 2; i < numargs(); i++) {
+ snprintf(text, 100, "%s", getarg(i));
+ append_str(available_governors, text);
+ }
+ } else if ((type == MSG_INT_SET) && (id == 3)) { // avg freq
+ new f;
+ new ani, curf, minf, maxf;
+ new text[100];
+
+ f = getarg(2);
+ if (f < 1000000) {
+ f += 500;
+ snprintf(text, 100, "%i", f / 1000);
+ } else {
+ f += 50000;
+ snprintf(text, 100, "%i.%i", f / 1000000,
+ (f % 1000000) / 100000);
+ }
+ set_text(PART:"readout", text);
+
+ ani = get_int(cur_freq_anim);
+ if (ani > 0) cancel_anim(ani);
+ ani = anim(0.25, "slide_cur_freq", 0);
+ set_int(cur_freq_anim, ani);
+
+ f = getarg(2);
+ curf = get_int(cur_freq_now);
+ set_int(cur_freq_old, curf);
+ set_int(cur_freq_new, f);
+
+ f = getarg(4);
+ minf = get_int(min_freq_now);
+ set_int(min_freq_old, minf);
+ set_int(min_freq_new, f);
+
+ f = getarg(5);
+ maxf = get_int(max_freq_now);
+ set_int(max_freq_old, maxf);
+ set_int(max_freq_new, f);
+ } else if ((type == MSG_STRING) && (id == 4)) {
+ new text[100];
+ snprintf(text, 100, "%s", getarg(2));
+ }
+ }
+ }
+ parts {
+ part { name: "fade_clip"; type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "faded" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "base-sh";
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 0 -1;
+ rel2.to: "base";
+ rel2.offset: -1 -2;
+ image.normal: "inset_round_shadow.png";
+ }
+ }
+ part { name: "base-hi";
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 0 1;
+ rel2.to: "base";
+ rel2.offset: -1 0;
+ image.normal: "inset_round_hilight.png";
+ }
+ }
+ part { name: "base";
+ description { state: "default" 0.0;
+ rel1.relative: (25/380) (25/380);
+ rel2.relative: (365/380) (365/380);
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ image.normal: "tacho_base.png";
+ }
+ }
+ part { name: "readout"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ effect: SHADOW BOTTOM;
+ clip_to: "fade_clip";
+ description { state: "default" 0.0;
+ rel1.to: "knob2";
+ rel1.relative: 1.0 1.0;
+ rel1.offset: -2 -2;
+ rel2.relative: 0.75 0.75;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "module_label";
+ text { font: FN; size: 6;
+ min: 1 1;
+ text_class: "module_small";
+ }
+ }
+ }
+ part { name: "meter_min_sh"; mouse_events: 0;
+ clip_to: "fade_clip";
+ description { state: "default" 0.0;
+ image.normal: "tacho_hand_small_shadow.png";
+ rel1.to: "meter_sh";
+ rel2.to: "meter_sh";
+ map {
+ on: 1;
+ rotation.center: "meter_min_sh";
+ }
+ }
+ }
+ part { name: "meter_min"; mouse_events: 0;
+ clip_to: "fade_clip";
+ description { state: "default" 0.0;
+ image.normal: "tacho_hand_small_min";
+ color: 51 153 255 255;
+ rel1.to: "base";
+ rel2.to: "base";
+ map {
+ on: 1;
+ rotation.center: "base";
+ }
+ }
+ }
+ part { name: "meter_max_sh"; mouse_events: 0;
+ clip_to: "fade_clip";
+ description { state: "default" 0.0;
+ image.normal: "tacho_hand_small_shadow.png";
+ rel1.to: "meter_sh";
+ rel2.to: "meter_sh";
+ map {
+ on: 1;
+ rotation.center: "meter_max_sh";
+ }
+ }
+ }
+ part { name: "meter_max"; mouse_events: 0;
+ clip_to: "fade_clip";
+ description { state: "default" 0.0;
+ image.normal: "tacho_hand_small_min";
+ color: 255 153 51 255;
+ rel1.to: "base";
+ rel2.to: "base";
+ map {
+ on: 1;
+ rotation.center: "base";
+ }
+ }
+ }
+ part { name: "meter_sh"; mouse_events: 0;
+ clip_to: "fade_clip";
+ description { state: "default" 0.0;
+ image.normal: "tacho_hand_big_shadow.png";
+ rel1.to: "meter";
+ rel1.relative: 0.0 (15/380);
+ rel1.offset: 0 1;
+ rel2.to: "meter";
+ rel2.relative: 1.0 (395/380);
+ rel2.offset: -1 0;
+ map {
+ on: 1;
+ rotation.center: "meter_sh";
+ }
+ }
+ }
+ part { name: "meter"; mouse_events: 0;
+ clip_to: "fade_clip";
+ description { state: "default" 0.0000;
+ color: 255 0 0 255;
+ image.normal: "tacho_hand_big";
+ rel1.to: "base";
+ rel2.to: "base";
+ map {
+ on: 1;
+ rotation.center: "base";
+ }
+ }
+ }
+ part { name: "over"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ image.normal: "inset_round_shading.png";
+ }
+ }
+ part { name: "knob"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.relative: (140/340) (140/340);
+ rel1.to: "base";
+ rel2.relative: (205/340) (205/340);
+ rel2.to: "base";
+ min: 4 4;
+ step: 2 2;
+ max: 24 24;
+ }
+ }
+ part { name: "knob2";
+ description { state: "default" 0.0;
+ rel1.offset: -4 -4;
+ rel1.to: "knob";
+ rel2.offset: 3 3;
+ rel2.to: "knob";
+ min: 12 12;
+ max: 32 32;
+ image.normal: "knob";
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,state,enabled"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "fade_clip";
+ }
+ program {
+ signal: "e,state,disabled"; source: "e";
+ action: STATE_SET "faded" 0.0;
+ target: "fade_clip";
+ }
+ }
+}
diff --git a/data/themes/edc/cslider.edc b/data/themes/edc/cslider.edc
new file mode 100644
index 000000000..ca2777f7e
--- /dev/null
+++ b/data/themes/edc/cslider.edc
@@ -0,0 +1,146 @@
+group { name: "e/widgets/cslider";
+ images.image: "inset_shadow.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "col_sel_end_bottom.png" COMP;
+ images.image: "col_sel_end_top.png" COMP;
+ images.image: "col_sel_end_left.png" COMP;
+ images.image: "col_sel_end_right.png" COMP;
+ parts {
+ part { name: "bg"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.content";
+ rel2.to: "e.swallow.content";
+ color: 48 48 48 255;
+ }
+ }
+ part { name: "clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.content";
+ rel2.to: "e.swallow.content";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "e.swallow.content"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.offset: 3 3;
+ rel2.offset: -4 -4;
+ }
+ }
+ part { name: "e.dragable.cursor"; type: RECT;
+ clip_to: "clipper";
+ dragable.confine: "e.swallow.content";
+ dragable.x: 1 1 0;
+ dragable.y: -1 1 0;
+ description { state: "default" 0.0;
+ min: 1 1;
+ max: 1 1;
+ fixed: 1 1;
+ visible: 0;
+ rel1.to: "e.swallow.content";
+ rel1.relative: 0.5 0.0;
+ rel2.to: "e.swallow.content";
+ rel2.relative: 0.5 0.5;
+ color: 255 255 255 150;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "end1"; mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ image.normal: "col_sel_end_top.png";
+ FIXED_SIZE(11, 8)
+ align: 0.5 0.0;
+ rel1.to: "cursor";
+ rel2.to: "cursor";
+ }
+ description { state: "vertical" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "col_sel_end_left.png";
+ FIXED_SIZE(8, 11)
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "end2"; mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ image.normal: "col_sel_end_bottom.png";
+ FIXED_SIZE(11, 8)
+ align: 0.5 1.0;
+ rel1.to: "cursor";
+ rel2.to: "cursor";
+ }
+ description { state: "vertical" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "col_sel_end_right.png";
+ FIXED_SIZE(8, 11)
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "cursor"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to_x: "e.dragable.cursor";
+ rel1.to_y: "e.swallow.content";
+ rel2.to_x: "e.dragable.cursor";
+ rel2.to_y: "e.swallow.content";
+ color: 255 255 255 150;
+ }
+ description { state: "vertical" 0.0;
+ inherit: "default" 0.0;
+ rel1.to_x: "e.swallow.content";
+ rel1.to_y: "e.dragable.cursor";
+ rel2.to_x: "e.swallow.content";
+ rel2.to_y: "e.dragable.cursor";
+ }
+ }
+ part { name: "inset"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel1.offset: -1 -1;
+ rel2.to: "bg";
+ rel2.offset: 0 0;
+ fill.smooth: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,state,direction,v"; source: "e";
+ action: STATE_SET "vertical" 0.0;
+ target: "cursor";
+ target: "end1";
+ target: "end2";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "inset";
+ action: SIGNAL_EMIT "e,action,click" "";
+ }
+ program {
+ signal: "e,state,disabled"; source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "clipper";
+ }
+ program {
+ signal: "e,state,enabled"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ }
+}
+
diff --git a/data/themes/edc/desklock.edc b/data/themes/edc/desklock.edc
new file mode 100644
index 000000000..e84832085
--- /dev/null
+++ b/data/themes/edc/desklock.edc
@@ -0,0 +1,301 @@
+group { name: "e/desklock/background";
+ images.image: "bg_radgrad.png" COMP;
+ images.image: "dot_pattern.png" COMP;
+ parts {
+ part { name: "bg";
+ description { state: "default" 0.0;
+ image.normal: "bg_radgrad.png";
+ image.scale_hint: STATIC;
+ fill.smooth: 0;
+ ASPECT_FILL((1024/653))
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ part { name: "e.swallow.login_box"; type: SWALLOW;
+ description { state: "default" 0.0;
+ }
+ }
+ }
+}
+
+group { name: "e/desklock/login_box";
+ images.image: "inset_shadow.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "white_bar_vert_glow.png" COMP;
+ images.image: "logo_blue_small.png" COMP;
+ images.image: "logo_blue_small_glow.png" COMP;
+ images.image: "knob_round_busy.png" COMP;
+ images.image: "glow_round_corners.png" COMP;
+ parts {
+ part { name: "logo";
+ description { state: "default" 0.0;
+ image.normal: "logo_blue_small.png";
+ rel1.relative: 0.5 0.5;
+ rel2.relative: 0.5 0.5;
+ FIXED_SIZE(100, 127)
+ }
+ }
+ part { name: "logo_glow";
+ description { state: "default" 0.0;
+ image.normal: "logo_blue_small_glow.png";
+ rel1.to: "logo";
+ rel2.to: "logo";
+ color: 255 255 255 128;
+ }
+ description { state: "active" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "bg"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "inset";
+ rel1.offset: 1 1;
+ rel2.to: "inset";
+ rel2.offset: -2 -2;
+ color: 48 48 48 255;
+ }
+ }
+ part { name: "clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ }
+ }
+ part { name: "e.text.title"; type: TEXT;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 3 3;
+ rel1.to_y: "logo";
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -4 3;
+ rel2.to_y: "logo";
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ align: 0.5 0.0;
+ text { font: FNBD; size: 10;
+ min: 0 1;
+ align: 0.5 0.5;
+ text_class: "desklock_title";
+ }
+ fixed: 0 1;
+ }
+ }
+ part { name: "selection"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "e.text.password";
+ rel2.to: "e.text.password";
+ color: 51 153 255 255;
+ visible: 0;
+ }
+ description { state: "active" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "e.text.password"; type: TEXT;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 3 10;
+ rel1.to_x: "inset";
+ rel1.to_y: "e.text.title";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 3 10;
+ rel2.to_x: "inset";
+ rel2.to_y: "e.text.title";
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "desklock_passwd";
+ align: 0.0 0.0;
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.0 0.5;
+ text_class: "desklock_passwd";
+ }
+ fixed: 1 1;
+ }
+ }
+ part { name: "cursor"; mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "e.text.password";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: -4 -4;
+ rel2.to: "e.text.password";
+ rel2.offset: 3 3;
+ image.normal: "white_bar_vert_glow.png";
+ image.border: 4 4 4 4;
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ min: 9 10;
+ fixed: 1 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0; repeat_events: 1;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "inset"; mouse_events: 0; repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.relative: 0.5 0.0;
+ rel1.offset: -100 -4;
+ rel1.to_x: "logo";
+ rel1.to_y: "e.text.password";
+ rel2.relative: 0.5 1.0;
+ rel2.offset: 99 3;
+ rel2.to_x: "logo";
+ rel2.to_y: "e.text.password";
+ align: 0.5 0.5;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "busy_clip"; type: RECT;
+ description { state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ description { state: "active" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "knob"; mouse_events: 0;
+ clip_to: "busy_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ image.normal: "knob_round_busy.png";
+ min: 40 40;
+ max: 40 40;
+ rel1.relative: 0.5 1.0;
+ rel1.offset: 0 3;
+ rel1.to_y: "inset";
+ rel2.relative: 0.5 1.0;
+ rel2.offset: -1 3;
+ rel2.to_y: "inset";
+ align: 0.5 0.0;
+ fixed: 1 1;
+ }
+ }
+ part { name: "knob_spinner"; mouse_events: 0;
+ clip_to: "busy_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "knob";
+ rel2.to: "knob";
+ image.normal: "glow_round_corners.png";
+ map.on: 1;
+ map.smooth: 1;
+ map.rotation.center: "knob";
+ }
+ description { state: "spin" 0.0;
+ inherit: "default" 0.0;
+ map.rotation.z: 360;
+ }
+ }
+ }
+ programs {
+ program { name: "logo_pulse";
+ signal: "show"; source: "";
+ in: 3.0 5.0;
+ action: STATE_SET "active" 0.0;
+ target: "logo_glow";
+ transition: BOUNCE 0.8 0.5 6;
+ after: "logo_pulse2";
+ }
+ program { name: "logo_pulse2";
+ action: STATE_SET "default" 0.0;
+ target: "logo_glow";
+ transition: SINUSOIDAL 2.4;
+ after: "logo_pulse";
+ }
+ program { name: "cursor_show";
+ signal: "show"; source: "";
+ action: STATE_SET "visible" 0.0;
+ target: "cursor";
+ after: "cursor_show_timer";
+ }
+ program { name: "cursor_hide";
+ action: STATE_SET "default" 0.0;
+ target: "cursor";
+ transition: SINUSOIDAL 0.2;
+ after: "cursor_hide_timer";
+ }
+ program { name: "cursor_show_timer";
+ in: 0.5 0.0;
+ after: "cursor_hide";
+ }
+ program { name: "cursor_hide_timer";
+ in: 0.2 0.0;
+ after: "cursor_show";
+ }
+ program { name: "spin";
+ signal: "e,state,checking"; source: "e";
+ action: STATE_SET "spin" 0.0;
+ transition: LINEAR 1.0;
+ target: "knob_spinner";
+ after: "spin2";
+ }
+ program { name: "spin2";
+ action: STATE_SET "default" 0.0;
+ target: "knob_spinner";
+ after: "spin";
+ }
+ program {
+ signal: "e,state,checking"; source: "e";
+ action: STATE_SET "active" 0.0;
+ transition: SINUSOIDAL 0.25;
+ target: "busy_clip";
+ }
+ program {
+ signal: "e,state,invalid"; source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 1.0;
+ target: "busy_clip";
+ after: "spin3";
+ }
+ program { name: "spin3";
+ action: ACTION_STOP;
+ target: "spin";
+ target: "spin2";
+ after: "spin4";
+ }
+ program { name: "spin4";
+ action: STATE_SET "default" 0.0;
+ target: "knob_spinner";
+ }
+ program {
+ signal: "e,state,selected"; source: "e";
+ action: STATE_SET "active" 0.0;
+ target: "selection";
+ }
+ program {
+ signal: "e,state,unselected"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "selection";
+ }
+ }
+}
diff --git a/data/themes/edc/deskpreview.edc b/data/themes/edc/deskpreview.edc
new file mode 100644
index 000000000..2d28e4bbe
--- /dev/null
+++ b/data/themes/edc/deskpreview.edc
@@ -0,0 +1,17 @@
+group { name: "e/widgets/deskpreview/desk";
+ inherit: "e/widgets/preview";
+ parts {
+ part { name: "e.swallow.content";
+ description { state: "default" 0.0;
+ rel1.offset: 3 3;
+ rel2.offset: -4 -4;
+ }
+ }
+ part { name: "e.event.menu"; type: RECT;
+ insert_after: "inset";
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/dialog.edc b/data/themes/edc/dialog.edc
new file mode 100644
index 000000000..80f7cd719
--- /dev/null
+++ b/data/themes/edc/dialog.edc
@@ -0,0 +1,110 @@
+group { name: "e/widgets/dialog/main";
+ images.image: "bevel_dark_out.png" COMP;
+ images.image: "separator_horiz.png" COMP;
+ parts {
+ part { name: "base"; type: RECT;
+ description { state: "default" 0.0;
+ color_class: "dialog_base";
+ color: 64 64 64 255;
+ }
+ }
+ part { name: "bevel";
+ description { state: "default" 0.0;
+ image.normal: "bevel_dark_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "separator"; mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 16 2;
+ max: 99999 2;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 0;
+ rel1.to_y: "e.swallow.content";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 -1;
+ rel2.to_y: "e.swallow.buttons";
+ image.normal: "separator_horiz.png";
+ fill.smooth: 0;
+ fixed: 0 1;
+ }
+ }
+ part { name: "e.swallow.icon"; type: SWALLOW;
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ rel1.relative: 0.0 0.0;
+ rel1.offset: 4 4;
+ rel2.relative: 0.0 0.0;
+ rel2.offset: 4 -8;
+ rel2.to_y: "e.swallow.buttons";
+ fixed: 1 0;
+ visible: 0;
+ }
+ description { state: "icon" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "e.swallow.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.offset: 4 4;
+ rel1.to_x: "base";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -5 -8;
+ rel2.to_y: "e.swallow.buttons";
+ }
+ description { state: "icon" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "e.swallow.icon";
+ }
+ }
+ part { name: "e.swallow.buttons"; type: SWALLOW;
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 4 -5;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -5 -5;
+ fixed: 0 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,icon,enabled"; source: "e";
+ action: STATE_SET "icon" 0.0;
+ target: "e.swallow.icon";
+ target: "e.swallow.content";
+ }
+ program {
+ signal: "e,icon,disabled"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "e.swallow.icon";
+ target: "e.swallow.content";
+ }
+ }
+}
+
+group { name: "e/widgets/dialog/text";
+ styles {
+ style { name: "dialog_style";
+ base: "font="FN" font_size=10 text_class=tb_plain align=center color=#ffff style=shadow,bottom shadow_color=#00000080 wrap=word";
+ tag: "br" "\n";
+ tag: "hilight" "+ font="FNBD" text_class=tb_light";
+ }
+ }
+ parts {
+ part { name: "e.textblock.message"; type: TEXTBLOCK; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ text {
+ style: "dialog_style";
+ min: 1 1;
+ }
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/edgebindings.edc b/data/themes/edc/edgebindings.edc
new file mode 100644
index 000000000..1a6b8c01d
--- /dev/null
+++ b/data/themes/edc/edgebindings.edc
@@ -0,0 +1,233 @@
+group { name: "e/modules/conf_edgebindings/selection";
+ images.image: "inset_shadow.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "dot_pattern.png" COMP;
+ images.image: "darken_rounded_square.png" COMP;
+ images.image: "downlight_glow.png" COMP;
+ images.image: "downlight_glow_left.png" COMP;
+ images.image: "downlight_glow_right.png" COMP;
+ images.image: "downlight_glow_up.png" COMP;
+ images.image: "mini_blue_glow_arrow_0.png" COMP;
+ images.image: "mini_blue_glow_arrow_1.png" COMP;
+ images.image: "mini_blue_glow_arrow_2.png" COMP;
+ images.image: "mini_blue_glow_arrow_3.png" COMP;
+ styles {
+ style { name: "edge_binding_style";
+ base: "font="FN" font_size=10 text_class=tb_plain align=center color=#ffff style=shadow,bottom shadow_color=#00000080 wrap=word";
+ tag: "br" "\n";
+ tag: "hilight" "+ font="FNBD" text_class=tb_light";
+ }
+ }
+ parts {
+ part { name: "bg"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.background";
+ rel2.to: "e.swallow.background";
+ color: 48 48 48 255;
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ part { name: "e.swallow.background";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ min: 160 120;
+ rel1.offset: 4 4;
+ rel2.relative: 0.5 1.0;
+ rel2.offset: -2 -5;
+ }
+ }
+ part { name: "bevel"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: -10 -6;
+ rel1.to: "e.text.selection";
+ rel2.offset: 9 5;
+ rel2.to: "e.text.selection";
+ image.normal: "darken_rounded_square.png";
+ image.border: 15 15 15 15;
+ fill.smooth: 0;
+ fixed: 1 1;
+ }
+ }
+ part { name: "e.text.selection"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ rel1.relative: 0.5 0.5;
+ rel1.to: "e.swallow.background";
+ rel2.relative: 0.5 0.5;
+ rel2.to: "e.swallow.background";
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "label_text";
+ fixed: 1 1;
+ text { font: FN; size: 10;
+ text_class: "label";
+ min: 1 1;
+ }
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "e.edge.left";
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.background";
+ rel1.offset: 0 10;
+ rel2.to: "e.swallow.background";
+ rel2.offset: -1 -11;
+ image.normal: "downlight_glow_right.png";
+ image.border: 3 0 0 0;
+ max: 24 99999;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "e.edge.right";
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.background";
+ rel1.offset: 0 10;
+ rel2.to: "e.swallow.background";
+ rel2.offset: -1 -11;
+ image.normal: "downlight_glow_left.png";
+ image.border: 0 3 0 0;
+ max: 24 99999;
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "e.edge.top";
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.background";
+ rel1.offset: 10 0;
+ rel2.to: "e.swallow.background";
+ rel2.offset: -11 -1;
+ image.normal: "downlight_glow.png";
+ image.border: 0 0 3 0;
+ max: 99999 24;
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "e.edge.bottom";
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.background";
+ rel1.offset: 10 0;
+ rel2.to: "e.swallow.background";
+ rel2.offset: -11 -1;
+ image.normal: "downlight_glow_up.png";
+ image.border: 0 0 0 3;
+ max: 99999 24;
+ align: 0.5 1.0;
+ }
+ }
+
+ part { name: "e.edge.top_left";
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.background";
+ rel2.to: "e.swallow.background";
+ max: 10 10;
+ image.normal: "mini_blue_glow_arrow_2.png";
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "e.edge.top_right";
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.background";
+ rel2.to: "e.swallow.background";
+ max: 10 10;
+ image.normal: "mini_blue_glow_arrow_3.png";
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "e.edge.bottom_right";
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.background";
+ rel2.to: "e.swallow.background";
+ max: 10 10;
+ image.normal: "mini_blue_glow_arrow_0.png";
+ align: 1.0 1.0;
+ }
+ }
+ part { name: "e.edge.bottom_left";
+ description { state: "default" 0.0;
+ rel1.to: "e.swallow.background";
+ rel2.to: "e.swallow.background";
+ max: 10 10;
+ image.normal: "mini_blue_glow_arrow_1.png";
+ align: 0.0 1.0;
+ }
+ }
+ part { name: "inset";
+ description { state: "default" 0.0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel1.offset: -1 -1;
+ rel2.to: "bg";
+ rel2.offset: 0 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "e.box"; type: BOX;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1 1;
+ offset: 50 4;
+ to_x: "e.edge.bottom_right";
+ to_y: "e.text.description";
+ }
+ rel2 {
+ offset: -50 24;
+ to_y: "e.text.description";
+ }
+ box { layout: "horizontal";
+ padding: 0 0;
+ align: 0.5 0.5;
+ min: 1 1;
+ }
+ }
+ }
+ part { name: "e.swallow.slider"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1 1;
+ offset: 5 1;
+ to_x: "e.edge.bottom_right";
+ to_y: "e.box";
+ }
+ rel2 {
+ offset: -5 -1;
+ }
+ }
+ }
+ part { name: "e.text.description"; type: TEXTBLOCK; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1 0;
+ offset: 80 4;
+ to_x: "e.edge.right";
+ }
+ rel2 {
+ offset: -80 -45;
+ }
+ text {
+ style: "edge_binding_style";
+ min: 1 1;
+ }
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/elm/access.edc b/data/themes/edc/elm/access.edc
new file mode 100644
index 000000000..3b0dcc0f0
--- /dev/null
+++ b/data/themes/edc/elm/access.edc
@@ -0,0 +1,60 @@
+group { name: "elm/access/base/default";
+ images.image: "access_glow.png" LOSSY 85;
+ parts {
+ part { name: "block1"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 0 0 0 200;
+ rel1.to: "base";
+ rel1.offset: -100000 -100000;
+ rel2.to: "base";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: 100000 96;
+ }
+ }
+ part { name: "block2"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 0 0 0 200;
+ rel1.to: "base";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: -100000 -97;
+ rel2.to: "base";
+ rel2.offset: 100000 100000;
+ }
+ }
+ part { name: "block3"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 0 0 0 200;
+ rel1.to: "block1";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 0;
+ rel2.to_x: "base";
+ rel2.to_y: "block2";
+ rel2.relative: 0.0 0.0;
+ rel2.offset: 96 -1;
+ }
+ }
+ part { name: "block4"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 0 0 0 200;
+ rel1.to_x: "base";
+ rel1.to_y: "block1";
+ rel1.relative: 1.0 1.0;
+ rel1.offset: -97 0;
+ rel2.to: "block2";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 -1;
+ }
+ }
+ part { name: "base"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "access_glow.png";
+ image.border: 112 112 112 112;
+ rel1.offset: -102 -102;
+ rel2.offset: 101 101;
+ fill.smooth: 0;
+ }
+ }
+ }
+}
+
+
diff --git a/data/themes/edc/elm/actionslider.edc b/data/themes/edc/elm/actionslider.edc
new file mode 100644
index 000000000..eb4f4bcb7
--- /dev/null
+++ b/data/themes/edc/elm/actionslider.edc
@@ -0,0 +1,277 @@
+group { name: "elm/actionslider/base/default";
+ images.image: "bevel_in.png" COMP;
+ images.image: "button_normal.png" COMP;
+ images.image: "button_clicked.png" COMP;
+ images.image: "glow_small.png" COMP;
+ images.image: "inset_shadow.png" COMP;
+ parts {
+ part { name: "bg"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ min: 48 10;
+ color: DARK_GREY_BG_COLOR;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: DARK_GREY_BG_DISABLED_COLOR;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "inset"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "icon.dragable.area"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ }
+ }
+ part { name: "elm.text.left"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: FN_COL_DEFAULT;
+ color_class: "button_text";
+ text { font: FN; size: 10;
+ align: 0.05 0.5;
+ min: 1 1;
+ text_class: "button";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: FN_COL_DISABLE;
+ color_class: "button_text_disabled";
+ }
+ }
+ part { name: "elm.text.center"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: FN_COL_DEFAULT;
+ color_class: "check_off_text";
+ text { font: FN; size: 10;
+ align: 0.5 0.5;
+ min: 1 1;
+ text_class: "check_off_text";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: FN_COL_DISABLE;
+ color_class: "button_text_disabled";
+ }
+ }
+ part { name: "elm.text.right"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: FN_COL_DEFAULT;
+ color_class: "check_off_text";
+ text { font: FN; size: 10;
+ align: 0.95 0.5;
+ min: 1 1;
+ text_class: "check_off_text";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: FN_COL_DISABLE;
+ color_class: "button_text_disabled";
+ }
+ }
+ part { name: "elm.drag_button_base"; type: SWALLOW; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 40 10;
+ align: 0.5 0.5;
+ rel1.to: "icon.dragable.area";
+ rel2 {
+ relative: 0.0 1.0;
+ to: "icon.dragable.area";
+ }
+ }
+ dragable {
+ confine: "icon.dragable.area";
+ x: 1 1 0;
+ y: 0 0 0;
+ }
+ }
+ part { name: "elm.drag_button"; type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 40 10;
+ color: 0 0 0 0;
+ rel1.to_x: "elm.drag_button_base";
+ rel1.to_y: "icon.dragable.area";
+ rel2.to_x: "elm.drag_button_base";
+ rel2.to_y: "icon.dragable.area";
+ }
+ dragable {
+ events: "elm.drag_button_base";
+ }
+ }
+ part { name: "glow_button"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: 0 -1;
+ rel1.to: "drag_button";
+ rel2.offset: -1 -2;
+ rel2.to: "drag_button";
+ image {
+ normal: "glow_small.png";
+ border: 7 7 7 7;
+ middle: NONE;
+ }
+ fill.smooth: 0;
+ visible: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "drag_button"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "elm.drag_button";
+ rel1.offset: -1 0;
+ rel2.to: "elm.drag_button";
+ rel2.offset: 0 0;
+ image {
+ normal: "button_normal.png";
+ border: 4 4 3 5;
+ middle: SOLID;
+ }
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "button_clicked.png";
+ image.border: 5 5 4 6;
+ }
+ }
+ part { name: "elm.text.indicator"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 {
+ to: "elm.drag_button";
+ offset: 5 2;
+ }
+ rel2 {
+ to: "elm.drag_button";
+ offset: -5 -3;
+ }
+ color: FN_COL_DEFAULT;
+ color_class: "check_off_text";
+ text {
+ font: FN; size: 10;
+ align: 0.5 0.5;
+ min: 0 1;
+ text_class: "check_off_text";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: FN_COL_DISABLE;
+ color_class: "button_text_disabled";
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,up,1"; source: "elm.drag_button";
+ action: SIGNAL_EMIT "elm.drag_button,mouse,up" "elm";
+ after: "button_unclick_anim";
+ }
+ program { name: "button_unclick_anim";
+ action: STATE_SET "default" 0.0;
+ target: "drag_button";
+ target: "glow_button";
+ }
+ program {
+ signal: "mouse,down,1*"; source: "elm.drag_button";
+ action: SIGNAL_EMIT "elm.drag_button,mouse,down" "elm";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ target: "drag_button";
+ target: "glow_button";
+ }
+ program {
+ signal: "mouse,move"; source: "elm.drag_button_base";
+ action: SIGNAL_EMIT "elm.drag_button,mouse,move" "elm";
+ }
+ program {
+ signal: "elm,state,disabled"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bg";
+ target: "disabler";
+ target: "elm.text.left";
+ target: "elm.text.center";
+ target: "elm.text.right";
+ target: "elm.text.indicator";
+ }
+ program {
+ signal: "elm,state,enabled"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ target: "disabler";
+ target: "elm.text.left";
+ target: "elm.text.center";
+ target: "elm.text.right";
+ target: "elm.text.indicator";
+ }
+ }
+}
+
+group { name: "elm/actionslider/base/bar";
+ inherit: "elm/actionslider/base/default";
+ images.image: "horiz_glow_run_big.png" COMP;
+ parts {
+ part { name: "bar"; mouse_events: 0;
+ insert_before: "elm.drag_button_base";
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel1.offset: 1 4;
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 3 -5;
+ to_x: "elm.drag_button_base";
+ to_y: "bg";
+ }
+ image {
+ normal: "horiz_glow_run_big.png";
+ border: 0 4 0 0;
+ }
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/elm/bg.edc b/data/themes/edc/elm/bg.edc
new file mode 100644
index 000000000..58518f644
--- /dev/null
+++ b/data/themes/edc/elm/bg.edc
@@ -0,0 +1,31 @@
+group { name: "elm/bg/base/default";
+ images.image: "bevel_dark_out.png" COMP;
+ parts {
+ part { name: "base"; type: RECT;
+ description { state: "default" 0.0;
+ color_class: "dialog_base";
+ color: 64 64 64 255;
+ }
+ }
+ part { name: "elm.swallow.rectangle"; type: SWALLOW;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "elm.swallow.background"; type: SWALLOW;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "bevel";
+ description { state: "default" 0.0;
+ image.normal: "bevel_dark_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/elm/border.edc b/data/themes/edc/elm/border.edc
new file mode 100644
index 000000000..627c9f3af
--- /dev/null
+++ b/data/themes/edc/elm/border.edc
@@ -0,0 +1,1666 @@
+group { name: "elm/ews/background/default";
+ images.image: "bg_radgrad.png" COMP;
+ images.image: "dot_pattern.png" COMP;
+ parts {
+ part { name: "bg";
+ description { state: "default" 0.0;
+ image.normal: "bg_radgrad.png";
+ image.scale_hint: STATIC;
+ fill.smooth: 0;
+ ASPECT_FILL((1024/653))
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ }
+}
+
+group { name: "elm/ews/decoration/default";
+ images.image: "win_shadow.png" COMP;
+ images.image: "win_glow.png" COMP;
+ images.image: "vgrad_med_lighter.png" COMP;
+ images.image: "vgrad_med_dark.png" COMP;
+ images.image: "bevel_out.png" COMP;
+ images.image: "shine.png" COMP;
+ images.image: "bevel_dark_out.png" COMP;
+ images.image: "sym_close_dark_normal.png" COMP;
+ images.image: "sym_close_dark_selected.png" COMP;
+ images.image: "sym_close_light_normal.png" COMP;
+ images.image: "sym_close_light_selected.png" COMP;
+ images.image: "sym_down_dark_normal.png" COMP;
+ images.image: "sym_down_dark_selected.png" COMP;
+ images.image: "sym_down_light_normal.png" COMP;
+ images.image: "sym_down_light_selected.png" COMP;
+ images.image: "sym_up_dark_normal.png" COMP;
+ images.image: "sym_up_dark_selected.png" COMP;
+ images.image: "sym_up_light_normal.png" COMP;
+ images.image: "sym_up_light_selected.png" COMP;
+ images.image: "glow_round_corners_small.png" COMP;
+ images.image: "knob_round_small_busy.png" COMP;
+ parts {
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "win_shadow.png";
+ image.border: 14 14 14 14;
+ image.middle: 0;
+ rel1.offset: -7 -3;
+ rel1.to: "top";
+ rel2.offset: 6 11;
+ rel2.to: "bottom";
+ fill.smooth: 0;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "glow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "win_glow.png";
+ image.border: 9 9 9 9;
+ image.middle: 0;
+ rel1.offset: -5 -5;
+ rel1.to: "top";
+ rel2.offset: 4 4;
+ rel2.to: "bottom";
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "top";
+ description { state: "default" 0.0;
+ color_class: "border_top";
+ image.normal: "vgrad_med_lighter.png";
+ rel1.to_y: "title2";
+ rel1.offset: -1 -2;
+ rel2.relative: 1.0 0.0;
+ fill.smooth: 0;
+ TILED_HORIZ(120)
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "vgrad_med_dark.png";
+ }
+ }
+ part { name: "bevel"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "top";
+ rel2.to: "top";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "elm.text.title"; type: TEXT;
+ scale: 1;
+ effect: SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ color_class: "border_title";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 1 -3;
+ rel1.to_x: "e.event.icon";
+ rel2.relative: 0.0 0.0;
+ rel2.offset: -2 -3;
+ rel2.to_x: "e.event.minimize";
+ align: 0.5 1.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ text { font: FNBD; size: 10;
+ text_class: "title_bar";
+ align: 0.5 0.0;
+ min: 0 1;
+ }
+ fixed: 0 1;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "title2"; type: TEXT;
+ scale: 1;
+ effect: SOFT_SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ color_class: "border_title_active";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 1 2;
+ rel1.to_x: "e.event.icon";
+ rel2.relative: 0.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to_x: "e.event.minimize";
+ align: 0.5 1.0;
+ color: 255 255 255 255;
+ color3: 0 0 0 18;
+ text { font: FNBD; size: 10;
+ text_source: "elm.text.title";
+ text_class: "title_bar";
+ align: 0.5 0.0;
+ min: 0 1;
+ }
+ fixed: 0 1;
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "icon"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.to: "e.event.icon";
+ rel2.to: "e.event.icon";
+ }
+ description { state: "bounce1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.15;
+ rel2.relative: 1.0 1.15;
+ }
+ description { state: "bounce2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 -0.15;
+ rel2.relative: 1.0 0.85;
+ }
+ }
+ part { name: "e.swallow.icon"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "icon";
+ rel1.relative: 0.15 0.15;
+ rel2.to: "icon";
+ rel2.relative: 0.85 0.85;
+ rel2.offset: 0 0;
+ }
+ }
+ part { name: "knob"; mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ image.normal: "knob_round_small_busy.png";
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ max: 20 20;
+ rel1.to: "e.event.icon";
+ rel2.to: "e.event.icon";
+ fixed: 1 1;
+ }
+ }
+
+ part { name: "clip1"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "clip2"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "close1";
+ clip_to: "clip1";
+ description { state: "default" 0.0;
+ image.normal: "sym_close_dark_normal.png";
+ rel1.to: "e.event.close";
+ rel2.to: "e.event.close";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_close_dark_selected.png";
+ }
+ }
+ part { name: "max1";
+ clip_to: "clip1";
+ description { state: "default" 0.0;
+ image.normal: "sym_up_dark_normal.png";
+ rel1.to: "e.event.maximize";
+ rel2.to: "e.event.maximize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_up_dark_selected.png";
+ }
+ }
+ part { name: "min1";
+ clip_to: "clip1";
+ description { state: "default" 0.0;
+ image.normal: "sym_down_dark_normal.png";
+ rel1.to: "e.event.minimize";
+ rel2.to: "e.event.minimize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_down_dark_selected.png";
+ }
+ }
+ part { name: "close2";
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ image.normal: "sym_close_light_normal.png";
+ rel1.to: "e.event.close";
+ rel2.to: "e.event.close";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_close_light_selected.png";
+ }
+ }
+ part { name: "max2";
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ image.normal: "sym_up_light_normal.png";
+ rel1.to: "e.event.maximize";
+ rel2.to: "e.event.maximize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_up_light_selected.png";
+ }
+ }
+ part { name: "min2";
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ image.normal: "sym_down_light_normal.png";
+ rel1.to: "e.event.minimize";
+ rel2.to: "e.event.minimize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_down_light_selected.png";
+ }
+ }
+ part { name: "e.event.icon"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to_y: "top";
+ rel2.relative: 0.0 0.0;
+ align: 0.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "e.event.icon";
+ action: SIGNAL_EMIT "elm,action,menu" "elm";
+ }
+ part { name: "e.event.titlebar"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to_y: "top";
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "e.event.icon";
+ rel2.relative: 0.0 0.0;
+ rel2.to_x: "e.event.minimize";
+ color: 0 0 0 0;
+ }
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.titlebar";
+ action: SIGNAL_EMIT "elm,action,move,start" "elm";
+ }
+ program {
+ signal: "mouse,up,1"; source: "e.event.titlebar";
+ action: SIGNAL_EMIT "elm,action,move,stop" "elm";
+ }
+ part { name: "e.event.close"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.to_y: "top";
+ rel2.relative: 1.0 0.0;
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "e.event.close";
+ action: SIGNAL_EMIT "elm,action,close" "elm";
+ }
+ part { name: "e.event.maximize"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to_y: "top";
+ rel1.relative: -0.25 0.0;
+ rel1.offset: -1 0;
+ rel1.to_x: "e.event.close";
+ rel2.relative: -0.25 0.0;
+ rel2.to_x: "e.event.close";
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.maximize2"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "e.event.maximize";
+ rel2.to: "e.event.maximize";
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "e.event.maximize";
+ action: SIGNAL_EMIT "elm,action,maximize" "elm";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "e.event.maximize2";
+ action: SIGNAL_EMIT "elm,action,restore" "elm";
+ }
+ part { name: "e.event.minimize"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to_y: "top";
+ rel1.relative: 0.0 0.0;
+ rel1.offset: -1 0;
+ rel1.to_x: "e.event.maximize";
+ rel2.relative: 0.0 0.0;
+ rel2.to_x: "e.event.maximize";
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "e.event.minimize";
+ action: SIGNAL_EMIT "elm,action,iconify" "elm";
+ }
+ part { name: "e.event.resize.tl"; type: RECT;
+ description { state: "default" 0.0;
+ rel2.relative: 0.0 0.0;
+ min: 32 4;
+ align: 0.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.t"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "e.event.resize.tl";
+ rel2.relative: 0.0 0.0;
+ rel2.to_x: "e.event.resize.tr";
+ min: 0 4;
+ align: 0.5 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.tr"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 0.0;
+ min: 32 4;
+ align: 1.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "bottom"; type: RECT;
+ description { state: "default" 0.0;
+ color_class: "border_bottom";
+ rel1.relative: 0.0 1.0;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -1 4;
+ min: 0 5;
+ color: 64 64 64 255;
+ fixed: 0 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "bevel2";
+ description { state: "default" 0.0;
+ image.normal: "bevel_dark_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ fill.smooth: 0;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.bl"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel2.relative: 0.0 1.0;
+ min: 32 5;
+ align: 0.0 1.0;
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.b"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 1.0;
+ rel1.to_x: "e.event.resize.tl";
+ rel2.relative: 0.0 1.0;
+ rel2.to_x: "e.event.resize.tr";
+ min: 0 5;
+ align: 0.5 1.0;
+ color: 0 0 0 0;
+ fixed: 0 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.br"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 1.0;
+ rel2.relative: 1.0 1.0;
+ min: 32 5;
+ align: 1.0 1.0;
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "shine"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "shine.png";
+ rel1.offset: 0 -2;
+ rel1.to: "top";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to: "top";
+ FIXED_SIZE(69, 5)
+ }
+ }
+ part { name: "focus"; type: RECT; repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "bottom";
+ color: 0 0 0 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ program {
+ signal: "mouse,down,1"; source: "focus";
+ action: SIGNAL_EMIT "elm,action,focus" "elm";
+ }
+ program {
+ signal: "elm,state,focus,on"; source: "elm";
+ action: STATE_SET "focused" 0.0;
+ transition: SINUSOIDAL 0.1;
+ target: "glow";
+ target: "focus";
+ after: "focus2";
+ }
+ program { name: "focus2";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.4;
+ target: "glow";
+ }
+ program {
+ signal: "elm,state,focus,off"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.1;
+ target: "focus";
+ target: "glow";
+ }
+ program {
+ signal: "elm,state,focus,on"; source: "elm";
+ action: STATE_SET "focused" 0.0;
+ target: "top";
+ target: "elm.text.title";
+ target: "title2";
+ target: "clip1";
+ target: "clip2";
+ }
+ program {
+ signal: "elm,state,focus,off"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "top";
+ target: "elm.text.title";
+ target: "title2";
+ target: "clip1";
+ target: "clip2";
+ }
+
+ program {
+ signal: "elm,state,maximized,on"; source: "elm";
+ action: STATE_SET "max" 0.0;
+ target: "e.event.maximize";
+ target: "e.event.maximize2";
+ target: "bottom";
+ target: "bevel2";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.b";
+ target: "e.event.resize.br";
+ }
+ program {
+ signal: "elm,state,maximized,off"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "e.event.maximize";
+ target: "e.event.maximize2";
+ target: "bottom";
+ target: "bevel2";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.b";
+ target: "e.event.resize.br";
+ }
+ program {
+ signal: "mouse,down,*"; source: "e.event.close";
+ action: STATE_SET "selected" 0.0;
+ target: "close1";
+ target: "close2";
+ }
+ program {
+ signal: "mouse,up,*"; source: "e.event.close";
+ action: STATE_SET "default" 0.0;
+ target: "close1";
+ target: "close2";
+ }
+ program {
+ signal: "mouse,down,*"; source: "e.event.maximize*";
+ action: STATE_SET "selected" 0.0;
+ target: "max1";
+ target: "max2";
+ }
+ program {
+ signal: "mouse,up,*"; source: "e.event.maximize*";
+ action: STATE_SET "default" 0.0;
+ target: "max1";
+ target: "max2";
+ }
+ program {
+ signal: "mouse,down,*"; source: "e.event.minimize";
+ action: STATE_SET "selected" 0.0;
+ target: "min1";
+ target: "min2";
+ }
+ program {
+ signal: "mouse,up,*"; source: "e.event.minimize";
+ action: STATE_SET "default" 0.0;
+ target: "min1";
+ target: "min2";
+ }
+ }
+}
+
+group { name: "elm/ews/decoration/borderless";
+ images.image: "win_shadow.png" COMP;
+ images.image: "win_glow.png" COMP;
+ parts {
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "win_shadow.png";
+ image.border: 14 14 14 14;
+ image.middle: 0;
+ rel1.offset: -7 -3;
+ rel2.offset: 6 11;
+ fill.smooth: 0;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "glow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "win_glow.png";
+ image.border: 9 9 9 9;
+ image.middle: 0;
+ rel1.offset: -5 -5;
+ rel2.offset: 4 4;
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "focus"; type: RECT; repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ program {
+ signal: "mouse,down,1"; source: "focus";
+ action: SIGNAL_EMIT "elm,action,focus" "elm";
+ }
+ program {
+ signal: "elm,state,focus,on"; source: "elm";
+ action: STATE_SET "focused" 0.0;
+ transition: SINUSOIDAL 0.1;
+ target: "glow";
+ target: "focus";
+ after: "focus2";
+ }
+ program { name: "focus2";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.4;
+ target: "glow";
+ }
+ program {
+ signal: "elm,state,focus,off"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.1;
+ target: "focus";
+ target: "glow";
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+
+group { name: "elm/border/base/default";
+ images.image: "win_shadow.png" COMP;
+ images.image: "win_glow.png" COMP;
+
+ images.image: "vgrad_med_lighter.png" COMP;
+ images.image: "vgrad_med_dark.png" COMP;
+ images.image: "bevel_out.png" COMP;
+ images.image: "shine.png" COMP;
+ images.image: "bevel_dark_out.png" COMP;
+ images.image: "sym_close_dark_normal.png" COMP;
+ images.image: "sym_close_dark_selected.png" COMP;
+ images.image: "sym_close_light_normal.png" COMP;
+ images.image: "sym_close_light_selected.png" COMP;
+ images.image: "sym_down_dark_normal.png" COMP;
+ images.image: "sym_down_dark_selected.png" COMP;
+ images.image: "sym_down_light_normal.png" COMP;
+ images.image: "sym_down_light_selected.png" COMP;
+ images.image: "sym_up_dark_normal.png" COMP;
+ images.image: "sym_up_dark_selected.png" COMP;
+ images.image: "sym_up_light_normal.png" COMP;
+ images.image: "sym_up_light_selected.png" COMP;
+ images.image: "glow_round_corners_small.png" COMP;
+ images.image: "knob_round_small_busy.png" COMP;
+
+ // XXX: trhis is UNTESTED!!! need wl to test!
+ parts {
+ part { name: "focus_clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.swallow.frame_spacer"; type: SWALLOW;
+ clip_to: "focus_clip";
+ description { state: "default" 0.0;
+ rel1.to: "frame";
+ rel2.to: "frame";
+ }
+ }
+ part { name: "frame"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.offset: 7 5;
+ rel2.offset: -8 -12;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 0;
+ rel2.offset: -1 -1;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ clip_to: "focus_clip";
+ description { state: "default" 0.0;
+ image.normal: "win_shadow.png";
+ image.border: 14 14 14 14;
+ image.middle: 0;
+ rel1.offset: -7 -3;
+ rel1.to: "frame";
+ rel2.offset: 6 11;
+ rel2.to: "frame";
+ fill.smooth: 0;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "glow"; mouse_events: 0;
+ clip_to: "focus_clip";
+ description { state: "default" 0.0;
+ image.normal: "win_glow.png";
+ image.border: 9 9 9 9;
+ image.middle: 0;
+ rel1.offset: -5 -5;
+ rel1.to: "frame";
+ rel2.offset: 4 4;
+ rel2.to: "frame";
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "client_clip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to_y: "elm.swallow.client";
+ rel2.to_y: "elm.swallow.client";
+ }
+ }
+ part { name: "elm.swallow.client"; type: SWALLOW;
+ clip_to: "client_clip";
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.to: "top";
+ rel2.relative: 1.0 0.0;
+ rel2.to: "bottom";
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -1 -1;
+ rel2.to: "bottom";
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -1 -1;
+ rel2.to: "bottom";
+ }
+ }
+ part { name: "top";
+ description { state: "default" 0.0;
+ color_class: "border_top";
+ image.normal: "vgrad_med_lighter.png";
+ rel1.to: "frame";
+ rel2.to_y: "title2";
+ rel2.to_x: "frame";
+ rel2.offset: -1 -4;
+ fill.smooth: 0;
+ TILED_HORIZ(120)
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "vgrad_med_dark.png";
+ }
+ }
+ part { name: "bevel"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "top";
+ rel2.to: "top";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "elm.text.title"; type: TEXT;
+ scale: 1;
+ effect: SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ color_class: "border_title";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 1 3;
+ rel1.to_x: "elm.event.icon";
+ rel1.to_y: "frame";
+ rel2.relative: 0.0 0.0;
+ rel2.offset: -2 3;
+ rel2.to_x: "e.event.minimize";
+ rel2.to_y: "frame";
+ align: 0.5 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ text { font: FNBD; size: 10;
+ text_class: "title_bar";
+ align: 0.5 0.0;
+ min: 0 1;
+ }
+ fixed: 0 1;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "title2"; type: TEXT;
+ scale: 1;
+ effect: SOFT_SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ color_class: "border_title_active";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 1 2;
+ rel1.to_x: "elm.event.icon";
+ rel1.to_y: "frame";
+ rel2.relative: 0.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to_x: "e.event.minimize";
+ rel2.to_y: "frame";
+ align: 0.5 0.0;
+ color: 255 255 255 255;
+ color3: 0 0 0 18;
+ text { font: FNBD; size: 10;
+ text_source: "elm.text.title";
+ text_class: "title_bar";
+ align: 0.5 0.0;
+ min: 0 1;
+ }
+ fixed: 0 1;
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "icon"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.to: "elm.event.icon";
+ rel2.to: "elm.event.icon";
+ }
+ description { state: "bounce1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.15;
+ rel2.relative: 1.0 1.15;
+ }
+ description { state: "bounce2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 -0.15;
+ rel2.relative: 1.0 0.85;
+ }
+ }
+ part { name: "elm.swallow.icon"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "icon";
+ rel1.relative: 0.15 0.15;
+ rel2.to: "icon";
+ rel2.relative: 0.85 0.85;
+ rel2.offset: 0 0;
+ }
+ }
+ part { name: "busy_clip"; type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "hung" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "knob"; mouse_events: 0;
+ clip_to: "busy_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ image.normal: "knob_round_small_busy.png";
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ max: 20 20;
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 2 -0;
+ rel1.to: "elm.event.icon";
+ rel2.relative: 1.0 1.0;
+ rel2.offset: 2 -1;
+ rel2.to: "elm.event.icon";
+ align: 0.0 0.5;
+ fixed: 1 1;
+ }
+ }
+ part { name: "knob_spinner"; mouse_events: 0;
+ clip_to: "busy_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "knob";
+ rel2.to: "knob";
+ image.normal: "glow_round_corners.png";
+ map.on: 1;
+ map.smooth: 1;
+ map.rotation.center: "knob";
+ }
+ description { state: "spin" 0.0;
+ inherit: "default" 0.0;
+ map.rotation.z: 360;
+ }
+ }
+ part { name: "clip1"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "clip2"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "close1";
+ clip_to: "clip1";
+ description { state: "default" 0.0;
+ image.normal: "sym_close_dark_normal.png";
+ rel1.to: "e.event.close";
+ rel2.to: "e.event.close";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_close_dark_selected.png";
+ }
+ }
+ part { name: "max1";
+ clip_to: "clip1";
+ description { state: "default" 0.0;
+ image.normal: "sym_up_dark_normal.png";
+ rel1.to: "e.event.maximize";
+ rel2.to: "e.event.maximize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_up_dark_selected.png";
+ }
+ }
+ part { name: "min1";
+ clip_to: "clip1";
+ description { state: "default" 0.0;
+ image.normal: "sym_down_dark_normal.png";
+ rel1.to: "e.event.minimize";
+ rel2.to: "e.event.minimize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_down_dark_selected.png";
+ }
+ }
+ part { name: "close2";
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ image.normal: "sym_close_light_normal.png";
+ rel1.to: "e.event.close";
+ rel2.to: "e.event.close";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_close_light_selected.png";
+ }
+ }
+ part { name: "max2";
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ image.normal: "sym_up_light_normal.png";
+ rel1.to: "e.event.maximize";
+ rel2.to: "e.event.maximize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_up_light_selected.png";
+ }
+ }
+ part { name: "min2";
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ image.normal: "sym_down_light_normal.png";
+ rel1.to: "e.event.minimize";
+ rel2.to: "e.event.minimize";
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_down_light_selected.png";
+ }
+ }
+ part { name: "elm.event.icon"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to: "top";
+ rel2.relative: 0.0 1.0;
+ rel2.to: "top";
+ align: 0.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.titlebar"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "elm.event.icon";
+ rel1.to_y: "top";
+ rel2.relative: 0.0 1.0;
+ rel2.to_x: "e.event.minimize";
+ rel2.to_y: "top";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.close"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.to: "top";
+ rel2.relative: 1.0 1.0;
+ rel2.to: "top";
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.maximize"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: -0.25 0.0;
+ rel1.to_y: "top";
+ rel1.offset: -1 0;
+ rel1.to_x: "e.event.close";
+ rel2.relative: -0.25 1.0;
+ rel2.to_y: "top";
+ rel2.to_x: "e.event.close";
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0 ;
+ }
+ }
+ part { name: "e.event.minimize"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to_y: "top";
+ rel1.offset: -1 0;
+ rel1.to_x: "e.event.maximize";
+ rel2.relative: 0.0 1.0;
+ rel2.to_y: "top";
+ rel2.to_x: "e.event.maximize";
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.tl"; type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "top";
+ rel2.relative: 0.0 0.0;
+ rel2.to: "top";
+ min: 32 4;
+ align: 0.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.t"; type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 1.0 0.0;
+ rel1.to_y: "top";
+ rel1.to_x: "e.event.resize.tl";
+ rel2.relative: 0.0 0.0;
+ rel1.to_y: "top";
+ rel2.to_x: "e.event.resize.tr";
+ min: 0 4;
+ align: 0.5 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "e.event.resize.tr"; type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 1.0 0.0;
+ rel1.to: "top";
+ rel2.relative: 1.0 0.0;
+ rel2.to: "top";
+ min: 32 4;
+ align: 1.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "bottom"; type: RECT;
+ description { state: "default" 0.0;
+ color_class: "border_bottom";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 -5;
+ rel1.to: "frame";
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -1 -1;
+ rel2.to: "frame";
+ min: 0 5;
+ color: 64 64 64 255;
+ fixed: 0 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "bevel2";
+ description { state: "default" 0.0;
+ image.normal: "bevel_dark_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ fill.smooth: 0;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.bl"; type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 0.0 1.0;
+ rel1.to: "bottom";
+ rel2.relative: 0.0 1.0;
+ rel2.to: "bottom";
+ min: 32 5;
+ align: 0.0 1.0;
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.b"; type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 1.0 1.0;
+ rel1.to_x: "e.event.resize.tl";
+ rel1.to_y: "bottom";
+ rel2.relative: 0.0 1.0;
+ rel2.to_x: "e.event.resize.tr";
+ rel1.to_y: "bottom";
+ min: 0 5;
+ align: 0.5 1.0;
+ color: 0 0 0 0;
+ fixed: 0 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "e.event.resize.br"; type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 1.0 1.0;
+ rel1.to: "bottom";
+ rel2.relative: 1.0 1.0;
+ rel2.to: "bottom";
+ min: 32 5;
+ align: 1.0 1.0;
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ description { state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description { state: "max" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "shine"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "shine.png";
+ rel1.offset: 0 -2;
+ rel1.to: "top";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to: "top";
+ FIXED_SIZE(69, 5)
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,action,focus"; source: "elm";
+ action: STATE_SET "focused" 0.0;
+ transition: SINUSOIDAL 0.1;
+ target: "glow";
+ after: "focus2";
+ }
+ program { name: "focus2";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.4;
+ target: "glow";
+ }
+ program {
+ signal: "elm,action,unfocus"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.1;
+ target: "glow";
+ }
+ program {
+ signal: "elm,action,focus"; source: "elm";
+ action: STATE_SET "focused" 0.0;
+ target: "top";
+ target: "elm.text.title";
+ target: "title2";
+ target: "clip1";
+ target: "clip2";
+ }
+ program {
+ signal: "elm,action,unfocus"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "top";
+ target: "elm.text.title";
+ target: "title2";
+ target: "clip1";
+ target: "clip2";
+ }
+ program {
+ signal: "elm,state,urgent"; source: "elm";
+ action: STATE_SET "bounce1" 0.0;
+ target: "icon";
+ after: "urg1";
+ }
+ program { name: "urg1";
+ action: STATE_SET "bounce2" 0.0;
+ transition: DECELERATE 0.2;
+ target: "icon";
+ after: "urg2";
+ }
+ program { name: "urg2";
+ action: STATE_SET "bounce1" 0.0;
+ transition: ACCELERATE 0.2;
+ target: "icon";
+ after: "urg1";
+ }
+ program {
+ signal: "elm,state,not_urgent"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "icon";
+ }
+ program { name: "spin";
+ signal: "elm,state,hung"; source: "elm";
+ action: STATE_SET "spin" 0.0;
+ transition: LINEAR 1.0;
+ target: "knob_spinner";
+ after: "spin2";
+ }
+ program { name: "spin2";
+ action: STATE_SET "default" 0.0;
+ target: "knob_spinner";
+ after: "spin";
+ }
+ program {
+ signal: "elm,state,hung"; source: "elm";
+ action: STATE_SET "hung" 0.0;
+ transition: SINUSOIDAL 0.25;
+ target: "busy_clip";
+ }
+ program {
+ signal: "elm,state,unhung"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 1.0;
+ target: "busy_clip";
+ after: "spin3";
+ }
+ program { name: "spin3";
+ action: ACTION_STOP;
+ target: "spin";
+ target: "spin2";
+ after: "spin4";
+ }
+ program { name: "spin4";
+ action: STATE_SET "default" 0.0;
+ target: "knob_spinner";
+ }
+ program {
+ signal: "elm,state,shaded"; source: "elm";
+ action: STATE_SET "shaded" 0.0;
+ target: "elm.swallow.client";
+ target: "bottom";
+ target: "bevel2";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.b";
+ target: "e.event.resize.br";
+ }
+// program {
+// signal: "e,state,shading"; source: "e";
+// }
+// program {
+// signal: "e,state,unshaded"; source: "e";
+// }
+ program {
+ signal: "elm,state,unshading"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.client";
+ target: "bottom";
+ target: "bevel2";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.b";
+ target: "e.event.resize.br";
+ }
+// program {
+// signal: "e,action,maximize"; source: "e";
+// }
+// program {
+// signal: "e,action,unmaximize"; source: "e";
+// }
+// program {
+// signal: "e,action,maximize,fullscreen"; source: "e";
+// }
+// program {
+// signal: "e,action,unmaximize,fullscreen"; source: "e";
+// }
+ program {
+ signal: "elm,state,maximized"; source: "elm";
+ action: STATE_SET "max" 0.0;
+ target: "elm.swallow.client";
+ target: "frame";
+ target: "focus_clip";
+ target: "bottom";
+ target: "bevel2";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.b";
+ target: "e.event.resize.br";
+ }
+ program {
+ signal: "elm,state,unmaximized"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.client";
+ target: "frame";
+ target: "focus_clip";
+ target: "bottom";
+ target: "bevel2";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.b";
+ target: "e.event.resize.br";
+ }
+ program {
+ signal: "mouse,down,*"; source: "e.event.close";
+ action: STATE_SET "selected" 0.0;
+ target: "close1";
+ target: "close2";
+ }
+ program {
+ signal: "mouse,up,*"; source: "e.event.close";
+ action: STATE_SET "default" 0.0;
+ target: "close1";
+ target: "close2";
+ }
+ program {
+ signal: "mouse,down,*"; source: "e.event.maximize";
+ action: STATE_SET "selected" 0.0;
+ target: "max1";
+ target: "max2";
+ }
+ program {
+ signal: "mouse,up,*"; source: "e.event.maximize";
+ action: STATE_SET "default" 0.0;
+ target: "max1";
+ target: "max2";
+ }
+ program {
+ signal: "mouse,down,*"; source: "e.event.minimize";
+ action: STATE_SET "selected" 0.0;
+ target: "min1";
+ target: "min2";
+ }
+ program {
+ signal: "mouse,up,*"; source: "e.event.minimize";
+ action: STATE_SET "default" 0.0;
+ target: "min1";
+ target: "min2";
+ }
+
+ program {
+ signal: "mouse,down,1"; source: "e.event.titlebar";
+ action: SIGNAL_EMIT "elm,action,move,start" "elm";
+ }
+ program {
+ signal: "mouse,up,1"; source: "e.event.titlebar";
+ action: SIGNAL_EMIT "elm,action,move,stop" "elm";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "e.event.minimize";
+ action: SIGNAL_EMIT "elm,action,minimize" "elm";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "e.event.maximize";
+ action: SIGNAL_EMIT "elm,action,maximize" "elm";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "e.event.close";
+ action: SIGNAL_EMIT "elm,action,close" "elm";
+ }
+ program {
+ signal: "mouse,in"; source: "e.event.resize.t";
+ action: SIGNAL_EMIT "elm,action,resize,show" "elm.event.resize.t";
+ }
+ program {
+ signal: "mouse,out"; source: "e.event.resize.t";
+ action: SIGNAL_EMIT "elm,action,resize,hide" "elm.event.resize.t";
+ }
+ program { name: "resize_t_down";
+ signal: "mouse,down,1"; source: "e.event.resize.t";
+ action: SIGNAL_EMIT "elm,action,resize,start" "elm.event.resize.t";
+ }
+ program {
+ signal: "mouse,in"; source: "e.event.resize.b";
+ action: SIGNAL_EMIT "elm,action,resize,show" "elm.event.resize.b";
+ }
+ program {
+ signal: "mouse,out"; source: "e.event.resize.b";
+ action: SIGNAL_EMIT "elm,action,resize,hide" "elm.event.resize.b";
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.b";
+ action: SIGNAL_EMIT "elm,action,resize,start" "elm.event.resize.b";
+ }
+ program {
+ signal: "mouse,in"; source: "e.event.resize.tl";
+ action: SIGNAL_EMIT "elm,action,resize,show" "elm.event.resize.tl";
+ }
+ program {
+ signal: "mouse,out"; source: "e.event.resize.tl";
+ action: SIGNAL_EMIT "elm,action,resize,hide" "elm.event.resize.tl";
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.tl";
+ action: SIGNAL_EMIT "elm,action,resize,start" "elm.event.resize.tl";
+ }
+ program {
+ signal: "mouse,in"; source: "e.event.resize.tr";
+ action: SIGNAL_EMIT "elm,action,resize,show" "elm.event.resize.tr";
+ }
+ program {
+ signal: "mouse,out"; source: "e.event.resize.tr";
+ action: SIGNAL_EMIT "elm,action,resize,hide" "elm.event.resize.tr";
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.tr";
+ action: SIGNAL_EMIT "elm,action,resize,start" "elm.event.resize.tr";
+ }
+ program {
+ signal: "mouse,in"; source: "e.event.resize.bl";
+ action: SIGNAL_EMIT "elm,action,resize,show" "elm.event.resize.bl";
+ }
+ program {
+ signal: "mouse,out"; source: "e.event.resize.bl";
+ action: SIGNAL_EMIT "elm,action,resize,hide" "elm.event.resize.bl";
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.bl";
+ action: SIGNAL_EMIT "elm,action,resize,start" "elm.event.resize.bl";
+ }
+ program {
+ signal: "mouse,in"; source: "e.event.resize.br";
+ action: SIGNAL_EMIT "elm,action,resize,show" "elm.event.resize.br";
+ }
+ program {
+ signal: "mouse,out"; source: "e.event.resize.br";
+ action: SIGNAL_EMIT "elm,action,resize,hide" "elm.event.resize.br";
+ }
+ program {
+ signal: "mouse,down,1"; source: "e.event.resize.br";
+ action: SIGNAL_EMIT "elm,action,resize,start" "elm.event.resize.br";
+ }
+ }
+}
diff --git a/data/themes/edc/elm/bubble.edc b/data/themes/edc/elm/bubble.edc
new file mode 100644
index 000000000..379b66100
--- /dev/null
+++ b/data/themes/edc/elm/bubble.edc
@@ -0,0 +1,738 @@
+group { name: "elm/bubble/top_left/default";
+ alias: "elm/bubble/base/default";
+ images.image: "bub_base_tl.png" COMP;
+ images.image: "bub_base_tr.png" COMP;
+ images.image: "bub_over_top.png" COMP;
+ images.image: "shine.png" COMP;
+ parts {
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.icon"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ align: 0.0 0.0;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ rel1.offset: 2 2;
+ rel2 {
+ to_y: "elm.text";
+ relative: 0.0 1.0;
+ offset: 2 -1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "sizer.content"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ text { font: FN; size: 10;
+ min: 0 0;
+ text_class: "bubble";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.icon";
+ rel2.to: "elm.swallow.icon";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ }
+ part { name: "elm.text"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 {
+ to_x: "elm.swallow.icon";
+ relative: 1.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ to_x: "elm.info";
+ relative: 0.0 0.0;
+ offset: -3 2;
+ }
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "bubble_text";
+ text { font: FNBD; size: 10;
+ min: 0 1;
+ max: 0 1;
+ align: 0.0 0.0;
+ text_class: "bubble";
+ }
+ }
+ }
+ part { name: "elm.info"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 1.0 0.0;
+ fixed: 1 1;
+ rel1.relative: 1.0 0.0;
+ rel1.offset: -3 2;
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -3 2;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "bubble_info";
+ text { font: FNBD; size: 10;
+ min: 1 1;
+ max: 1 1;
+ align: 1.0 0.0;
+ text_class: "bubble_info";
+ }
+ }
+ }
+ part { name: "base"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 {
+ to_y: "elm.swallow.icon";
+ relative: 0.0 1.0;
+ offset: 0 0;
+ }
+ image.normal: "bub_base_tl.png";
+ image.border: 24 8 12 9;
+ image.middle: SOLID;
+ fill.smooth: 0;
+ }
+ description { state: "rtl" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "bub_base_tr.png";
+ image.border: 8 24 12 9;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 5 9;
+ rel2.to: "base";
+ rel2.offset: -6 -7;
+ }
+ }
+ part { name: "over"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 20 6;
+ rel2.to: "base";
+ rel2.offset: -6 6;
+ rel2.relative: 1.0 0.4;
+ image.normal: "bub_over_top.png";
+ fill.smooth: 0;
+ }
+ description { state: "rtl" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 5 6;
+ rel2.offset: -21 6;
+ }
+ }
+ part { name: "shine_clip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "over";
+ rel1.offset: 0 -10;
+ rel2.to: "over";
+ }
+ }
+ part { name: "shine"; mouse_events: 0;
+ clip_to: "shine_clip";
+ description { state: "default" 0.0;
+ image.normal: "shine.png";
+ rel1.offset: 0 -2;
+ rel1.to: "over";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to: "over";
+ FIXED_SIZE(69, 5)
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,state,icon,visible"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.icon";
+ target: "sizer.content";
+ }
+ program {
+ signal: "elm,state,icon,hidden"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.icon";
+ target: "sizer.content";
+ }
+ program {
+ signal: "edje,state,rtl"; source: "edje";
+ action: STATE_SET "rtl" 0.0;
+ target: "base";
+ target: "over";
+ }
+ program {
+ signal: "edje,state,ltr"; source: "edje";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "over";
+ }
+ }
+}
+
+group { name: "elm/bubble/top_right/default";
+ images.image: "bub_base_tr.png" COMP;
+ images.image: "bub_base_tl.png" COMP;
+ images.image: "bub_over_top.png" COMP;
+ images.image: "shine.png" COMP;
+ parts {
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.icon"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ align: 1.0 0.0;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ rel1.offset: -3 2;
+ rel1.relative: 1.0 0.0;
+ rel2 {
+ to_y: "elm.text";
+ relative: 1.0 1.0;
+ offset: -3 -1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "sizer.content"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ text { font: FN; size: 10;
+ min: 0 0;
+ text_class: "bubble";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.icon";
+ rel2.to: "elm.swallow.icon";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ }
+ part { name: "elm.text"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1.offset: 2 2;
+ rel2 {
+ to_x: "elm.info";
+ relative: 0.0 0.0;
+ offset: -3 2;
+ }
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "bubble_text";
+ text { font: FNBD; size: 10;
+ min: 0 1;
+ max: 0 1;
+ align: 0.0 0.0;
+ text_class: "bubble";
+ }
+ }
+ }
+ part { name: "elm.info"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 1.0 0.0;
+ fixed: 1 1;
+ rel1.relative: 1.0 0.0;
+ rel1.offset: -3 2;
+ rel2.to_x: "elm.swallow.icon";
+ rel2.relative: 0.0 0.0;
+ rel2.offset: -3 2;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "bubble_info";
+ text { font: FNBD; size: 10;
+ min: 1 1;
+ max: 1 1;
+ align: 1.0 0.0;
+ text_class: "bubble_info";
+ }
+ }
+ }
+ part { name: "base"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 {
+ to_y: "elm.swallow.icon";
+ relative: 0.0 1.0;
+ offset: 0 0;
+ }
+ image.normal: "bub_base_tr.png";
+ image.border: 8 24 12 9;
+ image.middle: SOLID;
+ fill.smooth: 0;
+ }
+ description { state: "rtl" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "bub_base_tl.png";
+ image.border: 24 8 12 9;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 5 9;
+ rel2.to: "base";
+ rel2.offset: -6 -7;
+ }
+ }
+ part { name: "over"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 5 6;
+ rel2.to: "base";
+ rel2.offset: -21 6;
+ rel2.relative: 1.0 0.4;
+ image.normal: "bub_over_top.png";
+ fill.smooth: 0;
+ }
+ description { state: "rtl" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 20 6;
+ rel2.offset: -6 6;
+ }
+ }
+ part { name: "shine_clip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "over";
+ rel1.offset: 0 -10;
+ rel2.to: "over";
+ }
+ }
+ part { name: "shine"; mouse_events: 0;
+ clip_to: "shine_clip";
+ description { state: "default" 0.0;
+ image.normal: "shine.png";
+ rel1.offset: 0 -2;
+ rel1.to: "over";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to: "over";
+ FIXED_SIZE(69, 5)
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,state,icon,visible"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.icon";
+ target: "sizer.content";
+ }
+ program {
+ signal: "elm,state,icon,hidden"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.icon";
+ target: "sizer.content";
+ }
+ program {
+ signal: "edje,state,rtl"; source: "edje";
+ action: STATE_SET "rtl" 0.0;
+ target: "base";
+ target: "over";
+ }
+ program {
+ signal: "edje,state,ltr"; source: "edje";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "over";
+ }
+ }
+}
+
+group { name: "elm/bubble/bottom_left/default";
+ images.image: "bub_base_bl.png" COMP;
+ images.image: "bub_base_br.png" COMP;
+ images.image: "bub_over_bot.png" COMP;
+ images.image: "shine.png" COMP;
+ parts {
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.icon"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ align: 0.0 1.0;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ rel1 {
+ to_y: "elm.text";
+ offset: 2 0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 2 -3;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "sizer.content"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ text { font: FN; size: 10;
+ min: 0 0;
+ text_class: "bubble";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.icon";
+ rel2.to: "elm.swallow.icon";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ }
+ part { name: "elm.text"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 {
+ to_x: "elm.swallow.icon";
+ relative: 1.0 1.0;
+ offset: 2 -3;
+ }
+ rel2 {
+ to_x: "elm.info";
+ relative: 0.0 1.0;
+ offset: -3 -3;
+ }
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "bubble_text";
+ text { font: FNBD; size: 10;
+ min: 0 1;
+ max: 0 1;
+ align: 0.0 1.0;
+ text_class: "bubble";
+ }
+ }
+ }
+ part { name: "elm.info"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1.relative: 1.0 1.0;
+ rel1.offset: -3 -3;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -3 -3;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "bubble_info";
+ text { font: FNBD; size: 10;
+ min: 1 1;
+ max: 1 1;
+ align: 1.0 1.0;
+ text_class: "bubble_info";
+ }
+ }
+ }
+ part { name: "base"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel2 {
+ to_y: "elm.swallow.icon";
+ relative: 1.0 0.0;
+ }
+ image.normal: "bub_base_bl.png";
+ image.border: 24 8 8 13;
+ image.middle: SOLID;
+ fill.smooth: 0;
+ }
+ description { state: "rtl" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "bub_base_br.png";
+ image.border: 8 24 8 13;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 5 4;
+ rel2.to: "base";
+ rel2.offset: -6 -12;
+ }
+ }
+ part { name: "over"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 2 1;
+ rel2.to: "base";
+ rel2.offset: -3 1;
+ rel2.relative: 1.0 0.4;
+ image.normal: "bub_over_bot.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "shine_clip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "over";
+ rel1.offset: 0 -10;
+ rel2.to: "over";
+ }
+ }
+ part { name: "shine"; mouse_events: 0;
+ clip_to: "shine_clip";
+ description { state: "default" 0.0;
+ image.normal: "shine.png";
+ rel1.offset: 0 -2;
+ rel1.to: "over";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to: "over";
+ FIXED_SIZE(69, 5)
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,state,icon,visible"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.icon";
+ target: "sizer.content";
+ }
+ program {
+ signal: "elm,state,icon,hidden"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.icon";
+ target: "sizer.content";
+ }
+ program {
+ signal: "edje,state,rtl"; source: "edje";
+ action: STATE_SET "rtl" 0.0;
+ target: "base";
+ }
+ program {
+ signal: "edje,state,ltr"; source: "edje";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ }
+ }
+}
+
+group { name: "elm/bubble/bottom_right/default";
+ images.image: "bub_base_br.png" COMP;
+ images.image: "bub_base_bl.png" COMP;
+ images.image: "bub_over_bot.png" COMP;
+ images.image: "shine.png" COMP;
+ parts {
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.icon"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ align: 1.0 1.0;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ rel1 {
+ to_y: "elm.text";
+ offset: -3 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -3 -3;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "sizer.content"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ text { font: FN; size: 10;
+ min: 0 0;
+ text_class: "bubble";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.icon";
+ rel2.to: "elm.swallow.icon";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ }
+ part { name: "elm.text"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 2 -3;
+ }
+ rel2 {
+ to_x: "elm.info";
+ relative: 0.0 1.0;
+ offset: -3 -3;
+ }
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "bubble_text";
+ text { font: FNBD; size: 10;
+ min: 0 1;
+ max: 0 1;
+ align: 0.0 1.0;
+ text_class: "bubble";
+ }
+ }
+ }
+ part { name: "elm.info"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1.relative: 1.0 1.0;
+ rel1.offset: -3 -3;
+ rel2.to_x: "elm.swallow.icon";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: -3 -3;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "bubble_info";
+ text { font: FNBD; size: 10;
+ min: 1 1;
+ max: 1 1;
+ align: 1.0 1.0;
+ text_class: "bubble_info";
+ }
+ }
+ }
+ part { name: "base"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel2 {
+ to_y: "elm.swallow.icon";
+ relative: 1.0 0.0;
+ }
+ image.normal: "bub_base_br.png";
+ image.border: 8 24 8 13;
+ image.middle: SOLID;
+ fill.smooth: 0;
+ }
+ description { state: "rtl" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "bub_base_bl.png";
+ image.border: 24 8 8 13;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 5 4;
+ rel2.to: "base";
+ rel2.offset: -6 -12;
+ }
+ }
+ part { name: "over"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 2 1;
+ rel2.to: "base";
+ rel2.offset: -3 1;
+ rel2.relative: 1.0 0.4;
+ image.normal: "bub_over_bot.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "shine_clip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "over";
+ rel1.offset: 0 -10;
+ rel2.to: "over";
+ }
+ }
+ part { name: "shine"; mouse_events: 0;
+ clip_to: "shine_clip";
+ description { state: "default" 0.0;
+ image.normal: "shine.png";
+ rel1.offset: 0 -2;
+ rel1.to: "over";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to: "over";
+ FIXED_SIZE(69, 5)
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,state,icon,visible"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.icon";
+ target: "sizer.content";
+ }
+ program {
+ signal: "elm,state,icon,hidden"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.icon";
+ target: "sizer.content";
+ }
+ program {
+ signal: "edje,state,rtl"; source: "edje";
+ action: STATE_SET "rtl" 0.0;
+ target: "base";
+ }
+ program {
+ signal: "edje,state,ltr"; source: "edje";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ }
+ }
+}
diff --git a/data/themes/edc/elm/button.edc b/data/themes/edc/elm/button.edc
new file mode 100644
index 000000000..6ec4056d1
--- /dev/null
+++ b/data/themes/edc/elm/button.edc
@@ -0,0 +1,1285 @@
+group { name: "elm/button/base/default";
+ alias: "elm/button/base/naviframe/back_btn/default";
+ alias: "elm/button/base/naviframe/back_btn/pager";
+ images.image: "button_normal.png" COMP;
+ images.image: "button_clicked.png" COMP;
+#define ICON 1
+#define LABEL 2
+#define MASK 3
+#define DISABLE 4
+ script {
+ public btmode;
+ public eval_mode(m) {
+ new m1 = m & MASK;
+ new d = m & DISABLE;
+ if (m1 == (ICON | LABEL)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "visible", 0.0);
+ set_state(PART:"elm.text", "visible", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "visible", 0.0);
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ set_state(PART:"icon_clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else if (m1 == (ICON)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "icononly", 0.0);
+ set_state(PART:"sizer.content", "icononly", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "icononly", 0.0);
+ set_state(PART:"sizer.content", "icononly", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"icon_clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else if (m1 == (LABEL)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "textonly", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "disabled_textonly", 0.0);
+ set_state(PART:"icon_clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ }
+ }
+ }
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ image.normal: "button_normal.png";
+ image.border: 4 4 3 5;
+ image.middle: SOLID;
+ rel1.offset: -1 0;
+ rel2.offset: 0 1;
+ fill.smooth: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "button_clicked.png";
+ image.border: 5 5 4 6;
+ }
+ }
+ part { name: "icon_clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW; mouse_events: 0;
+ clip_to: "icon_clip";
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.offset: 6 5;
+ rel1.to: "base";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 6 -8;
+ rel2.to: "base";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 0;
+ aspect: 1.0 1.0;
+ visible: 1;
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ fixed: 0 0;
+ align: 0.5 0.5;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -7 -8;
+ visible: 1;
+ }
+ }
+ part { name: "sizer.content"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+// fixed: 1 1;
+ visible: 0;
+ text { font: FN; size: 10;
+ min: 0 0;
+ text_class: "button_text";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ }
+ part { name: "elm.text"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.offset: 0 5;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "elm.swallow.content";
+ rel1.to_y: "base";
+ rel2.offset: -7 -7;
+ rel2.to: "base";
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "button_text";
+ text { font: FN; size: 10;
+ align: 0.5 0.5;
+ min: 0 0;
+ text_class: "button";
+ }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 2 5;
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "textonly" 0.0;
+ inherit: "default" 0.0;
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "disabled_visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 2 5;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "button_text_disabled";
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "disabled_textonly" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "button_text_disabled";
+ text.min: 1 1;
+ visible: 1;
+ }
+ }
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,down,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,press" "elm";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ target: "base";
+ }
+ program { name: "button_unclick";
+ signal: "mouse,up,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,unpress" "elm";
+ after: "button_unclick_anim";
+ }
+ program { name: "button_unclick_anim";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ }
+ program { name: "buttonactivate";
+ signal: "elm,anim,activate"; source: "elm";
+ action: STATE_SET "clicked" 0.0;
+ target: "base";
+ after: "button_unpressed_anim";
+ }
+ program { name: "button_unpressed_anim";
+ action: STATE_SET "default" 0.0;
+ in: 0.5 0.0;
+ target: "base";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,click" "elm";
+ }
+ program { name: "button_text_visible";
+ signal: "elm,state,text,visible"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= LABEL; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_text_hidden";
+ signal: "elm,state,text,hidden"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~LABEL; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_icon_visible";
+ signal: "elm,state,icon,visible"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= ICON; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_icon_hidden";
+ signal: "elm,state,icon,hidden"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ script {
+ new m = get_int(btmode);
+ m &= ~ICON; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_state_disabled";
+ signal: "elm,state,disabled"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= DISABLE; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_state_enabled";
+ signal: "elm,state,enabled"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~DISABLE; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ }
+#undef ICON
+#undef LABEL
+#undef MASK
+#undef DISABLE
+}
+
+group { name: "elm/button/base/anchor";
+ images.image: "horizontal_separated_bar_small_glow.png" COMP;
+#define ICON 1
+#define LABEL 2
+#define MASK 3
+#define DISABLE 4
+ script {
+ public btmode;
+ public eval_mode(m) {
+ new m1 = m & MASK;
+ new d = m & DISABLE;
+ if (m1 == (ICON | LABEL)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "visible", 0.0);
+ set_state(PART:"elm.text", "visible", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"bar", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "visible", 0.0);
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ set_state(PART:"icon_clip", "disabled", 0.0);
+ set_state(PART:"bar", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else if (m1 == (ICON)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "icononly", 0.0);
+ set_state(PART:"sizer.content", "icononly", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"bar", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "icononly", 0.0);
+ set_state(PART:"sizer.content", "icononly", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"icon_clip", "disabled", 0.0);
+ set_state(PART:"bar", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else if (m1 == (LABEL)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "textonly", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"bar", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "disabled_textonly", 0.0);
+ set_state(PART:"icon_clip", "disabled", 0.0);
+ set_state(PART:"bar", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"bar", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ }
+ }
+ }
+ parts {
+ part { name: "base"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.offset: 0 0;
+ rel2.offset: 0 0;
+ }
+ }
+ part { name: "icon_clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW; mouse_events: 0;
+ clip_to: "icon_clip";
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.offset: 0 4;
+ rel1.to: "base";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 0 -5;
+ rel2.to: "base";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 0;
+ aspect: 1.0 1.0;
+ visible: 1;
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ fixed: 0 0;
+ align: 0.5 0.5;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -1 -5;
+ visible: 1;
+ }
+ }
+ part { name: "sizer.content"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ text { font: FN; size: 10;
+ min: 0 0;
+ text_class: "button_text";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ }
+ part { name: "elm.text"; type: TEXT; mouse_events: 0;
+ effect: GLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.offset: -2 0;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "elm.swallow.content";
+ rel1.to_y: "base";
+ rel2.offset: -1 -1;
+ rel2.to: "base";
+ color: 51 153 255 255;
+ color2: 51 153 255 24;
+ color3: 51 153 255 18;
+ color_class: "button_text_anchor";
+ text { font: FN; size: 10;
+ align: 0.5 0.5;
+ min: 0 0;
+ text_class: "button_anchor";
+ }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 0;
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "textonly" 0.0;
+ inherit: "default" 0.0;
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "disabled_visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 0;
+ color: 51 153 255 128;
+ color2: 51 153 255 12;
+ color3: 51 153 255 8;
+ color_class: "button_text_anchor_disabled";
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "disabled_textonly" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 128;
+ color2: 51 153 255 12;
+ color3: 51 153 255 8;
+ color_class: "button_text_anchor_disabled";
+ text.min: 1 1;
+ visible: 1;
+ }
+ }
+ part { name: "text2"; type: TEXT; mouse_events: 0;
+ effect: GLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "elm.text";
+ rel2.to: "elm.text";
+ color: 255 255 255 255;
+ color2: 51 153 255 64;
+ color3: 51 153 255 32;
+ color_class: "button_text_anchor";
+ text { font: FN; size: 10;
+ text_source: "elm.text";
+ min: 1 1;
+ text_class: "button_anchor";
+ }
+ visible: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "bar"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "horizontal_separated_bar_small_glow.png";
+ image.border: 4 4 4 4;
+ fill.smooth: 0;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: -3 -6;
+ rel2.offset: 2 3;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "bar2"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "horizontal_separated_bar_small_glow.png";
+ image.border: 4 4 4 4;
+ fill.smooth: 0;
+ rel1.to: "bar";
+ rel2.to: "bar";
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,down,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,press" "elm";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ target: "base";
+ target: "bar2";
+ target: "text2";
+ }
+ program {
+ signal: "mouse,up,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,unpress" "elm";
+ after: "button_unclick_anim";
+ }
+ program { name: "button_unclick_anim";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "bar2";
+ target: "text2";
+ }
+ program {
+ signal: "elm,anim,activate"; source: "elm";
+ action: STATE_SET "clicked" 0.0;
+ target: "base";
+ target: "bar2";
+ target: "text2";
+ after: "button_unpressed_anim";
+ }
+ program { name: "button_unpressed_anim";
+ action: STATE_SET "default" 0.0;
+ in: 0.5 0.0;
+ target: "base";
+ target: "bar2";
+ target: "text2";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,click" "elm";
+ }
+ program { name: "button_text_visible";
+ signal: "elm,state,text,visible"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= LABEL; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_text_hidden";
+ signal: "elm,state,text,hidden"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~LABEL; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_icon_visible";
+ signal: "elm,state,icon,visible"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= ICON; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_icon_hidden";
+ signal: "elm,state,icon,hidden"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ script {
+ new m = get_int(btmode);
+ m &= ~ICON; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_state_disabled";
+ signal: "elm,state,disabled"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= DISABLE; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_state_enabled";
+ signal: "elm,state,enabled"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~DISABLE; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ }
+#undef ICON
+#undef LABEL
+#undef MASK
+#undef DISABLE
+}
+
+group { name: "elm/button/base/colorselector/left/default";
+ inherit: "elm/button/base/default";
+ images.image: "sym_left_light_normal.png" COMP;
+ parts {
+ part { name: "ic"; mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ image.normal: "sym_left_light_normal.png";
+ }
+ }
+ }
+}
+
+group { name: "elm/button/base/colorselector/right/default";
+ inherit: "elm/button/base/default";
+ images.image: "sym_right_light_normal.png" COMP;
+ parts {
+ part { name: "ic"; mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 15 15;
+ max: 15 15;
+ fixed: 1 1;
+ image.normal: "sym_right_light_normal.png";
+ }
+ }
+ }
+}
+
+group { name: "elm/button/base/media_player/prev/default";
+ alias: "elm/button/base/media_player/rewind/default";
+ alias: "elm/button/base/media_player/play/default";
+ alias: "elm/button/base/media_player/pause/default";
+ alias: "elm/button/base/media_player/stop/default";
+ alias: "elm/button/base/media_player/forward/default";
+ alias: "elm/button/base/media_player/next/default";
+ alias: "elm/button/base/media_player/info/default";
+ alias: "elm/button/base/media_player/eject/default";
+ alias: "elm/button/base/media_player/volume/default";
+ alias: "elm/button/base/media_player/mute/default";
+
+ alias: "elm/button/base/media_player/prev/flush";
+ alias: "elm/button/base/media_player/rewind/flush";
+ alias: "elm/button/base/media_player/play/flush";
+ alias: "elm/button/base/media_player/pause/flush";
+ alias: "elm/button/base/media_player/stop/flush";
+ alias: "elm/button/base/media_player/forward/flush";
+ alias: "elm/button/base/media_player/next/flush";
+ alias: "elm/button/base/media_player/info/flush";
+ alias: "elm/button/base/media_player/eject/flush";
+ alias: "elm/button/base/media_player/volume/flush";
+ alias: "elm/button/base/media_player/mute/flush";
+
+ images.image: "shadow_inset_bevels.png" COMP;
+ images.image: "shadow_angled_in_sides.png" COMP;
+ parts {
+ part { name: "clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "shadow1"; mouse_events: 0;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ rel2.offset: -1 0;
+ image.normal: "shadow_inset_bevels.png";
+ image.border: 2 2 0 1;
+ visible: 0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "shadow2"; mouse_events: 0;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ rel1.offset: 1 0;
+ rel2.offset: -2 -1;
+ image.normal: "shadow_angled_in_sides.png";
+ image.border: 8 8 0 1;
+ image.middle: 0;
+ visible: 0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.offset: 3 1;
+ rel2.offset: -4 -2;
+ }
+ }
+ part { name: "event"; type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,down,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,press" "elm";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "selected" 0.0;
+ target: "shadow1";
+ target: "shadow2";
+ }
+ program {
+ signal: "mouse,up,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,unpress" "elm";
+ after: "button_unclick_anim";
+ }
+ program { name: "button_unclick_anim";
+ action: STATE_SET "default" 0.0;
+ target: "shadow1";
+ target: "shadow2";
+ }
+ program {
+ signal: "elm,anim,activate"; source: "elm";
+ action: STATE_SET "clicked" 0.0;
+ target: "shadow1";
+ target: "shadow2";
+ after: "button_unpressed_anim";
+ }
+ program { name: "button_unpressed_anim";
+ action: STATE_SET "default" 0.0;
+ in: 0.5 0.0;
+ target: "shadow1";
+ target: "shadow2";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,click" "elm";
+ }
+ }
+}
+
+group { name: "elm/button/base/hoversel_vertical/default";
+ inherit: "elm/button/base/default";
+ alias: "elm/button/base/hoversel_vertical/entry";
+ alias: "elm/button/base/hoversel_horizontal/default";
+ alias: "elm/button/base/hoversel_horizontal/entry";
+
+ images.image: "vertical_separated_bar_glow.png" COMP;
+
+ parts {
+ part { name: "elm.text";
+ description { state: "default" 0.0;
+ rel1.offset: 0 5;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "elm.swallow.content";
+ rel1.to_y: "base";
+ rel2.to_y: "base";
+ rel2.to_x: "select_line";
+ rel2.offset: -2 -7;
+ rel2.relative: 0.0 1.0;
+ text.text_class: "hoversel";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 2 5;
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "textonly" 0.0;
+ inherit: "default" 0.0;
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "disabled_visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 2 5;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "hoversel_text_disabled";
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "disabled_textonly" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "hoversel_text_disabled";
+ text.min: 1 1;
+ visible: 1;
+ }
+ }
+ part { name: "select_line"; mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ min: 15 10;
+ rel1.to: "base";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 1 -3;
+ rel2.to: "base";
+ rel2.offset: 1 0;
+ image.normal: "vertical_separated_bar_glow.png";
+ image.border: 7 7 7 7;
+ fill.smooth : 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 -2;
+ rel2.offset: 0 -1;
+ }
+ }
+ }
+ programs {
+ program { name: "button_click_anim";
+ target: "select_line";
+ }
+ program { name: "button_unclick_anim";
+ target: "select_line";
+ }
+ program { name: "buttonactivate";
+ target: "select_line";
+ }
+ program { name: "button_unpressed_anim";
+ target: "select_line";
+ }
+ }
+}
+
+group { name: "elm/button/base/hoversel_vertical_entry/default";
+ alias: "elm/button/base/hoversel_vertical_entry/entry";
+ images.image: "vgrad_med_dark.png" COMP;
+ images.image: "bevel_horiz_out.png" COMP;
+ images.image: "shadow_rounded_horiz.png" COMP;
+ images.image: "shine.png" COMP;
+#define ICON 1
+#define LABEL 2
+#define MASK 3
+#define DISABLE 4
+ script {
+ public btmode;
+ public eval_mode(m) {
+ new m1 = m & MASK;
+ new d = m & DISABLE;
+ if (m1 == (ICON | LABEL)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "visible", 0.0);
+ set_state(PART:"elm.text", "visible", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "visible", 0.0);
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ set_state(PART:"icon_clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else if (m1 == (ICON)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "icononly", 0.0);
+ set_state(PART:"sizer.content", "icononly", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "icononly", 0.0);
+ set_state(PART:"sizer.content", "icononly", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"icon_clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else if (m1 == (LABEL)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "textonly", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "disabled_textonly", 0.0);
+ set_state(PART:"icon_clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"icon_clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ }
+ }
+ }
+ parts {
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ image.normal: "shadow_rounded_horiz.png";
+ image.border: 0 0 9 9;
+ rel1.to: "base";
+ rel1.offset: 0 -4;
+ rel2.to: "base";
+ rel2.offset: -1 5;
+ fill.smooth: 0;
+ visible: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "base"; mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.offset: -6 0;
+ image.normal: "vgrad_med_dark.png";
+ fill.smooth: 0;
+ TILED_HORIZ(120)
+ visible: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "icon_clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW; mouse_events: 0;
+ clip_to: "icon_clip";
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.offset: 6 5;
+ rel1.to: "base";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 6 -8;
+ rel2.to: "base";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 0;
+ aspect: 1.0 1.0;
+ visible: 1;
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ fixed: 0 0;
+ align: 0.5 0.5;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -7 -8;
+ visible: 1;
+ }
+ }
+ part { name: "sizer.content"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ text { font: FN; size: 10;
+ min: 0 0;
+ text_class: "button_text";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ }
+ part { name: "click_clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "click_clip";
+ description { state: "default" 0.0;
+ rel1.offset: 0 5;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "elm.swallow.content";
+ rel1.to_y: "base";
+ rel2.offset: -7 -7;
+ rel2.to: "base";
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "button_text";
+ text { font: FN; size: 10;
+ align: 0.0 0.5;
+ min: 0 0;
+ text_class: "button";
+ }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 2 5;
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "textonly" 0.0;
+ inherit: "default" 0.0;
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "disabled_visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 2 5;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "button_text_disabled";
+ text.min: 1 1;
+ visible: 1;
+ }
+ description { state: "disabled_textonly" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ color_class: "button_text_disabled";
+ text.min: 1 1;
+ visible: 1;
+ }
+ }
+ part { name: "label3"; type: TEXT; mouse_events: 0;
+ effect: GLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.offset: -2 -3;
+ rel1.to: "elm.text";
+ rel2.offset: 2 1;
+ rel2.to: "elm.text";
+ color: 51 153 255 255;
+ color2: 51 153 255 24;
+ color3: 51 153 255 18;
+ color_class: "hoversel_item_active";
+ text { font: FN; size: 10;
+ text_source: "elm.text";
+ align: 0.0 0.5;
+ text_class: "hoversel_item";
+ }
+ visible: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "bevel"; mouse_events: 0;
+ insert_after: "elm.text";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ image.normal: "bevel_horiz_out.png";
+ image.border: 0 0 2 2;
+ image.middle: 0;
+ fill.smooth: 0;
+ visible: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "shine"; repeat_events: 1;
+ insert_before: "event";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel1.offset: 0 -2;
+ rel2.to: "base";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ image.normal: "shine.png";
+ visible: 0;
+ FIXED_SIZE(69, 5)
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,down,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,press" "elm";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ target: "shadow";
+ target: "base";
+ target: "shine";
+ target: "click_clip";
+ target: "label3";
+ }
+ program { name: "button_unclick";
+ signal: "mouse,up,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,unpress" "elm";
+ after: "button_unclick_anim";
+ }
+ program { name: "button_unclick_anim";
+ action: STATE_SET "default" 0.0;
+ target: "shadow";
+ target: "base";
+ target: "shine";
+ target: "click_clip";
+ target: "label3";
+ }
+ program { name: "buttonactivate";
+ signal: "elm,anim,activate"; source: "elm";
+ action: STATE_SET "clicked" 0.0;
+ target: "shadow";
+ target: "base";
+ target: "shine";
+ target: "click_clip";
+ target: "label3";
+ after: "button_unpressed_anim";
+ }
+ program { name: "button_unpressed_anim";
+ action: STATE_SET "default" 0.0;
+ in: 0.5 0.0;
+ target: "shadow";
+ target: "base";
+ target: "shine";
+ target: "click_clip";
+ target: "label3";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,click" "elm";
+ }
+ program { name: "button_text_visible";
+ signal: "elm,state,text,visible"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= LABEL; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_text_hidden";
+ signal: "elm,state,text,hidden"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~LABEL; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_icon_visible";
+ signal: "elm,state,icon,visible"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= ICON; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_icon_hidden";
+ signal: "elm,state,icon,hidden"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ script {
+ new m = get_int(btmode);
+ m &= ~ICON; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_state_disabled";
+ signal: "elm,state,disabled"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= DISABLE; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { name: "button_state_enabled";
+ signal: "elm,state,enabled"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~DISABLE; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ }
+#undef ICON
+#undef LABEL
+#undef MASK
+#undef DISABLE
+}
+
+group { name: "elm/button/base/hoversel_horizontal_entry/default";
+ inherit: "elm/button/base/hoversel_vertical_entry/default";
+ alias: "elm/button/base/hoversel_horizontal_entry/entry";
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ rel1.offset: 0 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/elm/calendar.edc b/data/themes/edc/elm/calendar.edc
new file mode 100644
index 000000000..ecced35b2
--- /dev/null
+++ b/data/themes/edc/elm/calendar.edc
@@ -0,0 +1,534 @@
+#define CIT_STYLES\
+ style { name: "calendar_date_style";\
+ base: "font="FN" font_size=10 color=#ffffff style=shadow,bottom shadow_color=#00000080 align=center";\
+ }\
+ style { name: "calendar_date_holiday_style";\
+ base: "font="FN" font_size=10 color=#808080 style=shadow,bottom shadow_color=#00000080 align=center";\
+ }\
+ style { name: "calendar_date_today_style";\
+ base: "font="FN" font_size=10 color=#3399ff style=glow glow_color=#3399ff18 align=center";\
+ }\
+
+#define CAL_SPIN(_sufix, _signal_sufix, _text, _relative)\
+ part { name: "left_bt"#_sufix; type: RECT;\
+ scale: 1;\
+ description { state: "default" 0.0;\
+ fixed: 1 1;\
+ rel1 { to: #_relative;\
+ offset: 0 0;\
+ }\
+ rel2 { to: #_relative;\
+ offset: 0 -1;\
+ }\
+ align: 0.0 0.5;\
+ min: 15 15;\
+ max: 15 15;\
+ color: 0 0 0 0;\
+ }\
+ }\
+ part { name: "left_bt"#_sufix"_over"; repeat_events: 1;\
+ scale: 1;\
+ description { state: "default" 0.0;\
+ min: 15 15;\
+ max: 15 15;\
+ align: 0.5 0.5;\
+ rel1.to: "left_bt"#_sufix;\
+ rel2.to: "left_bt"#_sufix;\
+ image.normal: "sym_left_light_normal.png";\
+ }\
+ description { state: "rtl" 0.0;\
+ inherit: "default" 0.0;\
+ image.normal: "sym_right_light_normal.png";\
+ }\
+ description { state: "clicked" 0.0;\
+ inherit: "default" 0.0;\
+ image.normal: "sym_left_glow_normal.png";\
+ }\
+ description { state: "clicked_rtl" 0.0;\
+ inherit: "default" 0.0;\
+ image.normal: "sym_right_glow_normal.png";\
+ }\
+ }\
+ part { name: "right_bt"#_sufix; type: RECT;\
+ scale: 1;\
+ description { state: "default" 0.0;\
+ fixed: 1 1;\
+ rel1 { to: #_relative;\
+ offset: -1 0;\
+ }\
+ rel2 { to: #_relative;\
+ offset: -1 -1;\
+ }\
+ align: 1.0 0.5;\
+ min: 15 15;\
+ max: 15 15;\
+ color: 0 0 0 0;\
+ }\
+ }\
+ part { name: "right_bt"#_sufix"_over"; repeat_events: 1;\
+ scale: 1;\
+ description { state: "default" 0.0;\
+ min: 15 15;\
+ max: 15 15;\
+ rel1.to: "right_bt"#_sufix;\
+ rel2.to: "right_bt"#_sufix;\
+ image.normal: "sym_right_light_normal.png";\
+ }\
+ description { state: "rtl" 0.0;\
+ inherit: "default" 0.0;\
+ image.normal: "sym_left_light_normal.png";\
+ }\
+ description { state: "clicked" 0.0;\
+ inherit: "default" 0.0;\
+ image.normal: "sym_right_glow_normal.png";\
+ }\
+ description { state: "clicked_rtl" 0.0;\
+ inherit: "default" 0.0;\
+ image.normal: "sym_left_glow_normal.png";\
+ }\
+ }\
+ part { name: #_text; type: TEXT; mouse_events: 0;\
+ effect: SHADOW BOTTOM; \
+ scale: 1;\
+ description { state: "default" 0.0;\
+ fixed: 1 1;\
+ rel1 { relative: 1.0 0.0;\
+ to: "left_bt"#_sufix;\
+ }\
+ rel2 { relative: 0.0 1.0;\
+ to: "right_bt"#_sufix;\
+ }\
+ color: FN_COL_DEFAULT;\
+ text { font: FNBD; size: 10;\
+ min: 0 1;\
+ }\
+ }\
+ }\
+ programs {\
+ program {\
+ signal: "mouse,down,1"; source: "left_bt"#_sufix;\
+ action: SIGNAL_EMIT "elm,action,decrement,start"#_signal_sufix "elm";\
+ }\
+ program {\
+ signal: "mouse,up,1"; source: "left_bt"#_sufix;\
+ action: SIGNAL_EMIT "elm,action,stop"#_signal_sufix "elm"; \
+ }\
+ program { name: "left_bt"#_sufix"_click";\
+ signal: "mouse,down,1"; source: "left_bt"#_sufix;\
+ script {\
+ if (get_int(rtl) == 1)\
+ set_state(PART:"left_bt"#_sufix"_over", "clicked_rtl", 0.0);\
+ else\
+ set_state(PART:"left_bt"#_sufix"_over", "clicked", 0.0);\
+ }\
+ }\
+ program { name: "left_bt"#_sufix"_unclick";\
+ signal: "mouse,up,1"; source: "left_bt"#_sufix;\
+ script {\
+ if (get_int(rtl) == 1)\
+ set_state(PART:"left_bt"#_sufix"_over", "rtl", 0.0);\
+ else\
+ set_state(PART:"left_bt"#_sufix"_over", "default", 0.0);\
+ }\
+ }\
+ program {\
+ signal: "mouse,down,1"; source: "right_bt"#_sufix;\
+ action: SIGNAL_EMIT "elm,action,increment,start"#_signal_sufix "elm";\
+ }\
+ program {\
+ signal: "mouse,up,1"; source: "right_bt"#_sufix;\
+ action: SIGNAL_EMIT "elm,action,stop"#_signal_sufix "elm"; \
+ }\
+ program { name: "right_bt"#_sufix"_click";\
+ signal: "mouse,down,1"; source: "right_bt"#_sufix;\
+ script {\
+ if (get_int(rtl) == 1)\
+ set_state(PART:"right_bt"#_sufix"_over", "clicked_rtl", 0.0);\
+ else\
+ set_state(PART:"right_bt"#_sufix"_over", "clicked", 0.0);\
+ }\
+ }\
+ program { name: "right_bt"#_sufix"_unclick";\
+ signal: "mouse,up,1"; source: "right_bt"#_sufix;\
+ script {\
+ if (get_int(rtl) == 1)\
+ set_state(PART:"right_bt"#_sufix"_over", "rtl", 0.0);\
+ else\
+ set_state(PART:"right_bt"#_sufix"_over", "default", 0.0);\
+ }\
+ }\
+ program { name: "rtl"#_sufix;\
+ signal: "edje,state,rtl"; source: "edje";\
+ script {\
+ set_int(rtl, 1);\
+ set_state(PART:"left_bt"#_sufix"_over", "rtl", 0.0);\
+ set_state(PART:"right_bt"#_sufix"_over", "rtl", 0.0);\
+ }\
+ }\
+ program { name: "ltr"#_sufix;\
+ signal: "edje,state,ltr"; source: "edje";\
+ script {\
+ set_int(rtl, 0);\
+ set_state(PART:"left_bt"#_sufix"_over", "default", 0.0);\
+ set_state(PART:"right_bt"#_sufix"_over", "default", 0.0);\
+ }\
+ }\
+ }
+
+#define CH(_pos) \
+ part { name: "ch_"#_pos".base"; type: SPACER; \
+ description { state: "default" 0.0; \
+ rel1 { \
+ relative: (_pos % 7 / 7) 0.0; \
+ to: "header"; \
+ } \
+ rel2 { \
+ relative: (_pos % 7 / 7 + 1 / 7) 1.0; \
+ to: "header"; \
+ } \
+ } \
+ } \
+ part { name: "ch_"#_pos".text"; type: TEXT; mouse_events: 0; \
+ effect: SHADOW BOTTOM; \
+ scale: 1; \
+ clip_to: "ch_"#_pos".clipper"; \
+ description { state: "default" 0.0; \
+ rel1.to: "ch_"#_pos".base"; \
+ rel2.to: "ch_"#_pos".base"; \
+ color: 21 21 21 255;\
+ color3: 255 255 255 25;\
+ text { font: FN; size: 8; \
+ min: 1 1; \
+ } \
+ } \
+ } \
+ part { name: "ch_"#_pos".clipper"; type: RECT; \
+ description { state: "default" 0.0; \
+ rel1.to: "ch_"#_pos".base"; \
+ rel2.to: "ch_"#_pos".base"; \
+ } \
+ }
+
+#define CIT(_pos) \
+ part { name: "cit_"#_pos".rect"; type: SPACER; \
+ description { state: "default" 0.0; \
+ rel1 { \
+ relative: (_pos % 7 / 7) \
+ (_pos / 7 / 6 - _pos % 7 / 7 / 6); \
+ to: "base"; \
+ } \
+ rel2 { \
+ relative: (_pos % 7 / 7 + 1 / 7) \
+ (_pos / 7 / 6 + 1 / 6 - _pos % 7 / 7 / 6); \
+ to: "base"; \
+ } \
+ } \
+ } \
+ part { name: "cit_"#_pos".event"; type: RECT; repeat_events: 1; \
+ description { state: "default" 0.0; \
+ rel1.to: "cit_"#_pos".rect"; \
+ rel2.to: "cit_"#_pos".rect"; \
+ color: 0 0 0 0; \
+ } \
+ } \
+ part { name: "cit_"#_pos".pat"; mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.to: "cit_"#_pos".selected"; \
+ rel1.offset: 1 1; \
+ rel2.to: "cit_"#_pos".selected"; \
+ rel2.offset: -2 -2; \
+ image.normal: "diagonal_stripes.png"; \
+ color: 255 255 255 25; \
+ TILED_PATTERN(240, 240) \
+ visible: 0; \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ } \
+ part { name: "cit_"#_pos".selected"; mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.to: "cit_"#_pos".rect"; \
+ rel2.to: "cit_"#_pos".rect"; \
+ image.normal: "outline_glow.png"; \
+ image.border: 4 4 4 4; \
+ visible: 0; \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ } \
+ part { name: "cit_"#_pos".selected2"; mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.to: "cit_"#_pos".rect"; \
+ rel2.to: "cit_"#_pos".rect"; \
+ image.normal: "outline_glow.png"; \
+ image.border: 4 4 4 4; \
+ visible: 0; \
+ } \
+ description { state: "hilighted" 0.0; \
+ inherit: "default" 0.0; \
+ color: 255 255 255 128; \
+ visible: 1; \
+ } \
+ } \
+ part { name: "cit_"#_pos".text"; type: TEXTBLOCK; mouse_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1.to: "cit_"#_pos".rect"; \
+ rel2.to: "cit_"#_pos".rect"; \
+ text.style: "calendar_date_style"; \
+ text.min: 1 1; \
+ } \
+ description { state: "holiday" 0.0; \
+ inherit: "default" 0.0; \
+ text.style: "calendar_date_holiday_style"; \
+ } \
+ description { state: "today" 0.0; \
+ inherit: "default" 0.0; \
+ text.style: "calendar_date_today_style"; \
+ } \
+ } \
+ part { name: "cit_"#_pos".check"; mouse_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ fixed: 1 1; \
+ rel1 { \
+ to: "cit_"#_pos".rect"; \
+ relative: 0.6 0.5; \
+ } \
+ rel2 { \
+ to: "cit_"#_pos".rect"; \
+ relative: 0.6 0.5; \
+ } \
+ min: 16 16; \
+ max: 16 16; \
+ aspect: 1 1; \
+ align: 0.0 1.0;\
+ image.normal: "icon_border_remember.png"; \
+ visible: 0; \
+ } \
+ description { state: "visible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ } \
+ part { name: "cit_"#_pos".access"; type: RECT; repeat_events: 1; \
+ description { state: "default" 0.0; \
+ rel1.to: "cit_"#_pos".event"; \
+ rel2.to: "cit_"#_pos".event"; \
+ color: 0 0 0 0; \
+ } \
+ } \
+ programs { \
+ program { \
+ name: "cit_"#_pos".go_active"; \
+ signal: "cit_"#_pos",selected"; \
+ source: "elm"; \
+ action: STATE_SET "selected" 0.0; \
+ target: "cit_"#_pos".pat"; \
+ target: "cit_"#_pos".selected"; \
+ } \
+ program { \
+ name: "cit_"#_pos".go_passive"; \
+ signal: "cit_"#_pos",unselected"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "cit_"#_pos".pat"; \
+ target: "cit_"#_pos".selected"; \
+ } \
+ program { \
+ name: "cit_"#_pos".is_today"; \
+ signal: "cit_"#_pos",today"; \
+ source: "elm"; \
+ action: STATE_SET "today" 0.0; \
+ target: "cit_"#_pos".text"; \
+ } \
+ program { \
+ name: "cit_"#_pos".not_today"; \
+ signal: "cit_"#_pos",not_today"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "cit_"#_pos".text"; \
+ } \
+ program { \
+ source: "cit_"#_pos".clicked"; \
+ signal: "mouse,down,1"; \
+ source: "cit_"#_pos".event"; \
+ action: STATE_SET "hilighted" 0.0; \
+ target: "cit_"#_pos".selected2"; \
+ } \
+ program { \
+ source: "cit_"#_pos".clicked"; \
+ signal: "mouse,up,1"; \
+ source: "cit_"#_pos".event"; \
+ action: STATE_SET "default" 0.0; \
+ target: "cit_"#_pos".selected2"; \
+ } \
+ program { \
+ source: "cit_"#_pos".clicked"; \
+ signal: "mouse,clicked,1"; \
+ source: "cit_"#_pos".event"; \
+ action: SIGNAL_EMIT "elm,action,selected" #_pos; \
+ } \
+ program { \
+ name: "cit_"#_pos".clear"; \
+ signal: "cit_"#_pos",clear"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "cit_"#_pos".check"; \
+ after: "cit_"#_pos".holiday_clear"; \
+ } \
+ program { \
+ name: "cit_"#_pos".holiday_clear"; \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"cit_"#_pos".text", st, 30, vl); \
+ if (!strcmp(st, "holiday")) \
+ set_state(PART:"cit_"#_pos".text", "default", 0.0); \
+ } \
+ } \
+ program { \
+ name: "cit_"#_pos".checked"; \
+ signal: "cit_"#_pos",checked"; \
+ source: "elm"; \
+ action: STATE_SET "visible" 0.0; \
+ target: "cit_"#_pos".check"; \
+ } \
+ program { \
+ name: "cit_"#_pos".holiday"; \
+ signal: "cit_"#_pos",holiday"; \
+ source: "elm"; \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"cit_"#_pos".text", st, 30, vl); \
+ if (strcmp(st, "today")) \
+ set_state(PART:"cit_"#_pos".text", "holiday", 0.0); \
+ } \
+ } \
+ }
+
+group { name: "elm/calendar/base/default";
+ images.image: "sym_left_light_normal.png" COMP;
+ images.image: "sym_right_light_normal.png" COMP;
+ images.image: "sym_left_glow_normal.png" COMP;
+ images.image: "sym_right_glow_normal.png" COMP;
+ images.image: "icon_border_remember.png" COMP;
+ images.image: "outline_glow.png" COMP;
+ images.image: "diagonal_stripes.png" COMP;
+ script {
+ public rtl;
+ }
+ styles {
+ CIT_STYLES
+ }
+ parts {
+ part { name: "bg"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ }
+ }
+ part { name: "spinner-base1"; type: SPACER;
+ description { state: "default" 0.0;
+ min: 24 16;
+ max: 999999 16;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ rel2.relative: 1.0 (1/8);
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "table-base"; type: SPACER;
+ description { state: "default" 0.0;
+ min: 70 60;
+ rel1.to_x: "bg";
+ rel1.to_y: "spinner-base1";
+ rel1.offset: 3 0;
+ rel1.relative: 0.0 1.0;
+ rel2.to: "bg";
+ rel2.offset: -4 -4;
+ }
+ }
+ part { name: "header"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.to: "table-base";
+ rel2.to: "table-base";
+ rel2.relative: 1.0 (1/7);
+ align: 0.5 0.0;
+ min: 0 16;
+ }
+ }
+ part { name: "header_separator"; mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "header";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 -2;
+ rel2.to: "header";
+ image.normal: "separator_horiz.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "base"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.to_x: "table-base";
+ rel1.to_y: "header";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 3 0;
+ rel2.to: "table-base";
+ rel2.offset: -3 0;
+ }
+ }
+
+ CAL_SPIN(,,month_text, spinner-base1)
+ CH(0) CH(1) CH(2) CH(3) CH(4) CH(5) CH(6)
+ CIT(0) CIT(1) CIT(2) CIT(3) CIT(4) CIT(5) CIT(6)
+ CIT(7) CIT(8) CIT(9) CIT(10) CIT(11) CIT(12) CIT(13)
+ CIT(14) CIT(15) CIT(16) CIT(17) CIT(18) CIT(19) CIT(20)
+ CIT(21) CIT(22) CIT(23) CIT(24) CIT(25) CIT(26) CIT(27)
+ CIT(28) CIT(29) CIT(30) CIT(31) CIT(32) CIT(33) CIT(34)
+ CIT(35) CIT(36) CIT(37) CIT(38) CIT(39) CIT(40) CIT(41)
+ }
+}
+
+group { name: "elm/calendar/base/double_spinners";
+ inherit: "elm/calendar/base/default";
+ parts {
+ part { name: "spinner-base1"; type: SPACER;
+ description { state: "default" 0.0;
+ min: 24 24;
+ max: 999999 24;
+ rel1.to: "bg";
+ rel1.offset: 6 6;
+ rel2.to: "bg";
+ rel2.relative: 0.5 1.0;
+ rel2.offset: -7 -7;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "spinner-base2"; type: SPACER;
+ description { state: "default" 0.0;
+ min: 24 24;
+ max: 999999 24;
+ rel1.to_x: "spinner-base1";
+ rel1.to_y: "bg";
+ rel1.relative: 1.0 0;
+ rel1.offset: 6 6;
+ rel2.to: "bg";
+ rel2.offset: -7 -7;
+ align: 0.0 0.0;
+ }
+ }
+ CAL_SPIN(,,month_text, spinner-base1)
+ CAL_SPIN(_year, year, year_text, spinner-base2)
+ }
+}
+
+#undef CAL_SPIN
+#undef CIT
+#undef CH
diff --git a/data/themes/edc/elm/check.edc b/data/themes/edc/elm/check.edc
new file mode 100644
index 000000000..404b05b26
--- /dev/null
+++ b/data/themes/edc/elm/check.edc
@@ -0,0 +1,891 @@
+group { name: "elm/check/base/default";
+ images.image: "inset_shadow_tiny.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "sym_check_alum.png" COMP;
+#define ICON 1
+#define LABEL 2
+#define MASK 3
+#define DISABLE 4
+ script {
+ public btmode;
+ public eval_mode(m) {
+ new m1 = m & MASK;
+ new d = m & DISABLE;
+ if (m1 == (ICON | LABEL)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "visible", 0.0);
+ set_state(PART:"elm.text", "visible", 0.0);
+ set_state(PART:"shadow", "default", 0.0);
+ set_state(PART:"base", "default", 0.0);
+ set_state(PART:"clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "visible", 0.0);
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ set_state(PART:"shadow", "disabled", 0.0);
+ set_state(PART:"base", "disabled", 0.0);
+ set_state(PART:"clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else if (m1 == (ICON)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "icononly", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"shadow", "default", 0.0);
+ set_state(PART:"base", "default", 0.0);
+ set_state(PART:"clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "icononly", 0.0);
+ set_state(PART:"elm.text", "disabled", 0.0);
+ set_state(PART:"shadow", "disabled", 0.0);
+ set_state(PART:"base", "disabled", 0.0);
+ set_state(PART:"clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ } else if (m1 == (LABEL)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "visible", 0.0);
+ set_state(PART:"shadow", "default", 0.0);
+ set_state(PART:"base", "default", 0.0);
+ set_state(PART:"clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ set_state(PART:"shadow", "disabled", 0.0);
+ set_state(PART:"base", "disabled", 0.0);
+ set_state(PART:"clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ }
+ }
+ }
+ }
+ parts {
+ part { name: "base"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel1.to: "inset";
+ rel2.offset: -2 -2;
+ rel2.to: "inset";
+ color: 24 24 24 255;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 64 64 64 255;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow_tiny.png";
+ image.border: 4 4 4 4;
+ rel1.to: "base";
+ rel2.to: "base";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "inset"; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ rel1.offset: 2 2;
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 2 -3;
+ align: 0.0 0.5;
+ min: 13 13;
+ max: 13 13;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "indicator"; mouse_events: 0;
+ scale: 1;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel2.to: "base";
+ image.normal: "sym_check_alum.png";
+ min: 11 11;
+ max: 11 11;
+ visible: 0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW;
+ scale: 1;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ visible: 0;
+ align: 0.0 0.5;
+ max: 0 0;
+ rel1.to_x: "inset";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 1 1;
+ rel2.to_x: "inset";
+ rel2.offset: 1 -2;
+ rel2.relative: 1.0 1.0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 0 0;
+ visible: 1;
+ aspect: 1.0 1.0;
+ min: 16 16;
+ }
+ }
+ part { name: "sizer.content"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ text { font: FN; size: 10;
+ min: 0 0;
+ text_class: "check_text";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ }
+ part { name: "elm.text"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.offset: 2 2;
+ rel1.to_x: "elm.swallow.content";
+ rel1.relative: 1.0 0.0;
+ rel2.offset: -3 -3;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "check_text";
+ text { font: FN; size: 10;
+ min: 0 0;
+ align: 0.0 0.5;
+ text_class: "check";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ text.min: 1 1;
+ }
+ description { state: "disabled_visible" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ visible: 1;
+ text.min: 1 1;
+ }
+ }
+ part { name: "event"; type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,clicked,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,check,toggle" "elm";
+ }
+ program {
+ signal: "elm,state,check,on"; source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "indicator";
+ }
+ program {
+ signal: "elm,state,check,off"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "indicator";
+ }
+ program {
+ signal: "elm,state,text,visible"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= LABEL; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "elm,state,text,hidden"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~LABEL; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "elm,state,icon,visible"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= ICON; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "elm,state,icon,hidden"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~ICON; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "elm,state,disabled"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= DISABLE; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "elm,state,enabled"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~DISABLE; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ }
+#undef ICON
+#undef LABEL
+#undef MASK
+#undef DISABLE
+}
+
+group { name: "elm/check/base/toggle";
+ images.image: "inset_shadow_tiny.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "bevel_out.png" COMP;
+ images.image: "vgrad_med_lighter.png" COMP;
+ images.image: "shadow_square_tiny.png" COMP;
+ images.image: "glow_small.png" COMP;
+
+#define ICON 1
+#define LABEL 2
+#define MASK 3
+#define DISABLE 4
+ script {
+ public is_rtl;
+ public is_drag;
+ public was_drag;
+
+ public btmode;
+ public eval_mode(m) {
+ new m1 = m & MASK;
+ new d = m & DISABLE;
+ if (m1 == (ICON | LABEL)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "visible", 0.0);
+ set_state(PART:"elm.text", "visible", 0.0);
+ set_state(PART:"shadow", "default", 0.0);
+ set_state(PART:"clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ set_state(PART:"event2", "default", 0.0);
+ set_state(PART:"elm.ontext", "default", 0.0);
+ set_state(PART:"elm.offtext", "default", 0.0);
+ set_state(PART:"onrect", "default", 0.0);
+ set_state(PART:"offrect", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "visible", 0.0);
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ set_state(PART:"shadow", "disabled", 0.0);
+ set_state(PART:"clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ set_state(PART:"event2", "disabled", 0.0);
+ set_state(PART:"elm.ontext", "disabled", 0.0);
+ set_state(PART:"elm.offtext", "disabled", 0.0);
+ set_state(PART:"onrect", "disabled", 0.0);
+ set_state(PART:"offrect", "disabled", 0.0);
+ }
+ } else if (m1 == (ICON)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "icononly", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"shadow", "default", 0.0);
+ set_state(PART:"clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ set_state(PART:"event2", "default", 0.0);
+ set_state(PART:"elm.ontext", "default", 0.0);
+ set_state(PART:"elm.offtext", "default", 0.0);
+ set_state(PART:"onrect", "default", 0.0);
+ set_state(PART:"offrect", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"sizer.content", "icononly", 0.0);
+ set_state(PART:"elm.text", "disabled", 0.0);
+ set_state(PART:"shadow", "disabled", 0.0);
+ set_state(PART:"clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ set_state(PART:"event2", "disabled", 0.0);
+ set_state(PART:"elm.ontext", "disabled", 0.0);
+ set_state(PART:"elm.offtext", "disabled", 0.0);
+ set_state(PART:"onrect", "disabled", 0.0);
+ set_state(PART:"offrect", "disabled", 0.0);
+ }
+ } else if (m1 == (LABEL)) {
+ if (!d) {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "visible", 0.0);
+ set_state(PART:"shadow", "default", 0.0);
+ set_state(PART:"clip", "default", 0.0);
+ set_state(PART:"event", "default", 0.0);
+ set_state(PART:"event2", "default", 0.0);
+ set_state(PART:"elm.ontext", "default", 0.0);
+ set_state(PART:"elm.offtext", "default", 0.0);
+ set_state(PART:"onrect", "default", 0.0);
+ set_state(PART:"offrect", "default", 0.0);
+ } else {
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"sizer.content", "default", 0.0);
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ set_state(PART:"shadow", "disabled", 0.0);
+ set_state(PART:"clip", "disabled", 0.0);
+ set_state(PART:"event", "disabled", 0.0);
+ set_state(PART:"event2", "disabled", 0.0);
+ set_state(PART:"elm.ontext", "disabled", 0.0);
+ set_state(PART:"elm.offtext", "disabled", 0.0);
+ set_state(PART:"onrect", "disabled", 0.0);
+ set_state(PART:"offrect", "disabled", 0.0);
+ }
+ }
+ }
+ }
+ parts {
+ part { name: "tog"; type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 2 2;
+ rel2.offset: -3 -3;
+ align: 1.0 0.5;
+ min: 88 15;
+ max: 88 15;
+ }
+ }
+ part { name: "onrect"; type: RECT; mouse_events: 0;
+ scale: 1;
+ clip_to: "tog_clip";
+ description { state: "default" 0.0;
+ rel1.to: "button";
+ rel1.relative: -5.0 0.0;
+ rel2.to: "button";
+ rel2.relative: 0.5 1.0;
+ color: 24 24 24 255;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 64 64 64 255;
+ }
+ }
+ part { name: "offrect"; type: RECT; mouse_events: 0;
+ scale: 1;
+ clip_to: "tog_clip";
+ description { state: "default" 0.0;
+ rel1.to: "button";
+ rel1.relative: 0.5 0.0;
+ rel2.to: "button";
+ rel2.relative: 6.0 1.0;
+ color: 24 24 24 255;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 64 64 64 255;
+ }
+ }
+ part { name: "elm.offtext"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "tog_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "button";
+ rel1.relative: 1.0 0.0;
+ rel2.to: "offrect";
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "check_off_text";
+ text { font: FN; size: 10;
+ min: 0 1;
+ align: 0.5 0.5;
+ text_class: "check_off_text";
+ text: "OFF";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ }
+ }
+ part { name: "elm.ontext"; type: TEXT; mouse_events: 0;
+ effect: GLOW;
+ scale: 1;
+ clip_to: "tog_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "onrect";
+ rel1.offset: 2 -1;
+ rel2.to: "button";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: -1 -2;
+ color: 51 153 255 255;
+ color2: 51 153 255 24;
+ color3: 51 153 255 18;
+ color_class: "check_on_text";
+ text { font: FN; size: 10;
+ min: 0 1;
+ align: 0.5 0.5;
+ text_class: "check_on_text";
+ text: "ON";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 64;
+ color2: 51 153 255 16;
+ color3: 51 153 255 8;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow_tiny.png";
+ image.border: 4 4 4 4;
+ rel1.to: "tog";
+ rel2.to: "tog";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "inset"; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "tog";
+ rel1.offset: -1 -1;
+ rel2.to: "tog";
+ rel2.offset: 0 0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "tog_clip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "tog";
+ rel2.to: "tog";
+ }
+ }
+ part { name: "button"; type: RECT;
+ scale: 1;
+ clip_to: "tog_clip";
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "tog";
+ }
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "tog";
+ rel2.to: "tog";
+ min: 15 15;
+ max: 15 99999;
+ color: 255 128 0 128;
+ }
+ }
+ part { name: "shadow_but"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: -3 -2;
+ rel1.to: "base_but";
+ rel2.offset: 2 4;
+ rel2.to: "base_but";
+ image.normal: "shadow_square_tiny.png";
+ image.border: 6 6 6 6;
+ fill.smooth: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -2 -2;
+ rel2.offset: 1 1;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "glow_but"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: -3 -3;
+ rel1.to: "base_but";
+ rel2.offset: 2 2;
+ rel2.to: "base_but";
+ image.normal: "glow_small.png";
+ image.border: 7 7 7 7;
+ fill.smooth: 0;
+ visible: 0;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "base_but"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "button";
+ rel2.to: "button";
+ image.normal: "vgrad_med_lighter.png";
+ fill.smooth: 0;
+ TILED_HORIZ(120)
+ }
+ }
+ part { name: "bevel_but"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "base_but";
+ rel2.to: "base_but";
+ image.normal: "bevel_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "button_events"; type: RECT;
+ dragable.events: "button";
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW;
+ scale: 1;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ visible: 0;
+ align: 0.0 0.5;
+ max: 0 0;
+ rel1.offset: 1 1;
+ rel2.offset: 1 -2;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 0 0;
+ visible: 1;
+ aspect: 1.0 1.0; aspect_preference: VERTICAL;
+ min: 16 16;
+ }
+ }
+ part { name: "sizer.content"; type: TEXT; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ text { font: FN; size: 10;
+ min: 0 0;
+ text_class: "check_text";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ text {
+ min: 1 1;
+ text: "M";
+ }
+ }
+ }
+ part { name: "elm.text"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_x: "elm.swallow.content";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 2 2;
+ rel2.to_x: "tog";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: -5 -3;
+ color: 255 255 255 255;
+ color3: 0 0 0 128;
+ color_class: "check_text";
+ text { font: FN; size: 10;
+ min: 0 0;
+ align: 0.0 0.5;
+ text_class: "check";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ text.min: 1 1;
+ }
+ description { state: "disabled_visible" 0.0;
+ inherit: "default" 0.0;
+ color: 21 21 21 255;
+ color3: 255 255 255 25;
+ visible: 1;
+ text.min: 1 1;
+ }
+ }
+ part { name: "event"; type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1.to_x: "elm.swallow.content";
+ rel2.to_x: "elm.text";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "event2"; type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,clicked,1"; source: "event";
+ action: SIGNAL_EMIT "elm,action,check,toggle" "elm";
+ }
+ program {
+ signal: "elm,state,check,on"; source: "elm";
+ script {
+ new Float:drag;
+ if (get_int(is_rtl) == 0) {
+ drag = 100.0;
+ } else {
+ drag = 0.0;
+ }
+ set_drag(PART:"button", drag, 0.0);
+ }
+ }
+ program {
+ signal: "elm,state,check,off"; source: "elm";
+ script {
+ new Float:drag;
+ if (get_int(is_rtl) == 0) {
+ drag = 0.0;
+ } else {
+ drag = 100.0;
+ }
+ set_drag(PART:"button", drag, 0.0);
+ }
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "button";
+ script {
+ new Float:dx, Float:dy;
+ get_drag(PART:"button", dx, dy);
+ if (!get_int(was_drag)) {
+ if (dx > 0.5) {
+ set_drag(PART:"button", 0.0, 0.0);
+ } else {
+ set_drag(PART:"button", 1.0, 0.0);
+ }
+ if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
+ (get_int(is_rtl) == 0) && (dx > 0.5)) {
+ emit("elm,action,check,off", "");
+ } else {
+ emit("elm,action,check,on", "");
+ }
+ }
+ }
+ }
+ program {
+ signal: "drag"; source: "button";
+ script {
+ set_int(is_drag, 1);
+ }
+ }
+ program {
+ signal: "mouse,down,1"; source: "button";
+ script {
+ set_int(was_drag, 0);
+ set_int(is_drag, 0);
+ }
+ }
+ program { name: "drag_end";
+ signal: "mouse,up,1"; source: "button";
+ script {
+ new Float:dx, Float:dy;
+ get_drag(PART:"button", dx, dy);
+ if (get_int(is_drag)) {
+ if (dx > 0.5) {
+ set_drag(PART:"button", 1.0, 0.0);
+ } else {
+ set_drag(PART:"button", 0.0, 0.0);
+ }
+ if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
+ (get_int(is_rtl) == 0) && (dx > 0.5)) {
+ emit("elm,action,check,on", "");
+ } else {
+ emit("elm,action,check,off", "");
+ }
+ set_int(was_drag, 1);
+ set_int(is_drag, 0);
+ }
+ }
+ }
+ program {
+ signal: "mouse,down,1"; source: "button";
+ action: STATE_SET "clicked" 0.0;
+ target: "shadow_but";
+ target: "glow_but";
+ }
+ program {
+ signal: "mouse,up,1"; source: "button";
+ action: STATE_SET "default" 0.0;
+ target: "shadow_but";
+ target: "glow_but";
+ }
+ program {
+ signal: "elm,state,text,visible"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= LABEL; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "elm,state,text,hidden"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~LABEL; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "elm,state,icon,visible"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= ICON; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "elm,state,icon,hidden"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~ICON; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "elm,state,disabled"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m |= DISABLE; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "elm,state,enabled"; source: "elm";
+ script {
+ new m = get_int(btmode);
+ m &= ~DISABLE; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program {
+ signal: "edje,state,rtl"; source: "edje";
+ script {
+ set_int(is_rtl, 1);
+ }
+ }
+ program {
+ signal: "edje,state,ltr"; source: "edje";
+ script {
+ set_int(is_rtl, 0);
+ }
+ }
+ }
+#undef ICON
+#undef LABEL
+#undef MASK
+#undef DISABLE
+}
diff --git a/data/themes/edc/elm/clock.edc b/data/themes/edc/elm/clock.edc
new file mode 100644
index 000000000..60d8c3866
--- /dev/null
+++ b/data/themes/edc/elm/clock.edc
@@ -0,0 +1,397 @@
+group { name: "elm/clock/flipdigit/default";
+ images.image: "digit_na.png" COMP;
+ images.image: "digit_0.png" COMP;
+ images.image: "digit_1.png" COMP;
+ images.image: "digit_2.png" COMP;
+ images.image: "digit_3.png" COMP;
+ images.image: "digit_4.png" COMP;
+ images.image: "digit_5.png" COMP;
+ images.image: "digit_6.png" COMP;
+ images.image: "digit_7.png" COMP;
+ images.image: "digit_8.png" COMP;
+ images.image: "digit_9.png" COMP;
+ images.image: "icon_arrow_up.png" COMP;
+ images.image: "icon_arrow_down.png" COMP;
+ script {
+ public v0_cur, v0_lock, v0_next;
+
+ public animator1(val, Float:pos) {
+ new v;
+ set_int(v0_lock, 0);
+ v = get_int(v0_next);
+ if (v >= 0) {
+ set_int(v0_next, -1);
+ message(MSG_INT, 1, v);
+ }
+ }
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_INT) && (id == 1)) {
+ new value, buf[11];
+
+ value = getarg(2);
+ if (get_int(v0_lock) == 1) {
+ set_int(v0_next, value);
+ return;
+ }
+ set_int(v0_cur, value);
+ set_int(v0_lock, 1);
+ snprintf(buf, 10, "%i", get_int(v0_cur));
+ set_state(PART:"digit", buf, 0.0);
+ anim(1.0, "animator1", 1);
+ }
+ }
+ }
+ parts {
+ part { name: "digit_bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "digit";
+ rel2.to: "digit";
+ image.normal: "digit_na.png";
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "b";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.relative: 0.0 0.5;
+ color: 0 0 0 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "t";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel2.relative: 1.0 0.5;
+ color: 0 0 0 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "digit";
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "atop";
+ rel1.relative: 0.0 1.0;
+ rel2.to_y: "abot";
+ rel2.relative: 1.0 0.0;
+ aspect: (52/72) (52/72); aspect_preference: BOTH;
+ image.normal: "digit_0.png";
+ }
+#define DIGIT_DESC(_DIGIT) \
+ description { state: _DIGIT 0.0; \
+ inherit: "default" 0.0; \
+ image.normal: "digit_"_DIGIT".png"; \
+ }
+ DIGIT_DESC("0")
+ DIGIT_DESC("1")
+ DIGIT_DESC("2")
+ DIGIT_DESC("3")
+ DIGIT_DESC("4")
+ DIGIT_DESC("5")
+ DIGIT_DESC("6")
+ DIGIT_DESC("7")
+ DIGIT_DESC("8")
+ DIGIT_DESC("9")
+ }
+#undef DIGIT_DESC
+ part { name: "atop";
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 0.2;
+ align: 0.5 0.0;
+ aspect: 1 1; aspect_preference: BOTH;
+ image.normal: "icon_arrow_up.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "abot";
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.relative: 0.0 0.8;
+ rel2.relative: 1.0 1.0;
+ align: 0.5 0.0;
+ aspect: 1 1; aspect_preference: BOTH;
+ image.normal: "icon_arrow_down.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "access.t";
+ type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "t";
+ rel2.to: "t";
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "access.b";
+ type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "b";
+ rel2.to: "b";
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "load";
+ signal: "load";
+ source: "";
+ script {
+ set_int(v0_cur, 0);
+ set_int(v0_lock, 0);
+ set_int(v0_next, -1);
+ }
+ }
+ program { name: "edit_on";
+ signal: "elm,state,edit,on";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "atop";
+ target: "abot";
+ target: "t";
+ target: "b";
+ }
+ program { name: "edit_off";
+ signal: "elm,state,edit,off";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "atop";
+ target: "abot";
+ target: "t";
+ target: "b";
+ }
+ program { name: "up";
+ signal: "mouse,down,1";
+ source: "t";
+ action: SIGNAL_EMIT "elm,action,up,start" "elm";
+ }
+ program { name: "up,stop";
+ signal: "mouse,up,1";
+ source: "t";
+ action: SIGNAL_EMIT "elm,action,up,stop" "elm";
+ }
+ program { name: "down";
+ signal: "mouse,down,1";
+ source: "b";
+ action: SIGNAL_EMIT "elm,action,down,start" "elm";
+ }
+ program { name: "down,stop";
+ signal: "mouse,up,1";
+ source: "b";
+ action: SIGNAL_EMIT "elm,action,down,stop" "elm";
+ }
+ program { name: "access_edit_on";
+ signal: "elm,state,access,edit,on";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "access.t";
+ target: "access.b";
+ }
+ program { name: "access_edit_off";
+ signal: "elm,state,access,edit,off";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "access.t";
+ target: "access.b";
+ }
+ program { name: "access,up";
+ signal: "mouse,down,1";
+ source: "access.t";
+ action: SIGNAL_EMIT "elm,action,up,start" "elm";
+ }
+ program { name: "access,up,stop";
+ signal: "mouse,up,1";
+ source: "access.t";
+ action: SIGNAL_EMIT "elm,action,up,stop" "elm";
+ }
+ program { name: "access,down";
+ signal: "mouse,down,1";
+ source: "access.b";
+ action: SIGNAL_EMIT "elm,action,down,start" "elm";
+ }
+ program { name: "access,down,stop";
+ signal: "mouse,up,1";
+ source: "access.b";
+ action: SIGNAL_EMIT "elm,action,down,stop" "elm";
+ }
+ }
+}
+
+
+group { name: "elm/clock/flipampm/default";
+ inherit: "elm/clock/flipdigit/default";
+ images.image: "digit_nm.png" COMP;
+ images.image: "digit_am.png" COMP;
+ images.image: "digit_pm.png" COMP;
+ parts {
+ part { name: "digit_bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "digit";
+ rel2.to: "digit";
+ image.normal: "digit_nm.png";
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "digit";
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ aspect: (48/31) (48/31); aspect_preference: BOTH;
+ image.normal: "digit_am.png";
+ }
+#define DIGIT_DESC(_DIGIT, _AMPM) \
+ description { state: _DIGIT 0.0; \
+ inherit: "default" 0.0; \
+ image.normal: "digit_"_AMPM".png"; \
+ }
+ DIGIT_DESC("0", "am")
+ DIGIT_DESC("1", "pm")
+ }
+#undef DIGIT_DESC
+ }
+}
+
+#define SWALLOW_PART(_NAME, _R1X, _R1Y, _R2X, _R2Y) \
+ part { name: _NAME; \
+ type: SWALLOW; \
+ description { state: "default" 0.0; \
+ rel1.relative: _R1X _R1Y; \
+ rel2.relative: _R2X _R2Y; \
+ } \
+ }
+
+#define HOLE_PART(_NAME, _R1X, _R1Y, _R2X, _R2Y, _AX, _AY, _OX, _OY, _W, _H) \
+ part { name: _NAME; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.relative: _R1X _R1Y; \
+ rel1.offset: _OX _OY; \
+ rel2.relative: _R2X _R2Y; \
+ rel2.offset: _OX _OY; \
+ align: _AX _AY; \
+ min: _W _H; \
+ max: _W _H; \
+ fixed: 1 1; \
+ image.normal: "hole_tiny.png"; \
+ } \
+ }
+
+group { name: "elm/clock/base-all/default";
+ images.image: "hole_tiny.png" COMP;
+ parts {
+ SWALLOW_PART("d0", 0.0, 0.0, 0.125, 1.0)
+ SWALLOW_PART("d1", 0.125, 0.0, 0.25, 1.0)
+ HOLE_PART("c0t", 0.25, 0.5, 0.3125, 0.5, 0.5, 1.0, 0, -2, 4, 4)
+ HOLE_PART("c0b", 0.25, 0.5, 0.3125, 0.5, 0.5, 0.0, 0, 1, 4, 4)
+ SWALLOW_PART("d2", 0.3125, 0.0, 0.4375, 1.0)
+ SWALLOW_PART("d3", 0.4375, 0.0, 0.5625, 1.0)
+ HOLE_PART("c1t", 0.5625, 0.5, 0.625, 0.5, 0.5, 1.0, 0, -2, 4, 4)
+ HOLE_PART("c1b", 0.5625, 0.5, 0.625, 0.5, 0.5, 0.0, 0, 1, 4, 4)
+ SWALLOW_PART("d4", 0.625, 0.0, 0.75, 1.0)
+ SWALLOW_PART("d5", 0.75, 0.0, 0.875, 1.0)
+ SWALLOW_PART("ampm", 0.875, 0.0, 1.0, 1.0)
+ }
+}
+
+group { name: "elm/clock/base-seconds/default";
+ parts {
+ SWALLOW_PART("d0", 0.0, 0.0, 0.142857143, 1.0)
+ SWALLOW_PART("d1", 0.142857143, 0.0, 0.285714286, 1.0)
+ HOLE_PART("c0t", 0.285714286, 0.5, 0.357142857, 0.5, 0.5, 1.0, 0, -2, 4, 4)
+ HOLE_PART("c0b", 0.285714286, 0.5, 0.357142857, 0.5, 0.5, 0.0, 0, 1, 4, 4)
+ SWALLOW_PART("d2", 0.357142857, 0.0, 0.5, 1.0)
+ SWALLOW_PART("d3", 0.5, 0.0, 0.642857143, 1.0)
+ HOLE_PART("c1t", 0.642857143, 0.5, 0.714285714, 0.5, 0.5, 1.0, 0, -2, 4, 4)
+ HOLE_PART("c1b", 0.642857143, 0.5, 0.714285714, 0.5, 0.5, 0.0, 0, 1, 4, 4)
+ SWALLOW_PART("d4", 0.714285714, 0.0, 0.857142857, 1.0)
+ SWALLOW_PART("d5", 0.857142857, 0.0, 1.0, 1.0)
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+group { name: "elm/clock/base-am_pm/default";
+ parts {
+ SWALLOW_PART("d0", 0.0, 0.0, 0.181818182, 1.0)
+ SWALLOW_PART("d1", 0.181818182, 0.0, 0.363636364, 1.0)
+ HOLE_PART("c0t", 0.363636364, 0.5, 0.454545455, 0.5, 0.5, 1.0, 0, -2, 4, 4)
+ HOLE_PART("c0b", 0.363636364, 0.5, 0.454545455, 0.5, 0.5, 0.0, 0, 1, 4, 4)
+ SWALLOW_PART("d2", 0.454545455, 0.0, 0.636363636, 1.0)
+ SWALLOW_PART("d3", 0.636363636, 0.0, 0.818181818, 1.0)
+ SWALLOW_PART("ampm", 0.818181818, 0.0, 1.0, 1.0)
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+group { name: "elm/clock/base/default";
+ parts {
+ part { name: "base";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ SWALLOW_PART("d0", 0.0, 0.0, 0.222222222, 1.0)
+ SWALLOW_PART("d1", 0.222222222, 0.0, 0.444444444, 1.0)
+ HOLE_PART("c0t", 0.444444444, 0.5, 0.555555556, 0.5, 0.5, 1.0, 0, -2, 4, 4)
+ HOLE_PART("c0b", 0.444444444, 0.5, 0.555555556, 0.5, 0.5, 0.0, 0, 1, 4, 4)
+ SWALLOW_PART("d2", 0.555555556, 0.0, 0.777777778, 1.0)
+ SWALLOW_PART("d3", 0.777777778, 0.0, 1.0, 1.0)
+ }
+ programs {
+ program { name: "access_on";
+ signal: "elm,state,access,on";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "base";
+ }
+ program { name: "access_off";
+ signal: "elm,state,access,off";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ }
+ }
+}
+#undef SWALLOW_PART
+#undef HOLE_PART
diff --git a/data/themes/edc/elm/colorsel.edc b/data/themes/edc/elm/colorsel.edc
new file mode 100644
index 000000000..e8721bae2
--- /dev/null
+++ b/data/themes/edc/elm/colorsel.edc
@@ -0,0 +1,629 @@
+group { name: "elm/colorselector/palette/default";
+ data.item: "horizontal_pad" 0;
+ data.item: "vertical_pad" 0;
+ images.image: "bevel_dark_in.png" COMP;
+ parts {
+ part { name: "elm.picker"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel2.relative: 1.0 0.0;
+ }
+ }
+ part { name: "sep1";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to_y: "elm.picker";
+ rel1.offset: 4 4;
+ rel1.relative: 0.0 1.0;
+ rel2.to_y: "elm.picker";
+ rel2.offset: -5 5;
+ min: 2 2;
+ max: 99999 2;
+ image.normal: "bevel_dark_in.png";
+ image.border: 2 2 2 2;
+ fill.smooth: 0;
+ }
+ description { state: "off" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 4 -2;
+ rel2.offset: -5 -1;
+ visible: 0;
+ }
+ }
+ part { name: "elm.palette"; type: SWALLOW;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ rel1.to_y: "sep1";
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 4;
+ rel2.to_y: "sep2";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 -5;
+ }
+ description { state: "off" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 0;
+ rel2.offset: -1 -1;
+ }
+ }
+ part { name: "sep2";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to_y: "elm.selector";
+ rel1.offset: 4 -6;
+ rel2.to_y: "elm.selector";
+ rel2.offset: -5 -5;
+ rel2.relative: 1.0 0.0;
+ min: 2 2;
+ max: 99999 2;
+ image.normal: "bevel_dark_in.png";
+ image.border: 2 2 2 2;
+ fill.smooth: 0;
+ }
+ description { state: "off" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 4 0;
+ rel2.offset: -5 1;
+ visible: 0;
+ }
+ }
+ part { name: "elm.selector"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1.relative: 0.0 1.0;
+ }
+ }
+ }
+ programs {
+ program {
+ source: "elm"; signal: "elm,state,palette";
+ action: STATE_SET "off" 0.0;
+ target: "sep1";
+ target: "sep2";
+ }
+ program {
+ source: "elm"; signal: "elm,state,palette";
+ action: STATE_SET "default" 0.0;
+ target: "elm.palette";
+ }
+
+ program {
+ source: "elm"; signal: "elm,state,components";
+ action: STATE_SET "off" 0.0;
+ target: "sep1";
+ target: "sep2";
+ target: "elm.palette";
+ }
+
+ program {
+ source: "elm"; signal: "elm,state,both";
+ action: STATE_SET "off" 0.0;
+ target: "sep1";
+ }
+ program {
+ source: "elm"; signal: "elm,state,both";
+ action: STATE_SET "default" 0.0;
+ target: "elm.palette";
+ target: "sep2";
+ }
+
+ program {
+ source: "elm"; signal: "elm,state,picker";
+ action: STATE_SET "off" 0.0;
+ target: "sep1";
+ target: "sep2";
+ target: "elm.palette";
+ }
+
+ program {
+ source: "elm"; signal: "elm,state,all";
+ action: STATE_SET "default" 0.0;
+ target: "sep1";
+ target: "sep2";
+ target: "elm.palette";
+ }
+ }
+}
+
+group { name: "elm/colorselector/picker/default";
+ images.image: "inset_shadow.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "dot_pattern.png" COMP;
+ parts {
+ part { name: "bg"; type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 20 20;
+ rel1.to: "elm.picker";
+ rel2.to: "elm.picker";
+ color: 48 48 48 255;
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ part { name: "clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "elm.picker";
+ rel2.to: "elm.picker";
+ }
+ }
+ part { name: "elm.picker"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.offset: 3 3;
+ rel2.offset: -4 -4;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "inset"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel1.offset: -1 -1;
+ rel2.to: "bg";
+ rel2.offset: 0 0;
+ fill.smooth: 0;
+ }
+ }
+ }
+}
+
+group { name: "elm/colorselector/bg/default";
+ parts {
+ part { name: "elm.colorbar_0"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel2.relative: 1.0 0.0;
+ align: 0.5 0.0;
+ fixed: 0 1;
+ }
+ }
+ part { name: "elm.colorbar_1"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to_y: "elm.colorbar_0";
+ rel1.relative: 0.0 1.0;
+ rel2.to_y: "elm.colorbar_0";
+ rel2.relative: 1.0 1.0;
+ align: 0.5 0.0;
+ fixed: 0 1;
+ }
+ }
+ part { name: "elm.colorbar_2"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to_y: "elm.colorbar_1";
+ rel1.relative: 0.0 1.0;
+ rel2.to_y: "elm.colorbar_1";
+ rel2.relative: 1.0 1.0;
+ align: 0.5 0.0;
+ fixed: 0 1;
+ }
+ }
+ part { name: "elm.colorbar_3"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to_y: "elm.colorbar_2";
+ rel1.relative: 0.0 1.0;
+ align: 0.5 0.0;
+ }
+ }
+ }
+}
+
+group { name: "elm/colorselector/base/default";
+ images.image: "inset_shadow.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "ring_shadow.png" COMP;
+ images.image: "ring_white_blue_glow.png" COMP;
+ images.image: "col_sel_end_bottom.png" COMP;
+ images.image: "col_sel_end_top.png" COMP;
+ parts {
+ part { name: "elm.bar_bg"; type: SWALLOW; mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 32 15;
+ rel1.offset: 0 10;
+ rel1.to_x: "elm.arrow_bg";
+ rel2.offset: -1 -11;
+ rel2.to_x: "elm.arrow_bg";
+ }
+ }
+ part { name: "elm.bar"; type: SWALLOW; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "elm.bar_bg";
+ rel2.to: "elm.bar_bg";
+ }
+ }
+ part { name: "clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "shadow";
+ rel2.to: "shadow";
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "elm.bar_bg";
+ rel2.to: "elm.bar_bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "inset"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "shadow";
+ rel1.offset: -1 -1;
+ rel2.to: "shadow";
+ rel2.offset: 0 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "elm.arrow_bg"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 3 0;
+ to_x: "elm.l_button";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -4 0;
+ to_x: "elm.r_button";
+ }
+ }
+ }
+ part { name: "elm.arrow"; type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 1 1;
+ rel1.to_x: "elm.arrow_bg";
+ rel2.to_x: "elm.arrow_bg";
+ visible: 0;
+ }
+ dragable {
+ confine: "elm.arrow_bg";
+ x: 1 1 0;
+ y: 0 0 0;
+ }
+ }
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "elm.arrow_icon";
+ rel2.to_x: "elm.arrow_icon";
+ rel2.to_y: "elm.arrow_bg";
+ color: 0 0 0 0;
+ }
+ dragable.events: "elm.arrow";
+ }
+ part { name: "arrow_under"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "ring_shadow.png";
+ rel1.to: "elm.arrow_icon";
+ rel2.to: "elm.arrow_icon";
+ }
+ }
+ part { name: "elm.arrow_icon"; type: SWALLOW; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 16 16;
+ max: 16 16;
+ align: 0.5 (28/32);
+ rel1.to_x: "elm.arrow";
+ rel1.to_y: "shadow";
+ rel2.relative: 1.0 0.0;
+ rel2.to_x: "elm.arrow";
+ rel2.to_y: "shadow";
+ }
+ }
+ part { name: "end1"; mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ image.normal: "col_sel_end_top.png";
+ FIXED_SIZE(11, 8)
+ align: 0.5 0.0;
+ rel1.to_x: "cursor";
+ rel2.to_x: "cursor";
+ rel1.to_y: "shadow";
+ rel2.to_y: "shadow";
+ }
+ }
+ part { name: "end2"; mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ image.normal: "col_sel_end_bottom.png";
+ FIXED_SIZE(11, 8)
+ align: 0.5 1.0;
+ rel1.to_x: "cursor";
+ rel2.to_x: "cursor";
+ rel1.to_y: "shadow";
+ rel2.to_y: "shadow";
+ }
+ }
+ part { name: "arrow_over"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "ring_white_blue_glow.png";
+ rel1.to: "elm.arrow_icon";
+ rel2.to: "elm.arrow_icon";
+ }
+ }
+ part { name: "cursor"; type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 1 1;
+ rel1.to_x: "elm.arrow_icon";
+ rel1.to_y: "shadow";
+ rel1.relative: 0.5 0.0;
+ rel2.to_x: "elm.arrow_icon";
+ rel2.to_y: "shadow";
+ rel2.relative: 0.5 1.0;
+ rel2.offset: 0 -1;
+ color: 255 255 255 255;
+ }
+ dragable.events: "elm.arrow";
+ }
+ part { name: "elm.arrow_bg_access"; type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "elm.arrow_bg";
+ rel2.to: "elm.arrow_bg";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.l_button"; type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 17 17;
+ rel1.relative: 0.0 0.0;
+ rel1.to_y: "elm.bar_bg";
+ rel2.relative: 0.0 1.0;
+ rel2.to_y: "elm.bar_bg";
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "elm.r_button"; type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 17 17;
+ rel1.relative: 1.0 0.0;
+ rel1.to_y: "elm.bar_bg";
+ rel2.relative: 1.0 1.0;
+ rel2.to_y: "elm.bar_bg";
+ align: 1.0 0.5;
+ }
+ }
+ }
+}
+
+group { name: "elm/colorselector/arrow/default";
+ images.image: "ring_white_middle.png" COMP;
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ aspect: 1.0 1.0; aspect_preference: BOTH;
+ image.normal: "ring_white_middle.png";
+ }
+ }
+ }
+}
+
+group{ name: "elm/colorselector/image/colorbar_0/default";
+ images {
+ image: "color_picker_color.png" COMP;
+ }
+ parts {
+ part { name: "colorbar_0_image";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ rel2.offset: -1 -1;
+ image.normal: "color_picker_color.png";
+ }
+ }
+ }
+}
+
+group { name: "elm/colorselector/image/colorbar_1/default";
+ images.image: "color_picker_opacity.png" COMP;
+ parts {
+ part { name: "colorbar_1_image";
+ description { state: "default" 0.0;
+ image.normal: "color_picker_opacity.png";
+ }
+ }
+ }
+}
+
+group { name: "elm/colorselector/image/colorbar_2/default";
+ images.image: "color_picker_brightness.png" COMP;
+ parts {
+ part { name: "colorbar_2_image";
+ description { state: "default" 0.0;
+ image.normal: "color_picker_brightness.png";
+ }
+ }
+ }
+}
+
+group { name: "elm/colorselector/image/colorbar_3/default";
+ images.image: "color_picker_alpha.png" COMP;
+ parts {
+ part { name: "colorbar_3_image";
+ description { state: "default" 0.0;
+ image.normal: "color_picker_alpha.png";
+ }
+ }
+ }
+}
+
+group { name: "elm/colorselector/bg_image/colorbar_3/default";
+ images.image: "dot_pattern.png" COMP;
+ parts {
+ part { name: "bg"; type: RECT;
+ description { state: "default" 0.0;
+ color: 48 48 48 255;
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ }
+}
+
+group { name: "elm/colorselector/item/default";
+ images.image: "inset_shadow.png" COMP;
+ images.image: "bevel_in.png" COMP;
+ images.image: "dot_pattern.png" COMP;
+ images.image: "bg_glow_in.png" COMP;
+ parts {
+ part { name: "bg"; type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 20 20;
+ rel1.to: "color_obj";
+ rel2.to: "color_obj";
+ color: 48 48 48 255;
+ }
+ }
+ part { name: "pat";
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "dot_pattern.png";
+ TILED_PATTERN(256, 256)
+ }
+ }
+ part { name: "clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "color_obj";
+ rel2.to: "color_obj";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "color_obj"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.offset: 3 3;
+ rel2.offset: -4 -4;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "dim"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ color: 0 0 0 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 0 0 0 128;
+ }
+ }
+ part { name: "glow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "bg_glow_in.png";
+ image.border: 7 7 7 7;
+ image.middle: 0;
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "inset"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel1.offset: -1 -1;
+ rel2.to: "bg";
+ rel2.offset: 0 0;
+ fill.smooth: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ source: "elm"; signal: "elm,state,selected";
+ action: STATE_SET "focused" 0.0;
+ transition: DECELERATE 0.1;
+ target: "glow";
+ target: "dim";
+ }
+ program {
+ source: "elm"; signal: "elm,state,unselected";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.5;
+ target: "glow";
+ target: "dim";
+ }
+ program {
+ signal: "elm,anim,activate"; source: "elm";
+ action: STATE_SET "focused" 0.0;
+ transition: DECELERATE 0.1;
+ target: "glow";
+ target: "dim";
+ after: "active2";
+ }
+ program { name: "active2";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.8;
+ target: "glow";
+ target: "dim";
+ }
+ }
+}
+
+group { name: "elm/colorselector/item/color/default";
+ parts {
+ part { name: "color_rect"; type: RECT;
+ description{ state: "default" 0.0;
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/elm/conform.edc b/data/themes/edc/elm/conform.edc
new file mode 100644
index 000000000..373d41d83
--- /dev/null
+++ b/data/themes/edc/elm/conform.edc
@@ -0,0 +1,53 @@
+group { name: "elm/conformant/base/default";
+ parts {
+ part { name: "elm.swallow.indicator";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel2.relative: 1.0 0.0;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.5 0.5;
+ rel1.relative: 0.0 1.0;
+ rel1.to_y: "elm.swallow.indicator";
+ rel2.relative: 1.0 0.0;
+ rel2.to_y: "elm.swallow.clipboard";
+ }
+ }
+ part { name: "elm.swallow.clipboard";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to_y: "elm.swallow.virtualkeypad";
+ rel2.relative: 1.0 0.0;
+ rel2.to_y: "elm.swallow.virtualkeypad";
+ }
+ }
+ part { name: "elm.swallow.virtualkeypad";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to_y: "elm.swallow.softkey";
+ rel2.relative: 1.0 0.0;
+ rel2.to_y: "elm.swallow.softkey";
+ }
+ }
+ part { name: "elm.swallow.softkey";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1.relative: 0.0 1.0;
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/elm/ctxpopup.edc b/data/themes/edc/elm/ctxpopup.edc
new file mode 100644
index 000000000..d244398a9
--- /dev/null
+++ b/data/themes/edc/elm/ctxpopup.edc
@@ -0,0 +1,263 @@
+///////////////////////////////////////////////////////////////////////////////
+group { name: "elm/ctxpopup/bg/noblock";
+ parts {
+ part { name: "base"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+}
+
+group { name: "elm/ctxpopup/bg/default";
+ parts {
+ part { name: "base"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 0 0 0 192;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,clicked,1"; source: "base";
+ action: SIGNAL_EMIT "elm,action,click" "elm";
+ }
+ program {
+ signal: "elm,state,show"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.2;
+ target: "base";
+ }
+ program {
+ signal: "elm,state,hide"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.3;
+ target: "base";
+ }
+ }
+}
+
+group { name: "elm/ctxpopup/base/default";
+ images.image: "tooltip-base.png" COMP;
+ parts {
+ part { name: "base";
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ image.normal: "tooltip-base.png";
+ image.border: 7 7 6 8;
+ image.middle: SOLID;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ rel1 { to:"base"; offset: 8 6; }
+ rel2 { to:"base"; offset: -7 -8; }
+ }
+ }
+ part { name: "event"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "clip"; type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ visible: 0;
+ rel1.offset: -20 -20;
+ rel2.offset: 19 19;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+
+ // 9x13
+ part { name: "arrow_area_left"; type: SPACER;
+ description { state: "default" 0.0;
+ min: 9 13;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1.to: "base";
+ rel1.offset: 2 5;
+ rel2.to: "base";
+ rel2.offset: 2 -6;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ part { name: "elm.swallow.arrow_left"; type: SWALLOW; mouse_events: 0;
+ clip_to: "clip";
+ dragable.x: 1 1 0;
+ dragable.y: 1 1 0;
+ dragable.confine: "arrow_area_left";
+ description { state: "default" 0.0;
+ min: 9 13;
+ fixed: 1 1;
+ }
+ }
+
+ part { name: "arrow_area_right"; type: SPACER;
+ description { state: "default" 0.0;
+ min: 9 13;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "base";
+ rel1.offset: -3 5;
+ rel1.relative: 1.0 0.0;
+ rel2.to: "base";
+ rel2.offset: -3 -6;
+ }
+ }
+ part { name: "elm.swallow.arrow_right"; type: SWALLOW; mouse_events: 0;
+ clip_to: "clip";
+ dragable.x: 1 1 0;
+ dragable.y: 1 1 0;
+ dragable.confine: "arrow_area_right";
+ description { state: "default" 0.0;
+ min: 9 13;
+ fixed: 1 1;
+ }
+ }
+
+ // 11x9
+ part { name: "arrow_area_up"; type: SPACER;
+ description { state: "default" 0.0;
+ min: 11 9;
+ fixed: 1 1;
+ align: 0.5 1;
+ rel1.to: "base";
+ rel1.offset: 5 3;
+ rel2.to: "base";
+ rel2.offset: -6 3;
+ rel2.relative: 1.0 0.0;
+ }
+ }
+ part { name: "elm.swallow.arrow_up"; type: SWALLOW; mouse_events: 0;
+ clip_to: "clip";
+ dragable.x: 1 1 0;
+ dragable.y: 1 1 0;
+ dragable.confine: "arrow_area_up";
+ description { state: "default" 0.0;
+ min: 11 9;
+ fixed: 1 1;
+ }
+ }
+
+ part { name: "arrow_area_down"; type: SPACER;
+ description { state: "default" 0.0;
+ min: 11 9;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ rel1.to: "base";
+ rel1.offset: 5 -4;
+ rel1.relative: 0.0 1.0;
+ rel2.to: "base";
+ rel2.offset: -6 -4;
+ }
+ }
+ part { name: "elm.swallow.arrow_down"; type: SWALLOW; mouse_events: 0;
+ clip_to: "clip";
+ dragable.x: 1 1 0;
+ dragable.y: 1 1 0;
+ dragable.confine: "arrow_area_down";
+ description { state: "default" 0.0;
+ min: 11 9;
+ fixed: 1 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,state,show"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.2;
+ target: "clip";
+ target: "event";
+ }
+ program {
+ signal: "elm,state,hide"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.3;
+ target: "clip";
+ target: "event";
+ after: "hide2";
+ }
+ program { name: "hide2";
+ action: SIGNAL_EMIT "elm,action,hide,finished" "elm";
+ }
+
+ }
+}
+
+group { name: "elm/ctxpopup/arrow/default";
+ images.image: "tooltip-edge-left-tip.png" COMP;
+ images.image: "tooltip-edge-right-tip.png" COMP;
+ images.image: "tooltip-edge-bottom-tip.png" COMP;
+ images.image: "tooltip-edge-top-tip.png" COMP;
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ min: 9 9;
+ fixed: 1 1;
+ image.normal: "tooltip-edge-left-tip.png";
+ }
+ description { state: "left" 0.0;
+ inherit: "default" 0.0;
+ min: 9 13;
+ align: 0.0 0.5;
+ image.normal: "tooltip-edge-left-tip.png";
+ }
+ description { state: "right" 0.0;
+ inherit: "default" 0.0;
+ min: 9 13;
+ align: 1.0 0.5;
+ image.normal: "tooltip-edge-right-tip.png";
+ }
+ description { state: "top" 0.0;
+ inherit: "default" 0.0;
+ min: 11 9;
+ align: 0.5 0.0;
+ image.normal: "tooltip-edge-top-tip.png";
+ }
+ description { state: "bottom" 0.0;
+ inherit: "default" 0.0;
+ min: 11 9;
+ align: 0.5 1.0;
+ image.normal: "tooltip-edge-bottom-tip.png";
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,state,left"; source: "elm";
+ action: STATE_SET "left" 0.0;
+ target: "base";
+ }
+ program {
+ signal: "elm,state,right"; source: "elm";
+ action: STATE_SET "right" 0.0;
+ target: "base";
+ }
+ program {
+ signal: "elm,state,top"; source: "elm";
+ action: STATE_SET "top" 0.0;
+ target: "base";
+ }
+ program {
+ signal: "elm,state,bottom"; source: "elm";
+ action: STATE_SET "bottom" 0.0;
+ target: "base";
+ }
+ }
+}
diff --git a/data/themes/edc/elm/datetime.edc b/data/themes/edc/elm/datetime.edc
new file mode 100644
index 000000000..d405cc91c
--- /dev/null
+++ b/data/themes/edc/elm/datetime.edc
@@ -0,0 +1,192 @@
+#define DATETIME_FIELD(_pos) \
+ part { \
+ name: "field"#_pos; type: SWALLOW; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ min: 0 0; \
+ align: 0.0 0.5; \
+ fixed: 1 0; \
+ rel1.relative: 1.0 0.0; \
+ rel1.to: "separator"#_pos; \
+ rel2.relative: 1.0 1.0; \
+ rel2.to: "separator"#_pos; \
+ } \
+ description { state: "enable" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ min: 8 10; \
+ } \
+ } \
+ programs{ \
+ program { name: "field_"#_pos"enabled"; \
+ signal: "field"#_pos",enable"; source: "elm"; \
+ action: STATE_SET "enable" 0.0; \
+ target: "field"#_pos; \
+ } \
+ program { name: "field_"#_pos"disabled"; \
+ signal: "field"#_pos",disable"; source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "field"#_pos; \
+ } \
+ }
+#define DATETIME_SEPARATOR(_pos, _after) \
+ part { \
+ name: "separator"#_pos; type: TEXT; \
+ scale: 1; \
+ effect: SHADOW BOTTOM; \
+ clip_to: "disclip"; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ min: 0 0; \
+ align: 0.0 0.5; \
+ fixed: 1 0; \
+ rel1 { \
+ relative: 1.0 0.0; \
+ to: "field"#_after; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: "field"#_after; \
+ } \
+ color: 255 255 255 255; \
+ color3: 0 0 0 128; \
+ color_class: "datetime_text"; \
+ text { \
+ font: "Sans"; size: 10; \
+ min: 1 0; \
+ align: 0.5 0.5; \
+ text_class: "datetime_text"; \
+ } \
+ } \
+ description { state: "enable" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ min: 8 10; \
+ } \
+ } \
+ part { \
+ name: "separator"#_pos"d"; type: TEXT; \
+ scale: 1; \
+ effect: SHADOW BOTTOM; \
+ clip_to: "disclip2"; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ rel1.to: "separator"#_pos; \
+ rel2.to: "separator"#_pos; \
+ color: 21 21 21 255; \
+ color3: 255 255 255 25; \
+ color_class: "datetime_text"; \
+ text { \
+ text_source: "separator"#_pos; \
+ font: "Sans"; size: 10; \
+ text_class: "datetime_text"; \
+ } \
+ } \
+ description { state: "enable" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ } \
+ programs { \
+ program { \
+ signal: "field"#_after",enable"; source: "elm"; \
+ action: STATE_SET "enable" 0.0; \
+ target: "separator"#_pos; \
+ target: "separator"#_pos"d"; \
+ } \
+ program { \
+ signal: "field"#_after",disable"; source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "separator"#_pos; \
+ target: "separator"#_pos"d"; \
+ } \
+ }
+group { name: "elm/datetime/base/default";
+ parts {
+ part { name: "disclip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "separator0";
+ rel2.to: "separator7";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "disclip2"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "separator0";
+ rel2.to: "separator7";
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "separator0"; type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 8 10;
+ align: 0.0 0.5;
+ fixed: 1 0;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ DATETIME_FIELD(0)
+ DATETIME_SEPARATOR(1,0)
+ DATETIME_FIELD(1)
+ DATETIME_SEPARATOR(2,1)
+ DATETIME_FIELD(2)
+ DATETIME_SEPARATOR(3,2)
+ DATETIME_FIELD(3)
+ DATETIME_SEPARATOR(4,3)
+ DATETIME_FIELD(4)
+ DATETIME_SEPARATOR(5,4)
+ DATETIME_FIELD(5)
+ DATETIME_SEPARATOR(6,5)
+ part { name: "separator7"; type: SPACER;
+ description { state: "default" 0.0;
+ rel1.to: "separator6";
+ rel1.relative: 1.0 0.0;
+ min: 8 10;
+ }
+ }
+ part { name: "discover"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "separator0";
+ rel2.to: "separator7";
+ visible: 0;
+ color: 0 0 0 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.access"; type: RECT; repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,state,disabled"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ target: "disclip2";
+ target: "discover";
+ }
+ program {
+ signal: "elm,state,enabled"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ target: "disclip2";
+ target: "discover";
+ }
+ }
+}
+#undef DATETIME_SEPARATOR
+#undef DATETIME_FIELD
diff --git a/data/themes/edc/elm/dayselector.edc b/data/themes/edc/elm/dayselector.edc
new file mode 100644
index 000000000..6bf5fc11a
--- /dev/null
+++ b/data/themes/edc/elm/dayselector.edc
@@ -0,0 +1,487 @@
+#define DAYSELECOR_DAY_POS_LEFT 1
+#define DAYSELECOR_DAY_POS_RIGHT 2
+#define DAYSELECOR_DAY_POS_MIDDLE 3
+#define DAYSELECOR_DAY_TYPE_WEEKDAY 1
+#define DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT 2
+#define DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1 3
+#define DAYSELECOR_DAY_STATE_DEFAULT 1
+#define DAYSELECOR_DAY_STATE_PRESSED 2
+#define DAYSELECOR_DAY_STATE_SELECTED 3
+
+#define DAYSELECTOR_DAY(_pos, _after)\
+ part {\
+ name: "day"#_pos;\
+ type: SWALLOW;\
+ scale: 1;\
+ clip_to: "clipper";\
+ description { state: "default" 0.0;\
+ visible: 0;\
+ min: 0 0;\
+ align: 0.0 0.5;\
+ fixed: 1 0;\
+ rel1 {\
+ relative: 1.0 0.0;\
+ to: "day"#_after;\
+ offset: 0 0;\
+ }\
+ rel2 {\
+ relative: 1.0 1.0;\
+ to: "day"#_after;\
+ }\
+ }\
+ description { state: "visible" 0.0;\
+ inherit: "default" 0.0;\
+ visible: 1;\
+ min: 48 32;\
+ }\
+ }\
+ programs{\
+ program {\
+ name: "day"#_pos"visible";\
+ signal: "day"#_pos",visible";\
+ source: "elm";\
+ action: STATE_SET "visible" 0.0;\
+ target: "day"#_pos;\
+ }\
+ program {\
+ name: "day"#_pos"notvisible";\
+ signal: "day"#_pos",default";\
+ source: "elm";\
+ action: STATE_SET "default" 0.0;\
+ target: "day"#_pos;\
+ }\
+ }
+
+group { name: "elm/dayselector/base/default";
+ parts {
+ part {
+ name: "day0";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ fixed: 1 0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: 48 32;
+ }
+ }
+ DAYSELECTOR_DAY(1, 0)
+ DAYSELECTOR_DAY(2, 1)
+ DAYSELECTOR_DAY(3, 2)
+ DAYSELECTOR_DAY(4, 3)
+ DAYSELECTOR_DAY(5, 4)
+ DAYSELECTOR_DAY(6, 5)
+ part {
+ name: "clipper";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "day0";
+ rel2.to: "day6";
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 185 185 185 185;
+ }
+ }
+ part {
+ name: "disabler";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "disble_dayselector";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "disabler";
+ target: "clipper";
+ }
+ program {
+ name: "enable_dayselector";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disabler";
+ target: "clipper";
+ }
+ program {
+ name: "day0_visible";
+ signal: "day0,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "day0";
+ }
+ program {
+ name: "day0_default";
+ signal: "day0,default";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "day0";
+ }
+ }
+}
+
+group { name: "elm/check/base/dayselector/default";
+ images {
+ image: "day_middle_normal.png" COMP;
+ image: "day_left_normal.png" COMP;
+ image: "day_right_normal.png" COMP;
+ image: "day_middle_press.png" COMP;
+ image: "day_middle_selected.png" COMP;
+ image: "day_left_press.png" COMP;
+ image: "day_left_selected.png" COMP;
+ image: "day_right_press.png" COMP;
+ image: "day_right_selected.png" COMP;
+ }
+ script {
+ public check_pos; // Left, Right, Middle.
+ public check_type; // Weekday, Weekend.
+ public check_state = DAYSELECOR_DAY_STATE_DEFAULT; // Default, Pressed, Selected.
+
+ public check_bg_show() {
+ if(get_int(check_pos) == DAYSELECOR_DAY_POS_LEFT) {
+ if(get_int(check_state) == DAYSELECOR_DAY_STATE_DEFAULT)
+ set_state(PART:"bg", "default_left", 0.0);
+ else if(get_int(check_state) == DAYSELECOR_DAY_STATE_PRESSED)
+ set_state(PART:"bg", "pressed_left", 0.0);
+ else if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
+ set_state(PART:"bg", "selected_left", 0.0);
+ }
+ else if(get_int(check_pos) == DAYSELECOR_DAY_POS_RIGHT) {
+ if(get_int(check_state) == DAYSELECOR_DAY_STATE_DEFAULT)
+ set_state(PART:"bg", "default_right", 0.0);
+ else if(get_int(check_state) == DAYSELECOR_DAY_STATE_PRESSED)
+ set_state(PART:"bg", "pressed_right", 0.0);
+ else if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
+ set_state(PART:"bg", "selected_right", 0.0);
+ }
+ else if(get_int(check_pos) == DAYSELECOR_DAY_POS_MIDDLE) {
+ if(get_int(check_state) == DAYSELECOR_DAY_STATE_DEFAULT)
+ set_state(PART:"bg", "default_middle", 0.0);
+ else if(get_int(check_state) == DAYSELECOR_DAY_STATE_PRESSED)
+ set_state(PART:"bg", "pressed_middle", 0.0);
+ else if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED)
+ set_state(PART:"bg", "selected_middle", 0.0);
+ }
+ }
+ public check_text_show() {
+ if(get_int(check_state) == DAYSELECOR_DAY_STATE_SELECTED) {
+ set_state(PART:"elm.text", "selected", 0.0);
+ set_state(PART:"text2", "selected", 0.0);
+ } else {
+ if(get_int(check_type) == DAYSELECOR_DAY_TYPE_WEEKDAY) {
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"text2", "default", 0.0);
+ } else if (get_int(check_type) ==
+ DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT) {
+ set_state(PART:"elm.text", "weekend_default", 0.0);
+ set_state(PART:"text2", "weekend_default", 0.0);
+ }
+ else if (get_int(check_type) == DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1) {
+ set_state(PART:"elm.text", "weekend_style1", 0.0);
+ set_state(PART:"text2", "weekend_style1", 0.0);
+ }
+ }
+ }
+ public check_text_pressed() {
+ set_state(PART:"elm.text", "pressed", 0.0);
+ set_state(PART:"text2", "default", 0.0);
+ }
+ }
+ parts {
+ part {
+ name: "bg";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "day_middle_normal.png";
+ border: 1 1 3 4;
+ }
+ }
+ /* default */
+ description { state: "default_left" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "day_left_normal.png";
+ border: 4 1 3 4;
+ }
+ }
+ description { state: "default_right" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "day_right_normal.png";
+ border: 1 4 3 5;
+ }
+ }
+ description { state: "default_middle" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "day_middle_normal.png";
+ border: 1 1 3 4;
+ }
+ }
+ /* pressed */
+ description { state: "pressed_left" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "day_left_press.png";
+ border: 5 1 4 5;
+ }
+ }
+ description { state: "pressed_right" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "day_right_press.png";
+ border: 1 5 4 5;
+ }
+ }
+ description { state: "pressed_middle" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "day_middle_press.png";
+ border: 2 1 4 7;
+ }
+ }
+ /* selected */
+ description { state: "selected_left" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "day_left_selected.png";
+ border: 5 1 4 5;
+ }
+ }
+ description { state: "selected_right" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "day_right_selected.png";
+ border: 1 5 4 5;
+ }
+ }
+ description { state: "selected_middle" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "day_middle_selected.png";
+ border: 2 1 4 7;
+ }
+ }
+ }
+ part {
+ name: "left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 5 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ part {
+ name: "right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 5 0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1.relative: 1.0 0.0;
+ }
+ }
+ part {
+ name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ effect: SHADOW BOTTOM;
+ description { state: "default" 0.0;
+ rel1 {
+ to: "left_padding";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "right_padding";
+ relative: 0.0 1.0;
+ }
+ text {
+ font: FN;
+ size: 10;
+ min: 1 1;
+ text_class: "button";
+ }
+ color: FN_COL_DEFAULT;
+ }
+ description { state: "weekend_default" 0.0;
+ inherit: "default" 0.0;
+ color: 175 175 175 255;
+ color3: 0 0 0 128;
+ visible: 1;
+ }
+ description { state: "weekend_style1" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ color3: 255 255 255 0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "text2";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ effect: GLOW;
+ description { state: "default" 0.0;
+ rel1.to: "elm.text";
+ rel1.offset: 0 -1;
+ rel2.to: "elm.text";
+ rel2.offset: -1 -2;
+ text {
+ font: FN;
+ size: 10;
+ min: 1 1;
+ text_source: "elm.text";
+ text_class: "button";
+ }
+ color: FN_COL_HIGHLIGHT;
+ visible: 0;
+ }
+ description { state: "weekend_default" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "weekend_style1" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ color2: 255 255 255 24;
+ color3: 255 255 255 18;
+ visible: 1;
+ }
+ }
+ part {
+ name: "events";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program { name: "check,pressed";
+ signal: "mouse,down,1"; source: "events";
+ script {
+ set_int(check_state, DAYSELECOR_DAY_STATE_PRESSED);
+ check_bg_show();
+ check_text_pressed();
+ }
+ }
+ program { name: "check,toggle";
+ signal: "mouse,up,1"; source: "events";
+ action: SIGNAL_EMIT "elm,action,check,toggle" "elm";
+ }
+ program { name: "check,on";
+ signal: "elm,state,check,on"; source: "elm";
+ script {
+ set_int(check_state, DAYSELECOR_DAY_STATE_SELECTED);
+ check_bg_show();
+ check_text_show();
+ }
+ }
+ program { name: "check,off";
+ signal: "elm,state,check,off"; source: "elm";
+ script {
+ set_int(check_state, DAYSELECOR_DAY_STATE_DEFAULT);
+ check_bg_show();
+ check_text_show();
+ }
+ }
+ program { name: "check,left";
+ signal: "elm,pos,check,left"; source: "elm";
+ script {
+ set_int(check_pos, DAYSELECOR_DAY_POS_LEFT);
+ check_bg_show();
+ }
+ }
+ program { name: "check,right";
+ signal: "elm,pos,check,right"; source: "elm";
+ script {
+ set_int(check_pos, DAYSELECOR_DAY_POS_RIGHT);
+ check_bg_show();
+ }
+ }
+ program { name: "check,middle";
+ signal: "elm,pos,check,middle"; source: "elm";
+ script {
+ set_int(check_pos, DAYSELECOR_DAY_POS_MIDDLE);
+ check_bg_show();
+ }
+ }
+ program { name: "check,weekday";
+ signal: "elm,type,weekday,default"; source: "elm";
+ script {
+ set_int(check_type, DAYSELECOR_DAY_TYPE_WEEKDAY);
+ check_text_show();
+ }
+ }
+ program { name: "check,weekend,default";
+ signal: "elm,type,weekend,default"; source: "elm";
+ script {
+ set_int(check_type, DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT);
+ check_text_show();
+ }
+ }
+ program { name: "check,weekend,style1";
+ signal: "elm,type,weekend,style1"; source: "elm";
+ script {
+ set_int(check_type, DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1);
+ check_text_show();
+ }
+ }
+ }
+}
+
+#undef DAYSELECOR_DAY_POS_LEFT
+#undef DAYSELECOR_DAY_POS_RIGHT
+#undef DAYSELECOR_DAY_POS_MIDDLE
+#undef DAYSELECOR_DAY_TYPE_WEEKDAY
+#undef DAYSELECOR_DAY_TYPE_WEEKEND_DEFAULT
+#undef DAYSELECOR_DAY_TYPE_WEEKEND_STYLE1
+#undef DAYSELECOR_DAY_STATE_DEFAULT
+#undef DAYSELECOR_DAY_STATE_PRESSED
+#undef DAYSELECOR_DAY_STATE_SELECTED
+#undef DAYSELECTOR_DAY
diff --git a/data/themes/edc/elm/diskselector.edc b/data/themes/edc/elm/diskselector.edc
new file mode 100644
index 000000000..72bfbd79e
--- /dev/null
+++ b/data/themes/edc/elm/diskselector.edc
@@ -0,0 +1,388 @@
+group { name: "elm/diskselector/base/default";
+ images {
+ image: "bar_shine.png" COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 25 25 25 255;
+ }
+ }
+ part { name: "shine_center";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "bar_shine.png";
+ color: 255 255 255 127;
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ rel1.offset: 2 2;
+ rel2.offset: -3 -3;
+ }
+ }
+ part { name: "elm.swallow.content";
+ clip_to: "clipper";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ }
+ }
+ }
+}
+
+group { name: "elm/diskselector/item/default";
+
+ data {
+ item: "len_threshold" "14";
+ item: "display_item_num" "3";
+ item: "min_height" "-1";
+ item: "min_width" "-1";
+ }
+
+ parts {
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 0 0;
+ offset: 1 1;
+ }
+ rel2 {
+ relative: 0 1;
+ offset: 1 -2;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: 10 10;
+ aspect: 1.0 1.0;
+ }
+ description { state: "default_small" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0 0.2;
+ rel2.relative: 0 0.8;
+ min: 10 10;
+ aspect: 1.0 1.0;
+ }
+ description { state: "left_side" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0 0.2;
+ rel2.relative: 0 0.8;
+ color: 255 255 255 160;
+ min: 10 10;
+ aspect: 1.0 1.0;
+ }
+ description { state: "right_side" 0.0;
+ inherit: "left_side" 0.0;
+ rel1.relative: 0.4 0.2;
+ rel2.relative: 0.4 0.8;
+ color: 255 255 255 160;
+ min: 10 10;
+ aspect: 1.0 1.0;
+ }
+ description { state: "icon_only" 0.0;
+ inherit: "default" 0.0;
+ align: 0.5 0.5;
+ rel1.relative: 0 0;
+ rel2.relative: 1 1;
+ min: 10 10;
+ aspect: 1.0 1.0;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.relative: 1 0.0;
+ rel1.to_x: "elm.swallow.icon";
+ rel2.relative: 1.0 1.0;
+ visible: 0;
+ text {
+ font: "Sans,Edje-Vera";
+ size: 10;
+ align: 0.5 0.5;
+ min: 0 1;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "default_small" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ text.size: 10;
+ }
+ description { state: "left_side" 0.0;
+ inherit: "default" 0.0;
+ color: 127 127 127 255;
+ text.size: 8;
+ visible: 1;
+ text.align: 0.2 0.5;
+ }
+ description { state: "right_side" 0.0;
+ inherit: "default" 0.0;
+ color: 127 127 127 255;
+ visible: 1;
+ text.size: 8;
+ text.align: 0.8 0.5;
+ }
+ description { state: "text_only" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1.relative: 0 0;
+ rel2.relative: 1 1;
+ }
+ description { state: "text_only_left_side" 0.0;
+ inherit: "left_side" 0.0;
+ rel1.relative: 0 0;
+ rel2.relative: 1 1;
+ }
+ description { state: "text_only_right_side" 0.0;
+ inherit: "right_side" 0.0;
+ visible: 1;
+ rel1.relative: 0 0;
+ rel2.relative: 1 1;
+ }
+ }
+ part { name: "over1";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+ script {
+ public item_style; // 0:icon and text, 1:text only, 2:con only
+ }
+ program { name: "center_text";
+ signal: "elm,state,center"; source: "elm";
+ script {
+ if (get_int(item_style) == 1)
+ set_state(PART:"elm.text", "text_only", 0.0);
+ else if (get_int(item_style) == 2)
+ set_state(PART:"elm.swallow.icon", "icon_only", 0.0);
+ else
+ {
+ set_state(PART:"elm.text", "show", 0.0);
+ set_state(PART:"elm.swallow.icon", "show", 0.0);
+ }
+ }
+ }
+ program { name: "center_small_text";
+ signal: "elm,state,center_small"; source: "elm";
+ action: STATE_SET "default_small" 0.0;
+ target: "elm.text";
+ target: "elm.swallow.icon";
+ }
+ program { name: "l_side_text";
+ signal: "elm,state,left_side"; source: "elm";
+ script {
+ if (get_int(item_style) == 1)
+ set_state(PART:"elm.text", "text_only_left_side", 0.0);
+ else if (get_int(item_style) == 2)
+ set_state(PART:"elm.swallow.icon", "left_side", 0.0);
+ else
+ {
+ set_state(PART:"elm.text", "left_side", 0.0);
+ set_state(PART:"elm.swallow.icon", "left_side", 0.0);
+ }
+ }
+ }
+ program { name: "r_side_text";
+ signal: "elm,state,right_side"; source: "elm";
+ script {
+ if (get_int(item_style) == 1)
+ set_state(PART:"elm.text", "text_only_right_side", 0.0);
+ else if (get_int(item_style) == 2)
+ set_state(PART:"elm.swallow.icon", "right_side", 0.0);
+ else
+ {
+ set_state(PART:"elm.text", "right_side", 0.0);
+ set_state(PART:"elm.swallow.icon", "right_side", 0.0);
+ }
+ }
+ }
+ program { name: "icon_only";
+ signal: "elm,state,icon,only"; source: "elm";
+ script {
+ set_state(PART:"elm.swallow.icon", "icon_only", 0.0);
+ set_int(item_style, 2);
+ }
+ }
+ program { name: "text_only";
+ signal: "elm,state,text,only"; source: "elm";
+ script {
+ set_state(PART:"elm.text", "text_only", 0.0);
+ set_int(item_style, 1);
+ }
+ }
+ program { name: "text_icon";
+ signal: "elm,state,text,icon"; source: "elm";
+ script {
+ set_int(item_style, 0);
+ }
+ }
+ program { name: "field_click";
+ signal: "mouse,clicked,1"; source: "over1";
+ action: SIGNAL_EMIT "elm,action,click" "elm";
+ }
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// diskselector item : datetime style
+///////////////////////////////////////////////////////////////////////////////
+group { name: "elm/diskselector/item/datetime/default";
+ data {
+ item: "len_threshold" "10";
+ item: "min_height" "-1";
+ item: "min_width" "-1";
+ }
+ parts {
+ part { name: "elm.text"; type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 10 10;
+ align: 0.0 0.0;
+ color: 172 172 172 255;
+ visible: 1;
+ text {
+ font: "Sans,Edje-Vera";
+ size: 10;
+ min: 1 1;
+ }
+ }
+ description { state: "center_sel" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "left_side" 0.0;
+ inherit: "default" 0.0;
+ color: 152 152 152 255;
+ text.align: 0.2 0.5;
+ }
+ description { state: "left_side_sel" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ text.align: 0.2 0.5;
+ }
+ description { state: "right_side" 0.0;
+ inherit: "default" 0.0;
+ color: 152 152 152 255;
+ text.align: 0.8 0.5;
+ }
+ description { state: "right_side_sel" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ text.align: 0.8 0.5;
+ }
+ }
+ part { name: "over1";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ script {
+ public field_pos; // center = 0,left = 1, right =2.
+ public field_selected; //field is selected(1) or not(0).
+
+ public update_state() {
+ new pos, is_sel;
+ pos = get_int(field_pos)
+ is_sel = get_int(field_selected);
+ if (is_sel == 1)
+ {
+ if (pos == 0)
+ set_state(PART:"elm.text", "center_sel", 0.0);
+ else if (pos == 1)
+ set_state(PART:"elm.text", "left_side_sel", 0.0);
+ else if (pos == 2)
+ set_state(PART:"elm.text", "right_side_sel", 0.0);
+ }
+ else if (is_sel == 0)
+ {
+ if (pos == 0)
+ set_state(PART:"elm.text", "default", 0.0);
+ else if (pos == 1)
+ set_state(PART:"elm.text", "left_side", 0.0);
+ else if (pos == 2)
+ set_state(PART:"elm.text", "right_side", 0.0);
+ }
+ }
+ }
+ program { name: "selected_text";
+ signal: "elm,state,selected"; source: "elm";
+ script {
+ set_int(field_selected, 1);
+ update_state();
+ }
+ }
+ program { name: "default_text";
+ signal: "elm,state,default"; source: "elm";
+ script {
+ set_int(field_selected, 0);
+ update_state();
+ }
+ }
+ program { name: "center_text";
+ signal: "elm,state,center"; source: "elm";
+ script {
+ set_int(field_pos, 0);
+ update_state();
+ }
+ }
+ program { name: "center_small_text";
+ signal: "elm,state,center_small"; source: "elm";
+ script {
+ set_int(field_pos, 0);
+ update_state();
+ }
+ }
+ program { name: "l_side_text";
+ signal: "elm,state,left_side"; source: "elm";
+ script {
+ set_int(field_pos, 1);
+ update_state();
+ }
+ }
+ program { name: "r_side_text";
+ signal: "elm,state,right_side"; source: "elm";
+ script {
+ set_int(field_pos, 2);
+ update_state();
+ }
+ }
+ program { name: "field_click";
+ signal: "mouse,clicked,1"; source: "over1";
+ action: SIGNAL_EMIT "elm,action,click" "elm";
+ }
+ }
+}
diff --git a/data/themes/edc/elm/entry.edc b/data/themes/edc/elm/entry.edc
new file mode 100644
index 000000000..239287dca
--- /dev/null
+++ b/data/themes/edc/elm/entry.edc
@@ -0,0 +1,1208 @@
+group { name: "elm/scroller/entry/default";
+ inherit: "elm/scroller/base/default";
+ image: "bg_glow_in.png" COMP;
+ parts {
+ part { name: "bg";
+ description { state: "default" 0.0;
+ color: DARK_GREY_BG_COLOR;
+ }
+ }
+ part { name: "elm.swallow.content";
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.icon";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 0 0;
+ rel2.to: "elm.swallow.end";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: -1 -1;
+ }
+ }
+ part { name: "elm.swallow.icon"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.offset: 1 1;
+ rel2.offset: 1 -2;
+ rel2.relative: 0.0 1.0;
+ visible: 0;
+ align: 1.0 0.0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.0;
+ }
+ }
+ program {
+ signal: "elm,action,show,icon"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.icon";
+ }
+ program {
+ signal: "elm,action,hide,icon"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.icon";
+ }
+ part { name: "elm.swallow.end"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.offset: -2 1;
+ rel1.relative: 1.0 0.0;
+ rel2.offset: -2 -2;
+ visible: 0;
+ align: 0.0 0.0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 1.0 0.0;
+ }
+ }
+ program {
+ signal: "elm,action,show,end"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.end";
+ }
+ program {
+ signal: "elm,action,hide,end"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.end";
+ }
+ part { name: "glow";
+ insert_after: "shadow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "bg_glow_in.png";
+ image.border: 7 7 7 7;
+ image.middle: 0;
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "focused2" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,action,focus_highlight,show"; source: "elm";
+ action: STATE_SET "focused" 0.0;
+ target: "glow";
+ after: "focus_in2";
+ }
+ program { name: "focus_in2";
+ action: STATE_SET "focused2" 0.0;
+ transition: DECELERATE 0.5;
+ target: "glow";
+ }
+ program {
+ signal: "elm,action,focus_highlight,hide"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.3;
+ target: "glow";
+ }
+ }
+}
+
+group { name: "elm/scroller/entry_single/default";
+ images.image: "bevel_in.png" COMP;
+ images.image: "inset_shadow.png" COMP;
+ image: "bg_glow_in.png" COMP;
+
+ data.item: "focus_highlight" "on";
+
+ parts {
+ part { name: "sb_vbar_base"; type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel2.relative: 1.0 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.dragable.vbar"; type: RECT;
+ dragable.x: 0 0 0;
+ dragable.y: 1 1 0;
+ dragable.confine: "sb_vbar_base";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 0.5 0.5;
+ rel1.to: "sb_vbar_base";
+ rel2.relative: 0.5 0.5;
+ rel2.to: "sb_vbar_base";
+ visible: 0;
+ }
+ }
+ part { name: "sb_hbar_base"; type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 1.0 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.dragable.hbar"; type: RECT;
+ dragable.x: 1 1 0;
+ dragable.y: 0 0 0;
+ dragable.confine: "sb_hbar_base";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 0.5 0.5;
+ rel1.to: "sb_hbar_base";
+ rel2.relative: 0.5 0.5;
+ rel2.to: "sb_hbar_base";
+ visible: 0;
+ }
+ }
+ part { name: "bg"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.background";
+ rel2.to: "elm.swallow.background";
+ color: DARK_GREY_BG_COLOR;
+ color_class: "scrollframe_base";
+ }
+ }
+ part { name: "clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.background";
+ rel2.to: "elm.swallow.background";
+ }
+ }
+ part { name: "elm.swallow.background"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.icon";
+ rel1.relative: 1.0 0.0;
+ rel2.to: "elm.swallow.end";
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ part { name: "elm.swallow.icon"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.offset: 1 1;
+ rel2.offset: 1 -2;
+ rel2.relative: 0.0 1.0;
+ visible: 0;
+ align: 1.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.5;
+ }
+ }
+ program {
+ signal: "elm,action,show,icon"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.icon";
+ }
+ program {
+ signal: "elm,action,hide,icon"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.icon";
+ }
+ part { name: "elm.swallow.end"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.offset: -2 1;
+ rel1.relative: 1.0 0.0;
+ rel2.offset: -2 -2;
+ visible: 0;
+ align: 0.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 1.0 0.5;
+ }
+ }
+ program {
+ signal: "elm,action,show,end"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.end";
+ }
+ program {
+ signal: "elm,action,hide,end"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.end";
+ }
+ part { name: "inset"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_in.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel1.offset: -1 -1;
+ rel2.to: "bg";
+ rel2.offset: 0 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ fill.smooth: 0;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "elm.swallow.overlay"; type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ }
+ }
+ part { name: "glow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "bg_glow_in.png";
+ image.border: 7 7 7 7;
+ image.middle: 0;
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "focused2" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,action,focus_highlight,show"; source: "elm";
+ action: STATE_SET "focused" 0.0;
+ target: "glow";
+ after: "focus_in2";
+ }
+ program { name: "focus_in2";
+ action: STATE_SET "focused2" 0.0;
+ transition: DECELERATE 0.5;
+ target: "glow";
+ }
+ program {
+ signal: "elm,action,focus_highlight,hide"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.3;
+ target: "glow";
+ }
+ }
+}
+
+group { name: "elm/entry/cursor/default";
+ min: 1 0;
+ images.image: "white_bar_vert_glow.png" COMP;
+ parts {
+ part { name: "cursor"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: -4 -4;
+ rel2.offset: 3 3;
+ image.normal: "white_bar_vert_glow.png";
+ image.border: 4 4 4 4;
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ min: 9 10;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,action,focus"; source: "elm";
+ action: ACTION_STOP;
+ target: "cursor_show";
+ target: "cursor_hide";
+ target: "cursor_show_timer";
+ target: "cursor_hide_timer";
+ after: "cursor_show";
+ }
+ program {
+ signal: "elm,action,unfocus"; source: "elm";
+ action: ACTION_STOP;
+ target: "cursor_show";
+ target: "cursor_hide";
+ target: "cursor_show_timer";
+ target: "cursor_hide_timer";
+ after: "cursor_hide_stop";
+ }
+ program { name: "cursor_hide_stop";
+ action: STATE_SET "default" 0.0;
+ target: "cursor";
+ }
+ program { name: "cursor_show";
+ action: STATE_SET "visible" 0.0;
+ target: "cursor";
+ after: "cursor_show_timer";
+ }
+ program { name: "cursor_hide";
+ action: STATE_SET "default" 0.0;
+ target: "cursor";
+ transition: SINUSOIDAL 0.2;
+ after: "cursor_hide_timer";
+ }
+ program { name: "cursor_show_timer";
+ in: 0.5 0.0;
+ after: "cursor_hide";
+ }
+ program { name: "cursor_hide_timer";
+ in: 0.2 0.0;
+ after: "cursor_show";
+ }
+ }
+}
+
+group { name: "elm/entry/selection/default";
+ parts {
+ part { name: "base"; type: RECT;
+ description { state: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/anchor/default";
+ images.image: "horizontal_separated_bar_small_glow.png" COMP;
+ parts {
+ part { name: "bar";
+ description { state: "default" 0.0;
+ image.normal: "horizontal_separated_bar_small_glow.png";
+ image.border: 4 4 4 4;
+ fill.smooth: 0;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: -3 -5;
+ rel2.offset: 2 4;
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/base/default";
+ sounds {
+ sample { name: "key-tap1" LOSSY 64;
+ source: "kbd-tap.wav";
+ }
+ sample { name: "key-tap2" LOSSY 64;
+ source: "kbd-tap2.wav";
+ }
+ sample { name: "key-tap3" LOSSY 64;
+ source: "kbd-tap3.wav";
+ }
+ sample { name: "key-tap4" LOSSY 64;
+ source: "kbd-tap4.wav";
+ }
+ sample { name: "key-tap5" LOSSY 64;
+ source: "kbd-tap5.wav";
+ }
+ }
+
+ styles {
+ style { name: "entry_style";
+ base: "font="FN" font_size=10 color=#ffffff style=shadow,bottom shadow_color=#00000080 wrap=word text_class=entry color_class=entry left_margin=2 right_margin=2";
+ tag: "em" "+ font_style=Oblique";
+ tag: "link" "+ color=#3399ff underline=on underline_color=#3399ff";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "preedit" "+ underline=on underline_color=#3399ff";
+ tag: "preedit_sel" "+ backing=on backing_color=#000000 color=#ffffff";
+ }
+ style { name: "entry_disabled_style";
+ base: "font="FN" font_size=10 color=#151515 style=shadow,bottom shadow_color=#ffffff19 wrap=word text_class=entry color_class=entry_disabled left_margin=2 right_margin=2";
+ tag: "em" "+ font_style=Oblique";
+ tag: "link" "+ color=#3399ff88 underline=on underline_color=#3399ff88";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "preedit" "+ underline=on underline_color=#3399ff88";
+ tag: "preedit_sel" "+ backing=on backing_color=#000 color=#888888";
+ }
+ style { name: "entry_guide_style";
+ base: "font="FN" font_size=10 color=#000000 style=shadow,bottom shadow_color=#ffffff19 wrap=word text_class=entry color_class=entry_guide left_margin=2 right_margin=2 ellipsis=0.0";
+ tag: "em" "+ font_style=Oblique";
+ tag: "hilight" "+ font_weight=Bold";
+ }
+ }
+// data.item: "context_menu_orientation" "horizontal";
+ parts {
+ part { name: "elm.guide"; type: TEXTBLOCK; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "elm.text";
+ rel2.to: "elm.text";
+ text { style: "entry_guide_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text"; type: TEXTBLOCK;
+ scale: 1;
+ entry_mode: EDITABLE;
+ select_mode: DEFAULT;
+// XXX: set BLOCK_HANDLE ONLY if in mobile mode...
+// select_mode: BLOCK_HANDLE;
+
+// select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 1;
+ source: "elm/entry/selection/default"; // selection under
+// source2: "X"; // selection over
+// source3: "X"; // cursor under
+ source4: "elm/entry/cursor/default"; // cursorover
+// source5: "elm/entry/anchor/default"; // anchor under
+ source6: "elm/entry/anchor/default"; // anchor over
+ source7: "elm/entry/handler/start/default";
+ source8: "elm/entry/handler/end/default";
+ description { state: "default" 0.0;
+ /* we gotta use 0 0 here, because of scrolled entries */
+ fixed: 0 0;
+ rel1.offset: 2 2;
+ rel2.offset: -3 -3;
+ text { style: "entry_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_disabled_style";
+ min: 0 1;
+ }
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "load"; source: "";
+ action: FOCUS_SET;
+ target: "elm.text";
+ }
+ program {
+ signal: "elm,state,disabled"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "elm.text";
+ }
+ program {
+ signal: "elm,state,enabled"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text";
+ }
+ program {
+ signal: "elm,guide,disabled"; source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "elm.guide";
+ }
+ program {
+ signal: "elm,guide,enabled"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.guide";
+ }
+ program { name: "key-down";
+ signal: "entry,keydown"; source: "elm.text";
+ script {
+ new buf[32];
+ snprintf(buf, 31, "key-down%i", (rand() % 5) + 1);
+ run_program(get_program_id(buf));
+ }
+ }
+ program { name: "key-down1";
+ action: PLAY_SAMPLE "key-tap1" 1.0;
+ }
+ program { name: "key-down2";
+ action: PLAY_SAMPLE "key-tap2" 1.0;
+ }
+ program { name: "key-down3";
+ action: PLAY_SAMPLE "key-tap3" 1.0;
+ }
+ program { name: "key-down4";
+ action: PLAY_SAMPLE "key-tap4" 1.0;
+ }
+ program { name: "key-down5";
+ action: PLAY_SAMPLE "key-tap5" 1.0;
+ }
+ }
+}
+
+group { name: "elm/entry/base-mixedwrap/default";
+ inherit: "elm/entry/base/default";
+ styles {
+ style { name: "entry_style_mixedwrap";
+ base: "font="FN" font_size=10 color=#ffffff style=shadow,bottom shadow_color=#00000080 wrap=mixed text_class=entry color_class=entry left_margin=2 right_margin=2";
+ tag: "em" "+ font_style=Oblique";
+ tag: "link" "+ color=#3399ff underline=on underline_color=#3399ff";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "preedit" "+ underline=on underline_color=#3399ff";
+ tag: "preedit_sel" "+ backing=on backing_color=#000000 color=#ffffff";
+ }
+ style { name: "entry_disabled_style_mixedwrap";
+ base: "font="FN" font_size=10 color=#151515 style=shadow,bottom shadow_color=#ffffff19 wrap=mixed text_class=entry color_class=entry_disabled left_margin=2 right_margin=2";
+ tag: "em" "+ font_style=Oblique";
+ tag: "link" "+ color=#3399ff88 underline=on underline_color=#3399ff88";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "preedit" "+ underline=on underline_color=#3399ff88";
+ tag: "preedit_sel" "+ backing=on backing_color=#000 color=#888888";
+ }
+ style { name: "entry_guide_style_mixedwrap";
+ base: "font="FN" font_size=10 color=#000000 style=shadow,bottom shadow_color=#ffffff19 wrap=mixed text_class=entry color_class=entry_guide left_margin=2 right_margin=2 ellipsis=0.0";
+ tag: "em" "+ font_style=Oblique";
+ tag: "hilight" "+ font_weight=Bold";
+ }
+ }
+ parts {
+ part { name: "elm.guide"; type: TEXTBLOCK; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "elm.text";
+ rel2.to: "elm.text";
+ text { style: "entry_guide_style_mixedwrap";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text";
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ text { style: "entry_style_mixedwrap";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_disabled_style_mixedwrap";
+ min: 0 1;
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/base-charwrap/default";
+ inherit: "elm/entry/base/default";
+ styles {
+ style { name: "entry_style_charwrap";
+ base: "font="FN" font_size=10 color=#ffffff style=shadow,bottom shadow_color=#00000080 wrap=char text_class=entry color_class=entry left_margin=2 right_margin=2";
+ tag: "em" "+ font_style=Oblique";
+ tag: "link" "+ color=#3399ff underline=on underline_color=#3399ff";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "preedit" "+ underline=on underline_color=#3399ff";
+ tag: "preedit_sel" "+ backing=on backing_color=#000000 color=#ffffff";
+ }
+ style { name: "entry_disabled_style_charwrap";
+ base: "font="FN" font_size=10 color=#151515 style=shadow,bottom shadow_color=#ffffff19 wrap=char text_class=entry color_class=entry_disabled left_margin=2 right_margin=2";
+ tag: "em" "+ font_style=Oblique";
+ tag: "link" "+ color=#3399ff88 underline=on underline_color=#3399ff88";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "preedit" "+ underline=on underline_color=#3399ff88";
+ tag: "preedit_sel" "+ backing=on backing_color=#000 color=#888888";
+ }
+ style { name: "entry_guide_style_charwrap";
+ base: "font="FN" font_size=10 color=#000000 style=shadow,bottom shadow_color=#ffffff19 wrap=char text_class=entry color_class=entry_guide left_margin=2 right_margin=2 ellipsis=0.0";
+ tag: "em" "+ font_style=Oblique";
+ tag: "hilight" "+ font_weight=Bold";
+ }
+ }
+ parts {
+ part { name: "elm.guide"; type: TEXTBLOCK; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "elm.text";
+ rel2.to: "elm.text";
+ text { style: "entry_guide_style_charwrap";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text";
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ text { style: "entry_style_charwrap";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_disabled_style_charwrap";
+ min: 0 1;
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/base-nowrap/default";
+ inherit: "elm/entry/base/default";
+ parts {
+ part { name: "elm.guide"; type: TEXTBLOCK; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "elm.text";
+ rel2.to: "elm.text";
+ text { style: "entry_guide_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text";
+ description { state: "default" 0.0;
+ text { style: "entry_style";
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_disabled_style";
+ min: 0 1;
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/base-single/default";
+ inherit: "elm/entry/base/default";
+ styles {
+ style { name: "entry_single_style";
+ base: "font="FN" font_size=10 color=#ffffff style=shadow,bottom shadow_color=#00000080 wrap=none text_class=entry color_class=entry left_margin=2 right_margin=2";
+ tag: "em" "+ font_style=Oblique";
+ tag: "link" "+ color=#3399ff underline=on underline_color=#3399ff";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "preedit" "+ underline=on underline_color=#3399ff";
+ tag: "preedit_sel" "+ backing=on backing_color=#000000 color=#ffffff";
+ }
+ style { name: "entry_single_disabled_style";
+ base: "font="FN" font_size=10 color=#151515 style=shadow,bottom shadow_color=#ffffff19 wrap=none text_class=entry color_class=entry_disabled left_margin=2 right_margin=2";
+ tag: "em" "+ font_style=Oblique";
+ tag: "link" "+ color=#3399ff88 underline=on underline_color=#3399ff88";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "preedit" "+ underline=on underline_color=#3399ff88";
+ tag: "preedit_sel" "+ backing=on backing_color=#000 color=#888888";
+ }
+ style { name: "entry_single_guide_style";
+ base: "font="FN" font_size=10 color=#000000 style=shadow,bottom shadow_color=#ffffff19 wrap=none text_class=entry color_class=entry_guide left_margin=2 right_margin=2 ellipsis=0.0";
+ tag: "em" "+ font_style=Oblique";
+ tag: "hilight" "+ font_weight=Bold";
+ }
+ }
+ parts {
+ part { name: "elm.guide"; type: TEXTBLOCK; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "elm.text";
+ rel2.to: "elm.text";
+ text { style: "entry_single_guide_style";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text";
+ multiline: 0;
+ description { state: "default" 0.0;
+ text { style: "entry_single_style";
+ min: 1 1;
+ max: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_single_disabled_style";
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/base-single-noedit/default";
+ inherit: "elm/entry/base/default";
+ parts {
+ part { name: "elm.text";
+ entry_mode: PLAIN;
+ multiline: 0;
+ source: "elm/entry/selection/default"; // selection under
+ source4: ""; // cursorover
+ source6: "elm/entry/anchor/default"; // anchor over
+ description { state: "default" 0.0;
+ text { style: "entry_single_style";
+ min: 1 1;
+ max: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_single_disabled_style";
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/base-noedit/default";
+ inherit: "elm/entry/base/default";
+ parts {
+ part { name: "elm.text";
+ entry_mode: PLAIN;
+ source: "elm/entry/selection/default"; // selection under
+ source4: ""; // cursorover
+ source6: "elm/entry/anchor/default"; // anchor over
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ text { style: "entry_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_disabled_style";
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/base-noedit-mixedwrap/default";
+ inherit: "elm/entry/base/default";
+ parts {
+ part { name: "elm.text";
+ entry_mode: PLAIN;
+ source: "elm/entry/selection/default"; // selection under
+ source4: ""; // cursorover
+ source6: "elm/entry/anchor/default"; // anchor over
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ text { style: "entry_style_mixedwrap";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_disabled_style_mixedwrap";
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/base-noedit-charwrap/default";
+ inherit: "elm/entry/base/default";
+ parts {
+ part { name: "elm.text";
+ entry_mode: PLAIN;
+ source: "elm/entry/selection/default"; // selection under
+ source4: ""; // cursorover
+ source6: "elm/entry/anchor/default"; // anchor under
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ text { style: "entry_style_charwrap";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_disabled_style_charwrap";
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/base-nowrap-noedit/default";
+ inherit: "elm/entry/base/default";
+ parts {
+ part { name: "elm.text";
+ entry_mode: PLAIN;
+ source: "elm/entry/selection/default"; // selection under
+ source4: ""; // cursorover
+ source6: "elm/entry/anchor/default"; // anchor under
+ description { state: "default" 0.0;
+ text { style: "entry_style";
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_disabled_style";
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/base-password/default";
+ inherit: "elm/entry/base/default";
+ parts {
+ part { name: "elm.guide"; type: TEXTBLOCK; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "elm.text";
+ rel2.to: "elm.text";
+ text { style: "entry_single_guide_style";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text";
+ entry_mode: PASSWORD;
+ multiline: 0;
+ source: "elm/entry/selection/default"; // selection under
+ source4: "elm/entry/cursor/default"; // cursorover
+ source6: "elm/entry/anchor/default"; // anchor under
+ description { state: "default" 0.0;
+ text { style: "entry_single_style";
+ repch: "*";
+ min: 1 1;
+ max: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text { style: "entry_single_disabled_style";
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/magnifier/default";
+ images.image: "frame_rounded.png" COMP;
+ parts {
+ part { name: "bg"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: 10 10;
+ rel1.to: "over";
+ rel2.offset: -11 -11;
+ rel2.to: "over";
+ color: 48 48 48 255;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: 10 10;
+ rel1.to: "over";
+ rel2.offset: -11 -11;
+ rel2.to: "over";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "over"; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 128 64;
+ image.normal: "frame_rounded.png";
+ image.border: 14 14 14 14;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program { name: "magnifier_show";
+ signal: "elm,action,show,magnifier"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ target: "bg";
+ target: "over";
+ }
+ program { name: "magnifier_hide";
+ signal: "elm,action,hide,magnifier"; source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "elm.swallow.content";
+ target: "bg";
+ target: "over";
+ }
+ }
+}
+
+group { name: "elm/entry/handler/start/default";
+ images.image: "handle_pick_up_left.png" COMP;
+ parts {
+ part { name: "base"; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 21 27; // 42 54
+ image.normal: "handle_pick_up_left.png";
+ align: (29/42) (11/54);
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "event"; type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1.to: "base";
+ rel2.to: "base";
+ min: 32 32;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "edje,handler,show"; source: "edje";
+ action: STATE_SET "visible" 0.0;
+ target: "base";
+ target: "event";
+ }
+ program {
+ signal: "edje,handler,hide"; source: "edje";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "event";
+ }
+ }
+}
+
+group { name: "elm/entry/handler/end/default";
+ images.image: "handle_pick_up_right.png" COMP;
+ parts {
+ part { name: "base"; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 21 27; // 42 54
+ image.normal: "handle_pick_up_right.png";
+ align: (12/42) (11/54);
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "event"; type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1.to: "base";
+ rel2.to: "base";
+ min: 32 32;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "edje,handler,show"; source: "edje";
+ action: STATE_SET "visible" 0.0;
+ target: "base";
+ target: "event";
+ }
+ program {
+ signal: "edje,handler,hide"; source: "edje";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "event";
+ }
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// emoticon images from:
+// Tanya - Latvia
+// http://lazycrazy.deviantart.com/
+// http://lazycrazy.deviantart.com/art/Very-Emotional-Emoticons-144461621
+group { name: "elm/entry/emoticon/angry/default"; images.image:
+ "emo-angry.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-angry.png"; } } } }
+group { name: "elm/entry/emoticon/angry-shout/default"; images.image:
+ "emo-angry-shout.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-angry-shout.png"; } } } }
+group { name: "elm/entry/emoticon/crazy-laugh/default"; images.image:
+ "emo-crazy-laugh.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-crazy-laugh.png"; } } } }
+group { name: "elm/entry/emoticon/evil-laugh/default"; images.image:
+ "emo-evil-laugh.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-evil-laugh.png"; } } } }
+group { name: "elm/entry/emoticon/evil/default"; images.image:
+ "emo-evil.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-evil.png"; } } } }
+group { name: "elm/entry/emoticon/goggle-smile/default"; images.image:
+ "emo-goggle-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-goggle-smile.png"; } } } }
+group { name: "elm/entry/emoticon/grumpy/default"; images.image:
+ "emo-grumpy.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-grumpy.png"; } } } }
+group { name: "elm/entry/emoticon/grumpy-smile/default"; images.image:
+ "emo-grumpy-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-grumpy-smile.png"; } } } }
+group { name: "elm/entry/emoticon/guilty/default"; images.image:
+ "emo-guilty.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-guilty.png"; } } } }
+group { name: "elm/entry/emoticon/guilty-smile/default"; images.image:
+ "emo-guilty-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-guilty-smile.png"; } } } }
+group { name: "elm/entry/emoticon/haha/default"; images.image:
+ "emo-haha.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-haha.png"; } } } }
+group { name: "elm/entry/emoticon/half-smile/default"; images.image:
+ "emo-half-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-half-smile.png"; } } } }
+group { name: "elm/entry/emoticon/happy-panting/default"; images.image:
+ "emo-happy-panting.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-happy-panting.png"; } } } }
+group { name: "elm/entry/emoticon/happy/default"; images.image:
+ "emo-happy.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-happy.png"; } } } }
+group { name: "elm/entry/emoticon/indifferent/default"; images.image:
+ "emo-indifferent.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-indifferent.png"; } } } }
+group { name: "elm/entry/emoticon/kiss/default"; images.image:
+ "emo-kiss.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-kiss.png"; } } } }
+group { name: "elm/entry/emoticon/knowing-grin/default"; images.image:
+ "emo-knowing-grin.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-knowing-grin.png"; } } } }
+group { name: "elm/entry/emoticon/laugh/default"; images.image:
+ "emo-laugh.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-laugh.png"; } } } }
+group { name: "elm/entry/emoticon/little-bit-sorry/default"; images.image:
+ "emo-little-bit-sorry.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-little-bit-sorry.png"; } } } }
+group { name: "elm/entry/emoticon/love-lots/default"; images.image:
+ "emo-love-lots.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-love-lots.png"; } } } }
+group { name: "elm/entry/emoticon/love/default"; images.image:
+ "emo-love.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-love.png"; } } } }
+group { name: "elm/entry/emoticon/minimal-smile/default"; images.image:
+ "emo-minimal-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-minimal-smile.png"; } } } }
+group { name: "elm/entry/emoticon/not-happy/default"; images.image:
+ "emo-not-happy.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-not-happy.png"; } } } }
+group { name: "elm/entry/emoticon/not-impressed/default"; images.image:
+ "emo-not-impressed.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-not-impressed.png"; } } } }
+group { name: "elm/entry/emoticon/omg/default"; images.image:
+ "emo-omg.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-omg.png"; } } } }
+group { name: "elm/entry/emoticon/opensmile/default"; images.image:
+ "emo-opensmile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-opensmile.png"; } } } }
+group { name: "elm/entry/emoticon/smile/default"; images.image:
+ "emo-smile.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-smile.png"; } } } }
+group { name: "elm/entry/emoticon/sorry/default"; images.image:
+ "emo-sorry.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-sorry.png"; } } } }
+group { name: "elm/entry/emoticon/squint-laugh/default"; images.image:
+ "emo-squint-laugh.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-squint-laugh.png"; } } } }
+group { name: "elm/entry/emoticon/surprised/default"; images.image:
+ "emo-surprised.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-surprised.png"; } } } }
+group { name: "elm/entry/emoticon/suspicious/default"; images.image:
+ "emo-suspicious.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-suspicious.png"; } } } }
+group { name: "elm/entry/emoticon/tongue-dangling/default"; images.image:
+ "emo-tongue-dangling.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-tongue-dangling.png"; } } } }
+group { name: "elm/entry/emoticon/tongue-poke/default"; images.image:
+ "emo-tongue-poke.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-tongue-poke.png"; } } } }
+group { name: "elm/entry/emoticon/uh/default"; images.image:
+ "emo-uh.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-uh.png"; } } } }
+group { name: "elm/entry/emoticon/unhappy/default"; images.image:
+ "emo-unhappy.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-unhappy.png"; } } } }
+group { name: "elm/entry/emoticon/very-sorry/default"; images.image:
+ "emo-very-sorry.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-very-sorry.png"; } } } }
+group { name: "elm/entry/emoticon/what/default"; images.image:
+ "emo-what.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-what.png"; } } } }
+group { name: "elm/entry/emoticon/wink/default"; images.image:
+ "emo-wink.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-wink.png"; } } } }
+group { name: "elm/entry/emoticon/worried/default"; images.image:
+ "emo-worried.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-worried.png"; } } } }
+group { name: "elm/entry/emoticon/wtf/default"; images.image:
+ "emo-wtf.png" COMP; parts { part { name: "icon"; mouse_events: 0; description { state: "default" 0.0; max: 64 64; image.normal:
+ "emo-wtf.png"; } } } }
+//------------------------------------------------------------
diff --git a/data/themes/edc/elm/fileselector.edc b/data/themes/edc/elm/fileselector.edc
new file mode 100644
index 000000000..471aca750
--- /dev/null
+++ b/data/themes/edc/elm/fileselector.edc
@@ -0,0 +1,204 @@
+group { name: "elm/entry/path/separator/default";
+ images.image: "sym_right_glow_normal.png" COMP;
+ parts {
+ part { name: "icon"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "sym_right_glow_normal.png";
+ FIXED_SIZE(15, 15)
+ aspect: 1.0 1.0;
+ }
+ }
+ }
+}
+
+group { name: "elm/fileselector/base/default";
+ data.item: "path_separator" "<item relsize=15x15 vsize=full href=path/separator></item>";
+ parts {
+ part { name: "elm.swallow.up"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ min: 5 5;
+ rel1.offset: 3 3;
+ rel2.relative: 0.0 0.0;
+ rel2.offset: 3 3;
+ }
+ }
+ part { name: "elm.swallow.home"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ min: 5 5;
+ rel1 {
+ to: "elm.swallow.up";
+ relative: 1.0 0.0;
+ offset: 3 0;
+ }
+ rel2 {
+ to: "elm.swallow.up";
+ relative: 1.0 1.0;
+ offset: 3 -1;
+ }
+ }
+ }
+ part { name: "elm.spinner.clip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.spinner";
+ rel2.to: "elm.swallow.spinner";
+ color: 255 255 255 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "elm.swallow.spinner"; type: SWALLOW;
+ clip_to: "elm.spinner.clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ min: 5 5;
+ rel1.relative: 1.0 0.0;
+ rel1.offset: -4 3;
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -4 3;
+ }
+ }
+ part { name: "elm.swallow.files"; type: SWALLOW;
+ description { state: "default" 0.0;
+ align: 1.0 0.0;
+ min: 10 10;
+ rel1 {
+ to_y: "elm.swallow.home";
+ relative: 0.0 1.0;
+ offset: 3 3;
+ }
+ rel2 {
+ to_y: "elm.swallow.path";
+ relative: 1.0 0.0;
+ offset: -4 -4;
+ }
+ }
+ }
+ part { name: "elm.swallow.path"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ rel1 {
+ to_y: "elm.swallow.filename";
+ relative: 0.0 0.0;
+ offset: 3 -4;
+ }
+ rel2 {
+ to_y: "elm.swallow.filename";
+ relative: 1.0 0.0;
+ offset: -4 -4;
+ }
+ }
+ }
+ part { name: "elm.swallow.filename"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ rel1 {
+ to_y: "elm.swallow.filters";
+ relative: 0.0 0.0;
+ offset: 3 -4;
+ }
+ rel2 {
+ to_y: "elm.swallow.filters";
+ relative: 1.0 0.0;
+ offset: -4 -4;
+ }
+ }
+ }
+ part { name: "elm.swallow.filters"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ rel1 {
+ to_y: "elm.swallow.ok";
+ relative: 1.0 0.0;
+ offset: -4 -4;
+ }
+ rel2 {
+ to_y: "elm.swallow.ok";
+ relative: 1.0 0.0;
+ offset: -4 -4;
+ }
+ }
+ }
+ part { name: "elm.swallow.cancel"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ rel1 {
+ to: "elm.swallow.ok";
+ relative: 0.0 0.0;
+ offset: -4 0;
+ }
+ rel2 {
+ to: "elm.swallow.ok";
+ relative: 0.0 1.0;
+ offset: -4 -1;
+ }
+ }
+ }
+ part { name: "elm.swallow.ok"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ rel1.relative: 1.0 1.0;
+ rel1.offset: -4 -4;
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -4 -4;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,action,spinner,show"; source: "elm";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.2;
+ target: "elm.spinner.clip";
+ }
+ program {
+ signal: "elm,action,spinner,hide"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.5 CURRENT;
+ target: "elm.spinner.clip";
+ }
+// program {
+// signal: "elm,state,save,on"; source: "elm";
+// }
+// program {
+// signal: "elm,state,save,off"; source: "elm";
+// }
+ }
+}
+
+group { name: "elm/fileselector_entry/base/default";
+ parts {
+ part { name: "elm.swallow.entry"; type: SWALLOW;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ min: 50 10;
+ rel2 { to_x: "elm.swallow.button";
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ }
+ }
+ }
+ part { name: "elm.swallow.button"; type: SWALLOW;
+ description { state: "default" 0.0;
+ align: 1.0 0.0;
+ min: 10 10;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -21 0;
+ }
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/elm/flipselector.edc b/data/themes/edc/elm/flipselector.edc
new file mode 100644
index 000000000..9087f678c
--- /dev/null
+++ b/data/themes/edc/elm/flipselector.edc
@@ -0,0 +1,558 @@
+#define FLIP_PICKER_MAX_LEN (50)
+#define FLIP_PICKER_MAX_LEN_STR "50"
+
+group { name: "elm/flipselector/base/default";
+ images.image: "flip_shad.png" COMP;
+ images.image: "sym_up_light_normal.png" COMP;
+ images.image: "sym_down_light_normal.png" COMP;
+ images.image: "sym_up_dark_normal.png" COMP;
+ images.image: "sym_down_dark_normal.png" COMP;
+ images.image: "shine.png" COMP;
+ images.image: "win_shadow.png" COMP;
+ images.image: "bevel_out.png" COMP;
+
+ data.item: "max_len" FLIP_PICKER_MAX_LEN_STR;
+
+ //FIXME: quick successive clicks on, say, up, lead to nastiness
+ script {
+ public cur, prev, next, lock;
+
+  flip_up(str[]) {
+ new tmp[FLIP_PICKER_MAX_LEN];
+ if (get_int(lock) == 1) {
+ replace_str(next, 0, str);
+ return;
+ }
+ fetch_str(cur, 0, tmp, FLIP_PICKER_MAX_LEN);
+
+ set_text(PART:"bottom_text_prev", tmp);
+ set_state(PART:"elm.top", "shrink", 0.0);
+ set_text(PART:"elm.top", tmp);
+ set_state(PART:"elm.top", "default", 0.0);
+ set_text(PART:"elm.top", tmp);
+
+ replace_str(prev, 0, tmp);
+
+ set_state(PART:"elm.bottom", "default", 0.0);
+ set_text(PART:"elm.bottom", str);
+ set_state(PART:"elm.bottom", "shrink", 0.0);
+ set_text(PART:"elm.bottom", str);
+ set_text(PART:"top_text_prev", str);
+
+ replace_str(cur, 0, str);
+
+ set_state(PART:"bottom_cur", "shrink", 0.0);
+ set_state(PART:"top_cur", "default", 0.0);
+
+ set_int(lock, 1);
+ set_state(PART:"bottom_shadow", "default", 0.0);
+ anim(0.2, "animator_top_down", 1);
+ }
+  flip_dn(str[]) {
+ new tmp[FLIP_PICKER_MAX_LEN];
+ if (get_int(lock) == 1) {
+ replace_str(next, 0, str);
+ return;
+ }
+
+ fetch_str(cur, 0, tmp, FLIP_PICKER_MAX_LEN);
+
+ set_text(PART:"top_text_prev", tmp);
+ set_state(PART:"elm.bottom", "shrink", 0.0);
+ set_text(PART:"elm.bottom", tmp);
+ set_state(PART:"elm.bottom", "default", 0.0);
+ set_text(PART:"elm.bottom", tmp);
+
+ replace_str(prev, 0, tmp);
+
+ set_state(PART:"elm.top", "default", 0.0);
+ set_text(PART:"elm.top", str);
+ set_state(PART:"elm.top", "shrink", 0.0);
+ set_text(PART:"elm.top", str);
+ set_text(PART:"bottom_text_prev", str);
+
+ replace_str(cur, 0, str);
+
+ set_state(PART:"bottom_cur", "default", 0.0);
+ set_state(PART:"top_cur", "shrink", 0.0);
+
+ set_int(lock, 1);
+ set_state(PART:"bottom_shadow", "full", 0.0);
+ anim(0.2, "animator_bottom_up", 1);
+ }
+ public animator_bottom_down(val, Float:pos) {
+ new tmp[FLIP_PICKER_MAX_LEN];
+
+ set_tween_state(PART:"elm.bottom", pos, "shrink", 0.0, "default", 0.0);
+ set_tween_state(PART:"bottom_cur", pos, "shrink", 0.0, "default", 0.0);
+ set_tween_state(PART:"bottom_shadow", pos, "half", 0.0, "full", 0.0);
+ set_state(PART:"bottom_shine_cur", "visible", 0.0);
+
+ if (pos >= 1.0) {
+ set_state(PART:"bottom_shadow", "default", 0.0);
+ set_state(PART:"bottom_shine_cur", "default", 0.0);
+ set_int(lock, 0);
+ fetch_str(next, 0, tmp, FLIP_PICKER_MAX_LEN);
+ if (strncmp(tmp, "", FLIP_PICKER_MAX_LEN) != 0) {
+ replace_str(next, 0, "");
+ flip_up(tmp);
+ }
+ }
+ }
+ public animator_top_down(val, Float:pos) {
+ set_tween_state(PART:"elm.top", pos, "default", 0.0, "shrink", 0.0);
+ set_tween_state(PART:"top_cur", pos, "default", 0.0, "shrink", 0.0);
+ set_tween_state(PART:"bottom_shadow", pos, "default", 0.0, "half",
+ 0.0);
+ if (pos >= 1.0)
+ {
+ set_state(PART:"top_shine_cur", "default", 0.0);
+ anim(0.2, "animator_bottom_down", val);
+ }
+ }
+ public animator_bottom_up(val, Float:pos) {
+ set_tween_state(PART:"elm.bottom", pos, "default", 0.0, "shrink", 0.0);
+ set_tween_state(PART:"bottom_cur", pos, "default", 0.0, "shrink", 0.0);
+ set_tween_state(PART:"bottom_shadow", pos, "full", 0.0, "half", 0.0);
+
+ if (pos >= 1.0) anim(0.2, "animator_top_up", val);
+ }
+ public animator_top_up(val, Float:pos) {
+ new tmp[FLIP_PICKER_MAX_LEN];
+
+ set_tween_state(PART:"elm.top", pos, "shrink", 0.0, "default", 0.0);
+ set_tween_state(PART:"top_cur", pos, "shrink", 0.0, "default", 0.0);
+ set_tween_state(PART:"bottom_shadow", pos, "half", 0.0, "default",
+ 0.0);
+ set_state(PART:"top_shine_cur", "visible", 0.0);
+
+ if (pos >= 1.0) {
+ set_state(PART:"bottom_shadow", "default", 0.0);
+ set_int(lock, 0);
+
+ fetch_str(next, 0, tmp, FLIP_PICKER_MAX_LEN);
+ if (strncmp(tmp, "", FLIP_PICKER_MAX_LEN) != 0) {
+ replace_str(next, 0, "");
+ flip_dn(tmp);
+ }
+ }
+ }
+ public message(Msg_Type:type, id, ...) {
+ /* flip down */
+ if ((type == MSG_STRING) && (id == 1)) {
+ new value[FLIP_PICKER_MAX_LEN];
+ snprintf(value, FLIP_PICKER_MAX_LEN, "%s", getarg(2));
+ flip_up(value);
+ /* flip up */
+ } else if ((type == MSG_STRING) && (id == 2)) {
+ new value[FLIP_PICKER_MAX_LEN];
+ snprintf(value, FLIP_PICKER_MAX_LEN, "%s", getarg(2));
+ flip_dn(value);
+ }
+ }
+ }
+ parts {
+ part { name: "base_shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "win_shadow.png";
+ image.border: 14 14 14 14;
+ image.middle: 0;
+ rel1.to: "base";
+ rel1.offset: -7 -3;
+ rel2.to: "base";
+ rel2.offset: 6 11;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "base"; type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.offset: 6 6;
+ rel2.offset: -7 -7;
+ }
+ }
+ part { name: "bottom"; type: RECT;
+ description { state: "default" 0.0;
+ rel1 { to: "base"; relative: 0.0 0.5; }
+ rel2.to: "base";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "top"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2 { to: "base"; relative: 1.0 0.5; }
+ color: 0 0 0 0;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "bottom_prev";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ color: 72 72 72 255;
+ }
+ }
+ part { name: "bottom_text_prev"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ clip_to: "bottom_clipper";
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_x: "base";
+ rel1.to_y: "arrow_top";
+ rel1.relative: 0.0 0.7;
+ rel1.offset: 2 0;
+ rel2.to: "base";
+ rel2.to_y: "arrow_bottom";
+ rel2.relative: 1.0 0.3;
+ rel2.offset: -3 -1;
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ }
+ color: FN_COL_DEFAULT;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: FN_COL_DISABLE;
+ }
+ }
+ part { name: "bottom_shadow"; mouse_events: 0;
+ clip_to: "bottom_clipper";
+ description { state: "default" 0.0;
+ rel1.to: "bottom";
+ rel2 { to: "bottom"; relative: 1.0 0.0; }
+ image.normal: "flip_shad.png";
+ fill.smooth: 0;
+ }
+ description { state: "half" 0.0;
+ inherit: "default" 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ description { state: "full" 0.0;
+ inherit: "default" 0.0;
+ rel2.relative: 1.0 2.0;
+ }
+ }
+ part { name: "bottom_cur"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ color: 72 72 72 255;
+ }
+ description { state: "shrink" 0.0;
+ inherit: "default" 0.0;
+ rel2.relative: 1.0 0.0;
+ }
+ }
+ part { name: "bottom_shine_cur"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { to: "bottom_cur"; relative: 0 1; }
+ rel2.to: "bottom_cur";
+ image.normal: "shine.png";
+ min: 0 1;
+ fixed: 0 1;
+ align: 0.5 1;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.bottom"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ clip_to: "bottom_clipper";
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_x: "base";
+ rel1.to_y: "arrow_top";
+ rel1.relative: 0.0 0.7;
+ rel1.offset: 2 0;
+ rel2.to: "base";
+ rel2.to_y: "arrow_bottom";
+ rel2.relative: 1.0 0.3;
+ rel2.offset: -3 -1;
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ }
+ color: FN_COL_DEFAULT;
+ }
+ description { state: "shrink" 0.0;
+ inherit: "default" 0.0;
+ color: 128 128 128 255;
+ visible: 0;
+ rel2.relative: 1.0 0.5; /* FIXME: same visual effect? --> MAP! */
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: FN_COL_DISABLE;
+ }
+ }
+ part { name: "top_prev"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ color: 56 56 56 255;
+ }
+ }
+ part { name: "top_text_prev"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ clip_to: "top_clipper";
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_x: "base";
+ rel1.to_y: "arrow_top";
+ rel1.relative: 0.0 0.7;
+ rel1.offset: 2 0;
+ rel2.to: "base";
+ rel2.to_y: "arrow_bottom";
+ rel2.relative: 1.0 0.3;
+ rel2.offset: -3 -1;
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ source: "elm.top";
+ }
+ color: 192 192 192 255;
+ color3: 0 0 0 128;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 16 16 16 255;
+ color3: 255 255 255 25;
+ }
+ }
+ part { name: "top_shine_prev"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "top_prev";
+ rel2 { to: "top_prev"; relative: 1 0; }
+ image.normal: "shine.png";
+ min: 0 1;
+ fixed: 0 1;
+ align: 0.5 0;
+ }
+ }
+ part { name: "top_cur"; type: RECT; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ color: 56 56 56 255;
+ }
+ description { state: "shrink" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ color: 40 40 40 255;
+ }
+ }
+ part { name: "elm.top"; type: TEXT; mouse_events: 0;
+ effect: SHADOW BOTTOM;
+ clip_to: "top_clipper";
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel1.offset: 2 2;
+ rel2.to: "base";
+ rel2.offset: -3 -3;
+ text { font: FN; size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ }
+ color: 192 192 192 255;
+ color3: 0 0 0 128;
+ }
+ description { state: "shrink" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ rel1.relative: 0.0 0.5;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 16 16 16 255;
+ color3: 255 255 255 25;
+ }
+ }
+ part { name: "top_shine_cur"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "top_cur";
+ rel2 { to: "top_cur"; relative: 1 0; }
+ image.normal: "shine.png";
+ min: 0 1;
+ fixed: 0 1;
+ align: 0.5 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "bevel"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bevel_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ rel1.to: "base";
+ rel2.to: "base";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "arrow_top"; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 15 15;
+ max: 15 15;
+ align: 0.5 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ image.normal: "sym_up_light_normal.png";
+ color: 192 192 192 255;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_up_dark_normal.png";
+ }
+ }
+ part { name: "arrow_bottom"; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 15 15;
+ max: 15 15;
+ align: 0.5 1.0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ image.normal: "sym_down_light_normal.png";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "sym_down_dark_normal.png";
+ }
+ }
+ part { name: "top_clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "top";
+ rel2.to: "top";
+ }
+ }
+ part { name: "bottom_clipper"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ }
+ }
+ part { name: "event_blocker"; type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "load"; source: "";
+ script {
+ append_str(cur, "");
+ append_str(prev, "");
+ append_str(next, "");
+ set_int(lock, 0);
+ }
+ }
+ program {
+ signal: "elm,state,button,hidden"; source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "arrow_top";
+ target: "arrow_bottom";
+ target: "top";
+ target: "bottom";
+ }
+ program {
+ signal: "elm,state,button,visible"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "arrow_top";
+ target: "arrow_bottom";
+ target: "top";
+ target: "bottom";
+ }
+ program { name: "up";
+ signal: "mouse,down,1"; source: "top";
+ action: SIGNAL_EMIT "elm,action,up,start" "elm";
+ }
+ program { name: "up,stop";
+ signal: "mouse,up,1"; source: "top";
+ action: SIGNAL_EMIT "elm,action,up,stop" "elm";
+ }
+ program { name: "down";
+ signal: "mouse,down,1"; source: "bottom";
+ action: SIGNAL_EMIT "elm,action,down,start" "elm";
+ }
+ program { name: "down,stop";
+ signal: "mouse,up,1"; source: "bottom";
+ action: SIGNAL_EMIT "elm,action,down,stop" "elm";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled"; source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ set_state(PART:"event_blocker", "disabled", 0.0);
+ set_state(PART:"elm.bottom", "disabled", 0.0);
+ set_state(PART:"elm.top", "disabled", 0.0);
+ set_state(PART:"bottom_text_prev", "disabled", 0.0);
+ set_state(PART:"top_text_prev", "disabled", 0.0);
+
+ get_state(PART:"arrow_bottom", st, 30, vl);
+ if (strcmp(st, "hidden"))
+ set_state(PART:"arrow_bottom", "disabled", 0.0);
+
+ get_state(PART:"arrow_top", st, 30, vl);
+ if (strcmp(st, "hidden"))
+ set_state(PART:"arrow_top", "disabled", 0.0);
+
+ get_state(PART:"top_cur", st, 30, vl);
+ if (strcmp(st, "shrink"))
+ set_state(PART:"top_shine_cur", "visible", 0.0);
+ }
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled"; source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ set_state(PART:"event_blocker", "default", 0.0);
+ set_state(PART:"elm.bottom", "default", 0.0);
+ set_state(PART:"elm.top", "default", 0.0);
+ set_state(PART:"bottom_text_prev", "default", 0.0);
+ set_state(PART:"top_text_prev", "default", 0.0);
+
+ get_state(PART:"arrow_bottom", st, 30, vl);
+ if (strcmp(st, "hidden"))
+ set_state(PART:"arrow_bottom", "default", 0.0);
+
+ get_state(PART:"arrow_top", st, 30, vl);
+ if (strcmp(st, "hidden"))
+ set_state(PART:"arrow_top", "default", 0.0);
+ }
+ }
+ }
+}
diff --git a/data/themes/edc/elm/focus.edc b/data/themes/edc/elm/focus.edc
new file mode 100644
index 000000000..4e9563bfe
--- /dev/null
+++ b/data/themes/edc/elm/focus.edc
@@ -0,0 +1,152 @@
+group { name: "elm/focus_highlight/top/default";
+ images.image: "box_glow.png" COMP;
+ images.image: "box_outline.png" COMP;
+ data.item: "animate" "on";
+ script {
+ public s_x, s_y, s_w, s_h; /* source */
+ public difx, dify, difw, difh;
+
+ public animator1(val, Float:pos) {
+ new x, y, w, h, dx, dy, dw, dh, Float:p;
+ p = 1.0 - ((1.0 - pos) * (1.0 - pos) * (1.0 -