@@ -519,6 +519,9 @@ boolean typeIsStruct(DataType type, Platform platform) {
519519 if (platform == Platform .WINDOWS32 || platform == Platform .WINDOWS64 ) {
520520 return true ;
521521 }
522+ if (type .getName ().startsWith ("RGBA" ) || type .getName ().startsWith ("HSV" )) {
523+ return false ;
524+ }
522525 if (type .getName ().startsWith ("CCPoint" ) || type .getName ().startsWith ("CCSize" ) || type .getName ().startsWith ("CCRect" )) {
523526 return true ;
524527 }
@@ -881,6 +884,27 @@ else if (platform == Platform.ANDROID32 || platform == Platform.ANDROID64) { //
881884 ccHSVValue .setPackingEnabled (true );
882885 manager .addDataType (ccHSVValue , DataTypeConflictHandler .REPLACE_HANDLER );
883886
887+ // cocos2d::extension::RGBA
888+
889+ cat = this .createCategoryAll (category .extend ("cocos2d" , "extension" , "RGBA" ));
890+ var rgba = new StructureDataType (cat , cat .getName (), 0x0 );
891+ rgba .add (DoubleDataType .dataType , 0x8 , "r" , "Red component" );
892+ rgba .add (DoubleDataType .dataType , 0x8 , "g" , "Green component" );
893+ rgba .add (DoubleDataType .dataType , 0x8 , "b" , "Blue component" );
894+ rgba .add (DoubleDataType .dataType , 0x8 , "a" , "Alpha component" );
895+ rgba .setPackingEnabled (true );
896+ manager .addDataType (rgba , DataTypeConflictHandler .REPLACE_HANDLER );
897+
898+ // cocos2d::extension::HSV
899+
900+ cat = this .createCategoryAll (category .extend ("cocos2d" , "extension" , "HSV" ));
901+ var hsv = new StructureDataType (cat , cat .getName (), 0x0 );
902+ hsv .add (DoubleDataType .dataType , 0x8 , "h" , "Hue" );
903+ hsv .add (DoubleDataType .dataType , 0x8 , "s" , "Saturation" );
904+ hsv .add (DoubleDataType .dataType , 0x8 , "v" , "Value" );
905+ hsv .setPackingEnabled (true );
906+ manager .addDataType (hsv , DataTypeConflictHandler .REPLACE_HANDLER );
907+
884908 // cocos2d::SEL_MenuHandler
885909
886910 cat = this .createCategoryAll (category .extend ("cocos2d" , "SEL_MenuHandler" ));
0 commit comments