1 // Copyright 2019 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef FPDFSDK_PWL_IPWL_SYSTEMHANDLER_H_ 8 #define FPDFSDK_PWL_IPWL_SYSTEMHANDLER_H_ 9 10 #include <memory> 11 12 #include "core/fxcrt/fx_coordinates.h" 13 #include "core/fxcrt/fx_system.h" 14 15 class CFFL_FormFiller; 16 17 class IPWL_SystemHandler { 18 public: 19 class PerWindowData { 20 public: 21 virtual ~PerWindowData() = default; 22 virtual std::unique_ptr<PerWindowData> Clone() const = 0; 23 }; 24 25 virtual ~IPWL_SystemHandler() = default; 26 27 virtual void InvalidateRect(PerWindowData* pWidgetData, 28 const CFX_FloatRect& rect) = 0; 29 virtual void OutputSelectedRect(CFFL_FormFiller* pFormFiller, 30 const CFX_FloatRect& rect) = 0; 31 virtual bool IsSelectionImplemented() const = 0; 32 virtual void SetCursor(int32_t nCursorType) = 0; 33 }; 34 35 #endif // FPDFSDK_PWL_IPWL_SYSTEMHANDLER_H_ 36