X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fdocument.cpp;h=0428aa9c21d26b59a6ab00e272f7a50d6c6d7c5a;hb=b04b227b04626afb2a8bf665dbcbf035bfa1cef8;hp=6c390794aa8216f3e9e28afb9a29dce299b261e3;hpb=3172dd5af487e0f8a6e5cd5439dea594b9cbd7c9;p=ipdf%2Fcode.git diff --git a/src/document.cpp b/src/document.cpp index 6c39079..0428aa9 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -152,18 +152,14 @@ int Document::ClipObjectToQuadChild(int object_id, QuadTreeNodeChildren type) obj_bounds.h += (1 - (obj_bounds.y + obj_bounds.h)); } Rect child_node_bounds = TransformFromQuadChild(obj_bounds, type); - Rect clip_bezier_bounds; - clip_bezier_bounds.x = (child_node_bounds.x - m_objects.bounds[object_id].x) / m_objects.bounds[object_id].w; - clip_bezier_bounds.y = (child_node_bounds.y - m_objects.bounds[object_id].y) / m_objects.bounds[object_id].h; - clip_bezier_bounds.w = child_node_bounds.w / m_objects.bounds[object_id].w; - clip_bezier_bounds.h = child_node_bounds.h / m_objects.bounds[object_id].h; + Rect clip_bezier_bounds = TransformRectCoordinates(m_objects.bounds[object_id], child_node_bounds); std::vector new_curves = Bezier(m_objects.beziers[m_objects.data_indices[object_id]], child_node_bounds).ClipToRectangle(clip_bezier_bounds); for (size_t i = 0; i < new_curves.size(); ++i) { Rect new_bounds = TransformToQuadChild(m_objects.bounds[object_id], type); - new_bounds = TransformToQuadChild(new_curves[i].SolveBounds(), type); - Bezier new_curve_data = new_curves[i].ToRelative(new_bounds); - unsigned index = AddBezierData(new_curve_data); + //new_bounds = TransformToQuadChild(new_curves[i].SolveBounds(), type); + //Bezier new_curve_data = new_curves[i].ToRelative(new_bounds); + unsigned index = AddBezierData(new_curves[i]); m_objects.bounds.push_back(new_bounds); m_objects.types.push_back(BEZIER); m_objects.data_indices.push_back(index);