improved the objective-c and swift api

This commit is contained in:
David Hart
2017-01-06 00:21:41 +01:00
parent a36faf89e3
commit 35ceb973bb
14 changed files with 874 additions and 584 deletions

View File

@@ -118,7 +118,7 @@ def to_java_upper(symbol):
root = os.path.dirname(os.path.abspath(__file__))
# write out C headers
# write out C & Objective-C headers
with open(root + '/yoga/YGEnums.h', 'w') as f:
f.write(LICENSE)
f.write('#pragma once\n\n')
@@ -126,6 +126,7 @@ with open(root + '/yoga/YGEnums.h', 'w') as f:
f.write('YG_EXTERN_C_BEGIN\n\n')
for name, values in ENUMS.items():
f.write('#define YG%sCount %s\n' % (name, len(values)))
f.write('#ifndef NS_ENUM\n')
f.write('typedef enum YG%s {\n' % name)
for value in values:
if isinstance(value, tuple):
@@ -133,6 +134,15 @@ with open(root + '/yoga/YGEnums.h', 'w') as f:
else:
f.write(' YG%s%s,\n' % (name, value))
f.write('} YG%s;\n' % name)
f.write('#else\n')
f.write('typedef NS_ENUM(NSInteger, YG%s) {\n' % name)
for value in values:
if isinstance(value, tuple):
f.write(' YG%s%s = %d,\n' % (name, value[0], value[1]))
else:
f.write(' YG%s%s,\n' % (name, value))
f.write('};\n')
f.write('#endif\n')
f.write('\n')
f.write('YG_EXTERN_C_END\n')