diff options
author | Henrique Nakashima <hnakashima@chromium.org> | 2018-07-13 20:12:41 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-07-13 20:12:41 +0000 |
commit | cf403ba5720cf8bb05b6fbe9bf2b152c52e7e7b3 (patch) | |
tree | 99b63ccc2956f7341ed5588fadf16fffb02d7a16 /fpdfsdk/fpdf_editpage.cpp | |
parent | fed4adb003db228ac7fbc0510a21c25b50ae0cab (diff) | |
download | pdfium-cf403ba5720cf8bb05b6fbe9bf2b152c52e7e7b3.tar.xz |
Create API to remove a parameter from a content mark.chromium/3491
- FPDFPageObjMark_RemoveParam()
Bug: pdfium:1037
Change-Id: I3ec25128795c36ba7f2f72a9d288a7855ecc3180
Reviewed-on: https://pdfium-review.googlesource.com/37770
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'fpdfsdk/fpdf_editpage.cpp')
-rw-r--r-- | fpdfsdk/fpdf_editpage.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp index 808e330225..5a7312d9f3 100644 --- a/fpdfsdk/fpdf_editpage.cpp +++ b/fpdfsdk/fpdf_editpage.cpp @@ -99,11 +99,11 @@ void CalcBoundingBox(CPDF_PageObject* pPageObj) { } } -const CPDF_Dictionary* GetMarkParamDict(FPDF_PAGEOBJECTMARK mark) { +CPDF_Dictionary* GetMarkParamDict(FPDF_PAGEOBJECTMARK mark) { if (!mark) return nullptr; - const CPDF_ContentMarkItem* pMarkItem = + CPDF_ContentMarkItem* pMarkItem = CPDFContentMarkItemFromFPDFPageObjectMark(mark); return pMarkItem->GetParam(); @@ -566,6 +566,26 @@ FPDFPageObjMark_SetBlobParam(FPDF_DOCUMENT document, return true; } +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV +FPDFPageObjMark_RemoveParam(FPDF_PAGEOBJECT page_object, + FPDF_PAGEOBJECTMARK mark, + FPDF_BYTESTRING key) { + CPDF_PageObject* pPageObj = CPDFPageObjectFromFPDFPageObject(page_object); + if (!pPageObj) + return false; + + CPDF_Dictionary* pParams = GetMarkParamDict(mark); + if (!pParams) + return false; + + auto removed = pParams->RemoveFor(key); + if (!removed) + return false; + + pPageObj->SetDirty(true); + return true; +} + FPDF_EXPORT int FPDF_CALLCONV FPDFPageObj_GetType(FPDF_PAGEOBJECT pageObject) { if (!pageObject) return FPDF_PAGEOBJ_UNKNOWN; |