diff --git a/assets/images/desktop/ui/captionButtons.png b/assets/images/desktop/ui/captionButtons.png index c0e1caef..d5e2dff2 100644 Binary files a/assets/images/desktop/ui/captionButtons.png and b/assets/images/desktop/ui/captionButtons.png differ diff --git a/buildnumber.txt b/buildnumber.txt index ddc27b0c..45b1ccee 100644 --- a/buildnumber.txt +++ b/buildnumber.txt @@ -1 +1 @@ -739 \ No newline at end of file +741 \ No newline at end of file diff --git a/source/funkin/desktop/windows/Window.hx b/source/funkin/desktop/windows/Window.hx index fffe9d1b..9e301d4c 100644 --- a/source/funkin/desktop/windows/Window.hx +++ b/source/funkin/desktop/windows/Window.hx @@ -77,7 +77,7 @@ class Window extends FlxTypedGroup { caption = new FlxUIText(24, 4, 0, content.title); captionButtons = new FlxTypedSpriteGroup(); - for(i in 0...3) { + for(i in 0...4) { var btn = new WindowCaptionButton(this, i); btn.x = (i+1) * -(DesktopMain.theme.captionButtons.size.x + DesktopMain.theme.captionButtons.margin.x); captionButtons.add(btn); diff --git a/source/funkin/desktop/windows/WindowCaptionButton.hx b/source/funkin/desktop/windows/WindowCaptionButton.hx index 1ac3627a..bc4a95d5 100644 --- a/source/funkin/desktop/windows/WindowCaptionButton.hx +++ b/source/funkin/desktop/windows/WindowCaptionButton.hx @@ -6,6 +6,8 @@ class WindowCaptionButton extends FlxSprite { public var icon:FlxSprite; public var window:Window; + public static var anims:Array = ["minimize", "maximize", "close", "restore", "help"]; + public function new(window:Window, i:Int) { // super(0, 0, "", function() { // switch(i) { @@ -18,8 +20,11 @@ class WindowCaptionButton extends FlxSprite { ID = i; loadGraphic(Paths.image(DesktopMain.theme.captionButtons.sprite), true, Std.int(DesktopMain.theme.captionButtons.size.x), Std.int(DesktopMain.theme.captionButtons.size.y)); - animation.add("button", [for(l in 0...6) i+(l*3)], 0, true); - animation.play("button"); + + for(k=>e in anims) { + animation.add(e, [for(l in 0...6) k + (l * anims.length)], 0, true); + } + animation.play(anims[ID]); // resize(18, 18); // color = (i > 0) ? 0xFF8888FF : 0xFFFF0000; @@ -40,6 +45,8 @@ class WindowCaptionButton extends FlxSprite { switch(ID) { case 0: window.close(); + case 1: + } mouseInput.cancel(); return; diff --git a/source/funkin/desktop/windows/WindowDragHitbox.hx b/source/funkin/desktop/windows/WindowDragHitbox.hx index 3dc8ee02..2a7cc09d 100644 --- a/source/funkin/desktop/windows/WindowDragHitbox.hx +++ b/source/funkin/desktop/windows/WindowDragHitbox.hx @@ -2,6 +2,7 @@ package funkin.desktop.windows; import flixel.FlxG; import flixel.FlxObject; +import flixel.math.FlxMath; import flixel.math.FlxPoint; class WindowDragHitbox extends FlxObject { @@ -34,6 +35,9 @@ class WindowDragHitbox extends FlxObject { if (!parent.moveable) return; if (dragging) { var screenPos = FlxG.mouse.getScreenPosition(FlxG.camera); + screenPos.x = FlxMath.bound(screenPos.x, 0, FlxG.camera.width); + screenPos.y = FlxMath.bound(screenPos.y, 0, FlxG.camera.height); + if (DesktopMain.instance.mouseInput.justReleased) { dragging = false; offset.put();