Add a WriteRect() helper to cpdf_contentstream_write_utils.h.
Add a helper function for creating legal content stream data from a
CFX_FloatRect. The code already mostly exists in cpdfsdk_appstream.cpp.
Move it into cpdf_contentstream_write_utils.cpp and use it in
fpdf_transformpage.cpp.
Change-Id: Ia1ae1fa86784d0372bdbf5245ec8e63c237c4917
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/97775
Reviewed-by: Nigi <nigi@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/edit/cpdf_contentstream_write_utils.cpp b/core/fpdfapi/edit/cpdf_contentstream_write_utils.cpp
index 7cd53e7..33642d4 100644
--- a/core/fpdfapi/edit/cpdf_contentstream_write_utils.cpp
+++ b/core/fpdfapi/edit/cpdf_contentstream_write_utils.cpp
@@ -30,3 +30,11 @@
WriteFloat(stream, point.y);
return stream;
}
+
+std::ostream& WriteRect(std::ostream& stream, const CFX_FloatRect& rect) {
+ WriteFloat(stream, rect.left) << " ";
+ WriteFloat(stream, rect.bottom) << " ";
+ WriteFloat(stream, rect.Width()) << " ";
+ WriteFloat(stream, rect.Height());
+ return stream;
+}
diff --git a/core/fpdfapi/edit/cpdf_contentstream_write_utils.h b/core/fpdfapi/edit/cpdf_contentstream_write_utils.h
index 22c40d7..abc700f 100644
--- a/core/fpdfapi/edit/cpdf_contentstream_write_utils.h
+++ b/core/fpdfapi/edit/cpdf_contentstream_write_utils.h
@@ -12,5 +12,6 @@
std::ostream& WriteFloat(std::ostream& stream, float value);
std::ostream& WriteMatrix(std::ostream& stream, const CFX_Matrix& matrix);
std::ostream& WritePoint(std::ostream& stream, const CFX_PointF& point);
+std::ostream& WriteRect(std::ostream& stream, const CFX_FloatRect& rect);
#endif // CORE_FPDFAPI_EDIT_CPDF_CONTENTSTREAM_WRITE_UTILS_H_