1fb4f58ff2
Originally committed to SVN as r1399.
69 lines
2 KiB
Diff
69 lines
2 KiB
Diff
Index: STS.h
|
|
===================================================================
|
|
--- STS.h (revision 611)
|
|
+++ STS.h (working copy)
|
|
@@ -49,6 +49,7 @@
|
|
bool fStrikeOut;
|
|
bool fBlur;
|
|
double fontAngleZ, fontAngleX, fontAngleY;
|
|
+ double fontShiftX, fontShiftY;
|
|
int relativeTo; // 0: window, 1: video, 2: undefined (~window)
|
|
|
|
STSStyle();
|
|
Index: RTS.cpp
|
|
===================================================================
|
|
--- RTS.cpp (revision 611)
|
|
+++ RTS.cpp (working copy)
|
|
@@ -156,8 +156,8 @@
|
|
{
|
|
double x, y, z, xx, yy, zz;
|
|
|
|
- x = scalex * mpPathPoints[i].x - org.x;
|
|
- y = scaley * mpPathPoints[i].y - org.y;
|
|
+ x = scalex * (mpPathPoints[i].x + m_style.fontShiftX * mpPathPoints[i].y) - org.x;
|
|
+ y = scaley * (mpPathPoints[i].y + m_style.fontShiftY * mpPathPoints[i].x) - org.y;
|
|
z = 0;
|
|
|
|
xx = x*caz + y*saz;
|
|
@@ -1437,6 +1437,8 @@
|
|
params.Add(cmd.Mid(2)), cmd = cmd.Left(2);
|
|
else if(!cmd.Find(L"frx") || !cmd.Find(L"fry") || !cmd.Find(L"frz"))
|
|
params.Add(cmd.Mid(3)), cmd = cmd.Left(3);
|
|
+ else if(!cmd.Find(L"fax") || !cmd.Find(L"fay"))
|
|
+ params.Add(cmd.Mid(3)), cmd = cmd.Left(3);
|
|
else if(!cmd.Find(L"fr"))
|
|
params.Add(cmd.Mid(2)), cmd = cmd.Left(2);
|
|
else if(!cmd.Find(L"fscx") || !cmd.Find(L"fscy"))
|
|
@@ -1618,6 +1620,18 @@
|
|
}
|
|
}
|
|
}
|
|
+ else if(cmd == L"fax")
|
|
+ {
|
|
+ style.fontShiftX = !p.IsEmpty()
|
|
+ ? CalcAnimation(wcstod(p, NULL), style.fontShiftX, fAnimate)
|
|
+ : org.fontShiftX;
|
|
+ }
|
|
+ else if(cmd == L"fay")
|
|
+ {
|
|
+ style.fontShiftY = !p.IsEmpty()
|
|
+ ? CalcAnimation(wcstod(p, NULL), style.fontShiftY, fAnimate)
|
|
+ : org.fontShiftY;
|
|
+ }
|
|
else if(cmd == L"fe")
|
|
{
|
|
int n = wcstol(p, NULL, 10);
|
|
Index: STS.cpp
|
|
===================================================================
|
|
--- STS.cpp (revision 611)
|
|
+++ STS.cpp (working copy)
|
|
@@ -2898,7 +2898,7 @@
|
|
fUnderline = false;
|
|
fStrikeOut = false;
|
|
fBlur = false;
|
|
- fontAngleZ = fontAngleX = fontAngleY = 0;
|
|
+ fontShiftX = fontShiftY = fontAngleZ = fontAngleX = fontAngleY = 0;
|
|
relativeTo = 2;
|
|
}
|
|
|