@@ -9,20 +9,21 @@ def onCreate(self):
99 screen = lv .obj ()
1010 screen .set_flex_flow (lv .FLEX_FLOW .COLUMN )
1111
12- self ._emoji_font_small = FontManager .getFont (size = 18 )
13- self ._emoji_font = FontManager .getFont (size = 36 )
14- self ._emoji_font_big = FontManager .getFont (size = 72 )
15- self ._ttf_font = FontManager .getFont (size = 24 , ttf = "M:PrincessSofia-Regular.ttf" )
12+ import path
13+ print (f"{ __file__ } " ) # apps/com.micropythonos.showfonts/assets/showfonts.py
14+ print (f"{ path .abspath (__file__ )} " )
15+ print (f"{ path .dirname (path .abspath (__file__ ))} " )
16+ d = path .dirname (path .abspath (__file__ ))
17+ self ._ttf_font = FontManager .getFont (size = 42 , ttf = f"M:{ d } /Rancourt-SmallCaps.ttf" )
1618
17- self .addImageFontDemo (screen )
1819 self .addAllFontsTitles (screen )
1920 self .addAllGlyphs (screen )
2021
2122 self .setContentView (screen )
2223
2324 def addAllFontsTitles (self , screen ):
2425 fonts = FontManager .listFonts ()
25- fonts .append ((self ._ttf_font , "TTF PrincessSofia 24 " ))
26+ fonts .append ((self ._ttf_font , "TTF Rancourt 42 " ))
2627
2728 for font_info in fonts :
2829 if isinstance (font_info , tuple ):
@@ -32,7 +33,7 @@ def addAllFontsTitles(self, screen):
3233 font = font_info ["font" ]
3334 name = font_info ["name" ]
3435 title = lv .label (screen )
35- lv . group_get_default (). add_obj (title )
36+ self . labelSelectable (title )
3637 title .set_width (lv .pct (99 ))
3738 title .set_style_text_font (font , lv .PART .MAIN )
3839 bitcoin_symbol = "\uf15a "
@@ -41,7 +42,7 @@ def addAllFontsTitles(self, screen):
4142 diacritics = "æ ø å Æ Ø Å"
4243 supported_latin = "Æ æ Ð ð ß Þ þ 7"
4344 title .set_text (
44- "{}: 2 pgj ❤ ️ !@#$%^&*( {} {} ₿ {} {} {} 丯 丰 {} {}" .format (
45+ "{}: ABC 123 xyz ❤️ ☺ ️ !@#$%^&*( {} {} ₿ {} {} {} 丯 丰 {} {}" .format (
4546 name ,
4647 lv .SYMBOL .OK ,
4748 lv .SYMBOL .BACKSPACE ,
@@ -53,26 +54,6 @@ def addAllFontsTitles(self, screen):
5354 )
5455 )
5556
56- def addImageFontDemo (self , screen ):
57-
58- title = lv .label (screen )
59- title_font = FontManager .getFont (size = 14 )
60- title .set_style_text_font (title_font , lv .PART .MAIN )
61- title .set_text ("Imagefont demo" )
62-
63- demo_small = lv .label (screen )
64- demo_small .set_style_text_font (self ._emoji_font_small , lv .PART .MAIN )
65- demo_small .set_text (FontManager .normalizeEmojiText ("18px: A \u2639 \u263A == \U0001F642 /\U0001F600 A" ))
66-
67- demo = lv .label (screen )
68- demo .set_style_text_font (self ._emoji_font , lv .PART .MAIN )
69- demo .set_text (FontManager .normalizeEmojiText ("36px: ❤️ \U0001F929 \u2639 /\u263A == \U0001F642 /\U0001F600 A" ))
70-
71- demo_big = lv .label (screen )
72- demo_big .set_style_text_font (self ._emoji_font_big , lv .PART .MAIN )
73- demo_big .set_text (FontManager .normalizeEmojiText ("72px: A \u2639 /\u263A == \U0001F642 /\U0001F600 A" ))
74-
75-
7657 def addAllGlyphs (self , screen ):
7758 dsc = lv .font_glyph_dsc_t ()
7859
@@ -99,5 +80,21 @@ def addAllGlyphs(self, screen):
9980 x = 4
10081
10182 lbl .set_text (alltext )
102- lv .group_get_default ().add_obj (lbl )
103-
83+ self .labelSelectable (lbl )
84+
85+ def labelSelectable (self , label ):
86+ label .add_event_cb (self ._focus_obj , lv .EVENT .FOCUSED , None )
87+ label .add_event_cb (self ._defocus_obj , lv .EVENT .DEFOCUSED , None )
88+ lv .group_get_default ().add_obj (label )
89+
90+ @staticmethod
91+ def _focus_obj (event ):
92+ target = event .get_target_obj ()
93+ target .set_style_border_color (lv .theme_get_color_primary (None ),lv .PART .MAIN )
94+ target .set_style_border_width (1 , lv .PART .MAIN )
95+ target .scroll_to_view (True )
96+
97+ @staticmethod
98+ def _defocus_obj (event ):
99+ target = event .get_target_obj ()
100+ target .set_style_border_width (0 , lv .PART .MAIN )
0 commit comments