[Jrisk-cvs] SF.net SVN: domination-code:[2700] Domination/sharedUI/src_mini_game_ui/ net/yura/domin
Brought to you by:
yuranet
|
From: <yu...@us...> - 2025-11-23 00:52:40
|
Revision: 2700
http://sourceforge.net/p/domination/code/2700
Author: yuranet
Date: 2025-11-23 00:52:37 +0000 (Sun, 23 Nov 2025)
Log Message:
-----------
support any border with EdgeToEdgeBorder
Modified Paths:
--------------
Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java
Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java
Added Paths:
-----------
Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/EdgeToEdgeBorder.java
Removed Paths:
-------------
Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/EdgeToEdgeTintBorder.java
Copied: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/EdgeToEdgeBorder.java (from rev 2699, Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/EdgeToEdgeTintBorder.java)
===================================================================
--- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/EdgeToEdgeBorder.java (rev 0)
+++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/EdgeToEdgeBorder.java 2025-11-23 00:52:37 UTC (rev 2700)
@@ -0,0 +1,75 @@
+package net.yura.domination.mobile.flashgui;
+
+import net.yura.domination.engine.ColorUtil;
+import net.yura.mobile.gui.DesktopPane;
+import net.yura.mobile.gui.Graphics2D;
+import net.yura.mobile.gui.border.Border;
+import net.yura.mobile.gui.border.MatteBorder;
+import net.yura.mobile.gui.components.Component;
+
+public class EdgeToEdgeBorder implements Border {
+
+ private final Border border;
+
+ public EdgeToEdgeBorder(Border border) {
+ this.border = border;
+ }
+
+ public EdgeToEdgeBorder(int color) {
+ MatteBorder tint = new MatteBorder(0, 0, 0, 0, color);
+ tint.paintCenter = true;
+ border = tint;
+ }
+
+ public void paintBorder(Component cmpnt, Graphics2D g, int w, int h) {
+
+ DesktopPane dp = cmpnt.getDesktopPane();
+ int xOnScreen = cmpnt.getXOnScreen();
+ int yOnScreen = cmpnt.getYOnScreen();
+ int rOnScreen = xOnScreen + w;
+ int bOnScreen = yOnScreen + h;
+
+ boolean fillLeft = xOnScreen == 0;
+ boolean fillTop = yOnScreen == 0;
+ boolean fillRight = rOnScreen == dp.getWidth();
+ boolean fillBottom = bOnScreen == dp.getHeight();
+
+ int clipXOnScreen = xOnScreen + g.getClipX();
+ int clipYOnScreen = yOnScreen + g.getClipY();
+ int clipROnScreen = clipXOnScreen + g.getClipWidth();
+ int clipBOnScreen = clipYOnScreen + g.getClipHeight();
+
+ int startX = (fillLeft && clipXOnScreen < 0) ? clipXOnScreen: 0;
+ int startY = (fillTop && clipYOnScreen < 0) ? clipYOnScreen: 0;
+ int width = ((fillRight && clipROnScreen > rOnScreen) ? clipROnScreen - xOnScreen : w) - startX;
+ int height = ((fillBottom && clipBOnScreen > bOnScreen) ? clipBOnScreen - yOnScreen : h) - startY;
+
+ g.translate(startX, startY);
+ border.paintBorder(cmpnt, g, width, height);
+ g.translate(-startX, -startY);
+
+ // for debugging:
+ //g.setColor(0xFFFF0000);
+ //g.drawRect(startX, startY, width-1, height-1);
+ }
+
+ public int getTop() {
+ return 0;
+ }
+
+ public int getBottom() {
+ return 0;
+ }
+
+ public int getRight() {
+ return 0;
+ }
+
+ public int getLeft() {
+ return 0;
+ }
+
+ public boolean isBorderOpaque() {
+ return border.isBorderOpaque();
+ }
+}
Deleted: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/EdgeToEdgeTintBorder.java
===================================================================
--- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/EdgeToEdgeTintBorder.java 2025-11-23 00:10:46 UTC (rev 2699)
+++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/EdgeToEdgeTintBorder.java 2025-11-23 00:52:37 UTC (rev 2700)
@@ -1,67 +0,0 @@
-package net.yura.domination.mobile.flashgui;
-
-import net.yura.domination.engine.ColorUtil;
-import net.yura.mobile.gui.DesktopPane;
-import net.yura.mobile.gui.Graphics2D;
-import net.yura.mobile.gui.border.Border;
-import net.yura.mobile.gui.components.Component;
-
-public class EdgeToEdgeTintBorder implements Border {
-
- private final int color;
-
- public EdgeToEdgeTintBorder(int color) {
- this.color = color;
- }
-
- public void paintBorder(Component cmpnt, Graphics2D g, int w, int h) {
-
- DesktopPane dp = cmpnt.getDesktopPane();
- int xOnScreen = cmpnt.getXOnScreen();
- int yOnScreen = cmpnt.getYOnScreen();
- int rOnScreen = xOnScreen + cmpnt.getWidth();
- int bOnScreen = yOnScreen + cmpnt.getHeight();
-
- boolean fillLeft = xOnScreen == 0;
- boolean fillTop = yOnScreen == 0;
- boolean fillRight = rOnScreen == dp.getWidth();
- boolean fillBottom = bOnScreen == dp.getHeight();
-
- int clipXOnScreen = xOnScreen + g.getClipX();
- int clipYOnScreen = yOnScreen + g.getClipY();
- int clipROnScreen = clipXOnScreen + g.getClipWidth();
- int clipBOnScreen = clipYOnScreen + g.getClipHeight();
-
- int startX = (fillLeft && clipXOnScreen < 0) ? clipXOnScreen: 0;
- int startY = (fillTop && clipYOnScreen < 0) ? clipYOnScreen: 0;
- int width = ((fillRight && clipROnScreen > rOnScreen) ? clipROnScreen - xOnScreen : w) - startX;
- int height = ((fillBottom && clipBOnScreen > bOnScreen) ? clipBOnScreen - yOnScreen : h) - startY;
-
- g.setColor(color);
- g.fillRect(startX, startY, width, height);
-
- // for debugging:
- //g.setColor(0xFFFF0000);
- //g.drawRect(startX, startY, width-1, height-1);
- }
-
- public int getTop() {
- return 0;
- }
-
- public int getBottom() {
- return 0;
- }
-
- public int getRight() {
- return 0;
- }
-
- public int getLeft() {
- return 0;
- }
-
- public boolean isBorderOpaque() {
- return ColorUtil.getAlpha(color) == 255;
- }
-}
Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java
===================================================================
--- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2025-11-23 00:10:46 UTC (rev 2699)
+++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2025-11-23 00:52:37 UTC (rev 2700)
@@ -61,7 +61,6 @@
import net.yura.mobile.util.Properties;
import net.yura.mobile.util.Url;
import net.yura.swingme.core.CoreUtil;
-import net.yura.swingme.core.LoadingScreen;
import net.yura.swingme.core.ViewChooser;
/**
@@ -201,7 +200,7 @@
Panel gamecontrol = new Panel( new BorderLayout() );
//gamecontrol.setName("TransPanel");
- gamecontrol.setBorder(new EdgeToEdgeTintBorder(0xAA000000));
+ gamecontrol.setBorder(new EdgeToEdgeBorder(0xAA000000));
closebutton = new Button();
closebutton.setIcon( new Icon("/back.png") );
@@ -297,7 +296,7 @@
Panel gamepanel2 = new Panel( new GridBagLayout(3, g, g, g, g, g) );
//gamepanel2.setName("TransPanel");
- gamepanel2.setBorder(new EdgeToEdgeTintBorder(0xAA000000));
+ gamepanel2.setBorder(new EdgeToEdgeBorder(0xAA000000));
GridBagConstraints gc = new GridBagConstraints();
gc.rowSpan = 2;
Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java
===================================================================
--- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java 2025-11-23 00:10:46 UTC (rev 2699)
+++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java 2025-11-23 00:52:37 UTC (rev 2700)
@@ -46,7 +46,7 @@
public static final Border background;
static {
Image bkg = Application.createImage("/war_blood.png");
- background = bkg == null ? null : new BackgroundBorder(bkg);
+ background = bkg == null ? null : new EdgeToEdgeBorder(new BackgroundBorder(bkg));
}
public MainMenu(Risk risk,MiniFlashRiskAdapter controller) {
|