2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-06-19 18:32:21 +00:00

Add new method QPDFObject::setDefaultDescription

This commit is contained in:
m-holger 2022-12-16 16:19:15 +00:00 committed by Jay Berkenbilt
parent d03ca88275
commit 218f069a69
3 changed files with 17 additions and 9 deletions

View File

@ -1848,9 +1848,7 @@ QPDF::resolve(QPDFObjGen og)
}
auto result(this->m->obj_cache[og].object);
if (!result->hasDescription()) {
result->setDescription(this, ("object " + og.unparse(' ')));
}
result->setDefaultDescription(this, og);
}
void
@ -1946,10 +1944,7 @@ QPDF::resolveObjectsInStream(int obj_stream_number)
QPDFObjectHandle
QPDF::newIndirect(QPDFObjGen const& og, std::shared_ptr<QPDFObject> const& obj)
{
obj->setObjGen(this, og);
if (!obj->hasDescription()) {
obj->setDescription(this, "object " + og.unparse(' '));
}
obj->setDefaultDescription(this, og);
return QPDFObjectHandle::Factory::newIndirect(obj);
}

View File

@ -68,7 +68,6 @@ class QPDFObject
{
return value->og;
}
void
setDescription(
QPDF* qpdf, std::string const& description, qpdf_offset_t offset = -1)
@ -112,9 +111,14 @@ class QPDFObject
}
void
setObjGen(QPDF* qpdf, QPDFObjGen const& og)
setDefaultDescription(QPDF* qpdf, QPDFObjGen const& og)
{
// Intended for use by the QPDF class
value->setDefaultDescription(qpdf, og);
}
void
setObjGen(QPDF* qpdf, QPDFObjGen const& og)
{
value->qpdf = qpdf;
value->og = og;
}

View File

@ -31,6 +31,15 @@ class QPDFValue
object_description = description;
setParsedOffset(offset);
}
void
setDefaultDescription(QPDF* a_qpdf, QPDFObjGen const& a_og)
{
if (object_description.empty()) {
object_description = "object " + a_og.unparse(' ');
}
qpdf = a_qpdf;
og = a_og;
}
bool
getDescription(QPDF*& qpdf_p, std::string& description)
{