From 60533dc4bf3e7ade90f8b72b802e3325c20254e7 Mon Sep 17 00:00:00 2001 From: "edisonn@google.com" Date: Tue, 18 Jun 2013 14:51:21 +0000 Subject: [PATCH] add value() functions to podofo wrapers to isolate the client from knowing it is using podofo internally Review URL: https://codereview.chromium.org/17101011 git-svn-id: http://skia.googlecode.com/svn/trunk@9654 2bbb7eff-a529-9590-31e7-b0007b416f81 --- experimental/PdfViewer/generate_code.py | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/experimental/PdfViewer/generate_code.py b/experimental/PdfViewer/generate_code.py index 764ef61..05267bc 100644 --- a/experimental/PdfViewer/generate_code.py +++ b/experimental/PdfViewer/generate_code.py @@ -432,15 +432,31 @@ def generateCode(): manager.addClass('Object') manager.addClass('Null').check('podofoObj.GetDataType() == ePdfDataType_Null') - manager.addClass('Boolean').check('podofoObj.GetDataType() == ePdfDataType_Bool') - manager.addClass('Integer').check('podofoObj.GetDataType() == ePdfDataType_Number') - manager.addClass('Number').check('podofoObj.GetDataType() == ePdfDataType_Real') - manager.addClass('Name').check('podofoObj.GetDataType() == ePdfDataType_Name') + manager.addClass('Boolean').check('podofoObj.GetDataType() == ePdfDataType_Bool')\ + .carbonCopyPublic('bool value() const {return fPodofoObj->GetBool();}') + + manager.addClass('Integer').check('podofoObj.GetDataType() == ePdfDataType_Number')\ + .carbonCopyPublic('long value() const {return fPodofoObj->GetNumber();}') + + manager.addClass('Number').check('podofoObj.GetDataType() == ePdfDataType_Real')\ + .carbonCopyPublic('double value() const {return fPodofoObj->GetReal();}') + + manager.addClass('Name').check('podofoObj.GetDataType() == ePdfDataType_Name')\ + .carbonCopyPublic('const std::string& value() const {return fPodofoObj->GetName().GetName();}') + #manager.addClass('Stream') - attached to a dictionary manager.addClass('Reference').check('podofoObj.GetDataType() == ePdfDataType_Reference') - manager.addClass('Array').check('podofoObj.GetDataType() == ePdfDataType_Array') - manager.addClass('String').check('podofoObj.GetDataType() == ePdfDataType_String') - manager.addClass('HexString').check('podofoObj.GetDataType() == ePdfDataType_HexString') + + manager.addClass('Array').check('podofoObj.GetDataType() == ePdfDataType_Array')\ + .carbonCopyPublic('const int size() const {return fPodofoObj->GetArray().GetSize();}')\ + .carbonCopyPublic('const SkPdfObject operator[](int i) const {return SkPdfObject(fPodofoDoc, &fPodofoObj->GetArray()[i]);}')\ + .carbonCopyPublic('SkPdfObject operator[](int i) {return SkPdfObject(fPodofoDoc, &fPodofoObj->GetArray()[i]);}') + + manager.addClass('String').check('podofoObj.GetDataType() == ePdfDataType_String')\ + .carbonCopyPublic('const std::string& value() const {return fPodofoObj->GetString().GetStringUtf8();}') + + manager.addClass('HexString').check('podofoObj.GetDataType() == ePdfDataType_HexString')\ + .carbonCopyPublic('const std::string& value() const {return fPodofoObj->GetString().GetStringUtf8();}') manager.addClass('Dictionary').check('podofoObj.GetDataType() == ePdfDataType_Dictionary') -- 2.7.4