From 3e84da036f05e19f7dea059d2317dd0504f0df04 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Fri, 17 Mar 2023 12:50:31 +0100 Subject: [PATCH] avm2: Implement GraphicsBitmapFill --- core/src/avm2/globals.rs | 3 +++ .../flash/display/GraphicsBitmapFill.as | 18 ++++++++++++++++++ core/src/avm2/globals/globals.as | 1 + 3 files changed, 22 insertions(+) create mode 100644 core/src/avm2/globals/flash/display/GraphicsBitmapFill.as diff --git a/core/src/avm2/globals.rs b/core/src/avm2/globals.rs index e2f4bac33..5b7d554f0 100644 --- a/core/src/avm2/globals.rs +++ b/core/src/avm2/globals.rs @@ -70,6 +70,7 @@ pub struct SystemClasses<'gc> { pub textformat: ClassObject<'gc>, pub graphics: ClassObject<'gc>, pub igraphicsdata: ClassObject<'gc>, + pub graphicsbitmapfill: ClassObject<'gc>, pub loaderinfo: ClassObject<'gc>, pub bytearray: ClassObject<'gc>, pub stage: ClassObject<'gc>, @@ -170,6 +171,7 @@ impl<'gc> SystemClasses<'gc> { textformat: object, graphics: object, igraphicsdata: object, + graphicsbitmapfill: object, loaderinfo: object, bytearray: object, stage: object, @@ -628,6 +630,7 @@ fn load_playerglobal<'gc>( ("flash.display", "Scene", scene), ("flash.display", "FrameLabel", framelabel), ("flash.display", "IGraphicsData", igraphicsdata), + ("flash.display", "GraphicsBitmapFill", graphicsbitmapfill), ("flash.display", "Graphics", graphics), ("flash.display", "LoaderInfo", loaderinfo), ("flash.display", "MovieClip", movieclip), diff --git a/core/src/avm2/globals/flash/display/GraphicsBitmapFill.as b/core/src/avm2/globals/flash/display/GraphicsBitmapFill.as new file mode 100644 index 000000000..0f7d1d929 --- /dev/null +++ b/core/src/avm2/globals/flash/display/GraphicsBitmapFill.as @@ -0,0 +1,18 @@ +package flash.display { + +import flash.geom.Matrix; + + public final class GraphicsBitmapFill implements IGraphicsFill, IGraphicsData { + public var bitmapData : BitmapData; + public var matrix : Matrix; + public var repeat : Boolean; + public var smooth : Boolean; + + public function GraphicsBitmapFill(bitmapData:BitmapData = null, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false) { + this.bitmapData = bitmapData; + this.matrix = matrix; + this.repeat = repeat; + this.smooth = smooth; + } + } +} \ No newline at end of file diff --git a/core/src/avm2/globals/globals.as b/core/src/avm2/globals/globals.as index ed1ddf69d..fa2e2749e 100644 --- a/core/src/avm2/globals/globals.as +++ b/core/src/avm2/globals/globals.as @@ -58,6 +58,7 @@ include "flash/display/IGraphicsStroke.as" include "flash/display/IGraphicsFill.as" include "flash/display/IGraphicsPath.as" include "flash/display/IGraphicsData.as" +include "flash/display/GraphicsBitmapFill.as" include "flash/display/GraphicsPathCommand.as" include "flash/display/GraphicsPathWinding.as" include "flash/display/InterpolationMethod.as"