@@ -30,18 +30,24 @@ def onCreate(self):
3030 self .label .align (lv .ALIGN .TOP_MID ,0 ,0 )
3131 self .prev_button = lv .button (screen )
3232 self .prev_button .align (lv .ALIGN .BOTTOM_LEFT ,0 ,0 )
33+ self .prev_button .add_event_cb (lambda e : self .show_prev_image_if_fullscreen (),lv .EVENT .FOCUSED ,None )
3334 self .prev_button .add_event_cb (lambda e : self .show_prev_image (),lv .EVENT .CLICKED ,None )
3435 prev_label = lv .label (self .prev_button )
3536 prev_label .set_text (lv .SYMBOL .LEFT )
36- #self.play_button = lv.button(screen)
37- #self.play_button.align(lv.ALIGN.BOTTOM_MID,0,0)
37+ self .play_button = lv .button (screen )
38+ self .play_button .align (lv .ALIGN .BOTTOM_MID ,0 ,0 )
39+ self .play_button .add_flag (lv .obj .FLAG .HIDDEN )
40+ self .play_button .set_style_opa (lv .OPA .TRANSP , 0 )
41+ #self.play_button.add_event_cb(lambda e: self.unfocus_if_not_fullscreen(),lv.EVENT.FOCUSED,None)
42+ #self.play_button.set_style_shadow_opa(lv.OPA.TRANSP, 0)
3843 #self.play_button.add_event_cb(lambda e: self.play(),lv.EVENT.CLICKED,None)
3944 #play_label = lv.label(self.play_button)
4045 #play_label.set_text(lv.SYMBOL.PLAY)
4146 self .next_button = lv .button (screen )
4247 self .next_button .align (lv .ALIGN .BOTTOM_RIGHT ,0 ,0 )
48+ #self.next_button.add_event_cb(self.print_events, lv.EVENT.ALL, None)
49+ self .next_button .add_event_cb (lambda e : self .show_next_image_if_fullscreen (),lv .EVENT .FOCUSED ,None )
4350 self .next_button .add_event_cb (lambda e : self .show_next_image (),lv .EVENT .CLICKED ,None )
44- self .next_button .add_event_cb (self .print_events , lv .EVENT .ALL , None )
4551 next_label = lv .label (self .next_button )
4652 next_label .set_text (lv .SYMBOL .RIGHT )
4753 #screen.add_event_cb(self.print_events, lv.EVENT.ALL, None)
@@ -109,16 +115,42 @@ def play(self, event=None):
109115 mpos .ui .anim .smooth_show (self .label )
110116 mpos .ui .anim .smooth_show (self .prev_button )
111117 #mpos.ui.anim.smooth_show(self.play_button)
118+ self .play_button .add_flag (lv .obj .FLAG .HIDDEN )
112119 mpos .ui .anim .smooth_show (self .next_button )
113120 else :
114121 print ("starting fullscreen" )
115122 self .fullscreen = True
116123 mpos .ui .anim .smooth_hide (self .label )
117- mpos .ui .anim .smooth_hide (self .prev_button )
118- #mpos.ui.anim.smooth_hide(self.play_button)
119- mpos .ui .anim .smooth_hide (self .next_button )
124+ mpos .ui .anim .smooth_hide (self .prev_button , hide = False )
125+ #mpos.ui.anim.smooth_hide(self.play_button, hide=False)
126+ self .play_button .remove_flag (lv .obj .FLAG .HIDDEN )
127+ mpos .ui .anim .smooth_hide (self .next_button , hide = False )
120128 self .scale_image ()
121129
130+ def show_prev_image_if_fullscreen (self , event = None ):
131+ if self .fullscreen :
132+ self .unfocus (True )
133+ self .show_prev_image ()
134+
135+ def show_next_image_if_fullscreen (self , event = None ):
136+ if self .fullscreen :
137+ self .unfocus (False )
138+ self .show_next_image ()
139+
140+ def unfocus_if_not_fullscreen (self , event = None ):
141+ if not self .fullscreen :
142+ self .unfocus (False )
143+
144+ def unfocus (self , next ):
145+ group = lv .group_get_default ()
146+ # This doesn't work, and group.focus_obj() is missing, so need to do this hack:
147+ #b = group.get_focused()
148+ #b.remove_state(lv.STATE.FOCUSED)
149+ if next :
150+ group .focus_next ()
151+ else :
152+ group .focus_prev ()
153+
122154 def show_next_image (self , event = None ):
123155 print ("showing next image..." )
124156 if len (self .images ) < 1 :
0 commit comments