diff options
-rw-r--r-- | include/qpdf/QPDFObjectHandle.hh | 2 | ||||
-rw-r--r-- | libqpdf/QPDFObjectHandle.cc | 6 | ||||
-rw-r--r-- | libqpdf/QPDF_Real.cc | 7 | ||||
-rw-r--r-- | libqpdf/qpdf/QPDF_Real.hh | 1 |
4 files changed, 16 insertions, 0 deletions
diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index c6ec2909..350381b6 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -102,6 +102,8 @@ class QPDFObjectHandle QPDF_DLL static QPDFObjectHandle newReal(std::string const& value); QPDF_DLL + static QPDFObjectHandle newReal(double value); + QPDF_DLL static QPDFObjectHandle newName(std::string const& name); QPDF_DLL static QPDFObjectHandle newString(std::string const& str); diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index 90756dd7..b1f7df2c 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -604,6 +604,12 @@ QPDFObjectHandle::newReal(std::string const& value) } QPDFObjectHandle +QPDFObjectHandle::newReal(double value) +{ + return QPDFObjectHandle(new QPDF_Real(value)); +} + +QPDFObjectHandle QPDFObjectHandle::newName(std::string const& name) { return QPDFObjectHandle(new QPDF_Name(name)); diff --git a/libqpdf/QPDF_Real.cc b/libqpdf/QPDF_Real.cc index 9236e92e..466ddb72 100644 --- a/libqpdf/QPDF_Real.cc +++ b/libqpdf/QPDF_Real.cc @@ -1,10 +1,17 @@ #include <qpdf/QPDF_Real.hh> +#include <qpdf/QUtil.hh> + QPDF_Real::QPDF_Real(std::string const& val) : val(val) { } +QPDF_Real::QPDF_Real(double value, int decimal_places) : + val(QUtil::double_to_string(value, decimal_places)) +{ +} + QPDF_Real::~QPDF_Real() { } diff --git a/libqpdf/qpdf/QPDF_Real.hh b/libqpdf/qpdf/QPDF_Real.hh index 76777477..7c4f3ce3 100644 --- a/libqpdf/qpdf/QPDF_Real.hh +++ b/libqpdf/qpdf/QPDF_Real.hh @@ -7,6 +7,7 @@ class QPDF_Real: public QPDFObject { public: QPDF_Real(std::string const& val); + QPDF_Real(double value, int decimal_places = 0); virtual ~QPDF_Real(); std::string unparse(); std::string getVal(); |