mirror of
https://github.com/pdf2htmlEX/pdf2htmlEX.git
synced 2024-09-17 21:16:03 +00:00
33 lines
831 B
C++
33 lines
831 B
C++
#include <cstring>
|
|
#include "math.h"
|
|
|
|
namespace pdf2htmlEX {
|
|
|
|
void tm_transform(const double * tm, double & x, double & y, bool is_delta)
|
|
{
|
|
double xx = x, yy = y;
|
|
x = tm[0] * xx + tm[2] * yy;
|
|
y = tm[1] * xx + tm[3] * yy;
|
|
if(!is_delta)
|
|
{
|
|
x += tm[4];
|
|
y += tm[5];
|
|
}
|
|
}
|
|
|
|
void tm_multiply(double * tm_left, const double * tm_right)
|
|
{
|
|
double old[4];
|
|
memcpy(old, tm_left, sizeof(old));
|
|
|
|
tm_left[0] = old[0] * tm_right[0] + old[2] * tm_right[1];
|
|
tm_left[1] = old[1] * tm_right[0] + old[3] * tm_right[1];
|
|
tm_left[2] = old[0] * tm_right[2] + old[2] * tm_right[3];
|
|
tm_left[3] = old[1] * tm_right[2] + old[3] * tm_right[3];
|
|
tm_left[4] += old[0] * tm_right[4] + old[2] * tm_right[5];
|
|
tm_left[5] += old[1] * tm_right[4] + old[3] * tm_right[5];
|
|
}
|
|
|
|
} //namespace pdf2htmlEX
|
|
|