diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-01-09 10:46:50 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-01-09 10:46:50 -0800 |
commit | b9e0190938f62bf21df078e47190a62ba33ddab2 (patch) | |
tree | 474749da63ac6890c008f9535b335bebee1d7cc8 /fpdfsdk/include/fxedit | |
parent | b07772a31f5dff723af620bc57c71daa246995c0 (diff) | |
download | pdfium-b9e0190938f62bf21df078e47190a62ba33ddab2.tar.xz |
Fix -Wnon-virtual-dtor compiler warnings.
This is done by explicitly adding a virtual dtor to interface classes,
since the cost is small given that there are already virtual functions.
The exceptions are for classes that have a Release() or Delete() method,
in which case it is non-virtual and protected to indicate that the virtual
class is never the deletion point.
BUG=
R=brucedawson@chromium.org, thestig@chromium.org
Review URL: https://codereview.chromium.org/810883005
Diffstat (limited to 'fpdfsdk/include/fxedit')
-rw-r--r-- | fpdfsdk/include/fxedit/fx_edit.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/fpdfsdk/include/fxedit/fx_edit.h b/fpdfsdk/include/fxedit/fx_edit.h index 95b9096159..a8cd711e11 100644 --- a/fpdfsdk/include/fxedit/fx_edit.h +++ b/fpdfsdk/include/fxedit/fx_edit.h @@ -44,6 +44,7 @@ class IFX_SystemHandler; class IFX_Edit_FontMap { public: + virtual ~IFX_Edit_FontMap() { } //map a fontindex to pdf font. virtual CPDF_Font * GetPDFFont(FX_INT32 nFontIndex) = 0; //get the alias of a pdf font. @@ -58,8 +59,8 @@ public: class IFX_Edit_Notify { - //this class is implemented by user public: + virtual ~IFX_Edit_Notify() { } //set the horizontal scrollbar information. virtual void IOnSetScrollInfoX(FX_FLOAT fPlateMin, FX_FLOAT fPlateMax, FX_FLOAT fContentMin, FX_FLOAT fContentMax, @@ -84,8 +85,9 @@ public: class IFX_Edit_OprNotify { - //this class is implemented by user public: + virtual ~IFX_Edit_OprNotify() { } + //OprType: 0 virtual void OnInsertWord(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace) = 0; //OprType: 1 @@ -143,10 +145,13 @@ public: class IFX_Edit_UndoItem { public: + virtual void Release() = 0; virtual void Undo() = 0; virtual void Redo() = 0; virtual CFX_WideString GetUndoTitle() = 0; - virtual void Release() = 0; + +protected: + ~IFX_Edit_UndoItem() { } }; class FXET_CLASS IFX_Edit @@ -155,8 +160,7 @@ public: static IFX_Edit* NewEdit(); static void DelEdit(IFX_Edit* pEdit); -public: - //set a IFX_Edit_FontMap pointer implemented by user. + //set a IFX_Edit_FontMap pointer implemented by user. virtual void SetFontMap(IFX_Edit_FontMap* pFontMap) = 0; //if user don't like to use FontMap, implement VTProvider and set it directly. virtual void SetVTProvider(IPDF_VariableText_Provider* pProvider) = 0; @@ -371,7 +375,6 @@ public: virtual void AddUndoItem(IFX_Edit_UndoItem* pUndoItem) = 0; -public: static CFX_ByteString GetEditAppearanceStream(IFX_Edit* pEdit, const CPDF_Point & ptOffset, const CPVT_WordRange* pRange = NULL, FX_BOOL bContinuous = TRUE, FX_WORD SubWord = 0); @@ -388,12 +391,15 @@ public: const CPDF_Point& ptOffset, const CPVT_WordRange* pRange, CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray); static void GenerateUnderlineObjects(CPDF_PageObjects* pPageObjects, IFX_Edit* pEdit, const CPDF_Point& ptOffset, const CPVT_WordRange* pRange, FX_COLORREF color); + +protected: + ~IFX_Edit() { } }; class IFX_List_Notify { - //this class is implemented by user public: + virtual ~IFX_List_Notify() { } //set the horizontal scrollbar information. virtual void IOnSetScrollInfoX(FX_FLOAT fPlateMin, FX_FLOAT fPlateMax, FX_FLOAT fContentMin, FX_FLOAT fContentMax, @@ -416,7 +422,6 @@ public: static IFX_List* NewList(); static void DelList(IFX_List* pList); -public: virtual void SetFontMap(IFX_Edit_FontMap * pFontMap) = 0; virtual void SetNotify(IFX_List_Notify * pNotify) = 0; @@ -465,7 +470,10 @@ public: virtual void OnVK_END(FX_BOOL bShift,FX_BOOL bCtrl) = 0; virtual void OnVK(FX_INT32 nItemIndex,FX_BOOL bShift,FX_BOOL bCtrl) = 0; virtual FX_BOOL OnChar(FX_WORD nChar,FX_BOOL bShift,FX_BOOL bCtrl) = 0; + +protected: + ~IFX_List() { } }; -#endif +#endif |