------- PSP Power Point --------
-- Creación de Presentaciones --
-------- By Jorge_97 -----------
--------------------------------

dofile("APP/powerpoint/Psistema.lua")

arial=font.load("APP/powerpoint/fuentes/ar.pgf")
tnr=font.load("APP/powerpoint/fuentes/tnr.pgf")

insertar_txt=false
insertar_snd=false


text=1
opcion=0
actual=1
diapo=1
maximas=10
transicion=6
insertar_img=false


moving=false

di={}
for i=1,10 do
di[i]={t1={x=-100,y=0,t=0.5,c="TXT",o=0,f=0},t2={x=-100,y=0,t=0.5,c="TXT",o=0,f=0},i1={x=0,y=0,i="nil"},i2={x=0,y=0,i="nil"}}
end

snd_fondo=""
color1=2
color2=2

opc={}
opc[1]={x=3,y=3,w=79,h=24}
opc[2]={x=82,y=3,w=71,h=24}
opc[3]={x=153,y=3,w=90,h=24}
opc[4]={x=252,y=3,w=146,h=24}
opc[5]={x=403,y=3,w=74,h=24}


txt={}
txt[1]={x=2,y=32,w=52,h=26}
txt[2]={x=54,y=32,w=63,h=26}
txt[3]={x=117,y=32,w=57,h=26}
txt[4]={x=174,y=32,w=48,h=26}

txt[5]={x=242,y=32,w=52,h=26}
txt[6]={x=294,y=32,w=63,h=26}
txt[7]={x=357,y=32,w=57,h=26}
txt[8]={x=414,y=32,w=48,h=26}

viendo=false
p_time=timer.new()


function opciones_power()

	if transicion>10 then transicion=1 end
	if velocidad_puntero>5 then velocidad_puntero=1 end
	if diapo>maximas then diapo=1 end
	if maximas>10 then maximas=1 end
	
	
	if not controls.triangle() then
		if controls.press("down") then actual=actual+1 end
		if controls.press("up") then actual=actual-1 end
	end

	if opcion==1 then
		if actual>4 then actual=1 elseif actual<1 then actual=4 end
		draw.fillrect(0,30,210,90,blanco)
		if actual==1 then draw.fillrect(0,38,210,14,verde) end
		if actual==2 then draw.fillrect(0,58,210,14,verde) end
		if actual==3 then draw.fillrect(0,78,210,14,verde) end
		if actual==4 then draw.fillrect(0,98,210,14,verde) end
		draw.rect(0,30,210,90,azul)
		screen.print(10,40,"Elegir diapositiva: "..diapo,negro)
		screen.print(10,60,"Diapositivas Máximas: "..maximas,negro)
		screen.print(10,80,"Abrir Presentación",negro)
		screen.print(10,100,"Salir",negro)
	
	if controls.press("cross") then
		if actual==1 then 
			if keyboard==1 then diapo=teclado(2,"Elegir diapositiva",2,"") else nota=os.osk("Elegir diapositiva","",2,1,1) end
			diapo=tonumber(diapo) if diapo>10 then diapo=10 end 
		end
		if actual==2 then maximas=maximas+1 end
		if actual==3 then my_files=files.list("ms0:/") my_file=1 abriendo=true end
		if actual==4 then sistema("Power Point",true) end
	end
	end

	if opcion==2 then
		if actual>3 then actual=1 elseif actual<1 then actual=3 end
		draw.fillrect(85,30,100,70,blanco)
		if actual==1 then draw.fillrect(85,38,100,14,verde) end
		if actual==2 then draw.fillrect(85,58,100,14,verde) end
		if actual==3 then draw.fillrect(85,78,100,14,verde) end
		draw.rect(85,30,100,70,azul)
		screen.print(95,40,"Texto",negro)
		screen.print(95,60,"Imagen",negro)
		screen.print(95,80,"Sonido",negro)
		if controls.press("cross") then 
			if actual==1 then insertar_txt=true end
			if actual==2 then insertar_img=true end
			if actual==3 then insertar_snd=true end
		end
	end

	if opcion==3 then
		if actual>2 then actual=1 elseif actual<1 then actual=2 end
		draw.fillrect(160,30,270,50,blanco)
		if actual==1 then draw.fillrect(160,38,270,14,verde) end
		if actual==2 then draw.fillrect(160,58,270,14,verde) end
		
		if controls.press("cross") then 
			if actual==1 then transicion=transicion+1 end
			if actual==2 then velocidad_puntero=velocidad_puntero+1 end
		end
		
		draw.rect(160,30,270,50,azul)
		screen.print(170,40,"Velocidad de Transición: "..transicion,negro)
		screen.print(170,60,"Velocidad del puntero: "..velocidad_puntero,negro)
	end
	if controls.press("circle") then p.x=240 p.y=135 opcion=0 end
	if opcion==2 then
		if controls.press("cross") then p.x=240 p.y=135 opcion=0 end
	end
end

function tabla()
	if color1==1 then di[diapo].t1.o=rojo end
	if color1==2 then di[diapo].t1.o=verde end
	if color1==3 then di[diapo].t1.o=blanco end
	if color1==4 then di[diapo].t1.o=azul end
	if color1==5 then di[diapo].t1.o=amarillo end
	if color1==6 then di[diapo].t1.o=celeste end
	if color1==7 then di[diapo].t1.o=oro end
	if color1==8 then di[diapo].t1.o=negro end

	if color2==1 then di[diapo].t2.o=rojo end
	if color2==2 then di[diapo].t2.o=verde end
	if color2==3 then di[diapo].t2.o=blanco end
	if color2==4 then di[diapo].t2.o=azul end
	if color2==5 then di[diapo].t2.o=amarillo end
	if color2==6 then di[diapo].t2.o=celeste end
	if color2==7 then di[diapo].t2.o=oro end
	if color2==8 then di[diapo].t2.o=negro end
