void Document::TranslateObjects(const Real & dx, const Real & dy, ObjectType type)
{
+ #ifdef TRANSFORM_BEZIERS_TO_PATH
+ for (unsigned i = 0; i < m_objects.paths.size(); ++i)
+ {
+ Path & p = m_objects.paths[i];
+ p.x += dx;
+ p.y += dy;
+ }
+ return;
+ #endif
+
for (unsigned i = 0; i < m_count; ++i)
{
if (type == NUMBER_OF_OBJECT_TYPES || m_objects.types[i] == type)
void Document::ScaleObjectsAboutPoint(const Real & x, const Real & y, const Real & scale_amount, ObjectType type)
{
+ #ifdef TRANSFORM_BEZIERS_TO_PATH
+ for (unsigned i = 0; i < m_objects.paths.size(); ++i)
+ {
+ Path & p = m_objects.paths[i];
+ p.w /= scale_amount;
+ p.h /= scale_amount;
+ p.x -= x;
+ p.x /= scale_amount;
+ p.x += x;
+ p.y -= y;
+ p.y /= scale_amount;
+ p.y += y;
+ }
+ return;
+ #endif
+
for (unsigned i = 0; i < m_count; ++i)
{
if (type != NUMBER_OF_OBJECT_TYPES && m_objects.types[i] != type)
m_objects.bounds[i].y /= scale_amount;
m_objects.bounds[i].y += y;
}
+
}