2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.tizenopensource.org/license
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include "browser-macro.edc"
20 ////////////////////////////////////////////////////////////////////////////////////////
22 ////////////////////////////////////////////////////////////////////////////////////////
23 #define EDITFIELD_TITLE_SIZE_INC 32
24 //#define EDITFIELD_DEFAULT_MINH_INC 112
25 // Customize - edit field height
26 #define EDITFIELD_DEFAULT_MINH_INC 72
27 //#define EDITFIELD_DEFAULT_TOP1_SINGLE_INC 20
28 // Customize - entry top margin
29 // Strangely - (Edit field entry is aligned to top a little, so make the top margin more then bottom)
30 #define EDITFIELD_DEFAULT_TOP1_SINGLE_INC 5
31 #define EDITFIELD_DEFAULT_TOP1_MULTI_INC 45
32 #define EDITFIELD_DEFAULT_TOP2_INC 6
33 #define EDITFIELD_DEFAULT_LEFT1_INC 0
34 #define EDITFIELD_DEFAULT_LEFT2_INC 0
35 #define EDITFIELD_DEFAULT_LEFT3_INC 1
37 #define EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC 0 // browser customize
39 // width of erase icon width and string witdh of "xx/xx"
40 #define EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC_FOR_FIND_WORD (EDITFIELD_DEFAULT_ERASER_MINW_INC + 80)
42 #define EDITFIELD_DEFAULT_RIGHT2_INC 10 // browser customize
43 //#define EDITFIELD_DEFAULT_BOTTOM1_SINGLE_INC 20
44 // Customize - entry bottom margin
45 #define EDITFIELD_DEFAULT_BOTTOM1_SINGLE_INC 0
46 #define EDITFIELD_DEFAULT_BOTTOM1_MULTI_INC 5
47 #define EDITFIELD_DEFAULT_BOTTOM2_SINGLE_INC 38
48 #define EDITFIELD_DEFAULT_BOTTOM2_MULTI_INC 6
49 #define EDITFIELD_DEFAULT_BOTTOM3_SINGLE_INC 85
50 #define EDITFIELD_DEFAULT_BOTTOM3_MULTI_INC 60
51 #define EDITFIELD_TITLE_COLOR_INC 168 168 168 255
52 #define EDITFIELD_GUIDE_TEXT_COLOR_INC 70 70 70 255
53 #define ENTRY_TEXT_SIZE_INC 44
54 // Customize - text color
55 //#define ENTRY_TEXT_COLOR_INC "#FFFFFF"
56 #define ENTRY_TEXT_COLOR_WHITE_INC "#FFFFFF"
57 #define ENTRY_TEXT_COLOR_BLACK_INC "#000000"
59 #define EDITFIELD_DEFAULT_ERASER_MINW_INC 40
60 #define EDITFIELD_DEFAULT_ERASER_MINH_INC 40
62 group { name: "elm/layout/browser-editfield/default";
64 image: "browser-view-images/url-layout/00_EditField_clear.png" COMP;
71 ignore_flags: ON_HOLD;
74 min: 0 EDITFIELD_DEFAULT_MINH_INC;
82 ignore_flags: ON_HOLD;
86 min: 0 EDITFIELD_DEFAULT_TOP1_SINGLE_INC;
88 rel1.relative: 0.0 0.0;
89 rel2.relative: 1.0 0.0;
97 ignore_flags: ON_HOLD;
101 min: 0 EDITFIELD_DEFAULT_TOP2_INC;
103 rel1.relative: 0.0 0.0;
104 rel2.relative: 1.0 0.0;
112 ignore_flags: ON_HOLD;
114 state: "default" 0.0;
116 min: EDITFIELD_DEFAULT_LEFT1_INC 0;
119 rel1.relative : 0.0 0.0;
120 rel2.relative : 0.0 1.0;
127 ignore_flags: ON_HOLD;
129 state: "default" 0.0;
131 min: EDITFIELD_DEFAULT_LEFT2_INC 0;
134 rel1.relative : 0.0 0.0;
135 rel2.relative : 0.0 1.0;
142 ignore_flags: ON_HOLD;
144 state: "default" 0.0;
146 min: EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC 0;
149 rel1.relative : 1.0 0.0;
150 rel2.relative : 1.0 1.0;
153 state: "find_word" 0.0;
154 inherit: "default" 0.0;
155 min: EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC_FOR_FIND_WORD 0;
162 ignore_flags: ON_HOLD;
164 state: "default" 0.0;
166 min: EDITFIELD_DEFAULT_RIGHT2_INC 0;
169 rel1.relative : 1.0 0.0;
170 rel2.relative : 1.0 1.0;
177 ignore_flags: ON_HOLD;
179 state: "default" 0.0;
181 min: 0 EDITFIELD_DEFAULT_BOTTOM1_SINGLE_INC;
184 rel1.relative: 0.0 1.0;
191 ignore_flags: ON_HOLD;
193 state: "default" 0.0;
195 min: 0 EDITFIELD_DEFAULT_BOTTOM2_SINGLE_INC;
197 rel1.relative: 0.0 1.0;
205 ignore_flags: ON_HOLD;
207 state: "default" 0.0;
209 min: 0 EDITFIELD_DEFAULT_BOTTOM3_SINGLE_INC;
211 rel1.relative: 0.0 1.0;
216 name: "elm.guidetext";
219 ignore_flags: ON_HOLD;
221 state: "default" 0.0;
224 rel1.to: "elm.swallow.content";
225 rel2.to: "elm.swallow.content";
226 color: EDITFIELD_GUIDE_TEXT_COLOR_INC;
228 font: "SLP:style=Roman";
229 size: ENTRY_TEXT_SIZE_INC;
236 inherit: "default" 0.0;
241 name: "elm.swallow.content";
244 ignore_flags: ON_HOLD;
246 state: "default" 0.0;
262 name: "eraser_image";
265 state: "default" 0.0;
267 min: EDITFIELD_DEFAULT_ERASER_MINW_INC EDITFIELD_DEFAULT_ERASER_MINH_INC;
281 normal: "browser-view-images/url-layout/00_EditField_clear.png";
287 state: "elm.eraser.show" 0.0;
288 inherit: "default" 0.0;
295 ignore_flags: ON_HOLD;
297 state: "default" 0.0;
302 to_x : "eraser_image";
307 state: "elm.eraser.show" 0.0;
308 inherit: "default" 0.0;
315 name: "find_word_editfield";
316 signal: "find_word,signal";
318 action: STATE_SET "find_word" 0.0;
322 name: "guidetext_show";
323 signal: "elm,state,guidetext,show";
325 action: STATE_SET "default" 0.0;
326 target: "elm.guidetext";
329 name: "guidetext_hide";
330 signal: "elm,state,guidetext,hide";
332 action: STATE_SET "hidden" 0.0;
333 target: "elm.guidetext";
337 signal: "elm,state,eraser,show";
339 action: STATE_SET "elm.eraser.show" 0.0;
340 target: "eraser_image";
345 signal: "elm,state,eraser,hide";
347 action: STATE_SET "default" 0.0;
348 target: "eraser_image";
352 name: "eraser_clicked";
353 signal: "mouse,clicked,1";
355 action: SIGNAL_EMIT "elm,eraser,clicked" "elm";
360 ////////////////////////////////////////////////////////////////////////////////////////
362 ////////////////////////////////////////////////////////////////////////////////////////
364 name: "browser/url_layout";
366 image: "browser-view-images/url-layout/naviframe_optionheader.png" COMP;
367 image: "browser-view-images/url-layout/I01_Icons_http.png" COMP;
370 part { name: "backgournd";
376 state: "default" 0.0;
381 rel1 { relative: 0.0 0.0; }
382 rel2 { relative: 1.0 1.0; }
384 normal: "browser-view-images/url-layout/naviframe_optionheader.png";
396 state: "default" 0.0;
400 rel1 { relative: 0.0 1.0; to_y: "title_text"; }
401 rel2 { relative: 1.0 1.0; }
402 color: 255 255 255 255; // white
406 name: "navigationbar_bg";
411 state: "default" 0.0;
413 rel1 { relative: 0.0 0.0; to: bg; }
414 rel2 { relative: 1.0 1.0; to: bg; }
416 normal: "browser-view-images/url-layout/naviframe_optionheader.png";
428 state: "default" 0.0;
434 rel1 { relative: 0.0 0.0; to: "title_text"; }
435 rel2 { relative: 0.0 1.0; to: "title_text"; }
437 normal: "browser-view-images/url-layout/I01_Icons_http.png";
441 state: "visible" 0.0;
442 inherit: "default" 0.0;
448 part { name: "padding,title_text,left";
453 state: "default" 0.0;
458 rel1 { relative: 0.0 0.0; to_y: "title_text"; }
459 rel2 { relative: 0.0 1.0; to_y: "title_text"; }
462 part { name: "padding,title_text,right";
467 state: "default" 0.0;
472 rel1 { relative: 1.0 0.0; to_y: "title_text"; }
473 rel2 { relative: 1.0 1.0; to_y: "title_text"; }
482 state: "default" 0.0;
488 text { font: FONT_ROM;
494 color: 255 255 255 255;
495 rel1 { relative: 1.0 0.0; to_x: "padding,title_text,left"; }
496 rel2 { relative: 0.0 1.0; to_x: "padding,title_text,right"; }
499 part { name: "padding,cancel,left";
504 state: "default" 0.0;
509 rel1 { relative: 0.0 0.0; to: "elm.swallow.cancel"; }
510 rel2 { relative: 0.0 1.0; to: "elm.swallow.cancel"; }
513 part { name: "padding,url,top";
518 state: "default" 0.0;
523 rel1 { relative: 0.0 0.0; to: "bg"; }
524 rel2 { relative: 1.0 0.0; to: "bg"; }
527 part { name: "padding,url,left";
532 state: "default" 0.0;
537 rel1 { relative: 0.0 0.0; to: "bg"; }
538 rel2 { relative: 0.0 1.0; to: "bg"; }
542 name: "elm.swallow.url";
547 state: "default" 0.0;
552 rel1 { relative: 1.0 1.0; to_x: "padding,url,left"; to_y: "padding,url,top"; }
553 rel2 { relative: 0.0 1.0; to_x: "padding,reader_icon,left"; to_y: "padding,url,top"; }
556 state: "edit_mode_state" 0.0;
557 inherit: "default" 0.0;
558 rel1 { relative: 1.0 1.0; to_x: "padding,url,left"; to_y: "padding,url,top"; }
559 rel2 { relative: 0.0 1.0; to_x: "padding,cancel,left"; to_y: "padding,url,top"; }
562 part { name: "padding,reader_icon,left";
567 state: "default" 0.0;
572 rel1 { relative: 0.0 0.0; to_x: "elm.swallow.reader_icon"; to_y: "navigationbar_bg"; }
573 rel2 { relative: 0.0 1.0; to_x: "elm.swallow.reader_icon"; to_y: "navigationbar_bg"; }
577 name: "elm.swallow.reader_icon";
583 state: "default" 0.0;
589 rel1 { relative: 1.0 0.0; to: "navigationbar_bg"; }
590 rel2 { relative: 1.0 1.0; to: "navigationbar_bg"; }
593 state: "show_reader_icon" 0.0;
594 inherit: "default" 0.0;
596 rel1 { relative: 0.0 0.0; to_x: "padding,cancel,right"; to_y: "navigationbar_bg"; }
597 rel2 { relative: 0.0 1.0; to_x: "padding,cancel,right"; to_y: "navigationbar_bg"; }
600 part { name: "padding,cancel,right";
605 state: "default" 0.0;
610 rel1 { relative: 1.0 0.0; to: "navigationbar_bg"; }
611 rel2 { relative: 1.0 1.0; to: "navigationbar_bg"; }
615 name: "elm.swallow.cancel";
621 state: "default" 0.0;
627 rel1 { relative: 1.0 0.0; to_x: navigationbar_bg; to_y: "navigationbar_bg"; }
628 rel2 { relative: 1.0 1.0; to_x: navigationbar_bg; to_y: "navigationbar_bg"; }
631 state: "edit_mode_state" 0.0;
632 inherit: "default" 0.0;
634 rel1 { relative: 0.0 0.0; to_x: "padding,cancel,right"; to_y: "navigationbar_bg"; }
635 rel2 { relative: 0.0 1.0; to_x: "padding,cancel,right"; to_y: "navigationbar_bg"; }
640 program { name: "show,secure_icon";
641 signal: "show,secure_icon,signal";
642 action: STATE_SET "visible" 0.0;
643 target: "secure_icon";
645 program { name: "hide,secure_icon";
646 signal: "hide,secure_icon,signal";
647 action: STATE_SET "default" 0.0;
648 target: "secure_icon";
650 program { name: "edit,url,on";
651 signal: "edit,url,on,signal";
652 action: STATE_SET "edit_mode_state" 0.0;
653 target: "elm.swallow.url";
654 after: "cancel_button,show";
656 program { name: "cancel_button,show";
657 action: STATE_SET "edit_mode_state" 0.0;
658 transition: DECELERATE 0.5;
659 target: "elm.swallow.cancel";
661 program { name: "show,reader_icon";
662 signal: "show,reader_icon,signal";
663 action: STATE_SET "show_reader_icon" 0.0;
664 transition: DECELERATE 0.5;
665 target: "elm.swallow.reader_icon";
667 program { name: "hide,reader_icon";
668 signal: "hide,reader_icon,signal";
669 action: STATE_SET "default" 0.0;
670 transition: DECELERATE 0.5;
671 target: "elm.swallow.reader_icon";
673 program { name: "hide,reader_icon_no_ani";
674 signal: "hide,reader_icon_no_ani,signal";
675 action: STATE_SET "default" 0.0;
676 target: "elm.swallow.reader_icon";
678 program { name: "edit,url,off";
679 signal: "edit,url,off,signal";
680 action: STATE_SET "default" 0.0;
681 transition: ACCELERATE 0.5;
682 target: "elm.swallow.url";
683 target: "elm.swallow.cancel";
689 name: "elm/browser/urlentry/default";
691 image: "browser-view-images/url-layout/00_search_input_field_bg.png" COMP;
692 image: "browser-view-images/url-layout/00_search_input_field_bg_black.png" COMP;
693 image: "browser-view-images/url-layout/41_browser_search_icon_refresh.png" COMP;
694 image: "browser-view-images/url-layout/icon_stop.png" COMP;
695 image: "icon/00_close_icon.png" COMP;
696 image: "browser-view-images/url-layout/I01_Icons_RSS.png" COMP;
705 state: "default" 0.0;
708 rel1 { relative: 0.0 0.0; }
709 rel2 { relative: 1.0 1.0; }
719 state: "default" 0.0;
721 rel1 {relative: 0.0 0.0; offset: 0 0; }
722 rel2 {relative: 1.0 1.0; offset: 0 0; }
723 image.normal: "browser-view-images/url-layout/00_search_input_field_bg.png";
724 image.border: 5 5 5 5;
728 inherit: "default" 0.0;
729 image.normal: "browser-view-images/url-layout/00_search_input_field_bg_black.png";
730 image.border: 5 5 5 5;
734 name: "elm.swallow.progressbar";
739 state: "default" 0.0;
743 state: "loading_on" 0.0;
745 rel1 {relative: 0.0 0.0; offset: 0 0; }
746 rel2 {relative: 1.0 1.0; offset: 0 0; }
749 PADDING("padding.favicon.left", 9, 0, 1, 0, 0.0, 0.5,
750 0.0, 0.0, 0.0, 1.0, bg, bg)
751 PADDING("padding.favicon.right", 9, 0, 1, 0, 0.0, 0.5,
752 1.0, 0.0, 1.0, 1.0, elm.swallow.favicon, elm.swallow.favicon)
753 part { name: "elm.swallow.favicon";
758 state: "default" 0.0;
764 rel1 { relative: 1.0 0.0; to_x: padding.favicon.left; to_y: bg; }
765 rel2 { relative: 1.0 1.0; to_x: padding.favicon.left; to_y: bg; }
768 state: "visible" 0.0;
769 inherit: "default" 0.0;
775 part { name: "elm.swallow.rss_icon";
780 state: "default" 0.0;
786 rel1 { relative: 1.0 0.0; to: "elm.swallow.favicon"; }
787 rel2 { relative: 1.0 1.0; to: "elm.swallow.favicon"; }
788 image.normal: "browser-view-images/url-layout/I01_Icons_RSS.png";
791 state: "visible" 0.0;
792 inherit: "default" 0.0;
798 PADDING("padding.progress.left", 9, 0, 1, 0, 1.0, 0.5,
799 0.0, 0.0, 0.0, 1.0, elm.swallow.progress, elm.swallow.progress)
800 part { name: "elm.swallow.progress";
805 state: "default" 0.0;
809 state: "loading_on" 0.0;
815 rel1 { relative: 0.0 0.0; to_x: elm.image.refresh_stop; to_y: bg; }
816 rel2 { relative: 0.0 1.0; to_x: elm.image.refresh_stop; to_y: bg; }
819 PADDING("padding.refreshstop.left", 9, 0, 1, 0, 1.0, 0.5,
820 0.0, 0.0, 0.0, 1.0, elm.image.refresh_stop, elm.image.refresh_stop)
821 PADDING("padding.refreshstop.right", 9, 0, 1, 0, 1.0, 0.5,
822 1.0, 0.0, 1.0, 1.0, bg, bg)
823 part { name: "elm.rect.refresh_stop";
828 state: "default" 0.0;
834 rel1 { relative: 0.0 0.0; to: "elm.image.refresh_stop"; }
835 rel2 { relative: 1.0 1.0; to: "elm.image.refresh_stop"; }
839 part { name: "elm.image.refresh_stop";
844 state: "default" 0.0;
850 rel1 { relative: 0.0 0.0; to_x: padding.refreshstop.right; to_y: bg; }
851 rel2 { relative: 0.0 1.0; to_x: padding.refreshstop.right; to_y: bg; }
852 image.normal: "browser-view-images/url-layout/41_browser_search_icon_refresh.png";
855 state: "loading_on" 0.0;
856 inherit: "default" 0.0;
857 image.normal: "browser-view-images/url-layout/icon_stop.png";
860 state: "edit_url" 0.0;
861 inherit: "default" 0.0;
862 image.normal: "icon/00_close_icon.png";
865 part { name: "padding,rss_icon,right";
870 state: "default" 0.0;
875 rel1 { relative: 1.0 0.0; to: "elm.swallow.rss_icon"; }
876 rel2 { relative: 1.0 1.0; to: "elm.swallow.rss_icon"; }
879 part { name: "elm.swallow.entry";
884 state: "default" 0.0;
887 rel1 { relative: 1.0 0.0; to_x: "padding,rss_icon,right"; to_y: bg; }
888 rel2 { relative: 0.0 1.0; to_x: padding.refreshstop.left; to_y: bg; }
891 state: "loading_on" 0.0;
893 rel1 { relative: 1.0 0.0; to_x: "padding,rss_icon,right"; to_y: bg; }
894 rel2 { relative: 0.0 1.0; to_x: padding.progress.left; to_y: bg; }
897 part { name: "block_entry";
903 state: "default" 0.0;
906 rel1 { relative: 0.0 0.0; to: "elm.swallow.entry"; }
907 rel2 { relative: 1.0 1.0; to: "elm.swallow.entry"; }
912 inherit: "default" 0.0;
916 part { name: "padding,rss_icon,left_margin";
921 state: "default" 0.0;
926 rel1 { relative: 0.0 0.0; to: "elm.swallow.rss_icon"; }
927 rel2 { relative: 0.0 1.0; to: "elm.swallow.rss_icon"; }
930 part { name: "padding,rss_icon,right_margin";
935 state: "default" 0.0;
940 rel1 { relative: 1.0 0.0; to: "elm.swallow.rss_icon"; }
941 rel2 { relative: 1.0 1.0; to: "elm.swallow.rss_icon"; }
946 program { name: "disable_entry";
947 signal: "disable_entry,signal";
948 action: STATE_SET "block" 0.0;
949 target: "block_entry";
951 program { name: "black_theme";
952 signal: "black_theme,signal";
953 action: STATE_SET "black" 0.0;
956 program { name: "rss_on";
957 signal: "rss,on,signal";
958 action: STATE_SET "visible" 0.0;
959 target: "elm.swallow.rss_icon";
961 program { name: "rss_off";
962 signal: "rss,off,signal";
963 action: STATE_SET "default" 0.0;
964 target: "elm.swallow.rss_icon";
966 program { name: "loading_on";
967 signal: "loading,on,signal";
968 action: STATE_SET "loading_on" 0.0;
969 target: "elm.swallow.progress";
970 target: "elm.swallow.progressbar";
971 target: "elm.image.refresh_stop";
972 target: "elm.swallow.entry";
974 program { name: "loading_off";
975 signal: "loading,off,signal";
976 action: STATE_SET "default" 0.0;
977 target: "elm.swallow.progress";
978 target: "elm.swallow.progressbar";
979 target: "elm.image.refresh_stop";
980 target: "elm.swallow.entry";
982 program { name: "refresh_stop";
983 source: "elm.rect.refresh_stop";
984 signal: "mouse,clicked,1";
985 action: SIGNAL_EMIT "refresh_stop" "EDJ";
987 program { name: "hide_progress";
988 action: STATE_SET "default" 0.0;
989 target: "elm.swallow.progress";
990 target: "elm.swallow.progressbar";
991 target: "elm.swallow.entry";
993 program { name: "edit,url,on";
994 signal: "edit,url,on,signal";
995 action: STATE_SET "edit_url" 0.0;
996 target: "elm.image.refresh_stop";
997 after: "hide_progress";
999 program { name: "edit,url,off";
1000 signal: "edit,url,off,signal";
1004 get_state(PART:"elm.swallow.progress", st, 30, vl);
1005 if (!strcmp(st, "loading_on"))
1006 set_state(PART:"elm.image.refresh_stop", "loading_on", 0.0);
1008 set_state(PART:"elm.image.refresh_stop", "default", 0.0);
1011 program { name: "show,favicon";
1012 signal: "show,favicon,signal";
1013 action: STATE_SET "visible" 0.0;
1014 target: "elm.swallow.favicon";
1016 program { name: "hide,favicon";
1017 signal: "hide,favicon,signal";
1018 action: STATE_SET "default" 0.0;
1019 target: "elm.swallow.favicon";
1025 name: "browser-view/option_header";
1027 part { name: "elm.swallow.url_layout";
1032 state: "default" 0.0;
1035 rel1 { relative: 0.0 0.0; }
1036 rel2 { relative: 1.0 1.0; }
1039 state: "invisible" 0.0;
1040 inherit: "default" 0.0;
1044 /* For change effect. */
1045 part { name: "rect.find_word_layout";
1049 state: "default" 0.0;
1050 color: 255 255 255 0;
1051 rel1 { relative: 0.0 0.0; to: "elm.swallow.find_word_layout"; }
1052 rel2 { relative: 1.0 1.0; to: "elm.swallow.find_word_layout"; }
1055 state: "visible" 0.0;
1056 color: 255 255 255 255;
1057 rel1 { relative: 0.0 0.0; to: "elm.swallow.find_word_layout"; }
1058 rel2 { relative: 1.0 1.0; to: "elm.swallow.find_word_layout"; }
1061 part { name: "elm.swallow.find_word_layout";
1066 /* For change effect. */
1067 clip_to: "rect.find_word_layout";
1069 state: "default" 0.0;
1072 rel1 { relative: 0.0 0.0; }
1073 rel2 { relative: 1.0 1.0; }
1076 state: "visible" 0.0;
1077 inherit: "default" 0.0;
1083 program { name: "show,find_word_layout,clipper";
1084 signal: "show,find_word_layout,signal";
1085 transition: ACCELERATE 0.3;
1086 action: STATE_SET "visible" 0.0;
1087 target: "rect.find_word_layout";
1088 target: "elm.swallow.find_word_layout";
1090 program { name: "hide,find_word_layout,clipper";
1091 signal: "hide,find_word_layout,signal";
1092 transition: ACCELERATE 0.3;
1093 action: STATE_SET "default" 0.0;
1094 target: "rect.find_word_layout";
1095 target: "elm.swallow.find_word_layout";