summaryrefslogtreecommitdiff
path: root/core/include
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-04-14 12:54:38 -0700
committerTom Sepez <tsepez@chromium.org>2015-04-14 12:54:38 -0700
commit4926900ab54a493d236291b5a24dfa4476792182 (patch)
treee53800a0569300516c934bfccbb036ce39d98cb3 /core/include
parenteddab4425614e49146f904f00da4a664ba4b581b (diff)
downloadpdfium-4926900ab54a493d236291b5a24dfa4476792182.tar.xz
Kill CFX_Object.
CFX_Object is a type that implements its own new operators that return NULL on error. There's no need for this given the |new (std::nothrow)| syntax; in fact, the current code can only work if there is no activity in the constructors. This may explain the pervasive lack of constructors and reliance on Init() methods throughout the codebase. The activity takes place in fx_memory.h, where FX_NEW is mapped onto the std::nothrow syntax. The rest is just cleanup. Down the road, we will simply throw and remove all the error-checking paths for new objects. Landing this patch first will at least show a simple path back to the old behaviour without having to re-introduce CFX_Object should someone want to do so in their own fork. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1088733002
Diffstat (limited to 'core/include')
-rw-r--r--core/include/fpdfapi/fpdf_module.h6
-rw-r--r--core/include/fpdfapi/fpdf_objects.h8
-rw-r--r--core/include/fpdfapi/fpdf_page.h6
-rw-r--r--core/include/fpdfapi/fpdf_pageobj.h16
-rw-r--r--core/include/fpdfapi/fpdf_parser.h18
-rw-r--r--core/include/fpdfapi/fpdf_render.h12
-rw-r--r--core/include/fpdfapi/fpdf_resource.h19
-rw-r--r--core/include/fpdfapi/fpdf_serial.h2
-rw-r--r--core/include/fpdfdoc/fpdf_doc.h46
-rw-r--r--core/include/fpdfdoc/fpdf_tagged.h4
-rw-r--r--core/include/fpdfdoc/fpdf_vt.h4
-rw-r--r--core/include/fpdftext/fpdf_text.h8
-rw-r--r--core/include/fxcodec/fx_codec.h20
-rw-r--r--core/include/fxcrt/fx_basic.h38
-rw-r--r--core/include/fxcrt/fx_coordinates.h8
-rw-r--r--core/include/fxcrt/fx_memory.h71
-rw-r--r--core/include/fxcrt/fx_string.h10
-rw-r--r--core/include/fxcrt/fx_xml.h8
-rw-r--r--core/include/fxge/fx_dib.h16
-rw-r--r--core/include/fxge/fx_font.h20
-rw-r--r--core/include/fxge/fx_ge.h14
21 files changed, 149 insertions, 205 deletions
diff --git a/core/include/fpdfapi/fpdf_module.h b/core/include/fpdfapi/fpdf_module.h
index cec8155d41..9b3a5bf7dc 100644
--- a/core/include/fpdfapi/fpdf_module.h
+++ b/core/include/fpdfapi/fpdf_module.h
@@ -23,7 +23,7 @@ class ICodec_IccModule;
class ICodec_FlateModule;
#define ADDIN_NAME_CJK "Eastern Asian Language Support"
#define ADDIN_NAME_DECODER "JPEG2000 and JBIG2 Image Decoders"
-class CPDF_ModuleMgr : public CFX_Object
+class CPDF_ModuleMgr
{
public:
@@ -123,7 +123,7 @@ class CPDF_FontGlobals;
class IPDF_FontMgr;
class IPDF_FontMapper;
class CPDF_ColorSpace;
-class CPDF_PageModuleDef : public CFX_Object
+class CPDF_PageModuleDef
{
public:
virtual ~CPDF_PageModuleDef() {}
@@ -161,7 +161,7 @@ class CPDF_Stream;
class CFX_DIBSource;
class CPDF_RenderConfig;
class CPDF_Image;
-class CPDF_RenderModuleDef : public CFX_Object
+class CPDF_RenderModuleDef
{
public:
virtual ~CPDF_RenderModuleDef() {}
diff --git a/core/include/fpdfapi/fpdf_objects.h b/core/include/fpdfapi/fpdf_objects.h
index bb449dd457..df5803c76c 100644
--- a/core/include/fpdfapi/fpdf_objects.h
+++ b/core/include/fpdfapi/fpdf_objects.h
@@ -35,7 +35,7 @@ class CPDF_CryptoHandler;
#define PDFOBJ_NULL 8
#define PDFOBJ_REFERENCE 9
typedef IFX_FileStream* (*FPDF_LPFCloneStreamCallback)(CPDF_Stream *pStream, FX_LPVOID pUserData);
-class CPDF_Object : public CFX_Object
+class CPDF_Object
{
public:
@@ -568,7 +568,7 @@ protected:
friend class CPDF_StreamAcc;
friend class CPDF_AttachmentAcc;
};
-class CPDF_StreamAcc : public CFX_Object
+class CPDF_StreamAcc
{
public:
@@ -622,7 +622,7 @@ protected:
};
CFX_DataFilter* FPDF_CreateFilter(FX_BSTR name, const CPDF_Dictionary* pParam, int width = 0, int height = 0);
#define FPDF_FILTER_BUFFER_SIZE 20480
-class CPDF_StreamFilter : public CFX_Object
+class CPDF_StreamFilter
{
public:
@@ -705,7 +705,7 @@ protected:
FX_DWORD m_RefObjNum;
friend class CPDF_Object;
};
-class CPDF_IndirectObjects : public CFX_Object
+class CPDF_IndirectObjects
{
public:
diff --git a/core/include/fpdfapi/fpdf_page.h b/core/include/fpdfapi/fpdf_page.h
index 3fea866730..0bac0595c2 100644
--- a/core/include/fpdfapi/fpdf_page.h
+++ b/core/include/fpdfapi/fpdf_page.h
@@ -32,7 +32,7 @@ class CPDF_ResourceNaming;
#define PDF_CONTENT_NOT_PARSED 0
#define PDF_CONTENT_PARSING 1
#define PDF_CONTENT_PARSED 2
-class CPDF_PageObjects : public CFX_Object
+class CPDF_PageObjects
{
public:
@@ -199,7 +199,7 @@ protected:
CPDF_PageRenderCache* m_pPageRender;
};
-class CPDF_ParseOptions : public CFX_Object
+class CPDF_ParseOptions
{
public:
@@ -229,7 +229,7 @@ public:
CPDF_Form* Clone() const;
};
-class CPDF_PageContentGenerate : public CFX_Object
+class CPDF_PageContentGenerate
{
public:
CPDF_PageContentGenerate(CPDF_Page* pPage);
diff --git a/core/include/fpdfapi/fpdf_pageobj.h b/core/include/fpdfapi/fpdf_pageobj.h
index f211254791..bd11a209f0 100644
--- a/core/include/fpdfapi/fpdf_pageobj.h
+++ b/core/include/fpdfapi/fpdf_pageobj.h
@@ -99,7 +99,7 @@ public:
return m_pObject->IsRect();
}
};
-class CPDF_ClipPathData : public CFX_Object
+class CPDF_ClipPathData
{
public:
@@ -161,7 +161,7 @@ public:
void Transform(const CFX_AffineMatrix& matrix);
};
-class CPDF_ColorStateData : public CFX_Object
+class CPDF_ColorStateData
{
public:
@@ -208,7 +208,7 @@ class CPDF_GraphState : public CFX_CountRef<CFX_GraphStateData>
{
public:
};
-class CPDF_TextStateData : public CFX_Object
+class CPDF_TextStateData
{
public:
@@ -267,7 +267,7 @@ public:
};
class CPDF_TransferFunc;
-class CPDF_GeneralStateData : public CFX_Object
+class CPDF_GeneralStateData
{
public:
@@ -336,7 +336,7 @@ public:
return m_pObject ? FXSYS_round((bStroke ? m_pObject->m_StrokeAlpha : m_pObject->m_FillAlpha) * 255) : 255;
}
};
-class CPDF_ContentMarkItem : public CFX_Object
+class CPDF_ContentMarkItem
{
public:
@@ -388,7 +388,7 @@ private:
void* m_pParam;
};
-class CPDF_ContentMarkData : public CFX_Object
+class CPDF_ContentMarkData
{
public:
@@ -434,7 +434,7 @@ public:
#define PDFPAGE_SHADING 4
#define PDFPAGE_FORM 5
#define PDFPAGE_INLINES 6
-class CPDF_GraphicStates : public CFX_Object
+class CPDF_GraphicStates
{
public:
@@ -507,7 +507,7 @@ protected:
virtual ~CPDF_PageObject() {}
};
-struct CPDF_TextObjectItem : public CFX_Object {
+struct CPDF_TextObjectItem {
FX_DWORD m_CharCode;
diff --git a/core/include/fpdfapi/fpdf_parser.h b/core/include/fpdfapi/fpdf_parser.h
index 4b91802601..c72acc834f 100644
--- a/core/include/fpdfapi/fpdf_parser.h
+++ b/core/include/fpdfapi/fpdf_parser.h
@@ -211,7 +211,7 @@ protected:
#define PDFWORD_TEXT 2
#define PDFWORD_DELIMITER 3
#define PDFWORD_NAME 4
-class CPDF_SimpleParser : public CFX_Object
+class CPDF_SimpleParser
{
public:
@@ -250,7 +250,7 @@ private:
FX_DWORD m_dwCurPos;
};
-class CPDF_SyntaxParser : public CFX_Object
+class CPDF_SyntaxParser
{
public:
@@ -372,7 +372,7 @@ struct PARSE_CONTEXT {
FX_FILESIZE m_DataEnd;
};
-class IPDF_DocParser : public CFX_Object
+class IPDF_DocParser
{
public:
virtual ~IPDF_DocParser() { }
@@ -613,7 +613,7 @@ protected:
#define FXCIPHER_RC4 1
#define FXCIPHER_AES 2
#define FXCIPHER_AES2 3
-class CPDF_SecurityHandler : public CFX_Object
+class CPDF_SecurityHandler
{
public:
@@ -715,7 +715,7 @@ private:
int m_KeyLen;
};
-class CPDF_CryptoHandler : public CFX_Object
+class CPDF_CryptoHandler
{
public:
@@ -772,7 +772,7 @@ protected:
FX_LPBYTE m_pAESContext;
};
-class CPDF_Point : public CFX_Object
+class CPDF_Point
{
public:
@@ -829,7 +829,7 @@ void FPDF_FileSpec_SetWin32Path(CPDF_Object* pFileSpec, const CFX_WideString&
void FlateEncode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size);
FX_DWORD FlateDecode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size);
FX_DWORD RunLengthDecode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size);
-class CPDF_NumberTree : public CFX_Object
+class CPDF_NumberTree
{
public:
@@ -885,7 +885,7 @@ protected:
IFX_FileAvail* m_pFileAvail;
IFX_FileRead* m_pFileRead;
};
-class CPDF_SortObjNumArray : public CFX_Object
+class CPDF_SortObjNumArray
{
public:
@@ -910,7 +910,7 @@ enum PDF_PAGENODE_TYPE {
PDF_PAGENODE_PAGES,
PDF_PAGENODE_ARRAY,
};
-class CPDF_PageNode : public CFX_Object
+class CPDF_PageNode
{
public:
CPDF_PageNode() : m_type(PDF_PAGENODE_UNKOWN) {}
diff --git a/core/include/fpdfapi/fpdf_render.h b/core/include/fpdfapi/fpdf_render.h
index e2801f61f2..2028550546 100644
--- a/core/include/fpdfapi/fpdf_render.h
+++ b/core/include/fpdfapi/fpdf_render.h
@@ -55,7 +55,7 @@ public:
#define RENDER_NOPATHSMOOTH 0x20000000
#define RENDER_NOIMAGESMOOTH 0x40000000
#define RENDER_LIMITEDIMAGECACHE 0x80000000
-class CPDF_RenderOptions : public CFX_Object
+class CPDF_RenderOptions
{
public:
@@ -81,7 +81,7 @@ public:
FX_ARGB TranslateColor(FX_ARGB argb) const;
};
-class CPDF_RenderContext : public CFX_Object
+class CPDF_RenderContext
{
public:
@@ -144,7 +144,7 @@ public:
const CFX_AffineMatrix* pOriginal2Bitmap
) = 0;
};
-class CPDF_ProgressiveRenderer : public CFX_Object
+class CPDF_ProgressiveRenderer
{
public:
@@ -201,7 +201,7 @@ protected:
void RenderStep();
};
-class CPDF_TextRenderer : public CFX_Object
+class CPDF_TextRenderer
{
public:
@@ -249,7 +249,7 @@ public:
virtual void SetCacheLimit(FX_DWORD limit) = 0;
};
-class CPDF_PageRenderCache : public CFX_Object
+class CPDF_PageRenderCache
{
public:
CPDF_PageRenderCache(CPDF_Page* pPage)
@@ -307,7 +307,7 @@ protected:
FX_DWORD m_nCacheSize;
FX_BOOL m_bCurFindCache;
};
-class CPDF_RenderConfig : public CFX_Object
+class CPDF_RenderConfig
{
public:
CPDF_RenderConfig();
diff --git a/core/include/fpdfapi/fpdf_resource.h b/core/include/fpdfapi/fpdf_resource.h
index 02edd558ba..86084d0b72 100644
--- a/core/include/fpdfapi/fpdf_resource.h
+++ b/core/include/fpdfapi/fpdf_resource.h
@@ -39,7 +39,7 @@ typedef struct FT_FaceRec_* FXFT_Face;
class CFX_CTTGSUBTable;
class CPDF_Page;
-template <class ObjClass> class CPDF_CountedObject : public CFX_Object
+template <class ObjClass> class CPDF_CountedObject
{
public:
ObjClass m_Obj;
@@ -76,7 +76,7 @@ typedef CFX_MapPtrTemplate<CPDF_Stream*, CPDF_CountedStreamAcc*> CPDF_FontFil
#define PDFFONT_USEEXTERNATTR 0x80000
FX_WCHAR PDF_UnicodeFromAdobeName(const FX_CHAR* name);
CFX_ByteString PDF_AdobeNameFromUnicode(FX_WCHAR unicode);
-class CPDF_Font : public CFX_Object
+class CPDF_Font
{
public:
@@ -323,7 +323,7 @@ protected:
#define PDFFONT_ENCODING_PDFDOC 7
#define PDFFONT_ENCODING_MS_SYMBOL 8
#define PDFFONT_ENCODING_UNICODE 9
-class CPDF_FontEncoding : public CFX_Object
+class CPDF_FontEncoding
{
public:
@@ -438,7 +438,7 @@ protected:
virtual FX_BOOL _Load();
virtual void LoadGlyphMap();
};
-class CPDF_Type3Char : public CFX_Object
+class CPDF_Type3Char
{
public:
@@ -582,7 +582,8 @@ protected:
#define PDFCS_DEVICEN 9
#define PDFCS_INDEXED 10
#define PDFCS_PATTERN 11
-class CPDF_ColorSpace : public CFX_Object
+
+class CPDF_ColorSpace
{
public:
@@ -677,7 +678,7 @@ protected:
FX_DWORD m_dwStdConversion;
};
-class CPDF_Color : public CFX_Object
+class CPDF_Color
{
public:
@@ -726,7 +727,7 @@ protected:
};
#define PATTERN_TILING 1
#define PATTERN_SHADING 2
-class CPDF_Pattern : public CFX_Object
+class CPDF_Pattern
{
public:
@@ -803,7 +804,7 @@ struct CPDF_MeshVertex {
FX_FLOAT x, y;
FX_FLOAT r, g, b;
};
-class CPDF_MeshStream : public CFX_Object
+class CPDF_MeshStream
{
public:
@@ -843,7 +844,7 @@ public:
FX_ARGB* pMatteColor;
FX_INT32 nQuality;
};
-class CPDF_Image : public CFX_Object
+class CPDF_Image
{
public:
diff --git a/core/include/fpdfapi/fpdf_serial.h b/core/include/fpdfapi/fpdf_serial.h
index a91870b5a5..50e5fbc346 100644
--- a/core/include/fpdfapi/fpdf_serial.h
+++ b/core/include/fpdfapi/fpdf_serial.h
@@ -113,7 +113,7 @@ protected:
#define FPDFCREATE_NO_ORIGINAL 2
#define FPDFCREATE_PROGRESSIVE 4
#define FPDFCREATE_OBJECTSTREAM 8
-class CPDF_Creator : public CFX_Object
+class CPDF_Creator
{
public:
diff --git a/core/include/fpdfdoc/fpdf_doc.h b/core/include/fpdfdoc/fpdf_doc.h
index 002f7ea1f4..40d57236cd 100644
--- a/core/include/fpdfdoc/fpdf_doc.h
+++ b/core/include/fpdfdoc/fpdf_doc.h
@@ -42,7 +42,7 @@ class CPDF_FormControl;
class CPDF_LWinParam;
class CFieldTree;
class CPDF_ApSettings;
-class CPDF_NameTree : public CFX_Object
+class CPDF_NameTree
{
public:
@@ -73,7 +73,7 @@ protected:
CPDF_Dictionary* m_pRoot;
};
-class CPDF_BookmarkTree : public CFX_Object
+class CPDF_BookmarkTree
{
public:
CPDF_BookmarkTree(CPDF_Document* pDoc) : m_pDocument(pDoc) {}
@@ -89,7 +89,7 @@ protected:
};
#define PDFBOOKMARK_ITALIC 1
#define PDFBOOKMARK_BOLD 2
-class CPDF_Bookmark : public CFX_Object
+class CPDF_Bookmark
{
public:
@@ -121,7 +121,7 @@ public:
#define PDFZOOM_FITBBOX 6
#define PDFZOOM_FITBHORZ 7
#define PDFZOOM_FITBVERT 8
-class CPDF_Dest : public CFX_Object
+class CPDF_Dest
{
public:
CPDF_Dest() : m_pObj(nullptr) { }
@@ -139,7 +139,7 @@ public:
protected:
CPDF_Object* m_pObj;
};
-class CPDF_OCContext : public CFX_Object, public IPDF_OCContext
+class CPDF_OCContext : public IPDF_OCContext
{
public:
@@ -185,7 +185,7 @@ protected:
CFX_MapPtrTemplate<const CPDF_Dictionary*, void*> m_OCGStates;
};
-class CPDF_LWinParam : public CFX_Object
+class CPDF_LWinParam
{
public:
@@ -224,7 +224,7 @@ public:
CPDF_Dictionary* m_pDict;
};
-class CPDF_ActionFields : public CFX_Object
+class CPDF_ActionFields
{
public:
@@ -252,7 +252,7 @@ public:
#define PDFNAMED_FIRSTPAGE 3
#define PDFNAMED_LASTPAGE 4
#define PDFJS_MAXLENGTH 64
-class CPDF_Action : public CFX_Object
+class CPDF_Action
{
public:
enum ActionType {
@@ -412,7 +412,7 @@ public:
protected:
CPDF_Dictionary* m_pDict;
};
-class CPDF_AAction : public CFX_Object
+class CPDF_AAction
{
public:
@@ -460,7 +460,7 @@ public:
CPDF_Dictionary* m_pDict;
};
-class CPDF_DocJSActions : public CFX_Object
+class CPDF_DocJSActions
{
public:
CPDF_DocJSActions(CPDF_Document* pDoc);
@@ -484,7 +484,7 @@ protected:
CPDF_Document* m_pDocument;
};
-class CPDF_FileSpec : public CFX_Object
+class CPDF_FileSpec
{
public:
@@ -511,7 +511,7 @@ protected:
CPDF_Object *m_pObj;
};
-class CPDF_LinkList : public CFX_Object
+class CPDF_LinkList
{
public:
@@ -542,7 +542,7 @@ protected:
void LoadPageLinks(CPDF_Page* pPage, CFX_PtrArray* pList);
};
-class CPDF_Link : public CFX_Object
+class CPDF_Link
{
public:
CPDF_Link() : m_pDict(nullptr) { }
@@ -566,7 +566,7 @@ protected:
#define ANNOTFLAG_READONLY 0x40
#define ANNOTFLAG_LOCKED 0x80
#define ANNOTFLAG_TOGGLENOVIEW 0x100
-class CPDF_Annot : public CFX_PrivateData, public CFX_Object
+class CPDF_Annot : public CFX_PrivateData
{
public:
@@ -623,7 +623,7 @@ protected:
CPDF_Reference* NewAnnotRef();
};
-class CPDF_AnnotList : public CFX_Object
+class CPDF_AnnotList
{
public:
@@ -695,7 +695,7 @@ protected:
#define COLORTYPE_GRAY 1
#define COLORTYPE_RGB 2
#define COLORTYPE_CMYK 3
-class CPDF_DefaultAppearance : public CFX_Object
+class CPDF_DefaultAppearance
{
public:
@@ -767,7 +767,7 @@ protected:
#define FIELDTYPE_LISTBOX 5
#define FIELDTYPE_TEXTFIELD 6
#define FIELDTYPE_SIGNATURE 7
-class CPDF_InterForm : public CFX_PrivateData, public CFX_Object
+class CPDF_InterForm : public CFX_PrivateData
{
public:
@@ -1025,7 +1025,7 @@ protected:
#define FORMTEXT_COMB 0x800
#define FORMCOMBO_EDIT 0x100
#define FORMLIST_MULTISELECT 0x100
-class CPDF_FormField : public CFX_Object
+class CPDF_FormField
{
public:
@@ -1247,7 +1247,7 @@ protected:
CPDF_Font* m_pFont;
};
CPDF_Object* FPDF_GetFieldAttr(CPDF_Dictionary* pFieldDict, const FX_CHAR* name, int nLevel = 0);
-class CPDF_IconFit : public CFX_Object
+class CPDF_IconFit
{
public:
@@ -1299,7 +1299,7 @@ public:
#define TEXTPOS_RIGHT 4
#define TEXTPOS_LEFT 5
#define TEXTPOS_OVERLAID 6
-class CPDF_FormControl : public CFX_Object
+class CPDF_FormControl
{
public:
@@ -1507,7 +1507,7 @@ protected:
friend class CPDF_InterForm;
friend class CPDF_FormField;
};
-class CPDF_FormNotify : public CFX_Object
+class CPDF_FormNotify
{
public:
@@ -1559,7 +1559,7 @@ public:
}
};
FX_BOOL FPDF_GenerateAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict);
-class CPDF_PageLabel : public CFX_Object
+class CPDF_PageLabel
{
public:
@@ -1623,7 +1623,7 @@ public:
protected:
CPDF_Document* m_pDoc;
};
-class CPDF_ApSettings : public CFX_Object
+class CPDF_ApSettings
{
public:
diff --git a/core/include/fpdfdoc/fpdf_tagged.h b/core/include/fpdfdoc/fpdf_tagged.h
index 1a2a5d4ffa..a5862e0a8f 100644
--- a/core/include/fpdfdoc/fpdf_tagged.h
+++ b/core/include/fpdfdoc/fpdf_tagged.h
@@ -13,7 +13,7 @@ class CPDF_Document;
class CPDF_Page;
class IPDF_ReflowEngine;
class IPDF_ReflowedPage;
-class CPDF_StructTree : public CFX_Object
+class CPDF_StructTree
{
public:
@@ -65,7 +65,7 @@ struct CPDF_StructKid {
} m_Object;
};
};
-class CPDF_StructElement : public CFX_Object
+class CPDF_StructElement
{
public:
virtual ~CPDF_StructElement() { }
diff --git a/core/include/fpdfdoc/fpdf_vt.h b/core/include/fpdfdoc/fpdf_vt.h
index c9a66020d8..18ea709bcf 100644
--- a/core/include/fpdfdoc/fpdf_vt.h
+++ b/core/include/fpdfdoc/fpdf_vt.h
@@ -164,7 +164,7 @@ struct CPVT_WordRange {
CPVT_WordPlace EndPos;
};
-struct CPVT_SecProps : public CFX_Object {
+struct CPVT_SecProps {
CPVT_SecProps() : fLineLeading(0.0f), fLineIndent(0.0f), nAlignment(0)
{
@@ -186,7 +186,7 @@ struct CPVT_SecProps : public CFX_Object {
FX_INT32 nAlignment;
};
-struct CPVT_WordProps : public CFX_Object {
+struct CPVT_WordProps {
CPVT_WordProps() : nFontIndex(-1), fFontSize(0.0f), dwWordColor(0), nScriptType(0), nWordStyle(0),
fCharSpace(0.0f), nHorzScale(0)
diff --git a/core/include/fpdftext/fpdf_text.h b/core/include/fpdftext/fpdf_text.h
index 39008063f3..8673c1aac1 100644
--- a/core/include/fpdftext/fpdf_text.h
+++ b/core/include/fpdftext/fpdf_text.h
@@ -59,7 +59,7 @@ class IPDF_ReflowedPage;
#define FPDFTEXT_WRITINGMODE_LRTB 1
#define FPDFTEXT_WRITINGMODE_RLTB 2
#define FPDFTEXT_WRITINGMODE_TBRL 3
-class CPDFText_ParseOptions : public CFX_Object
+class CPDFText_ParseOptions
{
public:
@@ -68,7 +68,7 @@ public:
FX_BOOL m_bNormalizeObjs;
FX_BOOL m_bOutputHyphen;
};
-class IPDF_TextPage : public CFX_Object
+class IPDF_TextPage
{
public:
@@ -130,7 +130,7 @@ public:
#define FPDFTEXT_MATCHCASE 0x00000001
#define FPDFTEXT_MATCHWHOLEWORD 0x00000002
#define FPDFTEXT_CONSECUTIVE 0x00000004
-class IPDF_TextPageFind : public CFX_Object
+class IPDF_TextPageFind
{
public:
@@ -151,7 +151,7 @@ public:
virtual int GetMatchedCount() const = 0;
};
-class IPDF_LinkExtract : public CFX_Object
+class IPDF_LinkExtract
{
public:
diff --git a/core/include/fxcodec/fx_codec.h b/core/include/fxcodec/fx_codec.h
index da8b309dd6..afa0627648 100644
--- a/core/include/fxcodec/fx_codec.h
+++ b/core/include/fxcodec/fx_codec.h
@@ -22,7 +22,7 @@ class ICodec_IccModule;
class ICodec_FlateModule;
class ICodec_Jbig2Encoder;
class ICodec_ScanlineDecoder;
-class CCodec_ModuleMgr : public CFX_Object
+class CCodec_ModuleMgr
{
public:
@@ -80,7 +80,7 @@ protected:
ICodec_FlateModule* m_pFlateModule;
};
-class ICodec_BasicModule : public CFX_Object
+class ICodec_BasicModule
{
public:
@@ -92,7 +92,7 @@ public:
virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(FX_LPCBYTE src_buf, FX_DWORD src_size, int width, int height,
int nComps, int bpc) = 0;
};
-class ICodec_ScanlineDecoder : public CFX_Object
+class ICodec_ScanlineDecoder
{
public:
@@ -118,7 +118,7 @@ public:
virtual void ClearImageData() = 0;
};
-class ICodec_FlateModule : public CFX_Object
+class ICodec_FlateModule
{
public:
@@ -133,7 +133,7 @@ public:
FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0;
virtual FX_BOOL Encode(FX_LPCBYTE src_buf, FX_DWORD src_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0;
};
-class ICodec_FaxModule : public CFX_Object
+class ICodec_FaxModule
{
public:
@@ -146,7 +146,7 @@ public:
virtual FX_BOOL Encode(FX_LPCBYTE src_buf, int width, int height, int pitch,
FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0;
};
-class ICodec_JpegModule : public CFX_Object
+class ICodec_JpegModule
{
public:
@@ -181,7 +181,7 @@ public:
virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr = NULL) = 0;
};
-class ICodec_JpxModule : public CFX_Object
+class ICodec_JpxModule
{
public:
@@ -197,7 +197,7 @@ public:
virtual void DestroyDecoder(FX_LPVOID ctx) = 0;
};
-class ICodec_Jbig2Module : public CFX_Object
+class ICodec_Jbig2Module
{
public:
@@ -218,13 +218,13 @@ public:
virtual FXCODEC_STATUS ContinueDecode(void* pJbig2Content, IFX_Pause* pPause) = 0;
virtual void DestroyJbig2Context(void* pJbig2Content) = 0;
};
-class ICodec_Jbig2Encoder : public CFX_Object
+class ICodec_Jbig2Encoder
{
public:
virtual ~ICodec_Jbig2Encoder() {}
};
-class ICodec_IccModule : public CFX_Object
+class ICodec_IccModule
{
public:
typedef enum {
diff --git a/core/include/fxcrt/fx_basic.h b/core/include/fxcrt/fx_basic.h
index 45a5a6e23c..7b700d36a8 100644
--- a/core/include/fxcrt/fx_basic.h
+++ b/core/include/fxcrt/fx_basic.h
@@ -27,7 +27,7 @@
template <typename T, size_t N>
char (&ArraySizeHelper(T (&array)[N]))[N];
-class CFX_BinaryBuf : public CFX_Object
+class CFX_BinaryBuf
{
public:
CFX_BinaryBuf();
@@ -155,7 +155,7 @@ public:
CFX_WideStringC GetWideString() const;
};
-class CFX_ArchiveSaver : public CFX_Object
+class CFX_ArchiveSaver
{
public:
CFX_ArchiveSaver() : m_pStream(NULL) {}
@@ -198,7 +198,7 @@ protected:
IFX_FileStream* m_pStream;
};
-class CFX_ArchiveLoader : public CFX_Object
+class CFX_ArchiveLoader
{
public:
@@ -260,7 +260,7 @@ protected:
FX_STRSIZE m_Length;
};
-class CFX_FileBufferArchive : public IFX_BufferArchive, public CFX_Object
+class CFX_FileBufferArchive : public IFX_BufferArchive
{
public:
CFX_FileBufferArchive(FX_STRSIZE size = 32768);
@@ -352,7 +352,7 @@ CFX_ByteString FX_UrlEncode(const CFX_WideString& wsUrl);
CFX_WideString FX_UrlDecode(const CFX_ByteString& bsUrl);
CFX_ByteString FX_EncodeURI(const CFX_WideString& wsURI);
CFX_WideString FX_DecodeURI(const CFX_ByteString& bsURI);
-class CFX_BasicArray : public CFX_Object
+class CFX_BasicArray
{
protected:
CFX_BasicArray(int unit_size);
@@ -665,7 +665,7 @@ public:
};
typedef CFX_ObjectArray<CFX_ByteString> CFX_ByteStringArray;
typedef CFX_ObjectArray<CFX_WideString> CFX_WideStringArray;
-class CFX_BaseSegmentedArray : public CFX_Object
+class CFX_BaseSegmentedArray
{
public:
CFX_BaseSegmentedArray(int unit_size = 1, int segment_units = 512, int index_size = 8);
@@ -734,7 +734,7 @@ public:
}
};
template <class DataType, int FixedSize>
-class CFX_FixedBufGrow : public CFX_Object
+class CFX_FixedBufGrow
{
public:
CFX_FixedBufGrow() : m_pData(NULL)
@@ -799,7 +799,7 @@ public:
private:
DataType* m_pData;
};
-class CFX_MapPtrToPtr : public CFX_Object
+class CFX_MapPtrToPtr
{
protected:
@@ -916,7 +916,7 @@ public:
rValue = (ValueType)(FX_UINTPTR)pValue;
}
};
-class CFX_CMapDWordToDWord : public CFX_Object
+class CFX_CMapDWordToDWord
{
public:
@@ -933,7 +933,7 @@ protected:
CFX_BinaryBuf m_Buffer;
};
-class CFX_MapByteStringToPtr : public CFX_Object
+class CFX_MapByteStringToPtr
{
protected:
@@ -1013,7 +1013,7 @@ public:
~CFX_MapByteStringToPtr();
};
-class CFX_CMapByteStringToPtr : public CFX_Object
+class CFX_CMapByteStringToPtr
{
public:
CFX_CMapByteStringToPtr();
@@ -1041,7 +1041,7 @@ private:
CFX_BaseSegmentedArray m_Buffer;
};
-class CFX_PtrList : public CFX_Object
+class CFX_PtrList
{
protected:
@@ -1190,7 +1190,7 @@ protected:
void AddData(FX_LPVOID module_id, FX_LPVOID pData, PD_CALLBACK_FREEDATA callback, FX_BOOL bSelfDestruct);
};
-class CFX_BitStream : public CFX_Object
+class CFX_BitStream
{
public:
@@ -1223,7 +1223,7 @@ protected:
FX_LPCBYTE m_pData;
};
-template <class ObjClass> class CFX_CountRef : public CFX_Object
+template <class ObjClass> class CFX_CountRef
{
public:
@@ -1373,7 +1373,7 @@ public:
virtual ~IFX_Pause() { }
virtual FX_BOOL NeedToPauseNow() = 0;
};
-class CFX_DataFilter : public CFX_Object
+class CFX_DataFilter
{
public:
@@ -1448,7 +1448,7 @@ protected:
};
#define FX_DATALIST_LENGTH 1024
template<size_t unit>
-class CFX_SortListArray : public CFX_Object
+class CFX_SortListArray
{
protected:
@@ -1562,7 +1562,7 @@ protected:
CFX_ArrayTemplate<DataList> m_DataLists;
};
template<typename T1, typename T2>
-class CFX_ListArrayTemplate : public CFX_Object
+class CFX_ListArrayTemplate
{
public:
@@ -1603,7 +1603,7 @@ typedef enum {
#define ProgressiveStatus FX_ProgressiveStatus
#define FX_NAMESPACE_DECLARE(namespace, type) namespace::type
-class CFX_Vector_3by1 : public CFX_Object
+class CFX_Vector_3by1
{
public:
@@ -1619,7 +1619,7 @@ public:
FX_FLOAT b;
FX_FLOAT c;
};
-class CFX_Matrix_3by3 : public CFX_Object
+class CFX_Matrix_3by3
{
public:
diff --git a/core/include/fxcrt/fx_coordinates.h b/core/include/fxcrt/fx_coordinates.h
index 0b4b920195..758d33762e 100644
--- a/core/include/fxcrt/fx_coordinates.h
+++ b/core/include/fxcrt/fx_coordinates.h
@@ -18,7 +18,7 @@ template<class baseType> class CFX_ATemplate;
template<class baseType> class CFX_RRTemplate;
class CFX_Matrix;
template<class baseType>
-class CFX_PSVTemplate : public CFX_Object
+class CFX_PSVTemplate
{
public:
typedef CFX_PSVTemplate<baseType> FXT_PSV;
@@ -230,7 +230,7 @@ public:
typedef CFX_VTemplate<FX_INT32> CFX_Vector;
typedef CFX_VTemplate<FX_FLOAT> CFX_VectorF;
template<class baseType>
-class CFX_RTemplate: public CFX_Object
+class CFX_RTemplate
{
public:
typedef CFX_PSVTemplate<baseType> FXT_POINT;
@@ -610,7 +610,7 @@ struct FX_SMALL_RECT {
FX_SHORT Bottom;
};
-class CFX_FloatRect : public CFX_Object
+class CFX_FloatRect
{
public:
@@ -749,7 +749,7 @@ public:
FX_FLOAT top;
};
-class CFX_Matrix : public CFX_Object
+class CFX_Matrix
{
public:
diff --git a/core/include/fxcrt/fx_memory.h b/core/include/fxcrt/fx_memory.h
index 15dc7da8cf..7884d6b11d 100644
--- a/core/include/fxcrt/fx_memory.h
+++ b/core/include/fxcrt/fx_memory.h
@@ -10,6 +10,7 @@
#include "fx_system.h"
#ifdef __cplusplus
+#include <new>
extern "C" {
#endif
#define FX_Alloc(type, size) (type*)calloc(size, sizeof(type))
@@ -22,76 +23,18 @@ void* FXMEM_DefaultRealloc(void* pointer, size_t new_size, int flags);
void FXMEM_DefaultFree(void* pointer, int flags);
#ifdef __cplusplus
}
-#endif
-#ifdef __cplusplus
-class CFX_Object
-{
-public:
- void* operator new (size_t size, FX_LPCSTR file, int line)
- {
- return malloc(size);
- }
- void operator delete (void* p, FX_LPCSTR file, int line)
- {
- free(p);
- }
- void* operator new (size_t size)
- {
- return malloc(size);
- }
- void operator delete (void* p)
- {
- free(p);
- }
- void* operator new[] (size_t size, FX_LPCSTR file, int line)
- {
- return malloc(size);
- }
- void operator delete[] (void* p, FX_LPCSTR file, int line)
- {
- free(p);
- }
- void* operator new[] (size_t size)
- {
- return malloc(size);
- }
- void operator delete[] (void* p)
- {
- free(p);
- }
- void* operator new (size_t, void* buf)
- {
- return buf;
- }
- void operator delete (void*, void*) {}
-};
-#endif
-#ifdef __cplusplus
-#if defined(_DEBUG)
-#define FX_NEW new(__FILE__, __LINE__)
-#else
-#define FX_NEW new
-#endif
-#define FX_NEW_VECTOR(Pointer, Class, Count) \
- { \
- Pointer = FX_Alloc(Class, Count); \
- if (Pointer) { \
- for (int i = 0; i < (Count); i ++) new (Pointer + i) Class; \
- } \
- }
-#define FX_DELETE_VECTOR(Pointer, Class, Count) \
- { \
- for (int i = 0; i < (Count); i ++) Pointer[i].~Class(); \
- FX_Free(Pointer); \
- }
-class CFX_DestructObject : public CFX_Object
+#define FX_NEW new(std::nothrow)
+#define FX_NEW_VECTOR(Pointer, Class, Count) (Pointer = FX_NEW Class[Count])
+#define FX_DELETE_VECTOR(Pointer, Class, Count) delete[] Pointer
+
+class CFX_DestructObject
{
public:
virtual ~CFX_DestructObject() {}
};
-class CFX_GrowOnlyPool : public CFX_Object
+class CFX_GrowOnlyPool
{
public:
diff --git a/core/include/fxcrt/fx_string.h b/core/include/fxcrt/fx_string.h
index ad1d083323..df7dd0c762 100644
--- a/core/include/fxcrt/fx_string.h
+++ b/core/include/fxcrt/fx_string.h
@@ -21,7 +21,7 @@ class CFX_WideStringL;
// An immutable string with caller-provided storage which must outlive the
// string itself.
-class CFX_ByteStringC : public CFX_Object
+class CFX_ByteStringC
{
public:
typedef FX_CHAR value_type;
@@ -171,7 +171,7 @@ struct CFX_StringData {
FX_CHAR m_String[1];
};
-class CFX_ByteString : public CFX_Object
+class CFX_ByteString
{
public:
typedef FX_CHAR value_type;
@@ -428,7 +428,7 @@ inline CFX_ByteString operator + (FX_BSTR str1, const CFX_ByteString& str2)
{
return CFX_ByteString(str1, str2);
}
-class CFX_StringBufBase : public CFX_Object
+class CFX_StringBufBase
{
public:
@@ -484,7 +484,7 @@ public:
FX_CHAR m_Buffer[limit];
};
typedef CFX_StringBufTemplate<256> CFX_StringBuf256;
-class CFX_WideStringC : public CFX_Object
+class CFX_WideStringC
{
public:
typedef FX_WCHAR value_type;
@@ -630,7 +630,7 @@ struct CFX_StringDataW {
FX_WCHAR m_String[1];
};
-class CFX_WideString : public CFX_Object
+class CFX_WideString
{
public:
typedef FX_WCHAR value_type;
diff --git a/core/include/fxcrt/fx_xml.h b/core/include/fxcrt/fx_xml.h
index 8fb00158a7..7f3dbcc205 100644
--- a/core/include/fxcrt/fx_xml.h
+++ b/core/include/fxcrt/fx_xml.h
@@ -9,14 +9,14 @@
#include "fx_basic.h"
-class CXML_AttrItem : public CFX_Object
+class CXML_AttrItem
{
public:
CFX_ByteString m_QSpaceName;
CFX_ByteString m_AttrName;
CFX_WideString m_Value;
};
-class CXML_AttrMap : public CFX_Object
+class CXML_AttrMap
{
public:
CXML_AttrMap()
@@ -35,7 +35,7 @@ public:
CXML_AttrItem& GetAt(int index) const;
CFX_ObjectArray<CXML_AttrItem>* m_pMap;
};
-class CXML_Content : public CFX_Object
+class CXML_Content
{
public:
CXML_Content() : m_bCDATA(FALSE), m_Content() {}
@@ -47,7 +47,7 @@ public:
FX_BOOL m_bCDATA;
CFX_WideString m_Content;
};
-class CXML_Element : public CFX_Object
+class CXML_Element
{
public:
static CXML_Element* Parse(const void* pBuffer, size_t size, FX_BOOL bSaveSpaceChars = FALSE, FX_FILESIZE* pParsedSize = NULL);
diff --git a/core/include/fxge/fx_dib.h b/core/include/fxge/fx_dib.h
index f7e435d966..d6e99b7f73 100644
--- a/core/include/fxge/fx_dib.h
+++ b/core/include/fxge/fx_dib.h
@@ -136,7 +136,7 @@ FX_ARGB ArgbEncode(int a, FX_COLORREF rgb);
#define FXSETFLAG_COLORTYPE(flag, val) flag = (((val)<<8)|(flag&0xffff00ff))
#define FXSETFLAG_ALPHA_FILL(flag, val) flag = ((val)|(flag&0xffffff00))
#define FXSETFLAG_ALPHA_STROKE(flag, val) flag = (((val)<<16)|(flag&0xff00ffff))
-class CFX_DIBSource : public CFX_Object
+class CFX_DIBSource
{
public:
@@ -353,7 +353,7 @@ protected:
FX_BOOL GetGrayData(void* pIccTransform = NULL);
};
-class CFX_DIBExtractor : public CFX_Object
+class CFX_DIBExtractor
{
public:
@@ -408,7 +408,7 @@ public:
virtual FX_BOOL SetInfo(int width, int height, FXDIB_Format src_format, FX_DWORD* pSrcPalette) = 0;
};
-class CFX_ScanlineCompositor : public CFX_Object
+class CFX_ScanlineCompositor
{
public:
CFX_ScanlineCompositor();
@@ -450,7 +450,7 @@ protected:
int m_CacheSize;
FX_BOOL m_bRgbByteOrder;
};
-class CFX_BitmapComposer : public IFX_ScanlineComposer, public CFX_Object
+class CFX_BitmapComposer : public IFX_ScanlineComposer
{
public:
@@ -487,7 +487,7 @@ protected:
void ComposeScanlineV(int line, FX_LPCBYTE scanline, FX_LPCBYTE scan_extra_alpha = NULL);
FX_LPBYTE m_pScanlineV, m_pClipScanV, m_pAddClipScan, m_pScanlineAlphaV;
};
-class CFX_BitmapStorer : public IFX_ScanlineComposer, public CFX_Object
+class CFX_BitmapStorer : public IFX_ScanlineComposer
{
public:
@@ -511,7 +511,7 @@ private:
CFX_DIBitmap* m_pBitmap;
};
class CStretchEngine;
-class CFX_ImageStretcher : public CFX_Object
+class CFX_ImageStretcher
{
public:
@@ -548,7 +548,7 @@ public:
FX_INT32 ContinueStretch(IFX_Pause* pPause);
};
-class CFX_ImageTransformer : public CFX_Object
+class CFX_ImageTransformer
{
public:
@@ -569,7 +569,7 @@ public:
FX_DWORD m_Flags;
int m_Status;
};
-class CFX_ImageRenderer : public CFX_Object
+class CFX_ImageRenderer
{
public:
diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h
index bf9bb40500..6e0c1ba881 100644
--- a/core/include/fxge/fx_font.h
+++ b/core/include/fxge/fx_font.h
@@ -50,7 +50,7 @@ class CFontFileFaceInfo;
#define FXFONT_FF_SCRIPT (4<<4)
#define FXFONT_FW_NORMAL 400
#define FXFONT_FW_BOLD 700
-class CFX_Font : public CFX_Object
+class CFX_Font
{
public:
CFX_Font();
@@ -145,7 +145,7 @@ protected:
};
#define ENCODING_INTERNAL 0
#define ENCODING_UNICODE 1
-class IFX_FontEncoding : public CFX_Object
+class IFX_FontEncoding
{
public:
virtual ~IFX_FontEncoding() {}
@@ -164,7 +164,7 @@ IFX_FontEncoding* FXGE_CreateUnicodeEncoding(CFX_Font* pFont);
#define FXFONT_SUBST_NONSYMBOL 0x20
#define FXFONT_SUBST_EXACT 0x40
#define FXFONT_SUBST_STANDARD 0x80
-class CFX_SubstFont : public CFX_Object
+class CFX_SubstFont
{
public:
@@ -199,7 +199,7 @@ typedef struct {
FX_LPCBYTE m_pFontData;
FX_DWORD m_dwSize;
} FoxitFonts;
-class CFX_FontMgr : public CFX_Object
+class CFX_FontMgr
{
public:
CFX_FontMgr();
@@ -229,7 +229,7 @@ public:
FXFT_Library m_FTLibrary;
FoxitFonts m_ExternalFonts[16];
};
-class IFX_FontMapper : public CFX_Object
+class IFX_FontMapper
{
public:
@@ -293,7 +293,7 @@ private:
FXFT_Face m_FoxitFaces[14];
IFX_FontEnumerator* m_pFontEnumerator;
};
-class IFX_SystemFontInfo : public CFX_Object
+class IFX_SystemFontInfo
{
public:
static IFX_SystemFontInfo* CreateDefault();
@@ -339,14 +339,14 @@ protected:
void ScanFile(CFX_ByteString& path);
void ReportFace(CFX_ByteString& path, FXSYS_FILE* pFile, FX_DWORD filesize, FX_DWORD offset);
};
-class CFX_CountedFaceCache : public CFX_Object
+class CFX_CountedFaceCache
{
public:
CFX_FaceCache* m_Obj;
FX_DWORD m_nCount;
};
typedef CFX_MapPtrTemplate<FXFT_Face, CFX_CountedFaceCache*> CFX_FTCacheMap;
-class CFX_FontCache : public CFX_Object
+class CFX_FontCache
{
public:
~CFX_FontCache();
@@ -374,14 +374,14 @@ public:
CFX_Font* m_pFont;
};
#define FX_FONTCACHE_DEFINE(pFontCache, pFont) CFX_AutoFontCache autoFontCache((pFontCache), (pFont))
-class CFX_GlyphBitmap : public CFX_Object
+class CFX_GlyphBitmap
{
public:
int m_Top;
int m_Left;
CFX_DIBitmap m_Bitmap;
};
-class CFX_FaceCache : public CFX_Object
+class CFX_FaceCache
{
public:
~CFX_FaceCache();
diff --git a/core/include/fxge/fx_ge.h b/core/include/fxge/fx_ge.h
index 0c4bce8003..f9c4e9b9ae 100644
--- a/core/include/fxge/fx_ge.h
+++ b/core/include/fxge/fx_ge.h
@@ -23,7 +23,7 @@ class CFX_RenderDevice;
class IFX_RenderDeviceDriver;
class CCodec_ModuleMgr;
class IFXG_PaintModuleMgr;
-class CFX_GEModule : public CFX_Object
+class CFX_GEModule
{
public:
@@ -87,7 +87,7 @@ typedef struct {
#define FXPT_TYPE 0x06
#define FXFILL_ALTERNATE 1
#define FXFILL_WINDING 2
-class CFX_ClipRgn : public CFX_Object
+class CFX_ClipRgn
{
public:
@@ -146,7 +146,7 @@ inline FX_ARGB ArgbGammaInverse(FX_ARGB argb)
{
return argb;
}
-class CFX_PathData : public CFX_Object
+class CFX_PathData
{
public:
@@ -222,7 +222,7 @@ protected:
int m_AllocCount;
};
-class CFX_GraphStateData : public CFX_Object
+class CFX_GraphStateData
{
public:
@@ -305,7 +305,7 @@ typedef struct {
FX_DWORD m_ExtGID;
FX_BOOL m_bFontStyle;
} FXTEXT_CHARPOS;
-class CFX_RenderDevice : public CFX_Object
+class CFX_RenderDevice
{
public:
CFX_RenderDevice();
@@ -505,7 +505,7 @@ protected:
FX_BOOL m_bOwnedBitmap;
};
-class IFX_RenderDeviceDriver : public CFX_Object
+class IFX_RenderDeviceDriver
{
public:
@@ -644,7 +644,7 @@ protected:
~IFX_PSOutput() { }
};
class CPSFont;
-class CFX_PSRenderer : public CFX_Object
+class CFX_PSRenderer
{
public: