Break circular includes between fpdfsdk/ and fpdfsdk/pwl.
The CPWL_Wnd::PrivateData interface replaces all use of
CPDFSDK_Widget at the pwl/ layer. In turn, IPWL_SystemHandler
can no longer use a widget, so it must use PrivateData instead.
This then hits the "no forward declaration of nested classes"
gotcha, so PrivateData moves to IPWL_SystemHandler and is renamed
PerWindowData.
Change-Id: I98153e2def05cf2d582b96b2bec3dc905c97910a
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/58814
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/pwl/cpwl_special_button.h b/fpdfsdk/pwl/cpwl_special_button.h
index 68bb965..3d9fa25 100644
--- a/fpdfsdk/pwl/cpwl_special_button.h
+++ b/fpdfsdk/pwl/cpwl_special_button.h
@@ -13,8 +13,9 @@
class CPWL_PushButton final : public CPWL_Button {
public:
- CPWL_PushButton(const CreateParams& cp,
- std::unique_ptr<PrivateData> pAttachedData);
+ CPWL_PushButton(
+ const CreateParams& cp,
+ std::unique_ptr<IPWL_SystemHandler::PerWindowData> pAttachedData);
~CPWL_PushButton() override;
// CPWL_Button:
@@ -23,8 +24,9 @@
class CPWL_CheckBox final : public CPWL_Button {
public:
- CPWL_CheckBox(const CreateParams& cp,
- std::unique_ptr<PrivateData> pAttachedData);
+ CPWL_CheckBox(
+ const CreateParams& cp,
+ std::unique_ptr<IPWL_SystemHandler::PerWindowData> pAttachedData);
~CPWL_CheckBox() override;
// CPWL_Button:
@@ -40,8 +42,9 @@
class CPWL_RadioButton final : public CPWL_Button {
public:
- CPWL_RadioButton(const CreateParams& cp,
- std::unique_ptr<PrivateData> pAttachedData);
+ CPWL_RadioButton(
+ const CreateParams& cp,
+ std::unique_ptr<IPWL_SystemHandler::PerWindowData> pAttachedData);
~CPWL_RadioButton() override;
// CPWL_Button