Five cool slideshow makers
jQuery ( javascript ) is actually the top soft for building responsive slideshows.it produces cool transitions.
i adapted an original free demo javascript code from http://www.jssor.com/demos/image-gallery.slider
the code can fetch for any jpg images folder and translate it into a slideshow with thumnails, all animated wonderfully.( can extend to other images formats also)
in code i linked directly to the web libraries to avoid to ship these files that why internet must be connected.of course can be downloaded with save As (css+js files).
for making this code quickly to work under hands, the gdiplusX can resize a great quantity of images to the destination sizes wanted (here some big photos as 960x550 and thumbnail 72x72 for each photo).
the final images working are gathered in img folders.i added 2 images encoded for arrows and the thumbnail encadrement.
-original images must be around 800x600 to preserve ratios at resizing.
-gdiplusX system.app must preferably in the source folder (exclude in project if compile an exe).
i added a music with looping (can be a disc media or a web one...this last make some time to load if internet is some slow.i put it on the form.init to benefite this loading if a web url).
i added 2 form properties : ysound (can set the audio media here) and yimages for building the div images string.
can adjust the audio volume (only by APIs here instead of coding WMP mediaplayer) and make the fullscreen on/off.
note: if want to preserve a built slideshow must export it out (with ytemp.html)of the source because at each time the img folder is erased.
-Can compile an exe ( add a config.fpw screen=off|resource=off|safe=off).it works fine and generte the html file and folder img as well.
-javascript original code is from http://www.jssor.com/demos/image-gallery.slider
od course its for a personal use only, no kind of distribution can be used.the heart of the code is javascript (its author property).the overlap is with vfp.
i tried more 100 (code *1* ,*2* ,*3* and *5*) big photos and it works fine.
*warning* the library (js+css) can be changed by the author site each time it be updated.
if you dont link to these files correctly the codes below dont work as expected.
then each time go to the site and verify these 2 files (i verified them 26 of june 2017)
https://www.jssor.com/style/site/css/site-style-1.1.13.min.css
https://www.jssor.com/script/jssor.slider-25.0.6.min.js
-better way is to download them and put them with the html created (and tweak the javascript code in these 2 lines.
Click on code to select [then copy] -click outside to deselect
*1*
publi yform
yform=newObject("yslideshow")
yform.show
read events
retu
*
DEFINE CLASS yslideshow AS form
BorderStyle = 0
Height = 607
Width = (sysmetric(1)+5)
ShowWindow = 2
AutoCenter = .T.
Caption = ""
KeyPreview = .T.
BackColor = RGB(0,0,0)
yimages = .F.
ysound = "https://archive.org/download/beethoven9/beethoven-9-01-concertgebouw-klemperer-1956-16048.mp3"
Name = "Form1"
ADD OBJECT olecontrol1 AS olecontrol WITH ;
Oleclass="shell.explorer.2", ;
Top = 0, ;
Left = 0, ;
Height = 564, ;
Width = 1032, ;
Anchor = 15, ;
Name = "Olecontrol1"
ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
FontSize = 12, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Fullscreen on/off", ;
Height = 21, ;
Left = 552, ;
MousePointer = 15, ;
Top = 576, ;
Width = 115, ;
ForeColor = RGB(255,255,255), ;
Name = "Label1"
ADD OBJECT image1 AS image WITH ;
Anchor = 768, ;
Picture = home(1)+"graphics\icons\misc\volume01.ico", ;
BackStyle = 0, ;
Height = 32, ;
Left = 708, ;
MousePointer = 15, ;
Top = 566, ;
Width = 32, ;
Name = "Image1"
ADD OBJECT label2 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Segoe Script", ;
FontSize = 16, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Happy new year 2017", ;
Height = 36, ;
Left = 48, ;
Top = 570, ;
Width = 253, ;
ForeColor = RGB(0,255,0), ;
Name = "Label2"
ADD OBJECT label3 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 20, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "?", ;
Height = 35, ;
Left = 864, ;
MousePointer = 15, ;
Top = 569, ;
Width = 19, ;
ForeColor = RGB(0,255,0), ;
Name = "Label3"
ADD OBJECT label4 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Segoe Script", ;
FontSize = 16, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Yousfi Benameur", ;
Height = 36, ;
Left = 305, ;
Top = 569, ;
Width = 195, ;
ForeColor = RGB(255,255,0), ;
Name = "Label4"
ADD OBJECT label5 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 20, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "X", ;
Height = 35, ;
Left = 912, ;
MousePointer = 15, ;
Top = 571, ;
Visible = .T., ;
Width = 20, ;
ForeColor = RGB(255,255,255), ;
Name = "Label5"
ADD OBJECT ysh as shape with ;
anchor=768,;
width=15,;
height=15,;
left=912+30,;
top=571,;
curvature=99, ;
mousepointer=15,;
backcolor=255,;
name="ysh"
procedure ysh.click
if thisform.label1.visible=.t.
thisform.setall("visible",.f.,"label")
thisform.image1.visible=.f.
else
thisform.setall("visible",.t.,"label")
thisform.image1.visible=.t.
endi
endproc
PROCEDURE ybuild
*javascript code original from http://www.jssor.com/demos/image-gallery.slider
local m.myvar
text to m.myvar textmerge noshow
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body style="padding:0px; margin:0px; background-color:#000;background:url('https://s-media-cache-ak0.pinimg.com/originals/e1/a0/ef/e1a0ef685ab2c885a3b837db6f6ebd6d.gif') repeat;font-family:helvetica, arial, verdana, sans-serif; ">
<!-- #region Jssor Slider Begin -->
<!-- Generator: Jssor Slider Maker -->
<!-- Source: http://www.jssor.com -->
<!-- This code works without jquery library. -->
<link href="http://cdn.jssor.com/style/site/css/site-style-1.1.2.min.css" rel="stylesheet" />
<script src="http://cdn.jssor.com/script/jssor.slider-22.0.6.min.js" type="text/javascript"></script>
<script type="text/javascript">
jssor_1_slider_init = function() {
var jssor_1_SlideshowTransitions = [
{$Duration:1200,x:0.3,$During:{$Left:[0.3,0.7]},$Easing:{$Left:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,x:-0.3,$SlideOut:true,$Easing:{$Left:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,x:-0.3,$During:{$Left:[0.3,0.7]},$Easing:{$Left:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,x:0.3,$SlideOut:true,$Easing:{$Left:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,y:0.3,$During:{$Top:[0.3,0.7]},$Easing:{$Top:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,y:-0.3,$SlideOut:true,$Easing:{$Top:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,y:-0.3,$During:{$Top:[0.3,0.7]},$Easing:{$Top:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,y:0.3,$SlideOut:true,$Easing:{$Top:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,x:0.3,$Cols:2,$During:{$Left:[0.3,0.7]},$ChessMode:{$Column:3},$Easing:{$Left:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,x:0.3,$Cols:2,$SlideOut:true,$ChessMode:{$Column:3},$Easing:{$Left:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,y:0.3,$Rows:2,$During:{$Top:[0.3,0.7]},$ChessMode:{$Row:12},$Easing:{$Top:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,y:0.3,$Rows:2,$SlideOut:true,$ChessMode:{$Row:12},$Easing:{$Top:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,y:0.3,$Cols:2,$During:{$Top:[0.3,0.7]},$ChessMode:{$Column:12},$Easing:{$Top:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,y:-0.3,$Cols:2,$SlideOut:true,$ChessMode:{$Column:12},$Easing:{$Top:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,x:0.3,$Rows:2,$During:{$Left:[0.3,0.7]},$ChessMode:{$Row:3},$Easing:{$Left:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,x:-0.3,$Rows:2,$SlideOut:true,$ChessMode:{$Row:3},$Easing:{$Left:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,x:0.3,y:0.3,$Cols:2,$Rows:2,$During:{$Left:[0.3,0.7],$Top:[0.3,0.7]},$ChessMode:{$Column:3,$Row:12},$Easing:{$Left:$Jease$.$InCubic,$Top:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,x:0.3,y:0.3,$Cols:2,$Rows:2,$During:{$Left:[0.3,0.7],$Top:[0.3,0.7]},$SlideOut:true,$ChessMode:{$Column:3,$Row:12},$Easing:{$Left:$Jease$.$InCubic,$Top:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,$Delay:20,$Clip:3,$Assembly:260,$Easing:{$Clip:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,$Delay:20,$Clip:3,$SlideOut:true,$Assembly:260,$Easing:{$Clip:$Jease$.$OutCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,$Delay:20,$Clip:12,$Assembly:260,$Easing:{$Clip:$Jease$.$InCubic,$Opacity:$Jease$.$Linear},$Opacity:2},
{$Duration:1200,$Delay:20,$Clip:12,$SlideOut:true,$Assembly:260,$Easing:{$Clip:$Jease$.$OutCubic,$Opacity:$Jease$.$Linear},$Opacity:2}
];
var jssor_1_options = {
$AutoPlay: true,
$SlideshowOptions: {
$Class: $JssorSlideshowRunner$,
$Transitions: jssor_1_SlideshowTransitions,
$TransitionsOrder: 1
},
$ArrowNavigatorOptions: {
$Class: $JssorArrowNavigator$
},
$ThumbnailNavigatorOptions: {
$Class: $JssorThumbnailNavigator$,
$Cols: 12,
$SpacingX: 8,
$SpacingY: 8,
$Align: 360
}
};
var jssor_1_slider = new $JssorSlider$("jssor_1", jssor_1_options);
/*responsive code begin*/
/*you can remove responsive code if you don't want the slider scales while window resizing*/
function ScaleSlider() {
var refSize = jssor_1_slider.$Elmt.parentNode.clientWidth;
if (refSize) {
refSize = Math.min(refSize, 960);
jssor_1_slider.$ScaleWidth(refSize);
}
else {
window.setTimeout(ScaleSlider, 30);
}
}
ScaleSlider();
$Jssor$.$AddEvent(window, "load", ScaleSlider);
$Jssor$.$AddEvent(window, "resize", ScaleSlider);
$Jssor$.$AddEvent(window, "orientationchange", ScaleSlider);
/*responsive code end*/
};
</script>
<style>
/* jssor slider arrow navigator skin 05 css */
/*
.jssora05l (normal)
.jssora05r (normal)
.jssora05l:hover (normal mouseover)
.jssora05r:hover (normal mouseover)
.jssora05l.jssora05ldn (mousedown)
.jssora05r.jssora05rdn (mousedown)
.jssora05l.jssora05lds (disabled)
.jssora05r.jssora05rds (disabled)
*/
.jssora05l, .jssora05r {
display: block;
position: absolute;
/* size of arrow element */
width: 40px;
height: 40px;
cursor: pointer;
background: url('img/a17.png') no-repeat;
overflow: hidden;
}
.jssora05l { background-position: -10px -40px; }
.jssora05r { background-position: -70px -40px; }
.jssora05l:hover { background-position: -130px -40px; }
.jssora05r:hover { background-position: -190px -40px; }
.jssora05l.jssora05ldn { background-position: -250px -40px; }
.jssora05r.jssora05rdn { background-position: -310px -40px; }
.jssora05l.jssora05lds { background-position: -10px -40px; opacity: .3; pointer-events: none; }
.jssora05r.jssora05rds { background-position: -70px -40px; opacity: .3; pointer-events: none; }
/* jssor slider thumbnail navigator skin 01 css *//*.jssort01 .p (normal).jssort01 .p:hover (normal mouseover).jssort01 .p.pav (active).jssort01 .p.pdn (mousedown)*/.jssort01 .p { position: absolute; top: 0; left: 0; width: 72px; height: 72px;}.jssort01 .t { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none;}.jssort01 .w { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%;}.jssort01 .c { position: absolute; top: 0px; left: 0px; width: 68px; height: 68px; border: #000 2px solid; box-sizing: content-box; background: url('img/t01.png') -960px -960px no-repeat; _background: none;}.jssort01 .pav .c { top: 2px; _top: 0px; left: 2px; _left: 0px; width: 68px; height: 68px; border: #000 0px solid; _border: #fff 2px solid; background-position: 50% 50%;}.jssort01 .p:hover .c { top: 0px; left: 0px; width: 70px; height: 70px; border: #fff 1px solid; background-position: 50% 50%;}.jssort01 .p.pdn .c { background-position: 50% 50%; width: 68px; height: 68px; border: #000 2px solid;}* html .jssort01 .c, * html .jssort01 .pdn .c, * html .jssort01 .pav .c { /* ie quirks mode adjust */ width /**/: 72px; height /**/: 72px;}
</style>
<div id="jssor_1" style="position: relative; margin: 0 auto; top: 20px; left: 0px; width: 960px; height: 650px; overflow: hidden; visibility: hidden; background-color: #24262e;">
<!-- Loading Screen -->
<div data-u="loading" style="position: absolute; top: 0px; left: 0px;">
<div style="filter: alpha(opacity=70); opacity: 0.7; position: absolute; display: block; top: 0px; left: 0px; width: 100%; height: 100%;"></div>
<div style="position:absolute;display:block;background:url('img/loading.gif') no-repeat center center;top:0px;left:0px;width:100%;height:100%;"></div>
</div>
<div data-u="slides" style="cursor: default; position: relative; top: 0px; left: 0px; width: 960px; height: 550px; overflow: hidden;">
<<thisform.yimages>>
</div>
<!-- Thumbnail Navigator -->
<div data-u="thumbnavigator" class="jssort01" style="position:absolute ;left:0px;bottom:0px;width:960px;height:100px;" data-autocenter="1">
<!-- Thumbnail Item Skin Begin -->
<div data-u="slides" style="cursor: default;">
<div data-u="prototype" class="p">
<div class="w">
<div data-u="thumbnailtemplate" class="t"></div>
</div>
<div class="c"></div>
</div>
</div>
<!-- Thumbnail Item Skin End -->
</div>
<!-- Arrow Navigator -->
<span data-u="arrowleft" class="jssora05l" style="top:228px;left:8px;width:40px;height:40px;"></span>
<span data-u="arrowright" class="jssora05r" style="top:228px;right:8px;width:40px;height:40px;"></span>
</div>
<script type="text/javascript">jssor_1_slider_init();</script>
<!-- #endregion Jssor Slider End -->
</body>
</html>
endtext
local m.lcdest
m.lcdest=m.yrep+"ytemp.html"
strtofile(m.myvar,m.lcdest)
thisform.olecontrol1.navigate(m.lcdest)
wmp.settings.mute=.f.
ENDPROC
PROCEDURE ybuild0
local m.yrep
m.yrep=addbs(justpath(sys(16,1)))
set defa to (yrep)
if !directory(m.yrep+"img")
md (m.yrep+"img")
else
dele file m.yrep+"img\*.*"
endi
local m.yrepi &&images
*m.yrepi=getdir() &¬ efficient
m.yrepi=GETDIR(m.yrep, "Open jpg images folder" ," Images ", 1+2)
if empty(m.yrepi)
return .f.
endi
gnbre=adir(gabase,m.yrepi+"*.jpg")
if gnbre=0
return .f.
endi
set defa to (yrep)
_screen.windowstate=1
Do Locfile("system.app","app") &&put system.app in source folder (then no dialog appears)
local m.xx
m.xx=""
for i=1 to gnbre
if i<=9
j="0"+trans(i)
else
j=trans(i)
endi
for k=1 to 2
With _Screen.System.drawing
Local loBMP,loBMP1 As fxcBitmap
loBMP=.Image.fromfile(m.yrepi+gabase(i,1))
Local m.lcdest,w,h
if k=1
m.lcdest=m.yrep+"img\"+ j+".jpg"
m.w=960
m.h=550
else
m.lcdest=m.yrep+"img\thumb-"+ j+".jpg"
m.w=72
m.h=72
endi
loBMP1=.Bitmap.new(m.w,m.h)
logfx= .Graphics.FromImage(loBMP1)
&&working with smoothless & high quality drawing
LOGFX.smoothingmode = .drawing2d.smoothingmode.highquality
LOGFX.interpolationmode = .drawing2d.interpolationmode.highqualitybicubic
LOGFX.pixeloffsetmode = .drawing2d.pixeloffsetmode.highquality
logfx.Clear(.Color.white)
logfx.drawImage(loBMP,0,0,m.w,m.h)
loBMP1.Save(m.lcdest,.imaging.imageformat.JPEG)
Endwith
endfor
m.xx=m.xx+[<div data-p="144.50"><img data-u="image" src="img/]+j+[.jpg"/><img data-u="thumb" src="img/thumb-]+j+[.jpg" /></div>]+chr(13)
endfor
text to m.myvar noshow
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
endtext
=strtofile(strconv(m.myvar,14),m.yrep+"img\t01.png")
text to m.myvar noshow
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
endtext
=strtofile(strconv(m.myvar,14),m.yrep+"img\a17.png")
set defa to (yrep)
*copy file loading.gif to (m.yrep+"img")
thisform.caption= "Slideshow with "+trans(gnbre)+ " images."
thisform.yimages=m.xx
thisform.ybuild()
ENDPROC
PROCEDURE Destroy
wmp=null
release wmp
m.yrep=null
release m.yrep
clea events
ENDPROC
PROCEDURE Init
Thisform.WindowState=2
Publi m.yrep
m.yrep=Addbs(Justpath(Sys(16,1)))
Set Defa To (yrep)
Publi Wmp As WindowsMediaPlayer
Wmp = Createobject("WMPlayer.OCX.7")
With Wmp
.settings.autoStart = .T.
.settings.Volume=80
.settings.setMode('loop',.T.) &&loop
.url=Thisform.ysound &&autostart=.t. loading a web media can consume some time.
.settings.mute=.T.
Endwith
Thisform.ybuild0()
ENDPROC
PROCEDURE Load
set safe off
_screen.windowstate=1
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
if nkeycode=27
thisform.release
endi
ENDPROC
PROCEDURE olecontrol1.Init
this.silent=.t.
ENDPROC
PROCEDURE label1.Click
thisform.lockscreen=.t.
thisform.titlebar=iif(thisform.titlebar=1,0,1)
if thisform.titlebar=0
thisform.height=thisform.height+31
else
thisform.height=thisform.height-31
endi
thisform.width=sysmetric(1)+5
thisform.lockscreen=.f.
ENDPROC
PROCEDURE image1.Click
#Define APPCOMMAND_VOLUME_MUTE 0x80000
#Define APPCOMMAND_VOLUME_UP 0xA0000
#Define APPCOMMAND_VOLUME_DOWN 0x90000
#Define WM_APPCOMMAND 0x319
Declare Integer SendMessage In user32;
INTEGER HWnd,;
INTEGER Msg,;
INTEGER wParam,;
INTEGER Lparam
SendMessage(_vfp.HWnd, WM_APPCOMMAND, _vfp.HWnd, APPCOMMAND_VOLUME_UP)
ENDPROC
PROCEDURE label3.Click
local m.myvar
text to m.myvar noshow
jQuery ( javascript ) is actually the top soft for building responsive slideshows.it produces cool transitions.
i adapted an original free javascript code from http://www.jssor.com/demos/image-gallery.slider
the code can fetch for any jpg images folder and translate it into a slideshow with thumnails, all
animated wonderfully.( can extend to other images formats also)
in code i linked directly to the web libraries to avoid to ship these files that why internet must be connected.of course can be downloaded with save As (css+js files).
for making this code quickly to work under hands, the gdiplusX can resize a great quantity of images to the destination sizes wanted (here some big photos as 960x550 and thumbnail 72x72 for each photo).
the final images working are gathered in img folders.i added 2 images encoded for arrows and the thumbnail encadrement.
-original images must be around 800x600 to preserve ratios at resizing.
-gdiplusX system.app must preferably in the source folder (exclude in project if compile an exe).
i added a music with looping (can be a disc media or a web one...this last make some time to load if internet is some slow.i put it on the form.init to benefite this loading if a web url).
i added 2 form properties : ysound (can set the audio media here) and yimages for building the div images string.
can adjust the audio volume (only by APIs here instead of coding WMP mediaplayer) and make the fullscreen on/off.
note: if want to preserve a built slideshow must export it out (with ytemp.html)of the source because at each time the img folder is erased.
-Can compile an exe ( add a config.fpw screen=off|resource=off|safe=off).it works fine and generte the html file and folder img as well.
-javascript original code is from http://www.jssor.com/demos/image-gallery.slider
endtext
*messagebox(m.myvar,0+32+4096,'')
#define MB_ICONINFORMATION 0x00000040
#define MB_OK 0x00000000
#define MB_APPLMODAL 0x00000000
#define MB_DEFBUTTON1 0x00000000
DECLARE INTEGER MessageBox IN user32 As MessageBoxA;
INTEGER hwnd,;
STRING lpText,;
STRING lpCaption,;
INTEGER wType
*buttons
#define MB_ABORTRETRYIGNORE 0x00000002
#define MB_CANCELTRYCONTINUE 0x00000006
#define MB_HELP 0x00004000
#define MB_OKCANCEL 0x00000001
#define MB_RETRYCANCEL 0x00000005
#define MB_YESNO 0x00000004
#define MB_YESNOCANCEL 0x00000003
*Icons
#define MB_ICONEXCLAMATION 0x00000030
#define MB_ICONWARNING 0x00000030
#define MB_ICONASTERISK 0x00000040
#define MB_ICONQUESTION 0x00000020
#define MB_ICONSTOP 0x00000010
#define MB_ICONERROR 0x00000010
#define MB_ICONHAND 0x00000010
*To indicate the default button, specify one of the following values.
#define MB_DEFBUTTON2 0x00000100
#define MB_DEFBUTTON3 0x00000200
#define MB_DEFBUTTON4 0x00000300
*To indicate the modality of the dialog box, specify one of the following values.
#define MB_SYSTEMMODAL 0x00001000
#define MB_TASKMODAL 0x00002000
*To specify other options, use one or more of the following values.
#define MB_DEFAULT_DESKTOP_ONLY 0x00020000
#define MB_RIGHT 0x00080000
#define MB_RTLREADING 0x00100000
#define MB_SETFOREGROUND 0x00010000
#define MB_TOPMOST 0x00040000
#define MB_SERVICE_NOTIFICATION 0x00200000
*Return code
#define IDABORT 3
#define IDCANCEL 2
#define IDCONTINUE 11
#define IDIGNORE 5
#define IDNO 7
#define IDOK 1
#define IDRETRY 4
#define IDTRYAGAIN 10
#define IDYES 6
MessageBoxA(_vfp.hwnd,m.myvar,"Summary help",MB_APPLMODAL+MB_OK +MB_ICONINFORMATION +MB_DEFBUTTON1 )
ENDPROC
PROCEDURE label5.MouseEnter
LPARAMETERS nButton, nShift, nXCoord, nYCoord
ENDPROC
PROCEDURE label5.MouseLeave
LPARAMETERS nButton, nShift, nXCoord, nYCoord
ENDPROC
PROCEDURE label5.Click
thisform.release
ENDPROC
ENDDEFINE
*
*-- EndDefine: yslideshow
Note:A developper code help is in this page:http://www.jssor.com/development/basic-usage-no-jquery.html
Click on code to select [then copy] -click outside to deselect
*2* slideshow with rotating transitions
*this dont use gdiplusX because there is not images to resize.all images stay in their location (absolute location).might be around 800x600 to preserve ratios at viewing.see the help in code.
*urls can be coded also but must re write the code (for a small part).
publi yform
yform=newObject("yslideshow_rotate")
yform.show
read events
retu
*
DEFINE CLASS yslideshow_rotate AS form
BorderStyle = 0
Height = 607
Width = (sysmetric(1)+5)
ShowWindow = 2
AutoCenter = .T.
Caption = ""
KeyPreview = .T.
BackColor = RGB(0,0,0)
yimages = .F.
ysound = "https://archive.org/download/beethoven9/beethoven-9-01-concertgebouw-klemperer-1956-16048.mp3"
Name = "Form1"
ADD OBJECT olecontrol1 AS olecontrol WITH ;
Oleclass="shell.explorer.2", ;
Top = 0, ;
Left = 0, ;
Height = 564, ;
Width = 1032, ;
Anchor = 15, ;
Name = "Olecontrol1"
ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
FontSize = 12, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Fullscreen on/off", ;
Height = 21, ;
Left = 552, ;
MousePointer = 15, ;
Top = 576, ;
Width = 115, ;
ForeColor = RGB(255,255,255), ;
Name = "Label1"
ADD OBJECT image1 AS image WITH ;
Anchor = 768, ;
Picture = home(1)+"graphics\icons\misc\volume01.ico", ;
BackStyle = 0, ;
Height = 32, ;
Left = 708, ;
MousePointer = 15, ;
Top = 566, ;
Width = 32, ;
Name = "Image1"
ADD OBJECT label2 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Segoe Script", ;
FontSize = 16, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Happy new year 2017", ;
Height = 36, ;
Left = 48, ;
Top = 570, ;
Width = 253, ;
ForeColor = RGB(0,255,0), ;
Name = "Label2"
ADD OBJECT label3 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 20, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "?", ;
Height = 35, ;
Left = 864, ;
MousePointer = 15, ;
Top = 569, ;
Width = 19, ;
ForeColor = RGB(0,255,0), ;
Name = "Label3"
ADD OBJECT label4 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Segoe Script", ;
FontSize = 16, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Yousfi Benameur", ;
Height = 36, ;
Left = 305, ;
Top = 569, ;
Width = 195, ;
ForeColor = RGB(255,255,0), ;
Name = "Label4"
ADD OBJECT label5 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 20, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "X", ;
Height = 35, ;
Left = 912, ;
MousePointer = 15, ;
Top = 571, ;
Visible = .T., ;
Width = 20, ;
ForeColor = RGB(255,255,255), ;
Name = "Label5"
ADD OBJECT ysh as shape with ;
anchor=768,;
width=15,;
height=15,;
left=912+30,;
top=571,;
curvature=99, ;
mousepointer=15,;
backcolor=255,;
name="ysh"
procedure ysh.click
if thisform.label1.visible=.t.
thisform.setall("visible",.f.,"label")
thisform.image1.visible=.f.
else
thisform.setall("visible",.t.,"label")
thisform.image1.visible=.t.
endi
endproc
PROCEDURE ybuild
*javascript code original from http://www.jssor.com/slideshow/x-rotate.html
*that why its for personal use only.any kind of distribution is forbidden.
local m.myvar
text to m.myvar textmerge noshow
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Rotate Slideshow jquery javascript+html code example for website design, website development, web developer, web design, web development, web designer, website, web page</title>
<link href="http://cdn.jssor.com/style/site/css/site-style-1.1.2.min.css" rel="stylesheet" />
<style>
body{background-color:black;background:url('https://s-media-cache-ak0.pinimg.com/originals/e1/a0/ef/e1a0ef685ab2c885a3b837db6f6ebd6d.gif') repeat;}
</style>
</head>
<body oncontextmenu="return false ;" scroll="no">
<script type="text/javascript" src="http://cdn.jssor.com/script/jssor.slider-22.0.6.min.js"></script>
<script>
var _SlideshowTransitionC = {};
var _SlideshowTransitionCodes = {};
var _SlideshowTransitions = [];
//----------- Rotate Effects --------------
{
_SlideshowTransitionC["Rotate VDouble+ in"] = { $Duration: 1200, x: -1, y: 2, $Rows: 2, $Zoom: 11, $Rotate: 1, $Assembly: 2049, $ChessMode: { $Row: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate VDouble+ in"] = "{$Duration:1200,x:-1,y:2,$Rows:2,$Zoom:11,$Rotate:1,$Assembly:2049,$ChessMode:{$Row:15},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate HDouble+ in"] = { $Duration: 1200, x: 2, y: 1, $Cols: 2, $Zoom: 11, $Rotate: 1, $Assembly: 2049, $ChessMode: { $Column: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate HDouble+ in"] = "{$Duration:1200,x:2,y:1,$Cols:2,$Zoom:11,$Rotate:1,$Assembly:2049,$ChessMode:{$Column:15},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate VDouble- in"] = { $Duration: 1200, x: -0.5, y: 1, $Rows: 2, $Zoom: 1, $Rotate: 1, $Assembly: 2049, $ChessMode: { $Row: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate VDouble- in"] = "{$Duration:1200,x:-0.5,y:1,$Rows:2,$Zoom:1,$Rotate:1,$Assembly:2049,$ChessMode:{$Row:15},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate HDouble- in"] = { $Duration: 1200, x: 0.5, y: 0.3, $Cols: 2, $Zoom: 1, $Rotate: 1, $Assembly: 2049, $ChessMode: { $Column: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate HDouble- in"] = "{$Duration:1200,x:0.5,y:0.3,$Cols:2,$Zoom:1,$Rotate:1,$Assembly:2049,$ChessMode:{$Column:15},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate VDouble+ out"] = { $Duration: 1000, x: -1, y: 2, $Rows: 2, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Row: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.85 } };
_SlideshowTransitionCodes["Rotate VDouble+ out"] = "{$Duration:1000,x:-1,y:2,$Rows:2,$Zoom:11,$Rotate:1,$SlideOut:true,$Assembly:2049,$ChessMode:{$Row:15},$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.85}}";
_SlideshowTransitionC["Rotate HDouble+ out"] = { $Duration: 1000, x: 4, y: 2, $Cols: 2, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Column: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate HDouble+ out"] = "{$Duration:1000,x:4,y:2,$Cols:2,$Zoom:11,$Rotate:1,$SlideOut:true,$Assembly:2049,$ChessMode:{$Column:15},$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate VDouble- out"] = { $Duration: 1000, x: -0.5, y: 1, $Rows: 2, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Row: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate VDouble- out"] = "{$Duration:1000,x:-0.5,y:1,$Rows:2,$Zoom:1,$Rotate:1,$SlideOut:true,$Assembly:2049,$ChessMode:{$Row:15},$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate HDouble- out"] = { $Duration: 1000, x: 0.5, y: 0.3, $Cols: 2, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Column: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate HDouble- out"] = "{$Duration:1000,x:0.5,y:0.3,$Cols:2,$Zoom:1,$Rotate:1,$SlideOut:true,$Assembly:2049,$ChessMode:{$Column:15},$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate VFork+ in"] = { $Duration: 1200, x: -4, y: 2, $Rows: 2, $Zoom: 11, $Rotate: 1, $Assembly: 2049, $ChessMode: { $Row: 28 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate VFork+ in"] = "{$Duration:1200,x:-4,y:2,$Rows:2,$Zoom:11,$Rotate:1,$Assembly:2049,$ChessMode:{$Row:28},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate HFork+ in"] = { $Duration: 1200, x: 1, y: 2, $Cols: 2, $Zoom: 11, $Rotate: 1, $Assembly: 2049, $ChessMode: { $Column: 19 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate HFork+ in"] = "{$Duration:1200,x:1,y:2,$Cols:2,$Zoom:11,$Rotate:1,$Assembly:2049,$ChessMode:{$Column:19},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate VFork+ out"] = { $Duration: 1000, x: -3, y: 1, $Rows: 2, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Row: 28 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate VFork+ out"] = "{$Duration:1000,x:-3,y:1,$Rows:2,$Zoom:11,$Rotate:1,$SlideOut:true,$Assembly:2049,$ChessMode:{$Row:28},$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate HFork+ out"] = { $Duration: 1000, x: 1, y: 2, $Cols: 2, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Column: 19 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate HFork+ out"] = "{$Duration:1000,x:1,y:2,$Cols:2,$Zoom:11,$Rotate:1,$SlideOut:true,$Assembly:2049,$ChessMode:{$Column:19},$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate Zoom+ in"] = { $Duration: 1200, $Zoom: 11, $Rotate: 1, $Easing: { $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate Zoom+ in"] = "{$Duration:1200,$Zoom:11,$Rotate:1,$Easing:{$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate Zoom+ in L"] = { $Duration: 1200, x: 4, $Zoom: 11, $Rotate: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate Zoom+ in L"] = "{$Duration:1200,x:4,$Zoom:11,$Rotate:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate Zoom+ in R"] = { $Duration: 1200, x: -4, $Zoom: 11, $Rotate: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate Zoom+ in R"] = "{$Duration:1200,x:-4,$Zoom:11,$Rotate:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate Zoom+ in T"] = { $Duration: 1200, y: 4, $Zoom: 11, $Rotate: 1, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate Zoom+ in T"] = "{$Duration:1200,y:4,$Zoom:11,$Rotate:1,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate Zoom+ in B"] = { $Duration: 1200, y: -4, $Zoom: 11, $Rotate: 1, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate Zoom+ in B"] = "{$Duration:1200,y:-4,$Zoom:11,$Rotate:1,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate Zoom+ in TL"] = { $Duration: 1200, x: 4, y: 4, $Zoom: 11, $Rotate: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate Zoom+ in TL"] = "{$Duration:1200,x:4,y:4,$Zoom:11,$Rotate:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate Zoom+ in TR"] = { $Duration: 1200, x: -4, y: 4, $Zoom: 11, $Rotate: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate Zoom+ in TR"] = "{$Duration:1200,x:-4,y:4,$Zoom:11,$Rotate:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate Zoom+ in BL"] = { $Duration: 1200, x: 4, y: -4, $Zoom: 11, $Rotate: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate Zoom+ in BL"] = "{$Duration:1200,x:4,y:-4,$Zoom:11,$Rotate:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate Zoom+ in BR"] = { $Duration: 1200, x: -4, y: -4, $Zoom: 11, $Rotate: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.7 } };
_SlideshowTransitionCodes["Rotate Zoom+ in BR"] = "{$Duration:1200,x:-4,y:-4,$Zoom:11,$Rotate:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.7}}";
_SlideshowTransitionC["Rotate Zoom+ out"] = { $Duration: 1000, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate Zoom+ out"] = "{$Duration:1000,$Zoom:11,$Rotate:1,$SlideOut:true,$Easing:{$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate Zoom+ out L"] = { $Duration: 1000, x: 4, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate Zoom+ out L"] = "{$Duration:1000,x:4,$Zoom:11,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate Zoom+ out R"] = { $Duration: 1000, x: -4, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate Zoom+ out R"] = "{$Duration:1000,x:-4,$Zoom:11,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate Zoom+ out T"] = { $Duration: 1000, y: 4, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate Zoom+ out T"] = "{$Duration:1000,y:4,$Zoom:11,$Rotate:1,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate Zoom+ out B"] = { $Duration: 1000, y: -4, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate Zoom+ out B"] = "{$Duration:1000,y:-4,$Zoom:11,$Rotate:1,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate Zoom+ out TL"] = { $Duration: 1000, x: 4, y: 4, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate Zoom+ out TL"] = "{$Duration:1000,x:4,y:4,$Zoom:11,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate Zoom+ out TR"] = { $Duration: 1000, x: -4, y: 4, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate Zoom+ out TR"] = "{$Duration:1000,x:-4,y:4,$Zoom:11,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate Zoom+ out BL"] = { $Duration: 1000, x: 4, y: -4, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate Zoom+ out BL"] = "{$Duration:1000,x:4,y:-4,$Zoom:11,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate Zoom+ out BR"] = { $Duration: 1000, x: -4, y: -4, $Zoom: 11, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInExpo }, $Opacity: 2, $Round: { $Rotate: 0.8 } };
_SlideshowTransitionCodes["Rotate Zoom+ out BR"] = "{$Duration:1000,x:-4,y:-4,$Zoom:11,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInExpo},$Opacity:2,$Round:{$Rotate:0.8}}";
_SlideshowTransitionC["Rotate Zoom- in"] = { $Duration: 1200, $Zoom: 1, $Rotate: 1, $During: { $Zoom: [0.2, 0.8], $Rotate: [0.2, 0.8] }, $Easing: { $Zoom: $JssorEasing$.$EaseSwing, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseSwing }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- in"] = "{$Duration:1200,$Zoom:1,$Rotate:1,$During:{$Zoom:[0.2,0.8],$Rotate:[0.2,0.8]},$Easing:{$Zoom:$JssorEasing$.$EaseSwing,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseSwing},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- in L"] = { $Duration: 1200, x: 0.6, $Zoom: 1, $Rotate: 1, $During: { $Left: [0.2, 0.8], $Zoom: [0.2, 0.8], $Rotate: [0.2, 0.8] }, $Easing: { $Left: $JssorEasing$.$EaseSwing, $Zoom: $JssorEasing$.$EaseSwing, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseSwing }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- in L"] = "{$Duration:1200,x:0.6,$Zoom:1,$Rotate:1,$During:{$Left:[0.2,0.8],$Zoom:[0.2,0.8],$Rotate:[0.2,0.8]},$Easing:{$Left:$JssorEasing$.$EaseSwing,$Zoom:$JssorEasing$.$EaseSwing,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseSwing},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- in R"] = { $Duration: 1200, x: -0.6, $Zoom: 1, $Rotate: 1, $During: { $Left: [0.2, 0.8], $Zoom: [0.2, 0.8], $Rotate: [0.2, 0.8] }, $Easing: { $Left: $JssorEasing$.$EaseSwing, $Zoom: $JssorEasing$.$EaseSwing, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseSwing }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- in R"] = "{$Duration:1200,x:-0.6,$Zoom:1,$Rotate:1,$During:{$Left:[0.2,0.8],$Zoom:[0.2,0.8],$Rotate:[0.2,0.8]},$Easing:{$Left:$JssorEasing$.$EaseSwing,$Zoom:$JssorEasing$.$EaseSwing,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseSwing},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- in T"] = { $Duration: 1200, y: 0.6, $Zoom: 1, $Rotate: 1, $During: { $Top: [0.2, 0.8], $Zoom: [0.2, 0.8], $Rotate: [0.2, 0.8] }, $Easing: { $Zoom: $JssorEasing$.$EaseSwing, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseSwing }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- in T"] = "{$Duration:1200,y:0.6,$Zoom:1,$Rotate:1,$During:{$Top:[0.2,0.8],$Zoom:[0.2,0.8],$Rotate:[0.2,0.8]},$Easing:{$Zoom:$JssorEasing$.$EaseSwing,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseSwing},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- in B"] = { $Duration: 1200, y: -0.6, $Zoom: 1, $Rotate: 1, $During: { $Top: [0.2, 0.8], $Zoom: [0.2, 0.8], $Rotate: [0.2, 0.8] }, $Easing: { $Zoom: $JssorEasing$.$EaseSwing, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseSwing }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- in B"] = "{$Duration:1200,y:-0.6,$Zoom:1,$Rotate:1,$During:{$Top:[0.2,0.8],$Zoom:[0.2,0.8],$Rotate:[0.2,0.8]},$Easing:{$Zoom:$JssorEasing$.$EaseSwing,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseSwing},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- in TL"] = { $Duration: 1200, x: 0.6, y: 0.6, $Zoom: 1, $Rotate: 1, $During: { $Left: [0.2, 0.8], $Top: [0.2, 0.8], $Zoom: [0.2, 0.8], $Rotate: [0.2, 0.8] }, $Easing: { $Zoom: $JssorEasing$.$EaseSwing, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseSwing }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- in TL"] = "{$Duration:1200,x:0.6,y:0.6,$Zoom:1,$Rotate:1,$During:{$Left:[0.2,0.8],$Top:[0.2,0.8],$Zoom:[0.2,0.8],$Rotate:[0.2,0.8]},$Easing:{$Zoom:$JssorEasing$.$EaseSwing,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseSwing},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- in TR"] = { $Duration: 1200, x: -0.6, y: 0.6, $Zoom: 1, $Rotate: 1, $During: { $Left: [0.2, 0.8], $Top: [0.2, 0.8], $Zoom: [0.2, 0.8], $Rotate: [0.2, 0.8] }, $Easing: { $Zoom: $JssorEasing$.$EaseSwing, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseSwing }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- in TR"] = "{$Duration:1200,x:-0.6,y:0.6,$Zoom:1,$Rotate:1,$During:{$Left:[0.2,0.8],$Top:[0.2,0.8],$Zoom:[0.2,0.8],$Rotate:[0.2,0.8]},$Easing:{$Zoom:$JssorEasing$.$EaseSwing,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseSwing},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- in BL"] = { $Duration: 1200, x: 0.6, y: -0.6, $Zoom: 1, $Rotate: 1, $During: { $Left: [0.2, 0.8], $Top: [0.2, 0.8], $Zoom: [0.2, 0.8], $Rotate: [0.2, 0.8] }, $Easing: { $Zoom: $JssorEasing$.$EaseSwing, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseSwing }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- in BL"] = "{$Duration:1200,x:0.6,y:-0.6,$Zoom:1,$Rotate:1,$During:{$Left:[0.2,0.8],$Top:[0.2,0.8],$Zoom:[0.2,0.8],$Rotate:[0.2,0.8]},$Easing:{$Zoom:$JssorEasing$.$EaseSwing,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseSwing},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- in BR"] = { $Duration: 1200, x: -0.6, y: -0.6, $Zoom: 1, $Rotate: 1, $During: { $Left: [0.2, 0.8], $Top: [0.2, 0.8], $Zoom: [0.2, 0.8], $Rotate: [0.2, 0.8] }, $Easing: { $Zoom: $JssorEasing$.$EaseSwing, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseSwing }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- in BR"] = "{$Duration:1200,x:-0.6,y:-0.6,$Zoom:1,$Rotate:1,$During:{$Left:[0.2,0.8],$Top:[0.2,0.8],$Zoom:[0.2,0.8],$Rotate:[0.2,0.8]},$Easing:{$Zoom:$JssorEasing$.$EaseSwing,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseSwing},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- out"] = { $Duration: 1000, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Easing: { $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- out"] = "{$Duration:1000,$Zoom:1,$Rotate:1,$SlideOut:true,$Easing:{$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- out L"] = { $Duration: 1000, x: 0.5, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- out L"] = "{$Duration:1000,x:0.5,$Zoom:1,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- out R"] = { $Duration: 1000, x: -0.5, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- out R"] = "{$Duration:1000,x:-0.5,$Zoom:1,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- out T"] = { $Duration: 1000, y: 0.5, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- out T"] = "{$Duration:1000,y:0.5,$Zoom:1,$Rotate:1,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- out B"] = { $Duration: 1000, y: -0.5, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- out B"] = "{$Duration:1000,y:-0.5,$Zoom:1,$Rotate:1,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- out TL"] = { $Duration: 1000, x: 0.5, y: 0.5, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- out TL"] = "{$Duration:1000,x:0.5,y:0.5,$Zoom:1,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- out TR"] = { $Duration: 1000, x: -0.5, y: 0.5, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- out TR"] = "{$Duration:1000,x:-0.5,y:0.5,$Zoom:1,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- out BL"] = { $Duration: 1000, x: 0.5, y: -0.5, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- out BL"] = "{$Duration:1000,x:0.5,y:-0.5,$Zoom:1,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.5}}";
_SlideshowTransitionC["Rotate Zoom- out BR"] = { $Duration: 1000, x: -0.5, y: -0.5, $Zoom: 1, $Rotate: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.5 } };
_SlideshowTransitionCodes["Rotate Zoom- out BR"] = "{$Duration:1000,x:-0.5,y:-0.5,$Zoom:1,$Rotate:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear,$Rotate:$JssorEasing$.$EaseInCubic},$Opacity:2,$Round:{$Rotate:0.5}}";
}
$Jssor$.$Each(_SlideshowTransitionC, function (slideshowTransition, name) {
_SlideshowTransitions.push(slideshowTransition);
});
</script>
<script>
jssor_slider1_starter = function (containerId) {
var jssor_slider1 = new $JssorSlider$(containerId, {
$AutoPlay: true, //[Optional] Whether to auto play, to enable slideshow, this option must be set to true, default value is false
$Idle: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000
$DragOrientation: 3, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $Cols is greater than 1, or parking position is not 0)
$PauseOnHover: 1, //[Optional] Whether to pause when mouse over if a slider is auto playing, 0 no pause, 1 pause for desktop, 2 pause for touch device, 3 pause for desktop and touch device, 4 freeze for desktop, 8 freeze for touch device, 12 freeze for desktop and touch device, default value is 1
$SlideshowOptions: { //[Optional] Options to specify and enable slideshow or not
$Class: $JssorSlideshowRunner$, //[Required] Class to create instance of slideshow
$Transitions: _SlideshowTransitions, //[Required] An array of slideshow transitions to play slideshow
$TransitionsOrder: 1, //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random
$ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false
}
});
PlaySlideshowTransition = function (event) {
$Jssor$.$StopEvent(event);
$Jssor$.$CancelEvent(event);
try {
var eventSrcElement = $Jssor$.$EvtSrc(event);
var transitionName = $Jssor$.$InnerText(eventSrcElement);
jssor_slider1.$Next();
jssor_slider1.$SetSlideshowTransitions([_SlideshowTransitionC[transitionName]]);
var effectStr = _SlideshowTransitionCodes[transitionName];
if (transitionNameTextBox) {
transitionNameTextBox.value = transitionName;
}
if (transitionCodeTextBox) {
transitionCodeTextBox.value = effectStr;
}
}
catch (e) { }
}
TransitionTextBoxClickEventHandler = function (event) {
transitionCodeTextBox.select();
$Jssor$.$CancelEvent(event);
$Jssor$.$StopEvent(event);
}
var transitionCodeTextBox = $Jssor$.$GetElement("stTransition");
var transitionNameTextBox = $Jssor$.$GetElement("stTransitionName");
$Jssor$.$AddEvent(transitionCodeTextBox, "click", TransitionTextBoxClickEventHandler);
//responsive code begin
//you can remove responsive code if you don't want the slider scales while window resizing
function ScaleSlider() {
var bodyWidth = document.body.clientWidth;
if (bodyWidth)
jssor_slider1.$ScaleWidth(Math.min(bodyWidth, 950));
else
$Jssor$.$Delay(ScaleSlider, 30);
}
ScaleSlider();
$Jssor$.$AddEvent(window, "load", ScaleSlider);
$Jssor$.$AddEvent(window, "resize", ScaleSlider);
$Jssor$.$AddEvent(window, "orientationchange", ScaleSlider);
//responsive code end
};
</script>
<div class="headerspace"></div>
<div style="height: 20px;"></div>
<!-- Jssor Slider Begin -->
<!-- To move inline styles to css file/block, please specify a class name for each element. -->
<div id="slider1_container" style="position: relative; margin: 0 auto; width:950px; height:600px; left:0px; top:0px;">
<!-- Loading Screen -->
<div u="loading" style="position: absolute; top: 0px; left: 0px;">
<div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block;
background-color: #000000; top: 0px; left: 0px;width: 100%;height:100%;">
</div>
<div style="position: absolute; display: block; background: url(../img/loading.gif) no-repeat center center;
top: 0px; left: 0px;width: 100%;height:100%;">
</div>
</div>
<!-- Slides Container -->
<div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 950px; height:600px;
overflow: hidden;">
<<thisform.yimages>>
</div>
<a style="display: none" href="http://www.jssor.com">jQuery Slider</a>
<!-- Trigger -->
</div>
<!-- Jssor Slider End -->
<script>jssor_slider1_starter("slider1_container");</script>
<!--#endregion-->
<div style="height: 10px;"></div>
<div style="height: 15px;"></div>
</body>
</html>
endtext
local m.lcdest
m.lcdest=addbs(sys(2023))+"ytemp.html"
strtofile(m.myvar,m.lcdest)
thisform.olecontrol1.navigate(m.lcdest)
wmp.settings.mute=.f.
ENDPROC
PROCEDURE ybuild0
local m.yrep
m.yrep=addbs(justpath(sys(16,1)))
set defa to (yrep)
local m.yrepi &&images
*m.yrepi=getdir() &¬ efficient
m.yrepi=GETDIR(m.yrep, "Open jpg images folder" ," Images ", 1+2)
if empty(m.yrepi)
return .f.
endi
gnbre=adir(gabase,m.yrepi+"*.jpg")
if gnbre=0
return .f.
endi
set defa to (yrep)
_screen.windowstate=1
local m.xx
m.xx=""
for i=1 to gnbre
m.xx=m.xx+[<div><img u="image" src="file:///]+strtran(m.yrepi+allt(gabase(i,1)),"\","/")+[" /></div>]+chr(13)
endfor
set defa to (yrep)
*copy file loading.gif to (m.yrep+"img")
thisform.caption= "Slideshow with "+trans(gnbre)+ " images."
thisform.yimages=m.xx
thisform.ybuild()
ENDPROC
PROCEDURE Destroy
wmp=null
release wmp
m.yrep=null
release m.yrep
erase addbs(sys(2023))+"ytemp.html"
clea events
ENDPROC
PROCEDURE Init
Thisform.WindowState=2
Publi m.yrep
m.yrep=Addbs(Justpath(Sys(16,1)))
Set Defa To (yrep)
Publi Wmp As WindowsMediaPlayer
Wmp = Createobject("WMPlayer.OCX.7")
With Wmp
.settings.autoStart = .T.
.settings.Volume=80
.settings.setMode('loop',.T.) &&loop
.url=Thisform.ysound &&autostart=.t. loading a web media can consume some time.
.settings.mute=.T.
Endwith
Thisform.ybuild0()
ENDPROC
PROCEDURE Load
set safe off
_screen.windowstate=1
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
if nkeycode=27
thisform.release
endi
ENDPROC
PROCEDURE olecontrol1.Init
this.silent=.t.
ENDPROC
PROCEDURE label1.Click
thisform.lockscreen=.t.
thisform.titlebar=iif(thisform.titlebar=1,0,1)
if thisform.titlebar=0
thisform.height=thisform.height+31
else
thisform.height=thisform.height-31
endi
thisform.width=sysmetric(1)+5
thisform.lockscreen=.f.
ENDPROC
PROCEDURE image1.Click
#Define APPCOMMAND_VOLUME_MUTE 0x80000
#Define APPCOMMAND_VOLUME_UP 0xA0000
#Define APPCOMMAND_VOLUME_DOWN 0x90000
#Define WM_APPCOMMAND 0x319
Declare Integer SendMessage In user32;
INTEGER HWnd,;
INTEGER Msg,;
INTEGER wParam,;
INTEGER Lparam
SendMessage(_vfp.HWnd, WM_APPCOMMAND, _vfp.HWnd, APPCOMMAND_VOLUME_UP)
ENDPROC
PROCEDURE label3.Click
local m.myvar
text to m.myvar noshow
jQuery ( javascript ) is actually the top soft for building responsive slideshows.it produces cool transitions.
i adapted an original free javascript code from http://www.jssor.com/slideshow/x-rotate.html
that why its for personal use only.any kind of distribution is forbidden.
the code can fetch for any jpg images folder and translate it into a slideshow with thumnails, all animated wonderfully.( can extend to other images formats also)
in code i linked directly to the web libraries to avoid to ship these files that why internet must be connected.of course can be downloaded with save As (css+js files).
-images stay in their disc locations and are linked absolutely.no resizing here (no thumbs used).
-original images must be around 800x600 to preserve ratios at viewing.
i added a music with looping (can be a disc media or a web one...this last make some time to load if internet is some slow.i put it on the form.init to benefite this loading if a web url).
i added 2 form properties : ysound (can set the audio media here) and yimages for building the div images string.
can adjust the audio volume (only by APIs here instead of coding WMP mediaplayer) and make the fullscreen on/off.
note: if want to preserve a built slideshow must export it out (with ytemp.html)of the source because its systemaically erased.
-Can compile an exe ( add a config.fpw screen=off|resource=off|safe=off).it works fine and generate the html file and folder img as well.
-javascript original code is from http://www.jssor.com/demos/image-gallery.slider
endtext
*messagebox(m.myvar,0+32+4096,'')
#define MB_ICONINFORMATION 0x00000040
#define MB_OK 0x00000000
#define MB_APPLMODAL 0x00000000
#define MB_DEFBUTTON1 0x00000000
DECLARE INTEGER MessageBox IN user32 As MessageBoxA;
INTEGER hwnd,;
STRING lpText,;
STRING lpCaption,;
INTEGER wType
*buttons
#define MB_ABORTRETRYIGNORE 0x00000002
#define MB_CANCELTRYCONTINUE 0x00000006
#define MB_HELP 0x00004000
#define MB_OKCANCEL 0x00000001
#define MB_RETRYCANCEL 0x00000005
#define MB_YESNO 0x00000004
#define MB_YESNOCANCEL 0x00000003
*Icons
#define MB_ICONEXCLAMATION 0x00000030
#define MB_ICONWARNING 0x00000030
#define MB_ICONASTERISK 0x00000040
#define MB_ICONQUESTION 0x00000020
#define MB_ICONSTOP 0x00000010
#define MB_ICONERROR 0x00000010
#define MB_ICONHAND 0x00000010
*To indicate the default button, specify one of the following values.
#define MB_DEFBUTTON2 0x00000100
#define MB_DEFBUTTON3 0x00000200
#define MB_DEFBUTTON4 0x00000300
*To indicate the modality of the dialog box, specify one of the following values.
#define MB_SYSTEMMODAL 0x00001000
#define MB_TASKMODAL 0x00002000
*To specify other options, use one or more of the following values.
#define MB_DEFAULT_DESKTOP_ONLY 0x00020000
#define MB_RIGHT 0x00080000
#define MB_RTLREADING 0x00100000
#define MB_SETFOREGROUND 0x00010000
#define MB_TOPMOST 0x00040000
#define MB_SERVICE_NOTIFICATION 0x00200000
*Return code
#define IDABORT 3
#define IDCANCEL 2
#define IDCONTINUE 11
#define IDIGNORE 5
#define IDNO 7
#define IDOK 1
#define IDRETRY 4
#define IDTRYAGAIN 10
#define IDYES 6
MessageBoxA(_vfp.hwnd,m.myvar,"Summary help",MB_APPLMODAL+MB_OK +MB_ICONINFORMATION +MB_DEFBUTTON1 )
ENDPROC
PROCEDURE label5.MouseEnter
LPARAMETERS nButton, nShift, nXCoord, nYCoord
ENDPROC
PROCEDURE label5.MouseLeave
LPARAMETERS nButton, nShift, nXCoord, nYCoord
ENDPROC
PROCEDURE label5.Click
thisform.release
ENDPROC
ENDDEFINE
*
*-- EndDefine: yslideshow_rotate
Click on code to select [then copy] -click outside to deselect
*3* slideshow with zoom transitions
*this dont use gdiplusX because there is not images to resize.all images stay in their location (absolute location).might be around 800x600 to preserve ratios at viewing.see the help in code.
*urls can be coded also but must re write the code (for a small part).
publi yform
yform=newObject("yslideshow_zoom")
yform.show
read events
retu
*
DEFINE CLASS yslideshow_zoom AS form
BorderStyle = 0
Height = 607
Width = (sysmetric(1)+5)
ShowWindow = 2
AutoCenter = .T.
Caption = ""
KeyPreview = .T.
BackColor = RGB(0,0,0)
yimages = .F.
ysound = "https://archive.org/download/beethoven9/beethoven-9-01-concertgebouw-klemperer-1956-16048.mp3"
Name = "Form1"
ADD OBJECT olecontrol1 AS olecontrol WITH ;
Oleclass="shell.explorer.2", ;
Top = 0, ;
Left = 0, ;
Height = 564, ;
Width = 1032, ;
Anchor = 15, ;
Name = "Olecontrol1"
ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
FontSize = 12, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Fullscreen on/off", ;
Height = 21, ;
Left = 552, ;
MousePointer = 15, ;
Top = 576, ;
Width = 115, ;
ForeColor = RGB(255,255,255), ;
Name = "Label1"
ADD OBJECT image1 AS image WITH ;
Anchor = 768, ;
Picture = home(1)+"graphics\icons\misc\volume01.ico", ;
BackStyle = 0, ;
Height = 32, ;
Left = 708, ;
MousePointer = 15, ;
Top = 566, ;
Width = 32, ;
Name = "Image1"
ADD OBJECT label2 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Segoe Script", ;
FontSize = 16, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Happy new year 2017", ;
Height = 36, ;
Left = 48, ;
Top = 570, ;
Width = 253, ;
ForeColor = RGB(0,255,0), ;
Name = "Label2"
ADD OBJECT label3 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 20, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "?", ;
Height = 35, ;
Left = 864, ;
MousePointer = 15, ;
Top = 569, ;
Width = 19, ;
ForeColor = RGB(0,255,0), ;
Name = "Label3"
ADD OBJECT label4 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Segoe Script", ;
FontSize = 16, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Yousfi Benameur", ;
Height = 36, ;
Left = 305, ;
Top = 569, ;
Width = 195, ;
ForeColor = RGB(255,255,0), ;
Name = "Label4"
ADD OBJECT label5 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 20, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "X", ;
Height = 35, ;
Left = 912, ;
MousePointer = 15, ;
Top = 571, ;
Visible = .T., ;
Width = 20, ;
ForeColor = RGB(255,255,255), ;
Name = "Label5"
ADD OBJECT ysh as shape with ;
anchor=768,;
width=15,;
height=15,;
left=912+30,;
top=571,;
curvature=99, ;
mousepointer=15,;
backcolor=255,;
name="ysh"
procedure ysh.click
if thisform.label1.visible=.t.
thisform.setall("visible",.f.,"label")
thisform.image1.visible=.f.
else
thisform.setall("visible",.t.,"label")
thisform.image1.visible=.t.
endi
endproc
PROCEDURE ybuild
*javascript code original from http://www.jssor.com/slideshow/x-rotate.html
*that why its for personal use only.any kind of distribution is forbidden.
local m.myvar
text to m.myvar textmerge noshow
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Zoom Slideshow jquery javascript+html code example for website design, website development, web developer, web design, web development, web designer, website, web page</title>
<link href="http://cdn.jssor.com/style/site/css/site-style-1.1.2.min.css" rel="stylesheet" />
<script>jssor_slider1_starter("slider1_container");</script>
<style>
body{background-color:black;background:url('https://s-media-cache-ak0.pinimg.com/originals/e1/a0/ef/e1a0ef685ab2c885a3b837db6f6ebd6d.gif') repeat;}
</style>
</head>
<body>
<script type="text/javascript" src="http://cdn.jssor.com/script/jssor.slider-22.0.6.min.js"></script>
<script>
var _SlideshowTransitionC = {};
var _SlideshowTransitionCodes = {};
var _SlideshowTransitions = [];
//----------- Zoom Effects --------------
{
_SlideshowTransitionC["Zoom VDouble+ in"] = { $Duration: 1200, y: 2, $Rows: 2, $Zoom: 11, $Assembly: 2049, $ChessMode: { $Row: 15 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom VDouble+ in"] = "{$Duration:1200,y:2,$Rows:2,$Zoom:11,$Assembly:2049,$ChessMode:{$Row:15},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom HDouble+ in"] = { $Duration: 1200, x: 4, $Cols: 2, $Zoom: 11, $Assembly: 2049, $ChessMode: { $Column: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom HDouble+ in"] = "{$Duration:1200,x:4,$Cols:2,$Zoom:11,$Assembly:2049,$ChessMode:{$Column:15},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom VDouble- in"] = { $Duration: 1200, y: 1, $Rows: 2, $Zoom: 1, $Assembly: 2049, $ChessMode: { $Row: 15 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom VDouble- in"] = "{$Duration:1200,y:1,$Rows:2,$Zoom:1,$Assembly:2049,$ChessMode:{$Row:15},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom HDouble- in"] = { $Duration: 1200, x: 0.5, $Cols: 2, $Zoom: 1, $Assembly: 2049, $ChessMode: { $Column: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom HDouble- in"] = "{$Duration:1200,x:0.5,$Cols:2,$Zoom:1,$Assembly:2049,$ChessMode:{$Column:15},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom VDouble+ out"] = { $Duration: 1200, y: 2, $Rows: 2, $Zoom: 11, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Row: 15 }, $Easing: { $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom VDouble+ out"] = "{$Duration:1200,y:2,$Rows:2,$Zoom:11,$SlideOut:true,$Assembly:2049,$ChessMode:{$Row:15},$Easing:{$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom HDouble+ out"] = { $Duration: 1200, x: 4, $Cols: 2, $Zoom: 11, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Column: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom HDouble+ out"] = "{$Duration:1200,x:4,$Cols:2,$Zoom:11,$SlideOut:true,$Assembly:2049,$ChessMode:{$Column:15},$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom VDouble- out"] = { $Duration: 1200, y: 1, $Rows: 2, $Zoom: 1, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Row: 15 }, $Easing: { $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom VDouble- out"] = "{$Duration:1200,y:1,$Rows:2,$Zoom:1,$SlideOut:true,$Assembly:2049,$ChessMode:{$Row:15},$Easing:{$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom HDouble- out"] = { $Duration: 1200, x: 0.5, $Cols: 2, $Zoom: 1, $SlideOut: true, $Assembly: 2049, $ChessMode: { $Column: 15 }, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom HDouble- out"] = "{$Duration:1200,x:0.5,$Cols:2,$Zoom:1,$SlideOut:true,$Assembly:2049,$ChessMode:{$Column:15},$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom+ in"] = { $Duration: 1000, $Zoom: 11, $Easing: { $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ in"] = "{$Duration:1000,$Zoom:11,$Easing:{$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom+ in L"] = { $Duration: 1000, x: 4, $Zoom: 11, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ in L"] = "{$Duration:1000,x:4,$Zoom:11,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom+ in R"] = { $Duration: 1000, x: -4, $Zoom: 11, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2, $Round: { $Top: 2.5 } };
_SlideshowTransitionCodes["Zoom+ in R"] = "{$Duration:1000,x:-4,$Zoom:11,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2,$Round:{$Top:2.5}}";
_SlideshowTransitionC["Zoom+ in T"] = { $Duration: 1000, y: 4, $Zoom: 11, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ in T"] = "{$Duration:1000,y:4,$Zoom:11,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom+ in B"] = { $Duration: 1000, y: -4, $Zoom: 11, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ in B"] = "{$Duration:1000,y:-4,$Zoom:11,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom+ in TL"] = { $Duration: 1000, x: 4, y: 4, $Zoom: 11, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ in TL"] = "{$Duration:1000,x:4,y:4,$Zoom:11,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom+ in TR"] = { $Duration: 1000, x: -4, y: 4, $Zoom: 11, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ in TR"] = "{$Duration:1000,x:-4,y:4,$Zoom:11,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom+ in BL"] = { $Duration: 1000, x: 4, y: -4, $Zoom: 11, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ in BL"] = "{$Duration:1000,x:4,y:-4,$Zoom:11,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom+ in BR"] = { $Duration: 1000, x: -4, y: -4, $Zoom: 11, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ in BR"] = "{$Duration:1000,x:-4,y:-4,$Zoom:11,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom+ out"] = { $Duration: 1000, $Zoom: 11, $SlideOut: true, $Easing: { $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ out"] = "{$Duration:1000,$Zoom:11,$SlideOut:true,$Easing:{$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom+ out L"] = { $Duration: 1000, x: 4, $Zoom: 11, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ out L"] = "{$Duration:1000,x:4,$Zoom:11,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom+ out R"] = { $Duration: 1000, x: -4, $Zoom: 11, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ out R"] = "{$Duration:1000,x:-4,$Zoom:11,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom+ out T"] = { $Duration: 1000, y: 4, $Zoom: 11, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ out T"] = "{$Duration:1000,y:4,$Zoom:11,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom+ out B"] = { $Duration: 1000, y: -4, $Zoom: 11, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ out B"] = "{$Duration:1000,y:-4,$Zoom:11,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom+ out TL"] = { $Duration: 1000, x: 4, y: 4, $Zoom: 11, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ out TL"] = "{$Duration:1000,x:4,y:4,$Zoom:11,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom+ out TR"] = { $Duration: 1000, x: -4, y: 4, $Zoom: 11, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ out TR"] = "{$Duration:1000,x:-4,y:4,$Zoom:11,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom+ out BL"] = { $Duration: 1000, x: 4, y: -4, $Zoom: 11, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ out BL"] = "{$Duration:1000,x:4,y:-4,$Zoom:11,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom+ out BR"] = { $Duration: 1000, x: -4, y: -4, $Zoom: 11, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom+ out BR"] = "{$Duration:1000,x:-4,y:-4,$Zoom:11,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom- in"] = { $Duration: 1200, $Zoom: 1, $Easing: { $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- in"] = "{$Duration:1200,$Zoom:1,$Easing:{$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom- in L"] = { $Duration: 1200, x: 0.6, $Zoom: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- in L"] = "{$Duration:1200,x:0.6,$Zoom:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom- in R"] = { $Duration: 1200, x: -0.6, $Zoom: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- in R"] = "{$Duration:1200,x:-0.6,$Zoom:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom- in T"] = { $Duration: 1200, y: 0.6, $Zoom: 1, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- in T"] = "{$Duration:1200,y:0.6,$Zoom:1,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom- in B"] = { $Duration: 1200, y: -0.6, $Zoom: 1, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- in B"] = "{$Duration:1200,y:-0.6,$Zoom:1,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom- in TL"] = { $Duration: 1200, x: 0.6, y: 0.6, $Zoom: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- in TL"] = "{$Duration:1200,x:0.6,y:0.6,$Zoom:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom- in TR"] = { $Duration: 1200, x: -0.6, y: 0.6, $Zoom: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- in TR"] = "{$Duration:1200,x:-0.6,y:0.6,$Zoom:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom- in BL"] = { $Duration: 1200, x: 0.6, y: -0.6, $Zoom: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- in BL"] = "{$Duration:1200,x:0.6,y:-0.6,$Zoom:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom- in BR"] = { $Duration: 1200, x: -0.6, y: -0.6, $Zoom: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseOutQuad }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- in BR"] = "{$Duration:1200,x:-0.6,y:-0.6,$Zoom:1,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Zoom:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseOutQuad},$Opacity:2}";
_SlideshowTransitionC["Zoom- out"] = { $Duration: 1000, $Zoom: 1, $SlideOut: true, $Easing: { $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- out"] = "{$Duration:1000,$Zoom:1,$SlideOut:true,$Easing:{$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom- out L"] = { $Duration: 1000, x: 1, $Zoom: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- out L"] = "{$Duration:1000,x:1,$Zoom:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom- out R"] = { $Duration: 1000, x: -1, $Zoom: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- out R"] = "{$Duration:1000,x:-1,$Zoom:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom- out T"] = { $Duration: 1000, y: 1, $Zoom: 1, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- out T"] = "{$Duration:1000,y:1,$Zoom:1,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom- out B"] = { $Duration: 1000, y: -1, $Zoom: 1, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- out B"] = "{$Duration:1000,y:-1,$Zoom:1,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom- out TL"] = { $Duration: 1000, x: 1, y: 1, $Zoom: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- out TL"] = "{$Duration:1000,x:1,y:1,$Zoom:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom- out TR"] = { $Duration: 1000, x: -1, y: 1, $Zoom: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- out TR"] = "{$Duration:1000,x:-1,y:1,$Zoom:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom- out BL"] = { $Duration: 1000, x: 1, y: -1, $Zoom: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- out BL"] = "{$Duration:1000,x:1,y:-1,$Zoom:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Zoom- out BR"] = { $Duration: 1000, x: -1, y: -1, $Zoom: 1, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInExpo, $Top: $JssorEasing$.$EaseInExpo, $Zoom: $JssorEasing$.$EaseInExpo, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Zoom- out BR"] = "{$Duration:1000,x:-1,y:-1,$Zoom:1,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInExpo,$Top:$JssorEasing$.$EaseInExpo,$Zoom:$JssorEasing$.$EaseInExpo,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
}
$Jssor$.$Each(_SlideshowTransitionC, function (slideshowTransition, name) {
_SlideshowTransitions.push(slideshowTransition);
});
</script>
<script>
jssor_slider1_starter = function (containerId) {
var jssor_slider1 = new $JssorSlider$(containerId, {
$AutoPlay: true, //[Optional] Whether to auto play, to enable slideshow, this option must be set to true, default value is false
$Idle: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000
$DragOrientation: 3, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $Cols is greater than 1, or parking position is not 0)
$PauseOnHover: 1, //[Optional] Whether to pause when mouse over if a slider is auto playing, 0 no pause, 1 pause for desktop, 2 pause for touch device, 3 pause for desktop and touch device, 4 freeze for desktop, 8 freeze for touch device, 12 freeze for desktop and touch device, default value is 1
$SlideshowOptions: { //[Optional] Options to specify and enable slideshow or not
$Class: $JssorSlideshowRunner$, //[Required] Class to create instance of slideshow
$Transitions: _SlideshowTransitions, //[Required] An array of slideshow transitions to play slideshow
$TransitionsOrder: 1, //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random
$ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false
}
});
PlaySlideshowTransition = function (event) {
$Jssor$.$StopEvent(event);
$Jssor$.$CancelEvent(event);
try {
var eventSrcElement = $Jssor$.$EvtSrc(event);
var transitionName = $Jssor$.$InnerText(eventSrcElement);
jssor_slider1.$Next();
jssor_slider1.$SetSlideshowTransitions([_SlideshowTransitionC[transitionName]]);
var effectStr = _SlideshowTransitionCodes[transitionName];
if (transitionNameTextBox) {
transitionNameTextBox.value = transitionName;
}
if (transitionCodeTextBox) {
transitionCodeTextBox.value = effectStr;
}
}
catch (e) { }
}
TransitionTextBoxClickEventHandler = function (event) {
transitionCodeTextBox.select();
$Jssor$.$CancelEvent(event);
$Jssor$.$StopEvent(event);
}
var transitionCodeTextBox = $Jssor$.$GetElement("stTransition");
var transitionNameTextBox = $Jssor$.$GetElement("stTransitionName");
$Jssor$.$AddEvent(transitionCodeTextBox, "click", TransitionTextBoxClickEventHandler);
//responsive code begin
//you can remove responsive code if you don't want the slider scales while window resizing
function ScaleSlider() {
var bodyWidth = document.body.clientWidth;
if (bodyWidth)
jssor_slider1.$ScaleWidth(Math.min(bodyWidth, 950));
else
$Jssor$.$Delay(ScaleSlider, 30);
}
ScaleSlider();
$Jssor$.$AddEvent(window, "load", ScaleSlider);
$Jssor$.$AddEvent(window, "resize", ScaleSlider);
$Jssor$.$AddEvent(window, "orientationchange", ScaleSlider);
//responsive code end
};
</script>
<div class="headerspace"></div>
<div style="height: 20px;"></div>
<!-- Jssor Slider Begin -->
<!-- To move inline styles to css file/block, please specify a class name for each element. -->
<div id="slider1_container" style="position: relative; margin: 0 auto; width:950px; height:600px; left:0px; top:0px;">
<!-- Loading Screen -->
<div u="loading" style="position: absolute; top: 0px; left: 0px;">
<div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block;
background-color: #000000; top: 0px; left: 0px;width: 100%;height:100%;">
</div>
<div style="position: absolute; display: block; background: url(../img/loading.gif) no-repeat center center;
top: 0px; left: 0px;width: 100%;height:100%;">
</div>
</div>
<!-- Slides Container -->
<div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 950px; height: 600px;
overflow: hidden;">
<<thisform.yimages>>
</div>
<a style="display: none" href="http://www.jssor.com">jQuery Slider</a>
<!-- Trigger -->
</div>
<div style="height: 10px;"></div>
<div style="height: 15px;"></div>
<script>jssor_slider1_starter("slider1_container");</script>
</body>
</html>
endtext
local m.lcdest
m.lcdest=addbs(sys(2023))+"ytemp.html"
strtofile(m.myvar,m.lcdest)
thisform.olecontrol1.navigate(m.lcdest)
wmp.settings.mute=.f.
ENDPROC
PROCEDURE ybuild0
local m.yrep
m.yrep=addbs(justpath(sys(16,1)))
set defa to (yrep)
local m.yrepi &&images
*m.yrepi=getdir() &¬ efficient
m.yrepi=GETDIR(m.yrep, "Open jpg images folder" ," Images ", 1+2)
if empty(m.yrepi)
return .f.
endi
gnbre=adir(gabase,m.yrepi+"*.jpg")
if gnbre=0
return .f.
endi
set defa to (yrep)
_screen.windowstate=1
local m.xx
m.xx=""
for i=1 to gnbre
m.xx=m.xx+[<div> <img u="image" src="file:///]+strtran(m.yrepi+allt(gabase(i,1)),"\","/")+[" /></div>]+chr(13)
endfor
set defa to (yrep)
*copy file loading.gif to (m.yrep+"img")
thisform.caption= "Slideshow with "+trans(gnbre)+ " images."
thisform.yimages=m.xx
thisform.ybuild()
ENDPROC
PROCEDURE Destroy
wmp=null
release wmp
m.yrep=null
release m.yrep
erase addbs(sys(2023)+"ytemp.html")
clea events
ENDPROC
PROCEDURE Init
Thisform.WindowState=2
Publi m.yrep
m.yrep=Addbs(Justpath(Sys(16,1)))
Set Defa To (yrep)
Publi Wmp As WindowsMediaPlayer
Wmp = Createobject("WMPlayer.OCX.7")
With Wmp
.settings.autoStart = .T.
.settings.Volume=80
.settings.setMode('loop',.T.) &&loop
.url=Thisform.ysound &&autostart=.t. loading a web media can consume some time.
.settings.mute=.T.
Endwith
Thisform.ybuild0()
ENDPROC
PROCEDURE Load
set safe off
_screen.windowstate=1
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
if nkeycode=27
thisform.release
endi
ENDPROC
PROCEDURE olecontrol1.Init
this.silent=.t.
ENDPROC
PROCEDURE label1.Click
thisform.lockscreen=.t.
thisform.titlebar=iif(thisform.titlebar=1,0,1)
if thisform.titlebar=0
thisform.height=thisform.height+31
else
thisform.height=thisform.height-31
endi
thisform.width=sysmetric(1)+5
thisform.lockscreen=.f.
ENDPROC
PROCEDURE image1.Click
#Define APPCOMMAND_VOLUME_MUTE 0x80000
#Define APPCOMMAND_VOLUME_UP 0xA0000
#Define APPCOMMAND_VOLUME_DOWN 0x90000
#Define WM_APPCOMMAND 0x319
Declare Integer SendMessage In user32;
INTEGER HWnd,;
INTEGER Msg,;
INTEGER wParam,;
INTEGER Lparam
SendMessage(_vfp.HWnd, WM_APPCOMMAND, _vfp.HWnd, APPCOMMAND_VOLUME_UP)
ENDPROC
PROCEDURE label3.Click
local m.myvar
text to m.myvar noshow
jQuery ( javascript ) is actually the top soft for building responsive slideshows.it produces cool transitions.
i adapted an original free javascript code from http://www.jssor.com/slideshow/x-rotate.html
that why its for personal use only.any kind of distribution is forbidden.
the code can fetch for any jpg images folder and translate it into a slideshow with thumnails, all animated wonderfully.( can extend to other images formats also)
in code i linked directly to the web libraries to avoid to ship these files that why internet must be connected.of course can be downloaded with save As (css+js files).
-images stay in their disc locations and are linked absolutely.no resizing here (no thumbs used).
-original images must be around 800x600 to preserve ratios at viewing.
i added a music with looping (can be a disc media or a web one...this last make some time to load if internet is some slow.i put it on the form.init to benefite this loading if a web url).
i added 2 form properties : ysound (can set the audio media here) and yimages for building the div images string.
can adjust the audio volume (only by APIs here instead of coding WMP mediaplayer) and make the fullscreen on/off.
note: if want to preserve a built slideshow must export it out (with ytemp.html)of the source because its systemaically erased.
-Can compile an exe ( add a config.fpw screen=off|resource=off|safe=off).it works fine and generate the html file as well.
-javascript original code is from http://www.jssor.com/slideshow/x-zoom.html
endtext
*messagebox(m.myvar,0+32+4096,'')
#define MB_ICONINFORMATION 0x00000040
#define MB_OK 0x00000000
#define MB_APPLMODAL 0x00000000
#define MB_DEFBUTTON1 0x00000000
DECLARE INTEGER MessageBox IN user32 As MessageBoxA;
INTEGER hwnd,;
STRING lpText,;
STRING lpCaption,;
INTEGER wType
*buttons
#define MB_ABORTRETRYIGNORE 0x00000002
#define MB_CANCELTRYCONTINUE 0x00000006
#define MB_HELP 0x00004000
#define MB_OKCANCEL 0x00000001
#define MB_RETRYCANCEL 0x00000005
#define MB_YESNO 0x00000004
#define MB_YESNOCANCEL 0x00000003
*Icons
#define MB_ICONEXCLAMATION 0x00000030
#define MB_ICONWARNING 0x00000030
#define MB_ICONASTERISK 0x00000040
#define MB_ICONQUESTION 0x00000020
#define MB_ICONSTOP 0x00000010
#define MB_ICONERROR 0x00000010
#define MB_ICONHAND 0x00000010
*To indicate the default button, specify one of the following values.
#define MB_DEFBUTTON2 0x00000100
#define MB_DEFBUTTON3 0x00000200
#define MB_DEFBUTTON4 0x00000300
*To indicate the modality of the dialog box, specify one of the following values.
#define MB_SYSTEMMODAL 0x00001000
#define MB_TASKMODAL 0x00002000
*To specify other options, use one or more of the following values.
#define MB_DEFAULT_DESKTOP_ONLY 0x00020000
#define MB_RIGHT 0x00080000
#define MB_RTLREADING 0x00100000
#define MB_SETFOREGROUND 0x00010000
#define MB_TOPMOST 0x00040000
#define MB_SERVICE_NOTIFICATION 0x00200000
*Return code
#define IDABORT 3
#define IDCANCEL 2
#define IDCONTINUE 11
#define IDIGNORE 5
#define IDNO 7
#define IDOK 1
#define IDRETRY 4
#define IDTRYAGAIN 10
#define IDYES 6
MessageBoxA(_vfp.hwnd,m.myvar,"Summary help",MB_APPLMODAL+MB_OK +MB_ICONINFORMATION +MB_DEFBUTTON1 )
ENDPROC
PROCEDURE label5.MouseEnter
LPARAMETERS nButton, nShift, nXCoord, nYCoord
ENDPROC
PROCEDURE label5.MouseLeave
LPARAMETERS nButton, nShift, nXCoord, nYCoord
ENDPROC
PROCEDURE label5.Click
thisform.release
ENDPROC
ENDDEFINE
*
*-- EndDefine: yslideshow_zoom
Click on code to select [then copy] -click outside to deselect
*4* All transitions viewer
*this code view any transition listed in the listbox.The code is extracted from vfp and copied to the clipboard for use.
*read the help on form.
if _vfp.startmode=0
on shutdown quit
endi
publi yform
yform=newObject("ytransitions_viewer")
yform.show
read events
retu
*
DEFINE CLASS ytransitions_viewer AS form
BorderStyle = 0
Height = 607
Width = (sysmetric(1)+5)
ShowWindow = 2
AutoCenter = .T.
Caption = "Transition viewer"
KeyPreview = .T.
BackColor = RGB(0,0,0)
yimages = .F.
ysound = "https://ia600500.us.archive.org/22/items/SymphonyNo.5/Ludwig_van_Beethoven_-_symphony_no._5_in_c_minor_op._67_-_i._allegro_con_brio.mp3"
Name = "Form1"
ADD OBJECT olecontrol1 AS olecontrol WITH ;
Oleclass="shell.explorer.2", ;
Top = 0, ;
Left = 0, ;
Height = 564, ;
Width = 1032, ;
Anchor = 15, ;
Name = "Olecontrol1"
ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
FontSize = 12, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Fullscreen on/off", ;
Height = 21, ;
Left = 552, ;
MousePointer = 15, ;
Top = 576, ;
Width = 115, ;
ForeColor = RGB(255,255,255), ;
Name = "Label1"
ADD OBJECT image1 AS image WITH ;
Anchor = 768, ;
Picture = home(1)+"graphics\icons\misc\volume01.ico", ;
BackStyle = 0, ;
Height = 32, ;
Left = 708, ;
MousePointer = 15, ;
Top = 566, ;
Width = 32, ;
Name = "Image1"
ADD OBJECT ycode as shape with ;
anchor=768,;
width=15,;
height=15,;
left=54,;
top=576,;
curvature=99, ;
mousepointer=15,;
backcolor=rgb(255,255,0), ;
name="ycode"
ADD OBJECT label3 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 20, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "?", ;
Height = 35, ;
Left = 864, ;
MousePointer = 15, ;
Top = 569, ;
Width = 19, ;
ForeColor = RGB(0,255,0), ;
Name = "Label3"
ADD OBJECT label5 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 20, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "X", ;
Height = 35, ;
Left = 912, ;
MousePointer = 15, ;
Top = 571, ;
Visible = .T., ;
Width = 20, ;
ForeColor = RGB(255,255,255), ;
Name = "Label5"
ADD OBJECT ysh as shape with ;
anchor=768,;
width=15,;
height=15,;
left=912+30,;
top=571,;
curvature=99, ;
mousepointer=15,;
backcolor=255,;
name="ysh"
procedure ycode.click
local m.oo
oo=thisform.olecontrol1.document
local m.xtransition,m.xcode,objListe,m.xindex,selValue
objListe=oo.getElementById("ssTransition")
xindex=objListe.selectedIndex
selValue=" ["+ObjListe.options[xindex].text+" ]"
m.xcode =thisform.olecontrol1.document.getElementById("stTransition").value
_cliptext="Javascript code for "+m.selValue+chr(13)+chr(13)+m.xcode
messagebox("Javascript code for "+m.selValue+chr(13)+chr(13)+m.xcode,0+32+4096,'Transition code is in clipboard!')
endproc
procedure ysh.click
if thisform.label1.visible=.t.
thisform.setall("visible",.f.,"label")
thisform.image1.visible=.f.
else
thisform.setall("visible",.t.,"label")
thisform.image1.visible=.t.
endi
endproc
PROCEDURE ybuild
*javascript code original from http://www.jssor.com/slideshow/x-rotate.html
*that why its for personal use only.any kind of distribution is forbidden.
local m.myvar
text to m.myvar textmerge noshow
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tool - 360+ Sldieshow Transitions Viewer - Jssor Slider Development Kit for web developer, web development, website developer, website development, website design, web design, website, web page</title>
<link href="http://cdn.jssor.com/style/site/css/site-style-1.1.2.min.css" rel="stylesheet" />
<script type="text/javascript" src="http://www.jssor.com/development/slideshow-transition-builder-controller.min.js"></script>
</head>
<body style="margin: 0px; padding:0px; font-family:Helvetica,Arial,sans-serif;color:white;background-color:black;background:url('https://s-media-cache-ak0.pinimg.com/originals/e1/a0/ef/e1a0ef685ab2c885a3b837db6f6ebd6d.gif') repeat;" oncontextmenu="return false; scroll="no">
<!-- Slideshow Transition Controller Form Begine -->
<br><br><br>
<table cellpadding="0" cellspacing="0" border="0" bgcolor="#EEEEEE" align="center" style="margin: 0 auto; width: 100%; max-width: 600px; color:#000;">
<tr>
<td width="160"><b> Select Transition</b></td>
<td width="300" style="float:left;">
<select name="ssTransition" id="ssTransition" style="width: 80%;">
<option value="">
</select>
<input type="button" value="Play" id="sButtonPlay" style="display: none; width: 110px" name="sButtonPlay" disabled="disabled">
</td>
</tr>
<tr>
<td></td>
<td style="display:none;"><b> Transition Code</b></td>
<td valign="middle" style="display:none;">
<input id="stTransition" style="width: 100%; height: 25px;" type="text" name="stTransition">
</td>
</tr>
</table>
<!-- Slideshow Transition Controller Form End -->
<div style="height: 20px;"></div>
<!-- Jssor Slider Begin -->
<!-- To move inline styles to css file/block, please specify a class name for each element. -->
<div style="position: relative; margin: 0 auto; width: 800px; height: 550px;" id="slider1_container">
<!-- Loading Screen -->
<div u="loading" style="position: absolute; top: 0px; left: 0px;">
<div style="filter: alpha(opacity=70); opacity:.7; position: absolute; display: block;
background-color: #000000; top: 0px; left: 0px;width: 100%;height:100%;">
</div>
<div style="position: absolute; display: block; background: url(../img/loading.gif) no-repeat center center;
top: 0px; left: 0px;width: 100%;height:100%;">
</div>
</div>
<div u="slides" style="cursor: move; position: absolute; width: 800px; height: 550px;top:50px;left:0px;overflow:hidden;">
<!-- Slide -->
<div>
<img u="image" src="http://cdn.jssor.com/demos/img/landscape/01.jpg" width="800" height="550">
</div>
<!-- Slide -->
<div>
<img u="image" src="http://cdn.jssor.com/demos/img/landscape/02.jpg">
</div>
<!-- Slide -->
<div>
<img u="image" src="http://cdn.jssor.com/demos/img/landscape/04.jpg">
</div>
<!-- Slide -->
<div>
<img u="image" src="http://cdn.jssor.com/demos/img/landscape/05.jpg">
</div>
</div>
</div>
<!-- Jssor Slider End -->
<script>
slideshow_transition_controller_starter("slider1_container");
</script>
<div style="height: 10px;"></div>
<div class="backGreen" style="position: relative; margin: 0 auto; padding: 20px; width: 940px;">
<center> <div id="basicusage" class="description" style="display: table; margin: 0 ;margin-top:100px; auto; font-size:26px; text-align:center;">
Tool - Slideshow Transition Viewer
</div></center>
<div style="height:10px;"></div>
</div>
<div style="height: 20px;"></div>
</body>
</html>
endtext
local m.lcdest
m.lcdest=addbs(sys(2023))+"ytemp.html"
strtofile(m.myvar,m.lcdest)
thisform.olecontrol1.navigate(m.lcdest)
wmp.settings.mute=.f.
ENDPROC
PROCEDURE ybuild0
local m.yrep
m.yrep=addbs(justpath(sys(16,1)))
set defa to (yrep)
thisform.ybuild()
ENDPROC
PROCEDURE Destroy
wmp=null
release wmp
m.yrep=null
release m.yrep
erase addbs(sys(2023)+"ytemp.html")
clea events
ENDPROC
PROCEDURE Init
Thisform.WindowState=2
Publi m.yrep
m.yrep=Addbs(Justpath(Sys(16,1)))
Set Defa To (yrep)
Publi Wmp As WindowsMediaPlayer
Wmp = Createobject("WMPlayer.OCX.7")
With Wmp
.settings.autoStart = .T.
.settings.Volume=80
.settings.setMode('loop',.T.) &&loop
.url=Thisform.ysound &&autostart=.t. loading a web media can consume some time.
.settings.mute=.T.
Endwith
Thisform.ybuild0()
ENDPROC
PROCEDURE Load
set safe off
_screen.windowstate=1
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
if nkeycode=27
thisform.release
endi
ENDPROC
PROCEDURE olecontrol1.Init
this.silent=.t.
ENDPROC
PROCEDURE label1.Click
thisform.lockscreen=.t.
thisform.titlebar=iif(thisform.titlebar=1,0,1)
if thisform.titlebar=0
thisform.height=thisform.height+31
else
thisform.height=thisform.height-31
endi
thisform.width=sysmetric(1)+5
thisform.lockscreen=.f.
ENDPROC
PROCEDURE image1.Click
#Define APPCOMMAND_VOLUME_MUTE 0x80000
#Define APPCOMMAND_VOLUME_UP 0xA0000
#Define APPCOMMAND_VOLUME_DOWN 0x90000
#Define WM_APPCOMMAND 0x319
Declare Integer SendMessage In user32;
INTEGER HWnd,;
INTEGER Msg,;
INTEGER wParam,;
INTEGER Lparam
SendMessage(_vfp.HWnd, WM_APPCOMMAND, _vfp.HWnd, APPCOMMAND_VOLUME_UP)
ENDPROC
PROCEDURE label3.Click
local m.myvar
text to m.myvar noshow
This is a good refrence for all transitions can be applied on images in web.
The form above is to preview slideshow transition. You can select any slideshow transition from 360+ predefined slideshow transitions to play.<br>
A slideshow transition can be any or combination of 'Fly (Hor)', 'Fly (Ver)', 'Clip', 'Zoom' and 'Rotate'.<br>
Select transition to preview effect.
You can change value of '$Duration' to adjust speed of transition. e.g. '$Duration:1200' -> '$Duration: 2000'.
Also you can change '$Col' or '$Row' value to adjust columns or rows count.
Press on the yellow shape at bottom left of the form to view the transition code (its saved to the clipboard).
Note that vfp cannot in my knowledge play with transitions.It was the specialized domain of navigators and javascript!
-javascript original code is from http://www.jssor.com/development/tool-slideshow-transition-viewer.html
-librariries (css and js) are linked to the author site (internet connected).
endtext
messagebox(m.myvar,0+32+4096,'')
ENDPROC
PROCEDURE label5.MouseEnter
LPARAMETERS nButton, nShift, nXCoord, nYCoord
ENDPROC
PROCEDURE label5.MouseLeave
LPARAMETERS nButton, nShift, nXCoord, nYCoord
ENDPROC
PROCEDURE label5.Click
thisform.release
ENDPROC
ENDDEFINE
*
*-- EndDefine: ytransitions_viewer
click yellow shape button to see the transition and its javascript code (for any selected transition).
Click on code to select [then copy] -click outside to deselect
*5* slideshow with fade transitions
*the code asks to point to any folder with jpg images.
*a preset web sound begins playing with object WMP embed in code
*photos must be around 800x600 to preserve ratios when viewing.
*the internetexplorer.application is used here (instead form for codes above).But must run vfp9 as administrator to avoid errors.
*internet must be connected.links are to the author librairies(CSS & JS)
*original javascript code is from http://cdn.jssor.com (adapted)
local m.yrep
m.yrep=addbs(justpath(sys(16,1)))
set defa to (yrep)
local m.yrepi &&images
*m.yrepi=getdir() &¬ efficient
m.yrepi=GETDIR(m.yrep, "Open jpg images folder" ," Images ", 1+2)
if empty(m.yrepi)
return .f.
endi
gnbre=adir(gabase,m.yrepi+"*.jpg")
if gnbre=0
return .f.
endi
set defa to (yrep)
local m.xx
m.xx=""
for i=1 to gnbre
m.xx=m.xx+[<div> <img u="image" src="file:///]+strtran(m.yrepi+allt(gabase(i,1)),"\","/")+[" /></div>]+chr(13)
endfor
local m.ysound &&can set a disc audio media (or web one)
m.ysound = "https://archive.org/download/beethoven9/beethoven-9-01-concertgebouw-klemperer-1956-16048.mp3"
local m.myvar
text to m.myvar textmerge noshow
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Fade Slideshow jquery javascript+html code example for website design, website development, web developer, web design, web development, web designer, website, web page</title>
<link href="http://cdn.jssor.com/style/site/css/site-style-1.1.2.min.css" rel="stylesheet" />
<style>
body{background-color:black;background:url('https://s-media-cache-ak0.pinimg.com/originals/e1/a0/ef/e1a0ef685ab2c885a3b837db6f6ebd6d.gif') repeat;}
</style>
</head>
<body bgcolor=black oncontextmenu="return false;" scroll="no" >
<br>
<input type="button" value=" X " style="float:right;color:red;background-color:black;cursor:pointer;" onclick="javascript:window.close();"><br>
<script type="text/javascript" src="http://cdn.jssor.com/script/jssor.slider-22.0.7.min.js"></script>
<script>
var _SlideshowTransitionC = {};
var _SlideshowTransitionCodes = {};
var _SlideshowTransitions = [];
//----------- Fade Effects --------------
{
_SlideshowTransitionC["Fade"] = { $Duration: 1200, $Opacity: 2 };
_SlideshowTransitionCodes["Fade"] = "{$Duration:1200,$Opacity:2}";
_SlideshowTransitionC["Fade in L"] = { $Duration: 1200, x: 0.3, $During: { $Left: [0.3, 0.7] }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade in L"] = "{$Duration:1200,x:0.3,$During:{$Left:[0.3,0.7]},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade in R"] = { $Duration: 1200, x: -0.3, $During: { $Left: [0.3, 0.7] }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade in R"] = "{$Duration:1200,x:-0.3,$During:{$Left:[0.3,0.7]},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade in T"] = { $Duration: 1200, y: 0.3, $During: { $Top: [0.3, 0.7] }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade in T"] = "{$Duration:1200,y:0.3,$During:{$Top:[0.3,0.7]},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade in B"] = { $Duration: 1200, y: -0.3, $During: { $Top: [0.3, 0.7] }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade in B"] = "{$Duration:1200,y:-0.3,$During:{$Top:[0.3,0.7]},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade in LR"] = { $Duration: 1200, x: 0.3, $Cols: 2, $During: { $Left: [0.3, 0.7] }, $ChessMode: { $Column: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade in LR"] = "{$Duration:1200,x:0.3,$Cols:2,$During:{$Left:[0.3,0.7]},$ChessMode:{$Column:3},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade in LR Chess"] = { $Duration: 1200, y: 0.3, $Cols: 2, $During: { $Top: [0.3, 0.7] }, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade in LR Chess"] = "{$Duration:1200,y:0.3,$Cols:2,$During:{$Top:[0.3,0.7]},$ChessMode:{$Column:12},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade in TB"] = { $Duration: 1200, y: 0.3, $Rows: 2, $During: { $Top: [0.3, 0.7] }, $ChessMode: { $Row: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade in TB"] = "{$Duration:1200,y:0.3,$Rows:2,$During:{$Top:[0.3,0.7]},$ChessMode:{$Row:12},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade in TB Chess"] = { $Duration: 1200, x: 0.3, $Rows: 2, $During: { $Left: [0.3, 0.7] }, $ChessMode: { $Row: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade in TB Chess"] = "{$Duration:1200,x:0.3,$Rows:2,$During:{$Left:[0.3,0.7]},$ChessMode:{$Row:3},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade in Corners"] = { $Duration: 1200, x: 0.3, y: 0.3, $Cols: 2, $Rows: 2, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $ChessMode: { $Column: 3, $Row: 12 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade in Corners"] = "{$Duration:1200,x:0.3,y:0.3,$Cols:2,$Rows:2,$During:{$Left:[0.3,0.7],$Top:[0.3,0.7]},$ChessMode:{$Column:3,$Row:12},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade out L"] = { $Duration: 1200, x: 0.3, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade out L"] = "{$Duration:1200,x:0.3,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade out R"] = { $Duration: 1200, x: -0.3, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade out R"] = "{$Duration:1200,x:-0.3,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade out T"] = { $Duration: 1200, y: 0.3, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade out T"] = "{$Duration:1200,y:0.3,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade out B"] = { $Duration: 1200, y: -0.3, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade out B"] = "{$Duration:1200,y:-0.3,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade out LR"] = { $Duration: 1200, x: 0.3, $Cols: 2, $SlideOut: true, $ChessMode: { $Column: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade out LR"] = "{$Duration:1200,x:0.3,$Cols:2,$SlideOut:true,$ChessMode:{$Column:3},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade out LR Chess"] = { $Duration: 1200, y: -0.3, $Cols: 2, $SlideOut: true, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade out LR Chess"] = "{$Duration:1200,y:-0.3,$Cols:2,$SlideOut:true,$ChessMode:{$Column:12},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade out TB"] = { $Duration: 1200, y: 0.3, $Rows: 2, $SlideOut: true, $ChessMode: { $Row: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade out TB"] = "{$Duration:1200,y:0.3,$Rows:2,$SlideOut:true,$ChessMode:{$Row:12},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade out TB Chess"] = { $Duration: 1200, x: -0.3, $Rows: 2, $SlideOut: true, $ChessMode: { $Row: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade out TB Chess"] = "{$Duration:1200,x:-0.3,$Rows:2,$SlideOut:true,$ChessMode:{$Row:3},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade out Corners"] = { $Duration: 1200, x: 0.3, y: 0.3, $Cols: 2, $Rows: 2, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $SlideOut: true, $ChessMode: { $Column: 3, $Row: 12 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade out Corners"] = "{$Duration:1200,x:0.3,y:0.3,$Cols:2,$Rows:2,$During:{$Left:[0.3,0.7],$Top:[0.3,0.7]},$SlideOut:true,$ChessMode:{$Column:3,$Row:12},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade Fly in L"] = { $Duration: 1200, x: 0.3, $During: { $Left: [0.3, 0.7] }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly in L"] = "{$Duration:1200,x:0.3,$During:{$Left:[0.3,0.7]},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly in R"] = { $Duration: 1200, x: -0.3, $During: { $Left: [0.3, 0.7] }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly in R"] = "{$Duration:1200,x:-0.3,$During:{$Left:[0.3,0.7]},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly in T"] = { $Duration: 1200, y: 0.3, $During: { $Top: [0.3, 0.7] }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly in T"] = "{$Duration:1200,y:0.3,$During:{$Top:[0.3,0.7]},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly in B"] = { $Duration: 1200, y: -0.3, $During: { $Top: [0.3, 0.7] }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly in B"] = "{$Duration:1200,y:-0.3,$During:{$Top:[0.3,0.7]},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly in LR"] = { $Duration: 1200, x: 0.3, $Cols: 2, $During: { $Left: [0.3, 0.7] }, $ChessMode: { $Column: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly in LR"] = "{$Duration:1200,x:0.3,$Cols:2,$During:{$Left:[0.3,0.7]},$ChessMode:{$Column:3},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly in LR Chess"] = { $Duration: 1200, y: 0.3, $Cols: 2, $During: { $Top: [0.3, 0.7] }, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly in LR Chess"] = "{$Duration:1200,y:0.3,$Cols:2,$During:{$Top:[0.3,0.7]},$ChessMode:{$Column:12},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly in TB"] = { $Duration: 1200, y: 0.3, $Rows: 2, $During: { $Top: [0.3, 0.7] }, $ChessMode: { $Row: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly in TB"] = "{$Duration:1200,y:0.3,$Rows:2,$During:{$Top:[0.3,0.7]},$ChessMode:{$Row:12},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly in TB Chess"] = { $Duration: 1200, x: 0.3, $Rows: 2, $During: { $Left: [0.3, 0.7] }, $ChessMode: { $Row: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly in TB Chess"] = "{$Duration:1200,x:0.3,$Rows:2,$During:{$Left:[0.3,0.7]},$ChessMode:{$Row:3},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly in Corners"] = { $Duration: 1200, x: 0.3, y: 0.3, $Cols: 2, $Rows: 2, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $ChessMode: { $Column: 3, $Row: 12 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly in Corners"] = "{$Duration:1200,x:0.3,y:0.3,$Cols:2,$Rows:2,$During:{$Left:[0.3,0.7],$Top:[0.3,0.7]},$ChessMode:{$Column:3,$Row:12},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly out L"] = { $Duration: 1200, x: 0.3, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly out L"] = "{$Duration:1200,x:0.3,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly out R"] = { $Duration: 1200, x: -0.3, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly out R"] = "{$Duration:1200,x:-0.3,$SlideOut:true,$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly out T"] = { $Duration: 1200, y: 0.3, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly out T"] = "{$Duration:1200,y:0.3,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly out B"] = { $Duration: 1200, y: -0.3, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly out B"] = "{$Duration:1200,y:-0.3,$SlideOut:true,$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly out LR"] = { $Duration: 1200, x: 0.3, $Cols: 2, $SlideOut: true, $ChessMode: { $Column: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly out LR"] = "{$Duration:1200,x:0.3,$Cols:2,$SlideOut:true,$ChessMode:{$Column:3},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly out LR Chess"] = { $Duration: 1200, y: 0.3, $Cols: 2, $SlideOut: true, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly out LR Chess"] = "{$Duration:1200,y:0.3,$Cols:2,$SlideOut:true,$ChessMode:{$Column:12},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly out TB"] = { $Duration: 1200, y: 0.3, $Rows: 2, $SlideOut: true, $ChessMode: { $Row: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly out TB"] = "{$Duration:1200,y:0.3,$Rows:2,$SlideOut:true,$ChessMode:{$Row:12},$Easing:{$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly out TB Chess"] = { $Duration: 1200, x: 0.3, $Rows: 2, $SlideOut: true, $ChessMode: { $Row: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly out TB Chess"] = "{$Duration:1200,x:0.3,$Rows:2,$SlideOut:true,$ChessMode:{$Row:3},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Fly out Corners"] = { $Duration: 1200, x: 0.3, y: 0.3, $Cols: 2, $Rows: 2, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $SlideOut: true, $ChessMode: { $Column: 3, $Row: 12 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true };
_SlideshowTransitionCodes["Fade Fly out Corners"] = "{$Duration:1200,x:0.3,y:0.3,$Cols:2,$Rows:2,$During:{$Left:[0.3,0.7],$Top:[0.3,0.7]},$SlideOut:true,$ChessMode:{$Column:3,$Row:12},$Easing:{$Left:$JssorEasing$.$EaseInCubic,$Top:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2,$Outside:true}";
_SlideshowTransitionC["Fade Clip in H"] = { $Duration: 1200, $Delay: 20, $Clip: 3, $Assembly: 260, $Easing: { $Clip: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade Clip in H"] = "{$Duration:1200,$Delay:20,$Clip:3,$Assembly:260,$Easing:{$Clip:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade Clip in V"] = { $Duration: 1200, $Delay: 20, $Clip: 12, $Assembly: 260, $Easing: { $Clip: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade Clip in V"] = "{$Duration:1200,$Delay:20,$Clip:12,$Assembly:260,$Easing:{$Clip:$JssorEasing$.$EaseInCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade Clip out H"] = { $Duration: 1200, $Delay: 20, $Clip: 3, $SlideOut: true, $Assembly: 260, $Easing: { $Clip: $JssorEasing$.$EaseOutCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade Clip out H"] = "{$Duration:1200,$Delay:20,$Clip:3,$SlideOut:true,$Assembly:260,$Easing:{$Clip:$JssorEasing$.$EaseOutCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade Clip out V"] = { $Duration: 1200, $Delay: 20, $Clip: 12, $SlideOut: true, $Assembly: 260, $Easing: { $Clip: $JssorEasing$.$EaseOutCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 };
_SlideshowTransitionCodes["Fade Clip out V"] = "{$Duration:1200,$Delay:20,$Clip:12,$SlideOut:true,$Assembly:260,$Easing:{$Clip:$JssorEasing$.$EaseOutCubic,$Opacity:$JssorEasing$.$EaseLinear},$Opacity:2}";
_SlideshowTransitionC["Fade Stairs"] = { $Duration: 800, $Delay: 30, $Cols: 8, $Rows: 4, $Formation: $JssorSlideshowFormations$.$FormationStraightStairs, $Assembly: 2050, $Opacity: 2 };
_SlideshowTransitionCodes["Fade Stairs"] = "{$Duration:800,$Delay:30,$Cols:8,$Rows:4,$Formation:$JssorSlideshowFormations$.$FormationStraightStairs,$Assembly:2050,$Opacity:2}";
_SlideshowTransitionC["Fade Random"] = { $Duration: 1000, $Delay: 80, $Cols: 8, $Rows: 4, $Opacity: 2 };
_SlideshowTransitionCodes["Fade Random"] = "{$Duration:1000,$Delay:80,$Cols:8,$Rows:4,$Opacity:2}";
_SlideshowTransitionC["Fade Swirl"] = { $Duration: 800, $Delay: 30, $Cols: 8, $Rows: 4, $Formation: $JssorSlideshowFormations$.$FormationSwirl, $Opacity: 2 };
_SlideshowTransitionCodes["Fade Swirl"] = "{$Duration:800,$Delay:30,$Cols:8,$Rows:4,$Formation:$JssorSlideshowFormations$.$FormationSwirl,$Opacity:2}";
_SlideshowTransitionC["Fade ZigZag"] = { $Duration: 800, $Delay: 30, $Cols: 8, $Rows: 4, $Formation: $JssorSlideshowFormations$.$FormationZigZag, $Assembly: 260, $Opacity: 2 };
_SlideshowTransitionCodes["Fade ZigZag"] = "{$Duration:800,$Delay:30,$Cols:8,$Rows:4,$Formation:$JssorSlideshowFormations$.$FormationZigZag,$Assembly:260,$Opacity:2}";
}
$Jssor$.$Each(_SlideshowTransitionC, function (slideshowTransition, name) {
_SlideshowTransitions.push(slideshowTransition);
});
</script>
<script>
jssor_slider1_starter = function (containerId) {
var jssor_slider1 = new $JssorSlider$(containerId, {
$AutoPlay: true, //[Optional] Whether to auto play, to enable slideshow, this option must be set to true, default value is false
$Idle: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000
$DragOrientation: 3, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $Cols is greater than 1, or parking position is not 0)
$PauseOnHover: 1, //[Optional] Whether to pause when mouse over if a slider is auto playing, 0 no pause, 1 pause for desktop, 2 pause for touch device, 3 pause for desktop and touch device, 4 freeze for desktop, 8 freeze for touch device, 12 freeze for desktop and touch device, default value is 1
$SlideshowOptions: { //[Optional] Options to specify and enable slideshow or not
$Class: $JssorSlideshowRunner$, //[Required] Class to create instance of slideshow
$Transitions: _SlideshowTransitions, //[Required] An array of slideshow transitions to play slideshow
$TransitionsOrder: 1, //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random
$ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false
}
});
PlaySlideshowTransition = function (event) {
$Jssor$.$StopEvent(event);
$Jssor$.$CancelEvent(event);
try {
var eventSrcElement = $Jssor$.$EvtSrc(event);
var transitionName = $Jssor$.$InnerText(eventSrcElement);
jssor_slider1.$Next();
jssor_slider1.$SetSlideshowTransitions([_SlideshowTransitionC[transitionName]]);
var effectStr = _SlideshowTransitionCodes[transitionName];
if (transitionNameTextBox) {
transitionNameTextBox.value = transitionName;
}
if (transitionCodeTextBox) {
transitionCodeTextBox.value = effectStr;
}
}
catch (e) { }
}
TransitionTextBoxClickEventHandler = function (event) {
transitionCodeTextBox.select();
$Jssor$.$CancelEvent(event);
$Jssor$.$StopEvent(event);
}
var transitionCodeTextBox = $Jssor$.$GetElement("stTransition");
var transitionNameTextBox = $Jssor$.$GetElement("stTransitionName");
$Jssor$.$AddEvent(transitionCodeTextBox, "click", TransitionTextBoxClickEventHandler);
//responsive code begin
//you can remove responsive code if you don't want the slider scales while window resizing
function ScaleSlider() {
var bodyWidth = document.body.clientWidth;
if (bodyWidth)
jssor_slider1.$ScaleWidth(Math.min(bodyWidth, 950));
else
$Jssor$.$Delay(ScaleSlider, 30);
}
ScaleSlider();
$Jssor$.$AddEvent(window, "load", ScaleSlider);
$Jssor$.$AddEvent(window, "resize", ScaleSlider);
$Jssor$.$AddEvent(window, "orientationchange", ScaleSlider);
//responsive code end
};
</script>
<div style="height:50px;"></div>
<!-- Jssor Slider Begin -->
<!-- To move inline styles to css file/block, please specify a class name for each element. -->
<div id="slider1_container" style="position: relative; margin: 0 auto; width:950px; height:600px; left:0px; top:0px;">
<!-- Loading Screen -->
<div u="loading" style="position: absolute; top: 0px; left: 0px;">
<div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block;
background-color: #000000; top: 0px; left: 0px;width: 100%;height:100%;">
</div>
<div style="position: absolute; display: block; background: url(../img/loading.gif) no-repeat center center;
top: 0px; left: 0px;width: 100%;height:100%;">
</div>
</div>
<!-- Slides Container -->
<div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 950px; height: 600px;
overflow: hidden;">
<<m.xx>>
</div>
<a style="display: none" href="http://www.jssor.com"></a>
<!-- Trigger -->
</div>
<!-- Jssor Slider End -->
<!--#region slideshow codes-->
<div style="height: 20px;"></div>
<div class="slideshow-block">
</div>
<script>jssor_slider1_starter("slider1_container");</script>
<div style="height: 10px;"></div>
<div style="height: 15px;"></div>
<object id="mediaplayer" classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701" standby="loading microsoft windows media player components..." type="application/x-oleobject" width="1" height="1">
<param name="filename" value="<<m.ysound>>">
<param name="animationatstart" value="true">
<param name="transparentatstart" value="true">
<param name="autostart" value="true">
<param name="showcontrols" value="true">
<param name="ShowStatusBar" value="true">
<param name="windowlessvideo" value="true">
<param name='loop' value='true'>
<embed src="<<m.ysound>>" autostart="true" showcontrols="true" showstatusbar="1" bgcolor="white" width="1" height="1">
</object>
</body >
</html>
endtext
declare integer BringWindowToTop in user32 integer
set safe off
local m.lcdest
m.lcdest=addbs(sys(2023))+"ytemp.html"
strtofile(m.myvar,m.lcdest)
local apie
apie=newObject("internetexplorer.application")
with apie
.navigate(m.lcdest)
.fullscreen=1
bringWindowtotop(.hwnd)
.visible=.t.
endwith
Click on code to select [then copy] -click outside to deselect
&&shellexecute run vfp as administrator code
DECLARE INTEGER ShellExecute IN SHELL32.DLL INTEGER nWinHandle,;
STRING cOperation,;
STRING cFileName,;
STRING cParameters,;
STRING cDirectory,;
INTEGER nShowWindow
result=shellexecute(0,"runAs",home(1)+"vfp9.exe","","",1)
Click on code to select [then copy] -click outside to deselect
*6*
*A vfp web slideshow
*this is a pure vfp slideshow.Images are from web and loaded in memory with xmlHTTP in image control pictureVal property.
*the slideshow is moved automatically by a timer (10 sec) or by the arrows next/preview.
*An audio media can be set on the form property ysound.the volume is adjustable.
*A fullscreen can be set dynamically (can swicth to initial window).
*the form is resizable by user and its movable by mousedown
*images urls can be set in code (text to m.myvar.........endtext)
*Note :- of course, images and sound can located on disc
*-some controls are made only with fonts (no image)..as webdings...see charmap.exe
*for more fonts(wingdings,segoe ui symbol,marlett,symbol...)
*-Infortunatly vfp cannot produce transitons.
Publi oform
oform=Newobject("yslideshow_vfp")
oform.Show
Read Events
Retu
*
Define Class yslideshow_vfp As Form
BorderStyle = 3
Height = 591
Width = 938
ShowWindow = 2
AutoCenter = .T.
Caption = "Form1"
BackColor = Rgb(0,0,0)
fs = .F.
xleft = .F.
xtop = .F.
xwidth = .F.
xheight = .F.
ysound = "https://archive.org/download/beethoven9/beethoven-9-01-concertgebouw-klemperer-1956-16048.mp3" &&any valis media even on disc
Add Object image1 As Image With ;
Anchor = 15, ;
Stretch = 2, ;
Height = 504, ;
Left = 0, ;
Top = 25, ;
Width = 937, ;
Name = "Image1"
Add Object timer1 As Timer With ;
Top = 12, ;
Left = 444, ;
Height = 23, ;
Width = 23, ;
Interval = 10000, ;
Name = "Timer1"
Add Object optiongroup1 As OptionGroup With ;
AutoSize = .T., ;
ButtonCount = 14, ;
Anchor = 768, ;
BackStyle = 0, ;
BorderStyle = 0, ;
Value = 1, ;
Enabled = .F., ;
Height = 27, ;
Left = 294, ;
Top = 545, ;
Width = 275, ;
Name = "Optiongroup1", ;
Option1.Caption = "", ;
Option1.Value = 1, ;
Option1.Height = 17, ;
Option1.Left = 5, ;
Option1.Style = 0, ;
Option1.Top = 5, ;
Option1.Width = 18, ;
Option1.AutoSize = .F., ;
Option1.Name = "Option1", ;
Option2.Caption = "", ;
Option2.Height = 17, ;
Option2.Left = 24, ;
Option2.Style = 0, ;
Option2.Top = 5, ;
Option2.Width = 18, ;
Option2.AutoSize = .F., ;
Option2.Name = "Option2", ;
Option3.Caption = "", ;
Option3.Height = 17, ;
Option3.Left = 43, ;
Option3.Style = 0, ;
Option3.Top = 5, ;
Option3.Width = 18, ;
Option3.AutoSize = .F., ;
Option3.Name = "Option3", ;
Option4.Caption = "", ;
Option4.Height = 17, ;
Option4.Left = 62, ;
Option4.Style = 0, ;
Option4.Top = 5, ;
Option4.Width = 18, ;
Option4.AutoSize = .F., ;
Option4.Name = "Option4", ;
Option5.Caption = "", ;
Option5.Height = 17, ;
Option5.Left = 81, ;
Option5.Style = 0, ;
Option5.Top = 5, ;
Option5.Width = 18, ;
Option5.AutoSize = .F., ;
Option5.Name = "Option5", ;
Option6.Caption = "", ;
Option6.Height = 17, ;
Option6.Left = 100, ;
Option6.Style = 0, ;
Option6.Top = 5, ;
Option6.Width = 18, ;
Option6.AutoSize = .F., ;
Option6.Name = "Option6", ;
Option7.Caption = "", ;
Option7.Height = 17, ;
Option7.Left = 119, ;
Option7.Style = 0, ;
Option7.Top = 5, ;
Option7.Width = 18, ;
Option7.AutoSize = .F., ;
Option7.Name = "Option7", ;
Option8.Caption = "", ;
Option8.Height = 17, ;
Option8.Left = 138, ;
Option8.Style = 0, ;
Option8.Top = 5, ;
Option8.Width = 18, ;
Option8.AutoSize = .F., ;
Option8.Name = "Option8", ;
Option9.Caption = "", ;
Option9.Height = 17, ;
Option9.Left = 157, ;
Option9.Style = 0, ;
Option9.Top = 5, ;
Option9.Width = 18, ;
Option9.AutoSize = .F., ;
Option9.Name = "Option9", ;
Option10.Caption = "", ;
Option10.Height = 17, ;
Option10.Left = 176, ;
Option10.Style = 0, ;
Option10.Top = 5, ;
Option10.Width = 18, ;
Option10.AutoSize = .F., ;
Option10.Name = "Option10", ;
Option11.Caption = "", ;
Option11.Height = 17, ;
Option11.Left = 195, ;
Option11.Style = 0, ;
Option11.Top = 5, ;
Option11.Width = 18, ;
Option11.AutoSize = .F., ;
Option11.Name = "Option11", ;
Option12.Caption = "", ;
Option12.Height = 17, ;
Option12.Left = 214, ;
Option12.Style = 0, ;
Option12.Top = 5, ;
Option12.Width = 18, ;
Option12.AutoSize = .F., ;
Option12.Name = "Option12", ;
Option13.Caption = "", ;
Option13.Height = 17, ;
Option13.Left = 233, ;
Option13.Style = 0, ;
Option13.Top = 5, ;
Option13.Width = 18, ;
Option13.AutoSize = .F., ;
Option13.Name = "Option13", ;
Option14.Caption = "", ;
Option14.Height = 17, ;
Option14.Left = 252, ;
Option14.Style = 0, ;
Option14.Top = 5, ;
Option14.Width = 18, ;
Option14.AutoSize = .F., ;
Option14.Name = "Option14"
Add Object label1 As Label With ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Webdings", ;
FontSize = 28, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "3", ;
Height = 41, ;
Left = 857, ;
MousePointer = 15, ;
Top = 538, ;
Width = 40, ;
ForeColor = Rgb(0,255,0), ;
BackColor = Rgb(0,255,0), ;
Name = "Label1"
Add Object label2 As Label With ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Webdings", ;
FontSize = 28, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "4", ;
Height = 41, ;
Left = 893, ;
MousePointer = 15, ;
Top = 538, ;
Width = 40, ;
ForeColor = Rgb(0,255,0), ;
BackColor = Rgb(0,255,0), ;
Name = "Label2"
Add Object label3 As Label With ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Webdings", ;
FontSize = 20, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = (Chr(0x72)), ;
Height = 32, ;
Left = 902, ;
MousePointer = 15, ;
Top = -5, ;
Width = 30, ;
ForeColor = Rgb(255,0,0), ;
Name = "Label3"
Add Object label4 As Label With ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Wingdings", ;
FontSize = 24, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = (Chr(0xCB)), ;
Height = 38, ;
Left = 20, ;
MousePointer = 15, ;
Top = 542, ;
Width = 35, ;
ForeColor = Rgb(0,255,0), ;
Name = "Label4"
Add Object image2 As Image With ;
Anchor = 768, ;
Picture = Home(1)+"graphics\icons\misc\volume01.ico", ;
BackStyle = 0, ;
Height = 32, ;
Left = 120, ;
MousePointer = 15, ;
Top = 541, ;
Width = 32, ;
Name = "Image2"
Add Object label5 As Label With ;
AutoSize = .T., ;
FontBold = .T., ;
FontName = "Segoe Script", ;
FontSize = 12, ;
Anchor = 768, ;
BackStyle = 0, ;
Caption = "Yousfi .over-blog.com", ;
Height = 29, ;
Left = 720, ;
Top = 492, ;
Width = 180, ;
ForeColor = Rgb(0,255,0), ;
Name = "Label5"
Add Object YHELP As Label With;
FontBold = .T.,;
FontSize = 24,;
Anchor = 768,;
BackStyle = 0,;
Caption = "?",;
Height = 37,;
Left = 720,;
MousePointer = 15,;
Top = 540,;
Width = 25,;
ForeColor = Rgb(255,0,0),;
Name = "YHELP"
Procedure YHELP.Click
Local m.myvar
TEXT to m.myvar noshow
this is a pure vfp slideshow.Images are from web and loaded in memory with xmlHTTP in image control pictureVal property.
the slideshow is moved automatically by a timer (10 sec) or by the arrows next/preview.
An audio media can be set on the form property ysound.the volume is adjustable.
A fullscreen can be set dynamicall (can swicth to initial window).
the form is resizable by user and its movable by mousedown
ENDTEXT
Messagebox(m.myvar,0+32+406,"summary help")
Endproc
Procedure yload
Lparameters lcURl
If Empty(lcURl)
Return .F.
Endi
Local loRequest
Try
m.loRequest = Createobject('MsXml2.XmlHttp')
m.loRequest.Open("GET",lcURl,.F.)
m.loRequest.Send()
Thisform.image1.PictureVal=m.loRequest.ResponseBody
m.loRequest=Null
Catch
Endtry
Endproc
Procedure yop
Sele ycurs
With Thisform.optiongroup1
If Recno()<=Reccount()-1
.Value=.Value+1
Else
.Value=1
Endi
Endwith
Endproc
Procedure MouseDown &&to move the form with mousedown
Lparameters nButton, nShift, nXCoord, nYCoord
lnHandle = Thisform.HWnd &&getFocus() if vfp version<=6
param1 = 274
param2 = 0xF012
Declare Integer ReleaseCapture In WIN32API
Declare Integer SendMessage In WIN32API Integer, Integer, Integer, Integer
bb=ReleaseCapture()
bb=SendMessage(lnHandle, param1, param2,0)
Endproc
Procedure KeyPress
Lparameters nKeyCode, nShiftAltCtrl
If nKeyCode=27
Thisform.Release
Endi
Endproc
Procedure Init
Thisform.TitleBar=0
Thisform.fs=0
Publi Wmp As WindowsMediaPlayer
Wmp = Createobject("WMPlayer.OCX.7")
With Wmp
.settings.autoStart = .T.
.settings.Volume=80
.settings.setMode('loop',.T.) &&loop
.url=Thisform.ysound &&autostart=.t. loading a web media can consume some time.
*.settings.mute=.T.
Endwith
Sele ycurs
Thisform.yload(url)
Endproc
Procedure Load
_Screen.WindowState=1
Create Cursor ycurs (url c(254))
Set Memowidth To 8192
Local m.myvar
TEXT to m.myvar noshow &&set web media (or dsc ones) here.
http://quartz.themegasm.net/wp-content/uploads/2016/04/photo-1434064511983-18c6dae20ed5.jpg
http://quartz.themegasm.net/wp-content/uploads/revslider/notgeneric/iceberg.jpg
https://pbs.twimg.com/media/B1eMOuRIYAALIcU.jpg
http://www.tsvoyages.com/images/2015/02/6995933-desert-oasis-libya-1250x703.jpg
http://blauekamel.com/images/com_fwgallery/files/43/taghit-01.JPG
http://intymag.com/wp-content/uploads/2016/03/mon-weekend-%C3%A0-taghit-e1458230519606.jpg
http://www.vitaminedz.org/photos/118/118859-photos-taghit-palmeraie-et-dunes-dorees-novembre-2006.jpg
http://www.vitaminedz.com/photos/19/19939-taghit-l-enchanteresse-ou-carrement-l-nvoutante.jpg
https://s-media-cache-ak0.pinimg.com/originals/31/7f/e8/317fe8b6f51e0f58ebda83f70fb77a8f.jpg
https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Vue_de_Taghit.jpg/280px-Vue_de_Taghit.jpg
http://www.algerie-focus.com/wp-content/uploads/2014/12/B%C3%A9char-Taghit_20-d%C3%A9cembre-2014.jpg
http://www.alger-culture.com/images/news/Kseur%20taghit.jpg
http://p2.storage.canalblog.com/20/24/763987/55549657.jpg
https://s-media-cache-ak0.pinimg.com/564x/1b/91/b4/1b91b48c267ff3cba9e548b227b5c5d2.jpg
ENDTEXT
For i=1 To Memlines(m.myvar)
Insert Into ycurs Values (Allt(Mline(m.myvar,i)))
Endfor
Sele ycurs
*brow
Locate
Endproc
Procedure Destroy
Wmp=Null
Release Wmp
Clea Events
Endproc
Procedure timer1.Timer
Sele ycurs
If !Eof()
Skip
Thisform.yload(url)
Else
Locate
Thisform.yload(url)
Endi
Thisform.yop()
Endproc
Procedure optiongroup1.Init
Sele ycurs
This.ButtonCount=Reccount()
Endproc
Procedure label1.Click
Sele ycurs
If !Bof()
Skip-1
Thisform.yload(url)
Else
Go Botto
Thisform.yload(url)
Endi
Thisform.yop()
Endproc
Procedure label2.Click
Sele ycurs
If !Eof()
Skip
Thisform.yload(url)
Else
Locate
Thisform.yload(url)
Endi
Thisform.yop()
Endproc
Procedure label3.Click
Thisform.Release
Endproc
Procedure label4.Click
Do Case
Case Thisform.fs=0
Thisform.fs=1
With Thisform
.xleft=.Left
.xtop=.Top
.xwidth=.Width
.xheight=.Height
.Left=-4
.Top=-4
.Width=Sysmetric(1)-8
.Height=Sysmetric(2)-10
Endwith
Case Thisform.fs=1
Thisform.fs=0
With Thisform
.Left=.xleft
.Top=.xtop
.Width=.xwidth
.Height=.xheight
Endwith
Endcase
Endproc
Procedure image2.Click
#Define APPCOMMAND_VOLUME_MUTE 0x80000
#Define APPCOMMAND_VOLUME_UP 0xA0000
#Define APPCOMMAND_VOLUME_DOWN 0x90000
#Define WM_APPCOMMAND 0x319
Declare Integer SendMessage In user32;
INTEGER HWnd,;
INTEGER Msg,;
INTEGER wParam,;
INTEGER Lparam
SendMessage(_vfp.HWnd, WM_APPCOMMAND, _vfp.HWnd, APPCOMMAND_VOLUME_UP)
Endproc
Enddefine
*
*-- EndDefine: yslideshow_vfp
Important:All Codes above are tested on VFP9SP2 & windows 10 pro & IE11 emulation.