summaryrefslogtreecommitdiff
path: root/core/include/fxge
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 /core/include/fxge
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 'core/include/fxge')
-rw-r--r--core/include/fxge/fpf.h5
-rw-r--r--core/include/fxge/fx_dib.h3
-rw-r--r--core/include/fxge/fx_font.h8
-rw-r--r--core/include/fxge/fx_ge.h6
4 files changed, 18 insertions, 4 deletions
diff --git a/core/include/fxge/fpf.h b/core/include/fxge/fpf.h
index 99d9b7c999..28d028cfbb 100644
--- a/core/include/fxge/fpf.h
+++ b/core/include/fxge/fpf.h
@@ -12,6 +12,7 @@ class IFPF_Font;
class IFPF_DeviceModule
{
public:
+ virtual ~IFPF_DeviceModule() { }
virtual void Destroy() = 0;
virtual IFPF_FontMgr* GetFontMgr() = 0;
};
@@ -41,10 +42,14 @@ public:
virtual FX_INT32 GetHeight() const = 0;
virtual FX_INT32 GetItalicAngle() const = 0;
virtual FX_DWORD GetFontData(FX_DWORD dwTable, FX_LPBYTE pBuffer, FX_DWORD dwSize) = 0;
+
+protected:
+ ~IFPF_Font() { }
};
class IFPF_FontMgr
{
public:
+ virtual ~IFPF_FontMgr() { }
virtual void LoadSystemFonts() = 0;
virtual void LoadPrivateFont(IFX_FileRead* pFontFile) = 0;
virtual void LoadPrivateFont(FX_BSTR bsFileName) = 0;
diff --git a/core/include/fxge/fx_dib.h b/core/include/fxge/fx_dib.h
index d8a2003548..f7e435d966 100644
--- a/core/include/fxge/fx_dib.h
+++ b/core/include/fxge/fx_dib.h
@@ -402,16 +402,15 @@ protected:
class IFX_ScanlineComposer
{
public:
+ virtual ~IFX_ScanlineComposer() { }
virtual void ComposeScanline(int line, FX_LPCBYTE scanline, FX_LPCBYTE scan_extra_alpha = NULL) = 0;
-
virtual FX_BOOL SetInfo(int width, int height, FXDIB_Format src_format, FX_DWORD* pSrcPalette) = 0;
};
class CFX_ScanlineCompositor : public CFX_Object
{
public:
-
CFX_ScanlineCompositor();
~CFX_ScanlineCompositor();
diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h
index 52f8f30d8d..bf9bb40500 100644
--- a/core/include/fxge/fx_font.h
+++ b/core/include/fxge/fx_font.h
@@ -243,6 +243,7 @@ public:
class IFX_FontEnumerator
{
public:
+ virtual ~IFX_FontEnumerator() { }
virtual void HitFont() = 0;
@@ -251,6 +252,7 @@ public:
class IFX_AdditionalFontEnum
{
public:
+ virtual ~IFX_AdditionalFontEnum() { }
virtual int CountFiles() = 0;
virtual IFX_FileStream* GetFontFile(int index) = 0;
};
@@ -296,6 +298,7 @@ class IFX_SystemFontInfo : public CFX_Object
public:
static IFX_SystemFontInfo* CreateDefault();
virtual void Release() = 0;
+
virtual FX_BOOL EnumFontList(CFX_FontMapper* pMapper) = 0;
virtual void* MapFont(int weight, FX_BOOL bItalic, int charset, int pitch_family, FX_LPCSTR face, FX_BOOL& bExact) = 0;
virtual void* GetFont(FX_LPCSTR face) = 0;
@@ -311,6 +314,8 @@ public:
{
return NULL;
}
+protected:
+ ~IFX_SystemFontInfo() { }
};
class CFX_FolderFontInfo : public IFX_SystemFontInfo
{
@@ -423,6 +428,9 @@ class IFX_GSUBTable
public:
virtual void Release() = 0;
virtual FX_BOOL GetVerticalGlyph(FX_DWORD glyphnum, FX_DWORD* vglyphnum) = 0;
+
+protected:
+ ~IFX_GSUBTable() { }
};
IFX_GSUBTable* FXGE_CreateGSUBTable(CFX_Font* pFont);
#endif
diff --git a/core/include/fxge/fx_ge.h b/core/include/fxge/fx_ge.h
index 82719ffda6..0c4bce8003 100644
--- a/core/include/fxge/fx_ge.h
+++ b/core/include/fxge/fx_ge.h
@@ -637,9 +637,11 @@ public:
class IFX_PSOutput
{
public:
-
- virtual void OutputPS(FX_LPCSTR string, int len) = 0;
virtual void Release() = 0;
+ virtual void OutputPS(FX_LPCSTR string, int len) = 0;
+
+protected:
+ ~IFX_PSOutput() { }
};
class CPSFont;
class CFX_PSRenderer : public CFX_Object