aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental
diff options
context:
space:
mode:
authorGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-06-18 14:51:21 +0000
committerGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-06-18 14:51:21 +0000
commit60533dc4bf3e7ade90f8b72b802e3325c20254e7 (patch)
treea5965744508a747d75d80a93a8e117cbd9f5014c /experimental
parente63296e5d653f1d5a3a9bba7454d7beefbc03d8d (diff)
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
Diffstat (limited to 'experimental')
-rw-r--r--experimental/PdfViewer/generate_code.py30
1 files changed, 23 insertions, 7 deletions
diff --git a/experimental/PdfViewer/generate_code.py b/experimental/PdfViewer/generate_code.py
index 764ef61976..05267bc940 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')