end

function ctxt()

insertar_img=false

barratxt:blit(0,30)

if controls.press("circle") then insertar_txt=false end

if di[diapo].t1.t>2.5 then di[diapo].t1.t=0.5 end
if di[diapo].t1.f>2 then di[diapo].t1.f=0 end
if color1>8 then color1=1 end

if di[diapo].t2.t>2.5 then di[diapo].t2.t=0.5 end
if di[diapo].t2.f>2 then di[diapo].t2.f=0 end
if color2>8 then color2=1 end

if not controls.triangle() then 
	if controls.press("right") then text=text+1 elseif controls.press("left") then text=text-1 end
end

if text>8 then text=1 elseif text<1 then text=8 end

draw.rect(txt[text].x,txt[text].y,txt[text].w,txt[text].h,azul) 

	if controls.press("cross") and opcion==0 then
		tabla()
		if text==1 then 
			if keyboard==1 then di[diapo].t1.c=teclado(1,"TEXTO",25,di[diapo].t1.c) else di[diapo].t1.c=os.osk("TEXTO",di[diapo].t1.c,25,1,0) end
			di[diapo].t1.x=p.x di[diapo].t1.y=p.y 
		end
		if text==2 then di[diapo].t1.t=di[diapo].t1.t+0.5 end
		if text==3 then di[diapo].t1.f=di[diapo].t1.f+1 end
		if text==4 then color1=color1+1 end
		if text==5 then 
			if keyboard==1 then di[diapo].t2.c=teclado(1,"TEXTO",25,di[diapo].t2.c) else di[diapo].t2.c=os.osk("TEXTO",di[diapo].t2.c,25,1,0) end
			di[diapo].t2.c=os.osk("TXT",di[diapo].t2.c,25,1,0) 
			di[diapo].t2.x=p.x di[diapo].t2.y=p.y 
		end
		if text==6 then di[diapo].t2.t=di[diapo].t2.t+0.5 end
		if text==7 then di[diapo].t2.f=di[diapo].t2.f+1 end
		if text==8 then color2=color2+1 end
	end
end

function mostrar_diapositiva()

if type(di[diapo].i1.i)=="userdata" then di[diapo].i1.i:blit(di[diapo].i1.x,di[diapo].i1.y) end
if type(di[diapo].i2.i)=="userdata" then di[diapo].i2.i:blit(di[diapo].i2.x,di[diapo].i2.y) end

if di[diapo].t1.c!="" then 
	if di[diapo].t1.f==0 then screen.print(di[diapo].t1.x,di[diapo].t1.y,di[diapo].t1.c,di[diapo].t1.t,di[diapo].t1.o,0) end
	if di[diapo].t1.f==1 then screen.print(arial,di[diapo].t1.x,di[diapo].t1.y,di[diapo].t1.c,di[diapo].t1.t,di[diapo].t1.o,0) end
	if di[diapo].t1.f==2 then screen.print(tnr,di[diapo].t1.x,di[diapo].t1.y,di[diapo].t1.c,di[diapo].t1.t,di[diapo].t1.o,0) end
end

if di[diapo].t2.c!="" then 
	if di[diapo].t2.f==0 then screen.print(di[diapo].t2.x,di[diapo].t2.y,di[diapo].t2.c,di[diapo].t2.t,di[diapo].t2.o,0) end
	if di[diapo].t2.f==1 then screen.print(arial,di[diapo].t2.x,di[diapo].t2.y,di[diapo].t2.c,di[diapo].t2.t,di[diapo].t2.o,0) end
	if di[diapo].t2.f==2 then screen.print(tnr,di[diapo].t2.x,di[diapo].t2.y,di[diapo].t2.c,di[diapo].t2.t,di[diapo].t2.o,0) end
end

end

function powerpoint(busca)
liberar(16)

if not busca then
	for i=1,2 do
		mover[i]={x=0,y=0,w=22,h=22,i=moveimg,t=0}
	end
	for i=1,10 do
		if files.exists("a"..i..".png") then files.remove("a"..i..".png") end
		if files.exists("b"..i..".png") then files.remove("b"..i..".png") end
	end
end

while true do
controls.read()

if controls.select() or viendo then 
	mostrar_diapositiva()
end

if viendo then ver_presentacion() end

if not controls.select() and not viendo then 
	if not insertar_img then
		for i=1,5 do
			if col(p,opc[i]) then draw.rect(opc[i].x,opc[i].y,opc[i].w,opc[i].h,negro) end
		end

		for i=1,5 do
			if col(p,opc[i]) then opcion=i end
		end
	
		if not col(p,opc[1]) and not col(p,opc[2]) and not col(p,opc[3]) and not col(p,opc[4]) and not col(p,opc[5]) then opcion=0 end

		if controls.press("cross") then
			if col(p,opc[4]) then viendo=true p_time:reset() opcion=0 end
			if col(p,opc[5]) then guardar_pw() opcion=0 end
		end
	end
	mostrar_diapositiva()
	if moving then movimiento() end
	if abriendo then open_presentacion() end
	barra_power:blit(0,0)
	if opcion==0 then
		if insertar_txt then ctxt()  end
		if insertar_img then mini_explorador("PowerPoint") end 
		if insertar_snd then mini_explorador("PowerPoint") end
	end
	if not insertar_img and not moving and not abriendo then opciones_power() end
	puntero()
end

screen.flip()


if controls.start() then sistema("Power Point",true) end
end
end
