avm2: Stub desktop AIR APIs
This commit is contained in:
parent
357508ae86
commit
b616f559e7
|
@ -0,0 +1,18 @@
|
|||
// The initial version of this file was autogenerated from the official AS3 reference at
|
||||
// https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/Icon.html
|
||||
// by https://github.com/golfinq/ActionScript_Event_Builder
|
||||
// It won't be regenerated in the future, so feel free to edit and/or fix
|
||||
|
||||
package flash.desktop
|
||||
{
|
||||
import flash.events.EventDispatcher;
|
||||
[API("661")]
|
||||
public class Icon extends EventDispatcher
|
||||
{
|
||||
|
||||
// The icon image as an array of BitmapData objects of different sizes.
|
||||
public var bitmaps:Array;
|
||||
|
||||
function Icon() {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
// The initial version of this file was autogenerated from the official AS3 reference at
|
||||
// https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/InteractiveIcon.html
|
||||
// by https://github.com/golfinq/ActionScript_Event_Builder
|
||||
// It won't be regenerated in the future, so feel free to edit and/or fix
|
||||
|
||||
package flash.desktop
|
||||
{
|
||||
import __ruffle__.stub_getter;
|
||||
|
||||
[API("661")]
|
||||
public class InteractiveIcon extends Icon
|
||||
{
|
||||
public function get height():int
|
||||
{
|
||||
stub_getter("flash.desktop.InteractiveIcon", "height");
|
||||
return 64;
|
||||
}
|
||||
|
||||
public function get width():int
|
||||
{
|
||||
stub_getter("flash.desktop.InteractiveIcon", "width");
|
||||
return 64;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,265 @@
|
|||
package flash.desktop
|
||||
{
|
||||
import flash.display.NativeWindow;
|
||||
import flash.events.InvokeEvent;
|
||||
import flash.events.Event;
|
||||
import flash.events.TimerEvent;
|
||||
import flash.events.EventDispatcher;
|
||||
import flash.system.Security;
|
||||
import flash.utils.Timer;
|
||||
import flash.utils.setTimeout;
|
||||
import __ruffle__.stub_method;
|
||||
import __ruffle__.stub_getter;
|
||||
import __ruffle__.stub_setter;
|
||||
|
||||
[API("661")]
|
||||
public final class NativeApplication extends EventDispatcher
|
||||
{
|
||||
private static var _instance:NativeApplication;
|
||||
|
||||
private var _openedWindows:Array = [];
|
||||
|
||||
private var _idleThreshold:int = 300;
|
||||
|
||||
public function NativeApplication()
|
||||
{
|
||||
super();
|
||||
// TODO
|
||||
setTimeout(function():void
|
||||
{
|
||||
dispatchEvent(new InvokeEvent(InvokeEvent.INVOKE, false, false, null, []));
|
||||
}, 500);
|
||||
}
|
||||
|
||||
public static function get nativeApplication():NativeApplication
|
||||
{
|
||||
if (!_instance)
|
||||
_instance = new NativeApplication();
|
||||
return _instance;
|
||||
}
|
||||
|
||||
public static function get supportsMenu():Boolean
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "supportsMenu");
|
||||
return false;
|
||||
}
|
||||
|
||||
public static function get supportsDockIcon():Boolean
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "supportsDockIcon");
|
||||
return false;
|
||||
}
|
||||
|
||||
public static function get supportsSystemTrayIcon():Boolean
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "supportsSystemTrayIcon");
|
||||
return false;
|
||||
}
|
||||
|
||||
[API("668")]
|
||||
public static function get supportsDefaultApplication():Boolean
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "supportsDefaultApplication");
|
||||
return false;
|
||||
}
|
||||
|
||||
[API("668")]
|
||||
public static function get supportsStartAtLogin():Boolean
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "supportsStartAtLogin");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function exit(exitCode:int = 0):void
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "exit");
|
||||
}
|
||||
|
||||
public function get runtimeVersion():String
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "runtimeVersion");
|
||||
return "5.0.0";
|
||||
}
|
||||
|
||||
public function get runtimePatchLevel():uint
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "runtimePatchLevel");
|
||||
return 0;
|
||||
}
|
||||
|
||||
public function get applicationID():String
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "applicationID");
|
||||
return "";
|
||||
}
|
||||
|
||||
public function get publisherID():String
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "publisherID");
|
||||
return "";
|
||||
}
|
||||
|
||||
public function get applicationDescriptor():XML
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "applicationDescriptor");
|
||||
return null;
|
||||
}
|
||||
|
||||
public function get autoExit():Boolean
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "autoExit");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function set autoExit(param1:Boolean):void
|
||||
{
|
||||
stub_setter("flash.desktop.NativeApplication", "autoExit");
|
||||
}
|
||||
|
||||
public function get icon():InteractiveIcon
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "icon");
|
||||
return null;
|
||||
}
|
||||
|
||||
[API("668")]
|
||||
public function get systemIdleMode():String
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "systemIdleMode");
|
||||
return "normal";
|
||||
}
|
||||
|
||||
[API("668")]
|
||||
public function set systemIdleMode(param1:String):void
|
||||
{
|
||||
stub_setter("flash.desktop.NativeApplication", "systemIdleMode");
|
||||
}
|
||||
|
||||
public function get startAtLogin():Boolean
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "startAtLogin");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function set startAtLogin(param1:Boolean):void
|
||||
{
|
||||
stub_setter("flash.desktop.NativeApplication", "startAtLogin");
|
||||
}
|
||||
|
||||
public function activate(window:NativeWindow = null):void
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "activate");
|
||||
}
|
||||
|
||||
public function get activeWindow():NativeWindow
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "activeWindow");
|
||||
return _openedWindows[0];
|
||||
}
|
||||
|
||||
public function get openedWindows():Array
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "openedWindows");
|
||||
return _openedWindows;
|
||||
}
|
||||
|
||||
public function get timeSinceLastUserInput():int
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "timeSinceLastUserInput");
|
||||
return 100;
|
||||
}
|
||||
|
||||
public function get idleThreshold():int
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "idleThreshold");
|
||||
return this._idleThreshold;
|
||||
}
|
||||
|
||||
public function set idleThreshold(value:int):void
|
||||
{
|
||||
stub_setter("flash.desktop.NativeApplication", "idleThreshold");
|
||||
this._idleThreshold = value;
|
||||
}
|
||||
|
||||
public function copy():Boolean
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "copy");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function cut():Boolean
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "cut");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function paste():Boolean
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "paste");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function clear():Boolean
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "clear");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function selectAll():Boolean
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "selectAll");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getDefaultApplication(extension:String):String
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "getDefaultApplication");
|
||||
return null;
|
||||
}
|
||||
|
||||
public function isSetAsDefaultApplication(extension:String):Boolean
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "isSetAsDefaultApplication");
|
||||
return true;
|
||||
}
|
||||
|
||||
public function setAsDefaultApplication(extension:String):void
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "setAsDefaultApplication");
|
||||
}
|
||||
|
||||
public function removeAsDefaultApplication(extension:String):void
|
||||
{
|
||||
stub_method("flash.desktop.NativeApplication", "removeAsDefaultApplication");
|
||||
}
|
||||
|
||||
[API("681")]
|
||||
public function get executeInBackground():Boolean
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "executeInBackground");
|
||||
return false;
|
||||
}
|
||||
|
||||
[API("681")]
|
||||
public function set executeInBackground(param1:Boolean):void
|
||||
{
|
||||
stub_setter("flash.desktop.NativeApplication", "executeInBackground");
|
||||
}
|
||||
|
||||
// [API("721")] Ruffle doesn't support this API Version
|
||||
[API("681")]
|
||||
public function get isCompiledAOT():Boolean
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "isCompiledAOT");
|
||||
return false;
|
||||
}
|
||||
|
||||
// [API("721")] Ruffle doesn't support this API Version
|
||||
[API("681")]
|
||||
public function get isActive():Boolean
|
||||
{
|
||||
stub_getter("flash.desktop.NativeApplication", "isActive");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,144 @@
|
|||
package flash.display {
|
||||
package flash.display
|
||||
{
|
||||
|
||||
import flash.events.EventDispatcher;
|
||||
public class NativeMenu extends EventDispatcher {
|
||||
import __ruffle__.stub_method;
|
||||
import __ruffle__.stub_getter;
|
||||
|
||||
// According to the documentation, it should be [API("661")]
|
||||
// but airglobal.swc disagrees with that:
|
||||
[API("667")]
|
||||
public class NativeMenu extends EventDispatcher
|
||||
{
|
||||
|
||||
// Indicates whether any form of native menu is supported on the client system.
|
||||
private var _isSupported:Boolean;
|
||||
|
||||
// The array of NativeMenuItem objects in this menu.
|
||||
public var items:Array;
|
||||
|
||||
// The parent menu.
|
||||
private var _parent:NativeMenu;
|
||||
|
||||
public function NativeMenu()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Adds a menu item at the bottom of the menu.
|
||||
public function addItem(item:NativeMenuItem):NativeMenuItem
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "addItem");
|
||||
this.items.push(item);
|
||||
return item;
|
||||
}
|
||||
|
||||
// Inserts a menu item at the specified position.
|
||||
public function addItemAt(item:NativeMenuItem, index:int):NativeMenuItem
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "addItemAt");
|
||||
this.items[index] = item;
|
||||
return item;
|
||||
}
|
||||
|
||||
// Adds a submenu to the menu by inserting a new menu item.
|
||||
public function addSubmenu(submenu:NativeMenu, label:String):NativeMenuItem
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "addSubmenu");
|
||||
return null;
|
||||
}
|
||||
|
||||
// Adds a submenu to the menu by inserting a new menu item at the specified position.
|
||||
public function addSubmenuAt(submenu:NativeMenu, index:int, label:String):NativeMenuItem
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "addSubmenuAt");
|
||||
return null;
|
||||
}
|
||||
|
||||
// Creates a copy of the menu and all items.
|
||||
public function clone():NativeMenu
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "clone");
|
||||
return null;
|
||||
}
|
||||
|
||||
// Reports whether this menu contains the specified menu item.
|
||||
public function containsItem(item:NativeMenuItem):Boolean
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "containsItem");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Pops up this menu at the specified location.
|
||||
public function display(stage:Stage, stageX:Number, stageY:Number):void
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "display");
|
||||
}
|
||||
|
||||
// Gets the menu item at the specified index.
|
||||
public function getItemAt(index:int):NativeMenuItem
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "getItemAt");
|
||||
return null;
|
||||
}
|
||||
|
||||
// Gets the menu item with the specified name.
|
||||
public function getItemByName(name:String):NativeMenuItem
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "getItemByName");
|
||||
return null;
|
||||
}
|
||||
|
||||
// Gets the position of the specified item.
|
||||
public function getItemIndex(item:NativeMenuItem):int
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "getItemIndex");
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Removes all items from the menu.
|
||||
public function removeAllItems():void
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "removeAllItems");
|
||||
this.items = [];
|
||||
}
|
||||
|
||||
// Removes the specified menu item.
|
||||
public function removeItem(item:NativeMenuItem):NativeMenuItem
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "removeItem");
|
||||
return null;
|
||||
}
|
||||
|
||||
// Removes and returns the menu item at the specified index.
|
||||
public function removeItemAt(index:int):NativeMenuItem
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "removeItemAt");
|
||||
return null;
|
||||
}
|
||||
|
||||
// Moves a menu item to the specified position.
|
||||
public function setItemIndex(item:NativeMenuItem, index:int):void
|
||||
{
|
||||
stub_method("flash.display.NativeMenu", "setItemIndex");
|
||||
}
|
||||
|
||||
// According to the documentation, it should be [API("668")]
|
||||
// but there is no version gate in airglobal.swc
|
||||
public function get isSupported():Boolean
|
||||
{
|
||||
return this._isSupported;
|
||||
}
|
||||
|
||||
public function get numItems():int
|
||||
{
|
||||
return this.items.length;
|
||||
}
|
||||
|
||||
public function get parent():NativeMenu
|
||||
{
|
||||
return this._parent;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,33 @@
|
|||
package flash.display {
|
||||
import flash.events.EventDispatcher;
|
||||
import __ruffle__.stub_constructor;
|
||||
import __ruffle__.stub_getter;
|
||||
// According to the documentation, it should be [API("661")]
|
||||
// but airglobal.swc disagrees with that:
|
||||
[API("667")]
|
||||
public class NativeMenuItem extends EventDispatcher {
|
||||
public var enabled: Boolean;
|
||||
public var enabled: Boolean = false;
|
||||
public var checked: Boolean = false;
|
||||
public var data: Object;
|
||||
public var isSeparator: Boolean;
|
||||
public var keyEquivalent: String = "k";
|
||||
public var keyEquivalentModifiers: Array = [];
|
||||
public var label: String;
|
||||
public var mnemonicIndex: int = 0;
|
||||
public var name: String = "";
|
||||
public var submenu: NativeMenu = new NativeMenu();
|
||||
|
||||
public function NativeMenuItem(label:String = "", isSeparator:Boolean = false)
|
||||
{
|
||||
stub_constructor("flash.display.NativeMenuItem");
|
||||
this.label = label;
|
||||
this.isSeparator = isSeparator;
|
||||
}
|
||||
|
||||
public function get menu():NativeMenu
|
||||
{
|
||||
stub_getter("flash.display.NativeMenuItem", "menu");
|
||||
return new NativeMenu();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,312 @@
|
|||
package flash.display
|
||||
{
|
||||
import flash.geom.Point;
|
||||
import flash.geom.Rectangle;
|
||||
import flash.events.NativeWindowBoundsEvent;
|
||||
import flash.events.Event;
|
||||
import flash.events.EventDispatcher;
|
||||
import flash.desktop.NativeApplication;
|
||||
import __ruffle__.stub_method;
|
||||
import __ruffle__.stub_getter;
|
||||
import __ruffle__.stub_setter;
|
||||
import __ruffle__.stub_constructor;
|
||||
|
||||
[API("661")]
|
||||
public class NativeWindow extends EventDispatcher
|
||||
{
|
||||
public const systemMaxSize:Point = new Point(2880, 2880);
|
||||
public const systemMinSize:Point = new Point(1, 1);
|
||||
public var minSize:Point = systemMinSize;
|
||||
public var maxSize:Point = systemMaxSize;
|
||||
public var title:String;
|
||||
public var alwaysInFront:Boolean = true;
|
||||
public var visible:Boolean = true;
|
||||
|
||||
private var _bounds:Rectangle;
|
||||
private var _maximizable:Boolean;
|
||||
private var _minimizable:Boolean;
|
||||
private var _resizable:Boolean;
|
||||
private var _systemChrome:String;
|
||||
private var _transparent:Boolean;
|
||||
private var _type:String;
|
||||
private var _closed:Boolean = false;
|
||||
private var _stage:Stage;
|
||||
|
||||
public function NativeWindow(initOptions:NativeWindowInitOptions, _stage:Stage = null)
|
||||
{
|
||||
stub_constructor("flash.display.NativeWindow");
|
||||
NativeApplication.nativeApplication.openedWindows.push(this);
|
||||
if (_stage)
|
||||
{
|
||||
this._stage = _stage;
|
||||
_stage.addEventListener(Event.RESIZE, function(e:Event):void
|
||||
{
|
||||
dispatchEvent(new NativeWindowBoundsEvent(NativeWindowBoundsEvent.RESIZE, false, false, _bounds, _bounds = new Rectangle(x, y, width, height)));
|
||||
});
|
||||
}
|
||||
|
||||
_maximizable = initOptions.maximizable;
|
||||
_minimizable = initOptions.minimizable;
|
||||
_resizable = initOptions.resizable;
|
||||
_systemChrome = initOptions.systemChrome;
|
||||
_transparent = initOptions.transparent;
|
||||
_type = initOptions.type;
|
||||
}
|
||||
|
||||
public function get width():Number
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "width");
|
||||
return _stage.stageWidth;
|
||||
}
|
||||
|
||||
public function set width(value:Number):void
|
||||
{
|
||||
stub_setter("flash.display.NativeWindow", "width");
|
||||
_stage.stageWidth = value;
|
||||
}
|
||||
|
||||
public function get height():Number
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "height");
|
||||
return _stage.stageHeight;
|
||||
}
|
||||
|
||||
public function set height(value:Number):void
|
||||
{
|
||||
stub_setter("flash.display.NativeWindow", "height");
|
||||
_stage.stageHeight = value;
|
||||
}
|
||||
|
||||
public function get x():Number
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "x");
|
||||
return _stage.x;
|
||||
}
|
||||
|
||||
public function set x(value:Number):void
|
||||
{
|
||||
stub_setter("flash.display.NativeWindow", "x");
|
||||
}
|
||||
|
||||
public function get y():Number
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "y");
|
||||
return _stage.y;
|
||||
}
|
||||
|
||||
public function set y(value:Number):void
|
||||
{
|
||||
stub_setter("flash.display.NativeWindow", "y");
|
||||
}
|
||||
|
||||
public function get bounds():Rectangle
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "bounds");
|
||||
return _bounds;
|
||||
}
|
||||
|
||||
public function set bounds(value:Rectangle):void
|
||||
{
|
||||
stub_setter("flash.display.NativeWindow", "bounds");
|
||||
_bounds = value;
|
||||
}
|
||||
|
||||
public function get maximizable():Boolean
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "maximizable");
|
||||
return _maximizable;
|
||||
}
|
||||
|
||||
public function get minimizable():Boolean
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "minimizable");
|
||||
return _minimizable;
|
||||
}
|
||||
|
||||
public function get resizable():Boolean
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "resizable");
|
||||
return _resizable;
|
||||
}
|
||||
|
||||
public function get systemChrome():String
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "systemChrome");
|
||||
return _systemChrome;
|
||||
}
|
||||
|
||||
public function get transparent():Boolean
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "transparent");
|
||||
return _transparent;
|
||||
}
|
||||
|
||||
public function get type():String
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "type");
|
||||
return _type;
|
||||
}
|
||||
|
||||
public function get stage():Stage
|
||||
{
|
||||
return _stage;
|
||||
}
|
||||
|
||||
// Activates this window.
|
||||
public function activate():void
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "activate");
|
||||
dispatchEvent(new Event(Event.ACTIVATE));
|
||||
}
|
||||
|
||||
// Closes this window.
|
||||
public function close():void
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "close");
|
||||
if (dispatchEvent(new Event(Event.CLOSING, false, true)))
|
||||
{
|
||||
_closed = true;
|
||||
dispatchEvent(new Event(Event.CLOSE));
|
||||
dispatchEvent(new Event(Event.DEACTIVATE));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Converts a point in pixel coordinates relative to the origin of the window stage (a global point in terms of the display list), to a point on the virtual desktop.
|
||||
public function globalToScreen(globalPoint:Point):Point
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "globalToScreen");
|
||||
return null;
|
||||
}
|
||||
|
||||
// Returns a list of the NativeWindow objects that are owned by this window.
|
||||
[API("671")]
|
||||
public function listOwnedWindows():Vector.<NativeWindow>
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "listOwnedWindows");
|
||||
return new Vector.<NativeWindow>();
|
||||
}
|
||||
|
||||
// Maximizes this window.
|
||||
public function maximize():void
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "maximize");
|
||||
}
|
||||
|
||||
// Minimizes this window.
|
||||
public function minimize():void
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "minimize");
|
||||
}
|
||||
|
||||
// Triggers a visual cue through the operating system that an event of interest has occurred.
|
||||
public function notifyUser(type:String):void
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "notifyUser");
|
||||
}
|
||||
|
||||
// Sends this window directly behind the specified window.
|
||||
public function orderInBackOf(window:NativeWindow):Boolean
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "orderInBackOf");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Brings this window directly in front of the specified window.
|
||||
public function orderInFrontOf(window:NativeWindow):Boolean
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "orderInFrontOf");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Sends this window behind any other visible windows.
|
||||
public function orderToBack():Boolean
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "orderToBack");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Brings this window in front of any other visible windows.
|
||||
public function orderToFront():Boolean
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "orderToFront");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Restores this window from either a minimized or a maximized state.
|
||||
public function restore():void
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "restore");
|
||||
}
|
||||
|
||||
// Starts a system-controlled move of this window.
|
||||
public function startMove():Boolean
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "startMove");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Starts a system-controlled resize operation of this window.
|
||||
public function startResize(edgeOrCorner:String = "BR"):Boolean
|
||||
{
|
||||
stub_method("flash.display.NativeWindow", "startResize");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get active():Boolean
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "active");
|
||||
return true;
|
||||
}
|
||||
|
||||
public function get closed():Boolean
|
||||
{
|
||||
return this._closed;
|
||||
}
|
||||
|
||||
public function get displayState():String
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "displayState");
|
||||
return "normal";
|
||||
}
|
||||
|
||||
[API("668")]
|
||||
public function get isSupported():Boolean
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "isSupported");
|
||||
return false;
|
||||
}
|
||||
|
||||
[API("671")]
|
||||
public function get owner():NativeWindow
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "owner");
|
||||
return this;
|
||||
}
|
||||
|
||||
[API("675")]
|
||||
public function get renderMode():String
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "renderMode");
|
||||
return "auto";
|
||||
}
|
||||
|
||||
public function get supportsMenu():Boolean
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "supportsMenu");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get supportsNotification():Boolean
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "supportsNotification");
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get supportsTransparency():Boolean
|
||||
{
|
||||
stub_getter("flash.display.NativeWindow", "supportsTransparency");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package flash.display
|
||||
{
|
||||
[API("661")]
|
||||
public final class NativeWindowDisplayState
|
||||
{
|
||||
public static const MAXIMIZED:String = "maximized";
|
||||
public static const MINIMIZED:String = "minimized";
|
||||
public static const NORMAL:String = "normal";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
// The initial version of this file was autogenerated from the official AS3 reference at
|
||||
// https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/NativeWindowInitOptions.html
|
||||
// by https://github.com/golfinq/ActionScript_Event_Builder
|
||||
// It won't be regenerated in the future, so feel free to edit and/or fix
|
||||
|
||||
package flash.display
|
||||
{
|
||||
[API("661")]
|
||||
public class NativeWindowInitOptions
|
||||
{
|
||||
|
||||
// Specifies whether the window can be maximized by the user.
|
||||
public var maximizable:Boolean;
|
||||
|
||||
// Specifies whether the window can be minimized by the user.
|
||||
public var minimizable:Boolean;
|
||||
|
||||
// Specifies the NativeWindow object that should own any windows created with this NativeWindowInitOptions.
|
||||
[API("671")]
|
||||
public var owner:NativeWindow;
|
||||
|
||||
// Specifies the render mode of the NativeWindow object created with this NativeWindowInitOptions.
|
||||
[API("675")]
|
||||
public var renderMode:String;
|
||||
|
||||
// Specifies whether the window can be resized by the user.
|
||||
public var resizable:Boolean;
|
||||
|
||||
// Specifies whether system chrome is provided for the window.
|
||||
public var systemChrome:String;
|
||||
|
||||
// Specifies whether the window supports transparency and alpha blending against the desktop.
|
||||
public var transparent:Boolean;
|
||||
|
||||
// Specifies the type of the window to be created.
|
||||
public var type:String;
|
||||
|
||||
public function NativeWindowInitOptions()
|
||||
{
|
||||
systemChrome = NativeWindowSystemChrome.STANDARD;
|
||||
type = NativeWindowType.NORMAL;
|
||||
transparent = false;
|
||||
owner = null;
|
||||
resizable = true;
|
||||
maximizable = true;
|
||||
minimizable = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package flash.display
|
||||
{
|
||||
[API("661")]
|
||||
public final class NativeWindowSystemChrome
|
||||
{
|
||||
public static const ALTERNATE:String = "alternate";
|
||||
public static const NONE:String = "none";
|
||||
public static const STANDARD:String = "standard";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package flash.display
|
||||
{
|
||||
[API("661")]
|
||||
public final class NativeWindowType
|
||||
{
|
||||
public static const LIGHTWEIGHT:String = "lightweight";
|
||||
public static const NORMAL:String = "normal";
|
||||
public static const UTILITY:String = "utility";
|
||||
}
|
||||
}
|
|
@ -14,6 +14,8 @@ package flash.display {
|
|||
public class Stage extends DisplayObjectContainer {
|
||||
private var _colorCorrection:String = ColorCorrection.DEFAULT;
|
||||
private var _mouseLock:Boolean = false;
|
||||
private var _nativeWindow:NativeWindow;
|
||||
private var _fullScreenSourceRect:Rectangle;
|
||||
|
||||
public function Stage() {
|
||||
throw new Error("You cannot construct new instances of the Stage.");
|
||||
|
@ -182,7 +184,7 @@ package flash.display {
|
|||
override public function set x(value:Number):void {
|
||||
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
|
||||
}
|
||||
|
||||
|
||||
override public function set y(value:Number):void {
|
||||
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
|
||||
}
|
||||
|
@ -214,8 +216,15 @@ package flash.display {
|
|||
|
||||
public native function get fullScreenHeight():uint;
|
||||
|
||||
public native function get fullScreenSourceRect():Rectangle;
|
||||
public native function set fullScreenSourceRect(value:Rectangle):void;
|
||||
public function get fullScreenSourceRect():Rectangle {
|
||||
stub_getter("flash.display.Stage", "fullScreenSourceRect");
|
||||
return this._fullScreenSourceRect;
|
||||
}
|
||||
|
||||
public function set fullScreenSourceRect(rect: Rectangle):void {
|
||||
stub_setter("flash.display.Stage", "fullScreenSourceRect");
|
||||
this._fullScreenSourceRect = rect;
|
||||
}
|
||||
|
||||
public native function get fullScreenWidth():uint;
|
||||
|
||||
|
@ -326,5 +335,14 @@ package flash.display {
|
|||
public function setAspectRatio(newAspectRatio:String):void {
|
||||
stub_method("flash.display.Stage", "setAspectRatio");
|
||||
}
|
||||
|
||||
[API("661")]
|
||||
public function get nativeWindow():NativeWindow {
|
||||
stub_getter("flash.display.Stage", "nativeWindow");
|
||||
if (!this._nativeWindow) {
|
||||
this._nativeWindow = new NativeWindow(new NativeWindowInitOptions(), this);
|
||||
}
|
||||
return this._nativeWindow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,11 +7,11 @@ use crate::avm2::parameters::ParametersExt;
|
|||
use crate::avm2::value::Value;
|
||||
use crate::avm2::vector::VectorStorage;
|
||||
use crate::avm2::Error;
|
||||
use crate::avm2_stub_getter;
|
||||
use crate::display_object::{
|
||||
StageDisplayState, TDisplayObject, TDisplayObjectContainer, TInteractiveObject,
|
||||
};
|
||||
use crate::string::{AvmString, WString};
|
||||
use crate::{avm2_stub_getter, avm2_stub_setter};
|
||||
use swf::Color;
|
||||
|
||||
/// Implements `flash.display.Stage`'s native instance constructor.
|
||||
|
@ -443,26 +443,6 @@ pub fn invalidate<'gc>(
|
|||
Ok(Value::Undefined)
|
||||
}
|
||||
|
||||
/// Stage.fullScreenSourceRect's getter
|
||||
pub fn get_full_screen_source_rect<'gc>(
|
||||
activation: &mut Activation<'_, 'gc>,
|
||||
_this: Object<'gc>,
|
||||
_args: &[Value<'gc>],
|
||||
) -> Result<Value<'gc>, Error<'gc>> {
|
||||
avm2_stub_getter!(activation, "flash.display.Stage", "fullScreenSourceRect");
|
||||
Ok(Value::Undefined)
|
||||
}
|
||||
|
||||
/// Stage.fullScreenSourceRect's setter
|
||||
pub fn set_full_screen_source_rect<'gc>(
|
||||
activation: &mut Activation<'_, 'gc>,
|
||||
_this: Object<'gc>,
|
||||
_args: &[Value<'gc>],
|
||||
) -> Result<Value<'gc>, Error<'gc>> {
|
||||
avm2_stub_setter!(activation, "flash.display.Stage", "fullScreenSourceRect");
|
||||
Ok(Value::Undefined)
|
||||
}
|
||||
|
||||
/// Stage.fullScreenHeight's getter
|
||||
pub fn get_full_screen_height<'gc>(
|
||||
activation: &mut Activation<'_, 'gc>,
|
||||
|
|
|
@ -17,6 +17,9 @@ package flash.events {
|
|||
|
||||
public static const CLOSE:String = "close";
|
||||
|
||||
[API("661")]
|
||||
public static const CLOSING:String = "closing";
|
||||
|
||||
public static const COMPLETE:String = "complete";
|
||||
|
||||
public static const CONNECT:String = "connect";
|
||||
|
@ -31,6 +34,9 @@ package flash.events {
|
|||
|
||||
public static const FRAME_CONSTRUCTED:String = "frameConstructed";
|
||||
|
||||
[API("661")]
|
||||
public static const EXITING:String = "exiting";
|
||||
|
||||
public static const EXIT_FRAME:String = "exitFrame";
|
||||
|
||||
public static const FRAME_LABEL:String = "frameLabel";
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
// The initial version of this file was autogenerated from the official AS3 reference at
|
||||
// https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/InvokeEvent.html
|
||||
// by https://github.com/golfinq/ActionScript_Event_Builder
|
||||
// It won't be regenerated in the future, so feel free to edit and/or fix
|
||||
|
||||
package flash.events
|
||||
{
|
||||
|
||||
import flash.filesystem.File;
|
||||
|
||||
[API("661")]
|
||||
public class InvokeEvent extends Event
|
||||
{
|
||||
public static const INVOKE:String = "invoke";
|
||||
|
||||
// The array of string arguments passed during this invocation.
|
||||
private var _arguments:Array;
|
||||
|
||||
// The reason for this InvokeEvent.
|
||||
private var _reason:String;
|
||||
|
||||
// The directory that should be used to resolve any relative paths in the arguments array.
|
||||
private var _currentDirectory:File;
|
||||
|
||||
public function InvokeEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, dir:File = null, argv:Array = null, reason:String = "standard")
|
||||
{
|
||||
super(type, bubbles, cancelable);
|
||||
this._currentDirectory = dir;
|
||||
this._arguments = argv;
|
||||
this._reason = reason;
|
||||
}
|
||||
|
||||
// [override] Creates a new copy of this event.
|
||||
override public function clone():Event
|
||||
{
|
||||
return new InvokeEvent(this.type, this.bubbles, this.cancelable, this.arguments, this.reason);
|
||||
}
|
||||
|
||||
public function get arguments():Array
|
||||
{
|
||||
return this._arguments;
|
||||
}
|
||||
|
||||
[API("664")]
|
||||
public function get reason():String
|
||||
{
|
||||
return this._reason;
|
||||
}
|
||||
|
||||
public function get currentDirectory():File
|
||||
{
|
||||
return this._currentDirectory;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
// The initial version of this file was autogenerated from the official AS3 reference at
|
||||
// https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/NativeWindowBoundsEvent.html
|
||||
// by https://github.com/golfinq/ActionScript_Event_Builder
|
||||
// It won't be regenerated in the future, so feel free to edit and/or fix
|
||||
|
||||
package flash.events
|
||||
{
|
||||
|
||||
import flash.geom.Rectangle;
|
||||
|
||||
[API("661")]
|
||||
public class NativeWindowBoundsEvent extends Event
|
||||
{
|
||||
public static const MOVING:String = "moving";
|
||||
public static const MOVE:String = "move";
|
||||
public static const RESIZING:String = "resizing";
|
||||
public static const RESIZE:String = "resize";
|
||||
|
||||
// The bounds of the window before the change.
|
||||
private var _beforeBounds:Rectangle;
|
||||
|
||||
// The bounds of the window after the change.
|
||||
private var _afterBounds:Rectangle;
|
||||
|
||||
public function NativeWindowBoundsEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, beforeBounds:Rectangle = null, afterBounds:Rectangle = null)
|
||||
{
|
||||
super(type, bubbles, cancelable);
|
||||
this._beforeBounds = beforeBounds;
|
||||
this._afterBounds = afterBounds;
|
||||
}
|
||||
|
||||
// [override] Creates a copy of the NativeWindowBoundsEvent object and sets the value of each property to match that of the original.
|
||||
override public function clone():Event
|
||||
{
|
||||
return new NativeWindowBoundsEvent(this.type, this.bubbles, this.cancelable, this.beforeBounds, this.afterBounds);
|
||||
}
|
||||
|
||||
// [override] Returns a string that contains all the properties of the NativeWindowBoundsEvent object.
|
||||
override public function toString():String
|
||||
{
|
||||
// According to the documentation, the format should be:
|
||||
// [NativeWindowBoundsEvent type=value bubbles=value cancelable=value previousDisplayState=value currentDisplayState=value]
|
||||
// but it seems that previousDisplayState and currentDisplayState doesn't exist.
|
||||
// It's likely a mistake in the documentation.
|
||||
return this.formatToString("NativeWindowBoundsEvent", "type", "bubbles", "cancelable", "beforeBounds", "afterBounds");
|
||||
}
|
||||
|
||||
public function get beforeBounds():Rectangle
|
||||
{
|
||||
return this._beforeBounds;
|
||||
}
|
||||
|
||||
public function get afterBounds():Rectangle
|
||||
{
|
||||
return this._afterBounds;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
// The initial version of this file was autogenerated from the official AS3 reference at
|
||||
// https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/NativeWindowDisplayStateEvent.html
|
||||
// by https://github.com/golfinq/ActionScript_Event_Builder
|
||||
// It won't be regenerated in the future, so feel free to edit and/or fix
|
||||
|
||||
package flash.events
|
||||
{
|
||||
[API("661")]
|
||||
public class NativeWindowDisplayStateEvent extends Event
|
||||
{
|
||||
public static const DISPLAY_STATE_CHANGING:String = "displayStateChanging";
|
||||
public static const DISPLAY_STATE_CHANGE:String = "displayStateChange";
|
||||
|
||||
// The display state of the NativeWindow before the change.
|
||||
private var _beforeDisplayState:String;
|
||||
|
||||
// The display state of the NativeWindow after the change.
|
||||
private var _afterDisplayState:String;
|
||||
|
||||
public function NativeWindowDisplayStateEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, beforeDisplayState:String = "", afterDisplayState:String = "")
|
||||
{
|
||||
super(type, bubbles, cancelable);
|
||||
this._beforeDisplayState = beforeDisplayState;
|
||||
this._afterDisplayState = afterDisplayState;
|
||||
}
|
||||
|
||||
// [override] Creates a copy of the NativeWindowDisplayStateEvent object and sets the value of each property to match that of the original.
|
||||
override public function clone():Event
|
||||
{
|
||||
return new NativeWindowDisplayStateEvent(this.type, this.bubbles, this.cancelable, this.beforeDisplayState, this.afterDisplayState);
|
||||
}
|
||||
|
||||
// [override] Returns a string that contains all the properties of the NativeWindowDisplayStateEvent object.
|
||||
override public function toString():String
|
||||
{
|
||||
return this.formatToString("NativeWindowDisplayStateEvent", "type", "bubbles", "cancelable", "beforeDisplayState", "afterDisplayState");
|
||||
}
|
||||
|
||||
public function get beforeDisplayState():String
|
||||
{
|
||||
return this._beforeDisplayState;
|
||||
}
|
||||
|
||||
public function get afterDisplayState():String
|
||||
{
|
||||
return this._afterDisplayState;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -60,6 +60,10 @@ include "flash/desktop/IFilePromise.as"
|
|||
include "flash/desktop/NativeProcess.as"
|
||||
include "flash/desktop/NativeProcessStartupInfo.as"
|
||||
|
||||
include "flash/desktop/Icon.as"
|
||||
include "flash/desktop/InteractiveIcon.as"
|
||||
include "flash/desktop/NativeApplication.as"
|
||||
|
||||
include "flash/display/IBitmapDrawable.as"
|
||||
include "flash/display/DisplayObject.as"
|
||||
include "flash/display/Bitmap.as"
|
||||
|
@ -103,6 +107,11 @@ include "flash/display/LineScaleMode.as"
|
|||
include "flash/display/MorphShape.as"
|
||||
include "flash/display/NativeMenu.as"
|
||||
include "flash/display/NativeMenuItem.as"
|
||||
include "flash/display/NativeWindowDisplayState.as"
|
||||
include "flash/display/NativeWindowSystemChrome.as"
|
||||
include "flash/display/NativeWindowType.as"
|
||||
include "flash/display/NativeWindowInitOptions.as"
|
||||
include "flash/display/NativeWindow.as"
|
||||
include "flash/display/PixelSnapping.as"
|
||||
include "flash/display/PNGEncoderOptions.as"
|
||||
include "flash/display/Scene.as"
|
||||
|
@ -188,7 +197,10 @@ include "flash/events/GameInputEvent.as"
|
|||
include "flash/events/GesturePhase.as"
|
||||
include "flash/events/HTTPStatusEvent.as"
|
||||
include "flash/events/IOErrorEvent.as"
|
||||
include "flash/events/InvokeEvent.as"
|
||||
include "flash/events/KeyboardEvent.as"
|
||||
include "flash/events/NativeWindowBoundsEvent.as"
|
||||
include "flash/events/NativeWindowDisplayStateEvent.as"
|
||||
include "flash/events/NetDataEvent.as"
|
||||
include "flash/events/NetFilterEvent.as"
|
||||
include "flash/events/NetStatusEvent.as"
|
||||
|
|
|
@ -206,7 +206,7 @@ impl App {
|
|||
let viewport_scale_factor = self.window.scale_factor();
|
||||
player.set_viewport_dimensions(ViewportDimensions {
|
||||
width: size.width,
|
||||
height: size.height - height_offset as u32,
|
||||
height: size.height.saturating_sub(height_offset as u32),
|
||||
scale_factor: viewport_scale_factor,
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue