Browse Source

added fill()

Nicolas Cannasse 12 years ago
parent
commit
c7e5338297
1 changed files with 17 additions and 0 deletions
  1. 17 0
      std/haxe/io/Bytes.hx

+ 17 - 0
std/haxe/io/Bytes.hx

@@ -95,6 +95,23 @@ class Bytes {
 			b1[i+pos] = b2[i+srcpos];
 		#end
 	}
+	
+	public function fill( pos : Int, len : Int, value : Int ) {
+		#if flash9
+		var v4 = value&0xFF;
+		v4 |= v4<<8;
+		v4 |= v4<<16;
+		b.position = pos;
+		for( i in 0...len>>2 )
+			b.writeUnsignedInt(v4);		
+		pos += len&~3;
+		for( i in 0...len&3 )
+			set(pos++,value);
+		#else
+		for( i in 0...len )
+			set(pos++, value);
+		#end
+	}
 
 	public function sub( pos : Int, len : Int ) : Bytes {
 		#if !neko