Index: sky/engine/bindings/scripts/dart_types.py |
diff --git a/sky/engine/bindings/scripts/dart_types.py b/sky/engine/bindings/scripts/dart_types.py |
index 2a063b87a59b9bcdc8a8ba7c7beead79be6f7ca1..8563c222e30aebbfe9d5895bda3f882f5f7c0a44 100644 |
--- a/sky/engine/bindings/scripts/dart_types.py |
+++ b/sky/engine/bindings/scripts/dart_types.py |
@@ -114,7 +114,9 @@ CPP_SPECIAL_CONVERSION_RULES = { |
'boolean': 'bool', |
'unrestricted double': 'double', |
'unrestricted float': 'float', |
- 'Rect': 'Rect', # Pass Rect by value, not pointer. |
+ # Pass these by value, not pointer. |
+ 'Rect': 'Rect', |
+ 'Color': 'CanvasColor', |
} |
@@ -354,6 +356,7 @@ DART_TO_CPP_VALUE = { |
# We should handle it automatically, but map to a String for now. |
'StorageType': 'DartUtilities::dartToString(args, {index}, exception, {auto_scope})', |
'Rect': 'DartConverter<{implemented_as}>::FromArguments{null_check}(args, {index}, exception)', |
+ 'Color': 'DartConverter<CanvasColor>::FromArguments{null_check}(args, {index}, exception)', |
} |
@@ -618,6 +621,7 @@ DART_SET_RETURN_VALUE = { |
# Typed arrays don't have special Dart* classes for Dart. |
'ArrayBuffer': 'Dart_SetReturnValue(args, DartUtilities::arrayBufferToDart({cpp_value}))', |
'TypedList': 'Dart_SetReturnValue(args, DartUtilities::arrayBufferViewToDart({cpp_value}))', |
+ 'Color': 'DartConverter<CanvasColor>::SetReturnValue(args, {cpp_value})', |
} |