- add a system for setting all of 2D drawing's transform, not just shapes

This commit is contained in:
Gutawer 2022-07-07 16:19:11 +01:00 committed by Christoph Oelckers
commit 1e27fac288
5 changed files with 146 additions and 40 deletions

View file

@ -1624,4 +1624,27 @@ DEFINE_ACTION_FUNCTION(_Screen, SetOffset)
PARAM_FLOAT(x);
PARAM_FLOAT(y);
ACTION_RETURN_VEC2(twod->SetOffset(DVector2(x, y)));
}
}
DEFINE_ACTION_FUNCTION(_Screen, SetTransform)
{
PARAM_PROLOGUE;
PARAM_OBJECT_NOT_NULL(transform, DShape2DTransform);
if (!twod->HasBegun2D()) ThrowAbortException(X_OTHER, "Attempt to draw to screen outside a draw function");
twod->SetTransform(*transform);
return 0;
}
DEFINE_ACTION_FUNCTION(_Screen, ClearTransform)
{
PARAM_PROLOGUE;
if (!twod->HasBegun2D()) ThrowAbortException(X_OTHER, "Attempt to draw to screen outside a draw function");
twod->ClearTransform();
return 0;
}