summaryrefslogtreecommitdiff
path: root/fpdfsdk/include/fxedit/fx_edit.h
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-01-09 10:46:50 -0800
committerTom Sepez <tsepez@chromium.org>2015-01-09 10:46:50 -0800
commitb9e0190938f62bf21df078e47190a62ba33ddab2 (patch)
tree474749da63ac6890c008f9535b335bebee1d7cc8 /fpdfsdk/include/fxedit/fx_edit.h
parentb07772a31f5dff723af620bc57c71daa246995c0 (diff)
downloadpdfium-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/fx_edit.h')
-rw-r--r--fpdfsdk/include/fxedit/fx_edit.h26
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