Przeglądaj źródła

flash player 11.4 api beta update

Nicolas Cannasse 13 lat temu
rodzic
commit
7b67cdc932

+ 1 - 1
doc/all.hxml

@@ -24,7 +24,7 @@
 -swf all9.swf
 --no-output
 -xml flash9.xml
--swf-version 11.3
+-swf-version 11.4
 --macro ImportAll.run()
 
 --next

+ 3 - 3
doc/extract.hxml

@@ -1,6 +1,6 @@
 -debug
--swf-lib library113.swf
--swf9 test.swf
--swf-version 11.3
+-swf-lib library114.swf
+-swf test.swf
+-swf-version 11.4
 --macro patchTypes("../doc/extract.patch")
 --gen-hx-classes

+ 52 - 6
doc/extract.patch

@@ -1069,10 +1069,6 @@ enum flash.display.BitmapCompressColorSpace;
 
 @:require(flash11_2) flash.display.BitmapData.compress;
 @:require(flash11_2) flash.media.Camera.position;
-@:require(flash11_2) flash.media.Camera.copyToByteArray;
-@:require(flash11_2) flash.media.Camera.copyToVector;
-@:require(flash11_2) flash.media.Camera.drawToBitmapData;
-@:require(flash11_2) flash.media.StageVideo.attachCamera;
 @:require(flash11_2) flash.net.NetStream.dispose;
 
 @:require(flash11_2) flash.display.StageWorker;
@@ -1118,7 +1114,6 @@ flash.ui.GameInputControl.type : flash.ui.GameInputControlType;
 
 // 11.3
 
-@:require(flash11_3) flash.display3D.Context3D.createRectangleTexture
 @:require(flash11_3) flash.display.BitmapData.drawWithQuality
 
 flash.display.BitmapData.$quality : StageQuality;
@@ -1149,7 +1144,58 @@ flash.display.JPEGXREncoderOptions.colorSpace : BitmapEncodingColorSpace;
 @:require(flash11_3) flash.system.AuthorizedFeatures;
 @:require(flash11_3) flash.system.AuthorizedFeaturesLoader;
 
-@:require(flash11_3) flash.events.Event.TEXTURE_READY;
+@:require(flash11_3) static flash.events.Event.TEXTURE_READY;
 
 
+// 11.4
+
+@:require(flash11_4) flash.display3D.Context3D.createRectangleTexture
+@:require(flash11_4) flash.display.BitmapData.copyPixelsToByteArray;
+
+@:require(flash11_4) flash.concurrent.Mutex;
+@:require(flash11_4) flash.concurrent.Condition;
+
+enum flash.display3D.Context3DProfile;
+
+flash.display.Stage3D.$profile : flash.display3D.Context3DProfile;
+
+@:require(flash11_4) flash.display.LoaderInfo.childSandboxBridge;
+@:require(flash11_4) flash.display.LoaderInfo.parentSandboxBridge;
+
+@:require(flash11_4) flash.display.Stage.contentsScaleFactor;
+
+
+@:require(flash11_4) flash.media.Camera.copyToByteArray;
+@:require(flash11_4) flash.media.Camera.copyToVector;
+@:require(flash11_4) flash.media.Camera.drawToBitmapData;
+@:require(flash11_4) flash.media.StageVideo.attachCamera;
+
+@:require(flash11_4) flash.net.URLStream.diskCacheEnabled;
+@:require(flash11_4) flash.net.URLStream.length;
+@:require(flash11_4) flash.net.URLStream.position;
+@:require(flash11_4) flash.net.URLStream.stop;
+
+@:require(flash11_4) flash.system.AuthorizedFeatures.enableDiskCache;
+@:require(flash11_4) flash.system.AuthorizedFeatures.isFeatureEnabled;
+@:require(flash11_4) flash.system.AuthorizedFeatures.isNegativeToken;
+@:require(flash11_4) flash.system.AuthorizedFeaturesLoader.makeGlobal;
+
+@:require(flash11_4) flash.utils.ByteArray.shareable;
+@:require(flash11_4) flash.utils.ByteArray.atomicCompareAndSwapIntAt;
+@:require(flash11_4) flash.utils.ByteArray.atomicCompareAndSwapLength;
+
+//not supported @:require(flash11_4) flash.utils.CompressionAlgorithm.LZMA;
+
+@:require(flash11_4) flash.system.Worker;
+@:require(flash11_4) flash.system.WorkerDomain;
+
+@:require(flash11_4) flash.system.MessageChannel;
+
+-flash.system.Worker.new;
+-flash.system.MessageChannel.new;
+
+flash.system.Worker.state : WorkerState;
+flash.system.MessageChannel.state : MessageChannelState;
+
+enum flash.system.WorkerState;
 

