avm2: Add missing overrides to Stage

Stage overrides some properties from its super classes.
Some of them are currently identical in Ruffle,
but in FP they are used for e.g. security checks.
This commit is contained in:
Kamil Jarosz 2024-04-23 12:21:47 +02:00 committed by Nathan Adams
parent f01cb99d1a
commit 83d5d18a20
1 changed files with 79 additions and 1 deletions

View File

@ -5,9 +5,11 @@ package flash.display {
import flash.display.ColorCorrection;
import flash.display.ColorCorrectionSupport;
import flash.errors.IllegalOperationError;
import flash.events.Event;
import flash.filters.BitmapFilter;
import flash.geom.Rectangle;
import flash.geom.Transform;
import flash.text.TextSnapshot;
import flash.ui.ContextMenu;
[Ruffle(NativeInstanceInit)]
@ -22,6 +24,18 @@ package flash.display {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function addChild(child:DisplayObject):DisplayObject {
return super.addChild(child);
}
override public function addChildAt(child:DisplayObject, index:int):DisplayObject {
return super.addChildAt(child, index);
}
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void {
super.addEventListener(type, listener, useCapture, priority, useWeakReference);
}
override public function set alpha(value:Number):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
@ -38,6 +52,10 @@ package flash.display {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function dispatchEvent(event:Event):Boolean {
return super.dispatchEvent(event);
}
override public function set filters(value:Array):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
@ -46,6 +64,18 @@ package flash.display {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function hasEventListener(type:String):Boolean {
return super.hasEventListener(type);
}
override public function get height():Number {
return super.height;
}
override public function set height(value:Number):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
public function set loaderInfo(value:LoaderInfo):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
@ -54,6 +84,14 @@ package flash.display {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function get mouseChildren():Boolean {
return super.mouseChildren;
}
override public function set mouseChildren(value:Boolean):void {
super.mouseChildren = value;
}
override public function set mouseEnabled(value:Boolean):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
@ -61,15 +99,23 @@ package flash.display {
override public function get name():String {
return null;
}
override public function set name(value:String):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function get numChildren():int {
return super.numChildren;
}
override public function set opaqueBackground(value:Object):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function removeChildAt(index:int):DisplayObject {
return super.removeChildAt(index);
}
override public function set rotation(value:Number):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
@ -90,6 +136,22 @@ package flash.display {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function setChildIndex(child:DisplayObject, index:int):void {
super.setChildIndex(child, index);
}
override public function swapChildrenAt(index1:int, index2:int):void {
super.swapChildrenAt(index1, index2);
}
override public function get tabChildren():Boolean {
return super.tabChildren;
}
override public function set tabChildren(value:Boolean):void {
super.tabChildren = value;
}
override public function set tabEnabled(value:Boolean):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
@ -98,6 +160,10 @@ package flash.display {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function get textSnapshot():TextSnapshot {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function set transform(value: Transform):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
@ -106,6 +172,18 @@ package flash.display {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function get width():Number {
return super.width;
}
override public function set width(value:Number):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}
override public function willTrigger(type:String):Boolean {
return super.willTrigger(type);
}
override public function set x(value:Number):void {
throw new IllegalOperationError("Error #2071: The Stage class does not implement this property or method.", 2071);
}