summaryrefslogtreecommitdiff
path: root/fxjs/xfa
diff options
context:
space:
mode:
Diffstat (limited to 'fxjs/xfa')
-rw-r--r--fxjs/xfa/cjx_object.cpp8
-rw-r--r--fxjs/xfa/cjx_object.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/fxjs/xfa/cjx_object.cpp b/fxjs/xfa/cjx_object.cpp
index 304b861dcf..b1e3030020 100644
--- a/fxjs/xfa/cjx_object.cpp
+++ b/fxjs/xfa/cjx_object.cpp
@@ -431,6 +431,14 @@ pdfium::Optional<CXFA_Measurement> CJX_Object::TryMeasure(
return ToNode(GetXFAObject())->GetDefaultMeasurement(eAttr);
}
+pdfium::Optional<float> CJX_Object::TryMeasureAsFloat(
+ XFA_Attribute attr) const {
+ pdfium::Optional<CXFA_Measurement> measure = TryMeasure(attr, false);
+ if (measure)
+ return {measure->ToUnit(XFA_Unit::Pt)};
+ return {};
+}
+
CXFA_Measurement CJX_Object::GetMeasure(XFA_Attribute eAttr) const {
return TryMeasure(eAttr, true).value_or(CXFA_Measurement());
}
diff --git a/fxjs/xfa/cjx_object.h b/fxjs/xfa/cjx_object.h
index f6ce3ccfb8..32bb01f3f6 100644
--- a/fxjs/xfa/cjx_object.h
+++ b/fxjs/xfa/cjx_object.h
@@ -197,6 +197,7 @@ class CJX_Object {
pdfium::Optional<CXFA_Measurement> TryMeasure(XFA_Attribute eAttr,
bool bUseDefault) const;
+ pdfium::Optional<float> TryMeasureAsFloat(XFA_Attribute attr) const;
bool SetMeasure(XFA_Attribute eAttr, CXFA_Measurement mValue, bool bNotify);
CXFA_Measurement GetMeasure(XFA_Attribute eAttr) const;