+ 9 - 0
std/flash/concurrent/Condition.hx

@@ -0,0 +1,9 @@
+package flash.concurrent;
+
+@:final @:require(flash11_4) extern class Condition {
+	var mutex(default,null) : Mutex;
+	function new(mutex : Mutex) : Void;
+	function notify() : Void;
+	function notifyAll() : Void;
+	function wait(timeout : Float = -1) : Bool;
+}

+ 8 - 0
std/flash/concurrent/Mutex.hx

@@ -0,0 +1,8 @@
+package flash.concurrent;
+
+@:final @:require(flash11_4) extern class Mutex {
+	function new() : Void;
+	function lock() : Void;
+	function tryLock() : Bool;
+	function unlock() : Void;
+}

+ 1 - 0
std/flash/display/BitmapData.hx

@@ -12,6 +12,7 @@ extern class BitmapData implements IBitmapDrawable {
 	function compare(otherBitmapData : BitmapData) : Dynamic;
 	function copyChannel(sourceBitmapData : BitmapData, sourceRect : flash.geom.Rectangle, destPoint : flash.geom.Point, sourceChannel : UInt, destChannel : UInt) : Void;
 	function copyPixels(sourceBitmapData : BitmapData, sourceRect : flash.geom.Rectangle, destPoint : flash.geom.Point, ?alphaBitmapData : BitmapData, ?alphaPoint : flash.geom.Point, mergeAlpha : Bool = false) : Void;
+	@:require(flash11_4) function copyPixelsToByteArray(rect : flash.geom.Rectangle, data : flash.utils.ByteArray) : Void;
 	function dispose() : Void;
 	function draw(source : IBitmapDrawable, ?matrix : flash.geom.Matrix, ?colorTransform : flash.geom.ColorTransform, ?blendMode : BlendMode, ?clipRect : flash.geom.Rectangle, smoothing : Bool = false) : Void;
 	@:require(flash11_3) function drawWithQuality(source : IBitmapDrawable, ?matrix : flash.geom.Matrix, ?colorTransform : flash.geom.ColorTransform, ?blendMode : BlendMode, ?clipRect : flash.geom.Rectangle, smoothing : Bool = false, ?quality : StageQuality) : Void;

+ 2 - 0
std/flash/display/LoaderInfo.hx

@@ -7,6 +7,7 @@ extern class LoaderInfo extends flash.events.EventDispatcher {
 	var bytesLoaded(default,null) : UInt;
 	var bytesTotal(default,null) : UInt;
 	var childAllowsParent(default,null) : Bool;
+	@:require(flash11_4) var childSandboxBridge : Dynamic;
 	var content(default,null) : DisplayObject;
 	var contentType(default,null) : String;
 	var frameRate(default,null) : Float;
@@ -16,6 +17,7 @@ extern class LoaderInfo extends flash.events.EventDispatcher {
 	var loaderURL(default,null) : String;
 	var parameters(default,null) : Dynamic<String>;
 	var parentAllowsChild(default,null) : Bool;
+	@:require(flash11_4) var parentSandboxBridge : Dynamic;
 	var sameDomain(default,null) : Bool;
 	var sharedEvents(default,null) : flash.events.EventDispatcher;
 	var swfVersion(default,null) : UInt;

+ 1 - 0
std/flash/display/Stage.hx

@@ -7,6 +7,7 @@ extern class Stage extends DisplayObjectContainer {
 	@:require(flash10_2) var color : UInt;
 	@:require(flash10) var colorCorrection : ColorCorrection;
 	@:require(flash10) var colorCorrectionSupport(default,null) : ColorCorrectionSupport;
+	@:require(flash11_4) var contentsScaleFactor(default,null) : Float;
 	@:require(flash11) var displayContextInfo(default,null) : String;
 	var displayState : StageDisplayState;
 	var focus : InteractiveObject;

+ 1 - 1
std/flash/display/Stage3D.hx

@@ -5,5 +5,5 @@ package flash.display;
 	var visible : Bool;
 	var x : Float;
 	var y : Float;
-	function requestContext3D(?context3DRenderMode : String) : Void;
+	function requestContext3D(?context3DRenderMode : String, ?profile : flash.display3D.Context3DProfile) : Void;
 }

+ 3 - 2
std/flash/display3D/Context3D.hx

@@ -4,10 +4,11 @@ package flash.display3D;
 	var driverInfo(default,null) : String;
 	var enableErrorChecking : Bool;
 	function clear(red : Float = 0, green : Float = 0, blue : Float = 0, alpha : Float = 1, depth : Float = 1, stencil : UInt = 0, mask : UInt = 0xFFFFFFFF) : Void;
-	function configureBackBuffer(width : Int, height : Int, antiAlias : Int, enableDepthAndStencil : Bool = true) : Void;
+	function configureBackBuffer(width : Int, height : Int, antiAlias : Int, enableDepthAndStencil : Bool = true, wantsBestResolution : Bool = false) : Void;
 	function createCubeTexture(size : Int, format : Context3DTextureFormat, optimizeForRenderToTexture : Bool, streamingLevels : Int = 0) : flash.display3D.textures.CubeTexture;
 	function createIndexBuffer(numIndices : Int) : IndexBuffer3D;
 	function createProgram() : Program3D;
+	@:require(flash11_4) function createRectangleTexture(width : Int, height : Int, format : Context3DTextureFormat, optimizeForRenderToTexture : Bool) : flash.display3D.textures.RectangleTexture;
 	function createTexture(width : Int, height : Int, format : Context3DTextureFormat, optimizeForRenderToTexture : Bool, streamingLevels : Int = 0) : flash.display3D.textures.Texture;
 	function createVertexBuffer(numVertices : Int, data32PerVertex : Int) : VertexBuffer3D;
 	function dispose() : Void;
@@ -23,7 +24,7 @@ package flash.display3D;
 	function setProgramConstantsFromMatrix(programType : Context3DProgramType, firstRegister : Int, matrix : flash.geom.Matrix3D, transposedMatrix : Bool = false) : Void;
 	function setProgramConstantsFromVector(programType : Context3DProgramType, firstRegister : Int, data : flash.Vector<Float>, numRegisters : Int = -1) : Void;
 	function setRenderToBackBuffer() : Void;
-	function setRenderToTexture(texture : flash.display3D.textures.TextureBase, enableDepthAndStencil : Bool = false, antiAlias : Int = 0, surfaceSelector : Int = 0) : Void;
+	function setRenderToTexture(texture : flash.display3D.textures.TextureBase, enableDepthAndStencil : Bool = false, antiAlias : Int = 0, surfaceSelector : Int = 0, colorOutputIndex : Int = 0) : Void;
 	function setScissorRectangle(rectangle : flash.geom.Rectangle) : Void;
 	function setStencilActions(?triangleFace : Context3DTriangleFace, ?compareMode : Context3DCompareMode, ?actionOnBothPass : Context3DStencilAction, ?actionOnDepthFail : Context3DStencilAction, ?actionOnDepthPassStencilFail : Context3DStencilAction) : Void;
 	function setStencilReferenceValue(referenceValue : UInt, readMask : UInt = 255, writeMask : UInt = 255) : Void;

+ 7 - 0
std/flash/display3D/Context3DProfile.hx

@@ -0,0 +1,7 @@
+package flash.display3D;
+
+@:fakeEnum(String) extern enum Context3DProfile {
+	BASELINE;
+	BASELINE_CONSTRAINED;
+	BASELINE_EXTENDED;
+}

+ 1 - 0
std/flash/display3D/Context3DTextureFormat.hx

@@ -3,4 +3,5 @@ package flash.display3D;
 @:fakeEnum(String) extern enum Context3DTextureFormat {
 	BGRA;
 	COMPRESSED;
+	COMPRESSED_ALPHA;
 }

+ 4 - 0
std/flash/events/Event.hx

@@ -20,6 +20,8 @@ extern class Event {
 	static var ADDED_TO_STAGE : String;
 	static var CANCEL : String;
 	static var CHANGE : String;
+	static var CHANNEL_MESSAGE : String;
+	static var CHANNEL_STATE : String;
 	@:require(flash10) static var CLEAR : String;
 	static var CLOSE : String;
 	static var COMPLETE : String;
@@ -53,4 +55,6 @@ extern class Event {
 	@:require(flash11_3) static var TEXTURE_READY : String;
 	@:require(flash11) static var TEXT_INTERACTION_MODE_CHANGE : String;
 	static var UNLOAD : String;
+	static var VIDEO_FRAME : String;
+	static var WORKER_STATE : String;
 }

+ 3 - 0
std/flash/media/Camera.hx

@@ -17,6 +17,9 @@ package flash.media;
 	var quality(default,null) : Int;
 	var width(default,null) : Int;
 	function new() : Void;
+	@:require(flash11_4) function copyToByteArray(rect : flash.geom.Rectangle, destination : flash.utils.ByteArray) : Void;
+	@:require(flash11_4) function copyToVector(rect : flash.geom.Rectangle, destination : flash.Vector<UInt>) : Void;
+	@:require(flash11_4) function drawToBitmapData(destination : flash.display.BitmapData) : Void;
 	function setCursor(value : Bool) : Void;
 	function setKeyFrameInterval(keyFrameInterval : Int) : Void;
 	function setLoopback(compress : Bool = false) : Void;

+ 1 - 0
std/flash/media/StageVideo.hx

@@ -9,5 +9,6 @@ package flash.media;
 	var viewPort : flash.geom.Rectangle;
 	var zoom : flash.geom.Point;
 	function new() : Void;
+	@:require(flash11_4) function attachCamera(theCamera : Camera) : Void;
 	function attachNetStream(netStream : flash.net.NetStream) : Void;
 }

+ 4 - 0
std/flash/net/URLStream.hx

@@ -3,8 +3,11 @@ package flash.net;
 extern class URLStream extends flash.events.EventDispatcher, implements flash.utils.IDataInput {
 	var bytesAvailable(default,null) : UInt;
 	var connected(default,null) : Bool;
+	@:require(flash11_4) var diskCacheEnabled(default,null) : Bool;
 	var endian : flash.utils.Endian;
+	@:require(flash11_4) var length(default,null) : Float;
 	var objectEncoding : UInt;
+	@:require(flash11_4) var position : Float;
 	function new() : Void;
 	function close() : Void;
 	function load(request : URLRequest) : Void;
@@ -22,4 +25,5 @@ extern class URLStream extends flash.events.EventDispatcher, implements flash.ut
 	function readUnsignedByte() : UInt;
 	function readUnsignedInt() : UInt;
 	function readUnsignedShort() : UInt;
+	@:require(flash11_4) function stop() : Void;
 }

+ 3 - 0
std/flash/system/AuthorizedFeatures.hx

@@ -3,4 +3,7 @@ package flash.system;
 @:final @:require(flash11_3) extern class AuthorizedFeatures {
 	function new() : Void;
 	function createApplicationInstaller(strings : flash.xml.XML, icon : flash.utils.ByteArray) : ApplicationInstaller;
+	@:require(flash11_4) function enableDiskCache(stream : flash.net.URLStream) : Bool;
+	@:require(flash11_4) function isFeatureEnabled(feature : String, ?data : String) : Bool;
+	@:require(flash11_4) function isNegativeToken() : Bool;
 }

+ 1 - 0
std/flash/system/AuthorizedFeaturesLoader.hx

@@ -4,4 +4,5 @@ package flash.system;
 	var authorizedFeatures(default,null) : AuthorizedFeatures;
 	function new() : Void;
 	function loadAuthorizedFeatures() : Void;
+	@:require(flash11_4) function makeGlobal() : Void;
 }

+ 9 - 0
std/flash/system/MessageChannel.hx

@@ -0,0 +1,9 @@
+package flash.system;
+
+@:final @:require(flash11_4) extern class MessageChannel extends flash.events.EventDispatcher {
+	var messageAvailable(default,null) : Bool;
+	var state(default,null) : MessageChannelState;
+	function close() : Void;
+	function receive(blockUntilReceived : Bool = false) : Dynamic;
+	function send(arg : Dynamic, queueLimit : Int = -1) : Dynamic;
+}

+ 8 - 0
std/flash/system/MessageChannelState.hx

@@ -0,0 +1,8 @@
+package flash.system;
+
+extern class MessageChannelState {
+	function new() : Void;
+	static var CLOSED : String;
+	static var CLOSING : String;
+	static var OPEN : String;
+}

+ 13 - 0
std/flash/system/Worker.hx

@@ -0,0 +1,13 @@
+package flash.system;
+
+@:final @:require(flash11_4) extern class Worker extends flash.events.EventDispatcher {
+	var isPrimordial(default,null) : Bool;
+	var state(default,null) : WorkerState;
+	function createMessageChannel(receiver : Worker) : MessageChannel;
+	function getSharedProperty(key : String) : Dynamic;
+	function setSharedProperty(key : String, value : Dynamic) : Void;
+	function start() : Void;
+	function terminate() : Bool;
+	static var current(default,null) : Worker;
+	static var isSupported(default,null) : Bool;
+}

+ 9 - 0
std/flash/system/WorkerDomain.hx

@@ -0,0 +1,9 @@
+package flash.system;
+
+@:final @:require(flash11_4) extern class WorkerDomain {
+	function new() : Void;
+	function createWorker(swf : flash.utils.ByteArray, giveAppPrivileges : Bool = false) : Worker;
+	function listWorkers() : flash.Vector<Worker>;
+	static var current(default,null) : WorkerDomain;
+	static var isSupported(default,null) : Bool;
+}

+ 7 - 0
std/flash/system/WorkerState.hx

@@ -0,0 +1,7 @@
+package flash.system;
+
+@:fakeEnum(String) extern enum WorkerState {
+	NEW;
+	RUNNING;
+	TERMINATED;
+}

+ 3 - 0
std/flash/utils/ByteArray.hx

@@ -6,7 +6,10 @@ extern class ByteArray implements IDataOutput, implements IDataInput, implements
 	var length : UInt;
 	var objectEncoding : UInt;
 	var position : UInt;
+	@:require(flash11_4) var shareable : Bool;
 	function new() : Void;
+	@:require(flash11_4) function atomicCompareAndSwapIntAt(byteIndex : Int, expectedValue : Int, newValue : Int) : Int;
+	@:require(flash11_4) function atomicCompareAndSwapLength(expectedLength : Int, newLength : Int) : Int;
 	@:require(flash10) function clear() : Void;
 	function compress(#if flash11 ?algorithm : CompressionAlgorithm #end) : Void;
 	@:require(flash10) function deflate() : Void;

+ 1 - 0
std/flash/utils/CompressionAlgorithm.hx

@@ -2,5 +2,6 @@ package flash.utils;
 
 @:fakeEnum(String) @:require(flash11) extern enum CompressionAlgorithm {
 	DEFLATE;
+	LZMA;
 	ZLIB;
 }