@@ -30,18 +30,24 @@ def onCreate(self):
3030self .label .align (lv .ALIGN .TOP_MID ,0 ,0 )
3131self .prev_button = lv .button (screen )
3232self .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 )
3334self .prev_button .add_event_cb (lambda e :self .show_prev_image (),lv .EVENT .CLICKED ,None )
3435prev_label = lv .label (self .prev_button )
3536prev_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)
4146self .next_button = lv .button (screen )
4247self .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 )
4350self .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 )
4551next_label = lv .label (self .next_button )
4652next_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):
109115mpos .ui .anim .smooth_show (self .label )
110116mpos .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 )
112119mpos .ui .anim .smooth_show (self .next_button )
113120else :
114121print ("starting fullscreen" )
115122self .fullscreen = True
116123mpos .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 )
120128self .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+
122154def show_next_image (self ,event = None ):
123155print ("showing next image..." )
124156if len (self .images )< 1 :