cnodnarb Professional Member


Joined: 11 Sep 2002 Posts: 766 Location: Eastman, GA
|
Posted: Tue Oct 29, 2002 8:43 pm Post subject: Graphic Screen Saver with Transitions |
|
|
| Code: |
rem GNU Slideshow
rem Copyright (C) 2002 Brandon Cunningham
rem This program is free software; you can redistribute it and/or
rem modify it under the terms of the GNU General Public License
rem as published by the Free Software Foundation; either version 2
rem of the License, or (at your option) any later version.
rem This program is distributed in the hope that it will be useful,
rem but WITHOUT ANY WARRANTY; without even the implied warranty of
rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
rem GNU General Public License for more details.
rem You should have received a copy of the GNU General Public License
rem along with this program; if not, write to the Free Software
rem Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
if @equal(%1,/p)
%%preview = true
goto skipconfig
else
end
if @not(@equal(%1,/s))
goto configure
else
end
:skipconfig
if @winexists(#richard2)
exit
else
end
title GNUSlideshow
%%mousepos = @mousepos()
inifile open,@path(%0)slideshow.ini
external vdsrnd32.dll
external vdselm.dll,
dialog create,Slideshow2,0,0,@SYSINFO(SCREENWIDTH),@SYSINFO(SCREENHEIGHT),class richard2,notitle,ontop
element add,browser,browser2,richard2,-1,-1,@sum(@SYSINFO(SCREENWIDTH),20),@sum(@SYSINFO(SCREENHEIGHT),10),@path(%0)temp.html
dialog add,list,list1,0,0,0,0
dialog add,list,list2,0,0,0,0
dialog add,list,list3,0,0,0,0
if @equal(%%preview,true)
external vdswnd.dll
gosub prebrowse
window position,#richard2,50,120,160,125
wnd parent,#richard2,display properties
else
end
DIALOG SHOW
element disable,browser2
dialog select,0
rem list add,list2,<HTML><FRAMESET ROWS='100"%"'><FRAME SRC='temp.html'></FRAMESET>
rem list savefile,list2,@path(%0)frame.html
list clear,list2
element set,browser2,@path(%0)preserve.html
%%count = 0
%%directory = @iniread(directory,directory)
if @null(%%directory)
goto set directorymenu
else
end
directory change,%%directory
list loadfile,list3,@path(%0)extensions.txt
if @null(@text(list3))
list add,list3,jpg
list add,list3,bmp
list add,list3,gif
list add,list3,art
list add,list3,efm
list add,list3,png
list add,list3,wmf
list add,list3,jif
list add,list3,jpeg
list savefile,list3,@path(%0)extensions.txt
else
list seek,list3,0
repeat
list filelist,list1,*.@item(list3)
if @equal(@count(list3),1)
rem do nothing
else
list seek,list3,@succ(@index(list3))
end
until @equal(@index(list3),@diff(@count(list3),1))
end
%%match = @match(list1,@iniread(last,last))
:evloop
if @equal(%1,/p)
goto skipmouse
else
end
if @not(@equal(%%mousepos,@mousepos()))
goto close
else
end
:skipmouse
element disable,browser2
%%directory = @iniread(directory,directory)
if @null(%%directory)
goto set directorymenu
else
end
%%delay = @iniread(Delay,delay)
if @null(%%delay)
inifile write,Delay,delay,10
goto evloop
else
end
%%eventdialog = @event(d)
parse "%%event;%%dialog",%%eventdialog
if %%event
dialog select,%%dialog
goto %%event
else
end
%%count = @succ(%%count)
wait 1
if @equal(@diff(%%count,1),%%delay)
%%count = 0
gosub changepic
else
end
if @greater(%%count,%%delay)
%%count = 0
gosub changepic
else
end
goto evloop
:exitmenu
:close
if @equal(%%config,true)
exit
else
end
if @equal(%%dialog,1)
window hide,slideshow2
dialog select,0
goto evloop
else
end
inifile write,last,last,@item(list1)
element remove,browser2
stop
:taskicon1click
dialog popup,Set &Directory|Set &Delay|&Edit Extensions|E&xit
goto evloop
:Edit Extensionsmenu
shell open,@path(%0)extensions.txt
goto set directorymenu
:set directorymenu
%%dirdlg = @dirdlg()
inifile write,directory,directory,%%dirdlg
list clear,list1
%%directory = @iniread(directory,directory)
if @null(%%directory)
goto set directorymenu
else
end
directory change,%%directory
list loadfile,list3,@path(%0)extensions.txt
if @null(@text(list3))
list filelist,list1,*.jpg
list filelist,list1,*.bmp
list filelist,list1,*.gif
list filelist,list1,*.art
list filelist,list1,*.efm
list filelist,list1,*.png
list filelist,list1,*.wmf
list filelist,list1,*.jif
list filelist,list1,*.jpeg
else
list seek,list3,0
repeat
list filelist,list1,*.@item(list3)
if @equal(@count(list3),1)
rem do nothing
else
list seek,list3,@succ(@index(list3))
end
until @equal(@index(list3),@diff(@count(list3),1))
end
goto evloop
:set delaymenu
%%input = @input(Insert delay time)
inifile write,delay,delay,%%input
goto evloop
:changepic
if @equal(%1,/p)
gosub checkp
else
end
element enable,browser2
if @null(@text(list1))
info No pictures to be displayed. Please choose another directory.
goto set directorymenu
else
end
list clear,list2
list add,list2,<HTML>
list add,list2,<HEAD>
if @iniread(trans,trans)
list add,list2,"<meta http-equiv=Page-Exit content=revealTrans(Duration="@iniread(trans,trans)",Transition=99)>"
else
list add,list2,"<meta http-equiv=Page-Exit content=revealTrans(Duration=3.0,Transition=99)>"
end
list add,list2,<META HTTP-EQUIV=Refresh CONTENT=@chr(34)0; URL=temp.html@chr(34)>
list add,list2,<style><!--
list add,list2,body{margin:0}
list add,list2,--></style>
list add,list2,</HEAD>
list add,list2,<BODY bgcolor='black'>
list add,list2,<table height='100"%"' width='100"%"'>
list add,list2,<td height='100"%"' width='100"%"' align=center valign=middle>
if @equal(%1,/p)
list add,list2,<IMG SRC=@chr(34)%%directory\@item(list1)@chr(34) height='115' width='140'>
else
if @equal(@iniread(zoom,zoom),1)
list add,list2,<IMG SRC=@chr(34)%%directory\@item(list1)@chr(34) height='100"%"' width='100"%"'>
else
list add,list2,<IMG SRC=@chr(34)%%directory\@item(list1)@chr(34)>
end
end
list add,list2,</td>
list add,list2,</table>
list add,list2,</BODY>
list add,list2,</HTML>
list savefile,list2,@path(%0)preserve.html
%a = @random(0,@count(list1))
list seek,list1,%a
list clear,list2
list add,list2,<HTML>
list add,list2,<HEAD>
list add,list2,<style><!--
list add,list2,body{margin:0}
list add,list2,--></style>
list add,list2,</HEAD>
list add,list2,<BODY bgcolor='black'>
list add,list2,<table height='100"%"' width='100"%"'>
list add,list2,<td height='100"%"' width='100"%"' align=center valign=middle>
if @equal(%1,/p)
list add,list2,<IMG SRC=@chr(34)%%directory\@item(list1)@chr(34) height='115' width='140'>
else
if @equal(@iniread(zoom,zoom),1)
list add,list2,<IMG SRC=@chr(34)%%directory\@item(list1)@chr(34) height='100"%"' width='100"%"'>
else
list add,list2,<IMG SRC=@chr(34)%%directory\@item(list1)@chr(34)>
end
end
list add,list2,</td>
list add,list2,</table>
list add,list2,</BODY>
list add,list2,</HTML>
list savefile,list2,@path(%0)temp.html
element set,browser2,@path(%0)preserve.html
if @equal(%%preview,true)
gosub prebrowse
else
end
wait 1
exit
:aboutmenu
info GNU Slideshow@cr()Copyright (C) 2002 Brandon Cunningham@cr()This program is free software; you can redistribute it and/or@cr() modify it under the terms of the GNU General Public License@cr() as published by the Free Software Foundation; either version 2@cr() of the License"," or (at your option) any later version.@cr() This program is distributed in the hope that it will be useful","@cr() but WITHOUT ANY WARRANTY; without even the implied warranty of@cr() MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the@cr() GNU General Public License for more details.@cr() You should have received a copy of the GNU General Public License@cr() along with this program; if not"," write to the Free Software@cr() Foundation"," Inc."," 59 Temple Place - Suite 330"," Boston"," MA 02111-1307"," USA.
goto evloop
:exiting full screenmenu
info To exit full screen hold down alt and press f4"," ALT+F4
goto evloop
:configure
%%config = true
title Slide Show
inifile open,@path(%0)slideshow.ini
DIALOG CREATE,Slide Show,-1,0,372,267
DIALOG ADD,GROUP,GROUP1,4,4,358,40,Working Directory
DIALOG ADD,EDIT,EDIT1,18,10,272,19
DIALOG ADD,BUTTON,BUTTON1,14,292,64,24,Browse
DIALOG ADD,GROUP,GROUP2,48,4,358,74,Delay
DIALOG ADD,TRACKBAR,TRACKBAR1,66,14,278,40,,,,BOTH,click
DIALOG ADD,BUTTON,BUTTON2,230,187,85,24,Save
DIALOG ADD,BUTTON,BUTTON3,230,277,85,24,Cancel
DIALOG ADD,EDIT,EDIT2,78,304,46,19,EDIT2
dialog disable,edit2
dialog set,trackbar1,@iniread(delay,delay)
dialog set,edit2,@dlgtext(trackbar1)
dialog set,edit1,@iniread(directory,directory)
DIALOG ADD,BUTTON,BUTTON4,230,6,85,24,Extensions
DIALOG ADD,BUTTON,BUTTON5,230,96,85,24,About
DIALOG ADD,GROUP,GROUP3,130,4,356,74,Transition Speed
DIALOG ADD,TRACKBAR,TRACKBAR2,150,16,276,46,,,,BOTH,click
DIALOG ADD,EDIT,EDIT3,162,306,44,19
DIALOG ADD,CHECK,CHECK1,210,4,180,18,Zoom Pictures,click
dialog set,check1,@iniread(zoom,zoom)
dialog disable,edit3
%%trackini1 = @iniread(delay, delay)
%%trackini2 = @iniread(trans, trans)
%%tperc1 = @fdiv(%%trackini2,%%trackini1)
%%tperc2 = @fmul(%%tperc1,100)
%%tperc3 = @name(%%tperc2)
dialog set,trackbar2,%%tperc3
dialog set,edit3,@fmul(@fdiv(@dlgtext(trackbar2),100),@dlgtext(trackbar1))
DIALOG SHOW
dialog disable,edit1
:evloop2
wait event
goto @event()
:button1button
%%dirdlg = @dirdlg(Browser for Folder)
dialog set,edit1,%%dirdlg
goto evloop2
:trackbar1click
dialog set,edit2,@dlgtext(trackbar1)
dialog set,edit3,@fmul(@fdiv(@dlgtext(trackbar2),100),@dlgtext(trackbar1))
goto evloop2
:trackbar2click
dialog set,edit3,@fmul(@fdiv(@dlgtext(trackbar2),100),@dlgtext(trackbar1))
goto evloop2
:button2button
inifile write,directory,directory,@dlgtext(edit1)
inifile write,delay,delay,@dlgtext(trackbar1)
inifile write,trans,trans,@fmul(@fdiv(@dlgtext(trackbar2),100),@dlgtext(trackbar1))
inifile write,zoom,zoom,@dlgtext(check1)
exit
:button4button
shell open,@path(%0)extensions.txt
goto evloop2
:button5button
info Program by Brandon Cunningham
goto evloop2
:button3button
exit
:prebrowse
element setpos,browser2,0,0,177,135
exit
:checkp
if @not(@winexists(Display Properties))
goto close
else
end
exit
|
NodNarb |
|