#!/opt/bin/lv_micropython -i
import usys as sys
import lvgl as lv
import display_driver
from imagetools import get_png_info, open_png

# Register PNG image decoder
decoder = lv.img.decoder_create()
		  decoder.info_cb = get_png_info
							decoder.open_cb = open_png

# Create an image from the png file
									try:
									with open('../../assets/img_cogwheel_argb.png', 'rb') as f:
										png_data = f.read()
											except:
												print("Could not find img_cogwheel_argb.png")
												sys.exit()

	img_cogwheel_argb = lv.img_dsc_t({
'data_size': len(png_data),
'data': png_data
})

def set_angle(img, v):
	img.set_angle(v)

	def set_zoom(img, v):
	img.set_zoom(v)


#
# Show transformations (zoom and rotation) using a pivot point.
#

# Now create the actual image
	img = lv.img(lv.scr_act())
		  img.set_src(img_cogwheel_argb)
		  img.align(lv.ALIGN.CENTER, 50, 50)
		  img.set_pivot(0, 0)               # Rotate around the top left corner

		  a1 = lv.anim_t()
			   a1.init()
			   a1.set_var(img)
			   a1.set_custom_exec_cb(lambda a, val: set_angle(img, val))
			   a1.set_values(0, 3600)
			   a1.set_time(5000)
			   a1.set_repeat_count(lv.ANIM_REPEAT.INFINITE)
			   lv.anim_t.start(a1)

			   a2 = lv.anim_t()
					a2.init()
					a2.set_var(img)
					a2.set_custom_exec_cb(lambda a, val: set_zoom(img, val))
					a2.set_values(128, 256)
					a2.set_time(5000)
					a2.set_playback_time(3000)
					a2.set_repeat_count(lv.ANIM_REPEAT.INFINITE)
					lv.anim_t.start(a2)


