Remove IPDFSDK_AnnotHandler::CanUndo() and friends.
Add CPDFSDK_Annot::CanUndo() and make the IPDFSDK_AnnotHandler overrides
CPDFSDK_Annot overrides. Then remove the pass-through via
CPDFSDK_AnnotHandlerMgr. Also update CanRedo(), Undo() and Redo().
Change-Id: I9c299ec1c988700fd6cab9d1ac3142a63d431a4a
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/92330
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_annot.h b/fpdfsdk/cpdfsdk_annot.h
index 22e5515..b476014 100644
--- a/fpdfsdk/cpdfsdk_annot.h
+++ b/fpdfsdk/cpdfsdk_annot.h
@@ -32,6 +32,10 @@
virtual CFX_FloatRect GetRect() const = 0;
virtual bool DoHitTest(const CFX_PointF& point) = 0;
virtual CFX_FloatRect GetViewBBox() = 0;
+ virtual bool CanUndo() = 0;
+ virtual bool CanRedo() = 0;
+ virtual bool Undo() = 0;
+ virtual bool Redo() = 0;
// Three cases: PDF page only, XFA page only, or XFA page backed by PDF page.
IPDF_Page* GetPage(); // Returns XFA Page if possible, else PDF page.