| OLD | NEW |
| 1 | 1 |
| 2 | 2 |
| 3 import sys | 3 import sys |
| 4 | 4 |
| 5 import datatypes | 5 import datatypes |
| 6 from autogen.pdfspec_autogen import * | 6 from autogen.pdfspec_autogen import * |
| 7 | 7 |
| 8 # TODO(edisonn): date and some other types are in fact strings, with a custom fo
rmat!!! | 8 # TODO(edisonn): date and some other types are in fact strings, with a custom fo
rmat!!! |
| 9 # TODO(edisonn): refer to page 99 (PDF data types) | 9 # TODO(edisonn): refer to page 99 (PDF data types) |
| 10 knowTypes = { | 10 knowTypes = { |
| (...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 nativeFileClass.write('**/\n') | 367 nativeFileClass.write('**/\n') |
| 368 | 368 |
| 369 if prop.fCppName[0] == '[': | 369 if prop.fCppName[0] == '[': |
| 370 nativeFileClass.write('/*\n') # comment code of the atributes that
can have any name | 370 nativeFileClass.write('/*\n') # comment code of the atributes that
can have any name |
| 371 nativeFileClassCpp.write('/*\n') # comment code of the atributes th
at can have any name | 371 nativeFileClassCpp.write('/*\n') # comment code of the atributes th
at can have any name |
| 372 | 372 |
| 373 | 373 |
| 374 if len(prop.fTypes.split()) == 1: | 374 if len(prop.fTypes.split()) == 1: |
| 375 t = prop.fTypes.strip() | 375 t = prop.fTypes.strip() |
| 376 | 376 |
| 377 nativeFileClass.write(' ' + knowTypes[t][0] + ' ' + prop.fCppName +
'(const SkNativeParsedPDF* doc);\n') | 377 nativeFileClass.write(' ' + knowTypes[t][0] + ' ' + prop.fCppName +
'(SkNativeParsedPDF* doc);\n') |
| 378 nativeFileClassCpp.write('' + knowTypes[t][0] + ' SkPdf' + cls.fName
+ '::' + prop.fCppName + '(const SkNativeParsedPDF* doc) {\n') | 378 nativeFileClassCpp.write('' + knowTypes[t][0] + ' SkPdf' + cls.fName
+ '::' + prop.fCppName + '(SkNativeParsedPDF* doc) {\n') |
| 379 nativeFileClassCpp.write(' SkPdfObject* ret = get(\"' + prop.fName
+ '\", \"' + prop.fAbr + '\");\n') | 379 nativeFileClassCpp.write(' SkPdfObject* ret = get(\"' + prop.fName
+ '\", \"' + prop.fAbr + '\");\n') |
| 380 nativeFileClassCpp.write(' if (doc) {ret = doc->resolveReference(re
t);}\n') | 380 nativeFileClassCpp.write(' if (doc) {ret = doc->resolveReference(re
t);}\n') |
| 381 nativeFileClassCpp.write(' if ((ret != NULL && ' + knowTypes[t][3]
+ ') || (doc == NULL && ret != NULL && ret->isReference())) return ' + knowTypes
[t][1] + ';\n') | 381 nativeFileClassCpp.write(' if ((ret != NULL && ' + knowTypes[t][3]
+ ') || (doc == NULL && ret != NULL && ret->isReference())) return ' + knowTypes
[t][1] + ';\n') |
| 382 | 382 |
| 383 if field.fRequired: | 383 if field.fRequired: |
| 384 nativeFileClassCpp.write(' // TODO(edisonn): warn about missing r
equired field, assert for known good pdfs\n') | 384 nativeFileClassCpp.write(' // TODO(edisonn): warn about missing r
equired field, assert for known good pdfs\n') |
| 385 nativeFileClassCpp.write(' return ' + knowTypes[t][2].toCpp() + '
;\n'); | 385 nativeFileClassCpp.write(' return ' + knowTypes[t][2].toCpp() + '
;\n'); |
| 386 elif prop.fDefault != '': | 386 elif prop.fDefault != '': |
| 387 nativeFileClassCpp.write(' return ' + prop.fDefault.toCpp() + ';\
n'); | 387 nativeFileClassCpp.write(' return ' + prop.fDefault.toCpp() + ';\
n'); |
| 388 else: | 388 else: |
| 389 nativeFileClassCpp.write(' // TODO(edisonn): warn about missing d
efault value for optional fields\n') | 389 nativeFileClassCpp.write(' // TODO(edisonn): warn about missing d
efault value for optional fields\n') |
| 390 nativeFileClassCpp.write(' return ' + knowTypes[t][2].toCpp() + '
;\n'); | 390 nativeFileClassCpp.write(' return ' + knowTypes[t][2].toCpp() + '
;\n'); |
| 391 | 391 |
| 392 nativeFileClassCpp.write('}\n') | 392 nativeFileClassCpp.write('}\n') |
| 393 nativeFileClassCpp.write('\n') | 393 nativeFileClassCpp.write('\n') |
| 394 else: | 394 else: |
| 395 for type in prop.fTypes.split(): | 395 for type in prop.fTypes.split(): |
| 396 t = type.strip() | 396 t = type.strip() |
| 397 | 397 |
| 398 nativeFileClass.write(' bool is' + prop.fCppName + 'A' + t.title(
) + '(const SkNativeParsedPDF* doc);\n') | 398 nativeFileClass.write(' bool is' + prop.fCppName + 'A' + t.title(
) + '(SkNativeParsedPDF* doc);\n') |
| 399 | 399 |
| 400 nativeFileClassCpp.write('bool SkPdf' + cls.fName + '::is' + prop.
fCppName + 'A' + t.title() + '(const SkNativeParsedPDF* doc) {\n') | 400 nativeFileClassCpp.write('bool SkPdf' + cls.fName + '::is' + prop.
fCppName + 'A' + t.title() + '(SkNativeParsedPDF* doc) {\n') |
| 401 nativeFileClassCpp.write(' SkPdfObject* ret = get(\"' + prop.fNam
e + '\", \"' + prop.fAbr + '\");\n') | 401 nativeFileClassCpp.write(' SkPdfObject* ret = get(\"' + prop.fNam
e + '\", \"' + prop.fAbr + '\");\n') |
| 402 nativeFileClassCpp.write(' if (doc) {ret = doc->resolveReference(
ret);}\n') | 402 nativeFileClassCpp.write(' if (doc) {ret = doc->resolveReference(
ret);}\n') |
| 403 nativeFileClassCpp.write(' return ret != NULL && ' + knowTypes[t]
[3] + ';\n') | 403 nativeFileClassCpp.write(' return ret != NULL && ' + knowTypes[t]
[3] + ';\n') |
| 404 nativeFileClassCpp.write('}\n') | 404 nativeFileClassCpp.write('}\n') |
| 405 nativeFileClassCpp.write('\n') | 405 nativeFileClassCpp.write('\n') |
| 406 | 406 |
| 407 nativeFileClass.write(' ' + knowTypes[t][0] + ' get' + prop.fCppN
ame + 'As' + t.title() + '(const SkNativeParsedPDF* doc);\n') | 407 nativeFileClass.write(' ' + knowTypes[t][0] + ' get' + prop.fCppN
ame + 'As' + t.title() + '(SkNativeParsedPDF* doc);\n') |
| 408 nativeFileClassCpp.write('' + knowTypes[t][0] + ' SkPdf' + cls.fNa
me + '::get' + prop.fCppName + 'As' + t.title() + '(const SkNativeParsedPDF* doc
) {\n') | 408 nativeFileClassCpp.write('' + knowTypes[t][0] + ' SkPdf' + cls.fNa
me + '::get' + prop.fCppName + 'As' + t.title() + '(SkNativeParsedPDF* doc) {\n'
) |
| 409 | 409 |
| 410 nativeFileClassCpp.write(' SkPdfObject* ret = get(\"' + prop.fNam
e + '\", \"' + prop.fAbr + '\");\n') | 410 nativeFileClassCpp.write(' SkPdfObject* ret = get(\"' + prop.fNam
e + '\", \"' + prop.fAbr + '\");\n') |
| 411 nativeFileClassCpp.write(' if (doc) {ret = doc->resolveReference(
ret);}\n') | 411 nativeFileClassCpp.write(' if (doc) {ret = doc->resolveReference(
ret);}\n') |
| 412 nativeFileClassCpp.write(' if ((ret != NULL && ' + knowTypes[t][3
] + ') || (doc == NULL && ret != NULL && ret->isReference())) return ' + knowTyp
es[t][1] + ';\n') | 412 nativeFileClassCpp.write(' if ((ret != NULL && ' + knowTypes[t][3
] + ') || (doc == NULL && ret != NULL && ret->isReference())) return ' + knowTyp
es[t][1] + ';\n') |
| 413 | 413 |
| 414 | 414 |
| 415 if field.fRequired: | 415 if field.fRequired: |
| 416 nativeFileClassCpp.write(' // TODO(edisonn): warn about missing
required field, assert for known good pdfs\n') | 416 nativeFileClassCpp.write(' // TODO(edisonn): warn about missing
required field, assert for known good pdfs\n') |
| 417 nativeFileClassCpp.write(' return ' + knowTypes[t][2].toCpp() +
';\n'); | 417 nativeFileClassCpp.write(' return ' + knowTypes[t][2].toCpp() +
';\n'); |
| 418 elif prop.fDefault != '': | 418 elif prop.fDefault != '': |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 461 fileMapperNative.write('#include "SkPdfObject.h"\n') | 461 fileMapperNative.write('#include "SkPdfObject.h"\n') |
| 462 | 462 |
| 463 | 463 |
| 464 fileMapperNativeCpp.write('#include "SkPdfMapper_autogen.h"\n') | 464 fileMapperNativeCpp.write('#include "SkPdfMapper_autogen.h"\n') |
| 465 fileMapperNativeCpp.write('#include "SkPdfUtils.h"\n') | 465 fileMapperNativeCpp.write('#include "SkPdfUtils.h"\n') |
| 466 fileMapperNativeCpp.write('#include "SkPdfObject.h"\n') | 466 fileMapperNativeCpp.write('#include "SkPdfObject.h"\n') |
| 467 fileMapperNativeCpp.write('\n') | 467 fileMapperNativeCpp.write('\n') |
| 468 | 468 |
| 469 fileMapperNative.write('class SkPdfMapper {\n') | 469 fileMapperNative.write('class SkPdfMapper {\n') |
| 470 | 470 |
| 471 fileMapperNative.write(' const SkNativeParsedPDF* fParsedDoc;\n') | 471 fileMapperNative.write(' SkNativeParsedPDF* fParsedDoc;\n') |
| 472 | 472 |
| 473 fileMapperNative.write('public:\n') | 473 fileMapperNative.write('public:\n') |
| 474 | 474 |
| 475 fileMapperNative.write(' SkPdfMapper(const SkNativeParsedPDF* doc) : fParse
dDoc(doc) {}\n') | 475 fileMapperNative.write(' SkPdfMapper(SkNativeParsedPDF* doc) : fParsedDoc(d
oc) {}\n') |
| 476 fileMapperNative.write('\n') | 476 fileMapperNative.write('\n') |
| 477 | 477 |
| 478 for name in self.fClassesNamesInOrder: | 478 for name in self.fClassesNamesInOrder: |
| 479 cls = self.fClasses[name] | 479 cls = self.fClasses[name] |
| 480 | 480 |
| 481 fileMapperNative.write(' SkPdfObjectType map' + name + '(const SkPdfObjec
t* in) const;\n') | 481 fileMapperNative.write(' SkPdfObjectType map' + name + '(const SkPdfObjec
t* in) const;\n') |
| 482 | 482 |
| 483 fileMapperNativeCpp.write('SkPdfObjectType SkPdfMapper::map' + name + '(co
nst SkPdfObject* in) const {\n') | 483 fileMapperNativeCpp.write('SkPdfObjectType SkPdfMapper::map' + name + '(co
nst SkPdfObject* in) const {\n') |
| 484 fileMapperNativeCpp.write(' if (!is' + name + '(in)) return kNone_SkPdfOb
jectType;\n') | 484 fileMapperNativeCpp.write(' if (!is' + name + '(in)) return kNone_SkPdfOb
jectType;\n') |
| 485 fileMapperNativeCpp.write('\n') | 485 fileMapperNativeCpp.write('\n') |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 617 | 617 |
| 618 fileHeadersNative.write('#endif // __DEFINED__SkPdfHeaders\n') | 618 fileHeadersNative.write('#endif // __DEFINED__SkPdfHeaders\n') |
| 619 | 619 |
| 620 fileHeadersNative.close() | 620 fileHeadersNative.close() |
| 621 fileHeadersNativeCpp.close() | 621 fileHeadersNativeCpp.close() |
| 622 | 622 |
| 623 if '__main__' == __name__: | 623 if '__main__' == __name__: |
| 624 #print sys.argv | 624 #print sys.argv |
| 625 sys.exit(generateCode()) | 625 sys.exit(generateCode()) |
| 626 | 626 |
| OLD | NEW |