1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<action name="fixaspectresize">
div(aspect,%1,%2);
mul(destwidth, stagewidth, aspect);
copy(destheight, stagewidth);
if(destwidth GT stagewidth, div(dwnscale,stagewidth,destwidth), set(dwnscale,1.0) );
mul(destwidth, destwidth, dwnscale);
mul(destheight, destheight, dwnscale);
if(destheight GT stageheight, div(dwnscale,stageheight,destheight), set(dwnscale,1.0) );
mul(destwidth, destwidth, dwnscale);
mul(destheight, destheight, dwnscale);
if(destwidth GT 1920, div(dwnscale,1920,destwidth), set(dwnscale,1.0) );
mul(destwidth, destwidth, dwnscale);
mul(destheight, destheight, dwnscale);
if(destheight GT 1080, div(dwnscale,1080,destheight), set(dwnscale,1.0) );
mul(destwidth, destwidth, dwnscale);
mul(destheight, destheight, dwnscale);
sub(destx, stagewidth, destwidth);
sub(desty, stageheight, destheight);
mul(destx, destx, 0.5);
mul(desty, desty, 0.5);
copy(area.x, destx);
copy(area.y, desty);
copy(area.width, destwidth);
copy(area.height, destheight);
</action>
|