aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/qpdf/QPDFObjectHandle.hh2
-rw-r--r--libqpdf/QPDFObjectHandle.cc6
-rw-r--r--libqpdf/QPDF_Real.cc7
-rw-r--r--libqpdf/qpdf/QPDF_Real.hh1
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();