Exemplo n.º 1
0
void fallbackTranslate(uiDrawMatrix *m, double x, double y)
{
	uiDrawMatrix m2;

	setIdentity(&m2);
	m2.M31 = x;
	m2.M32 = y;
	fallbackMultiply(m, &m2);
}
Exemplo n.º 2
0
void fallbackScale(uiDrawMatrix *m, double xCenter, double yCenter, double x, double y)
{
	uiDrawMatrix m2;

	setIdentity(&m2);
	m2.M11 = x;
	m2.M22 = y;
	scaleCenter(xCenter, yCenter, &x, &y);
	m2.M31 = x;
	m2.M32 = y;
	fallbackMultiply(m, &m2);
}
Exemplo n.º 3
0
// see https://msdn.microsoft.com/en-us/library/windows/desktop/ff684171%28v=vs.85%29.aspx#skew_transform
// TODO if Windows 7 is ever dropped change this so we can pass in D2D1Tan()
void fallbackSkew(uiDrawMatrix *m, double x, double y, double xamount, double yamount)
{
	uiDrawMatrix n;

	setIdentity(&n);
	// TODO explain this
	n.M12 = tan(yamount);
	n.M21 = tan(xamount);
	n.M31 = -y * tan(xamount);
	n.M32 = -x * tan(yamount);
	fallbackMultiply(m, &n);
}
Exemplo n.º 4
0
void uiDrawMatrixMultiply(uiDrawMatrix *dest, uiDrawMatrix *src)
{
	fallbackMultiply(dest, src);
}