forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			45 lines
		
	
	
		
			853 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			853 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| 
								 | 
							
								package externs;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import cpp.UInt8;
							 | 
						||
| 
								 | 
							
								import cpp.Pointer;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@:include("./../lib/LibInclude.h")
							 | 
						||
| 
								 | 
							
								@:sourceFile("./../lib/RGB.cpp")
							 | 
						||
| 
								 | 
							
								@:native("RGB")
							 | 
						||
| 
								 | 
							
								extern class RGB
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								   public var r:UInt8;
							 | 
						||
| 
								 | 
							
								   public var g:UInt8;
							 | 
						||
| 
								 | 
							
								   public var b:UInt8;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   public function getLuma():Int;
							 | 
						||
| 
								 | 
							
								   public function toInt():Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   @:native("new RGB")
							 | 
						||
| 
								 | 
							
								   public static function create(r:Int, g:Int, b:Int):Pointer<RGB>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   @:native("~RGB")
							 | 
						||
| 
								 | 
							
								   public function deleteMe():Void;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// By extending RGB we keep the same API as far as haxe is concerned, but store the data (not pointer)
							 | 
						||
| 
								 | 
							
								//  The native Reference class knows how to take the reference to the structure
							 | 
						||
| 
								 | 
							
								@:native("cpp.Reference<RGB>")
							 | 
						||
| 
								 | 
							
								extern class RGBRef extends RGB
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// By extending RGBRef, we can keep the same api, 
							 | 
						||
| 
								 | 
							
								//  rather than a pointer
							 | 
						||
| 
								 | 
							
								@:native("cpp.Struct<RGB>")
							 | 
						||
| 
								 | 
							
								extern class RGBStruct extends RGBRef
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |