diff --git a/src/main/java/de/extio/game_engine/renderer/g2d/bo/rendering/G2DDrawEffect.java b/src/main/java/de/extio/game_engine/renderer/g2d/bo/rendering/G2DDrawEffect.java index 08d8bed..d0c6dfc 100644 --- a/src/main/java/de/extio/game_engine/renderer/g2d/bo/rendering/G2DDrawEffect.java +++ b/src/main/java/de/extio/game_engine/renderer/g2d/bo/rendering/G2DDrawEffect.java @@ -215,19 +215,17 @@ public class G2DDrawEffect extends G2DAbstractRenderingBo implements DrawEffectR if (this.cull(area)) { break; } - - final var strength = this.customInt0 <= 0 ? 2 : this.customInt0; - final var effectColor = this.color == null ? Color.WHITE : this.color.toAwtColor(); - - // Use PatternRenderer from ThemeManager + final var themeManager = (G2DThemeManager) this.rendererData.getThemeManager(); final var theme = themeManager.getCurrentTheme(); final PatternRenderer patternRenderer = themeManager.getPatternRenderer(theme.getPatternRendererName()); + final var strength = this.customInt0 <= 0 ? 2 : this.customInt0; + final var effectColor = this.color == null ? theme.getBorderOuter().toColor() : this.color.toAwtColor(); if (patternRenderer != null) { if (this.effect == DrawEffectRenderingBoEffects.DECORATIVE_BORDER) { patternRenderer.drawDecorativeBorder(graphics, area.getPosition().getX(), area.getPosition().getY(), area.getDimension().getX(), area.getDimension().getY(), strength, effectColor); } else { - patternRenderer.drawDecorativeBorderFilled(graphics, area.getPosition().getX(), area.getPosition().getY(), area.getDimension().getX(), area.getDimension().getY(), strength, effectColor, effectColor); + patternRenderer.drawDecorativeBorderFilled(graphics, area.getPosition().getX(), area.getPosition().getY(), area.getDimension().getX(), area.getDimension().getY(), strength, effectColor, theme.getWindowBackground().toColor()); } } diff --git a/src/test/java/de/extio/game_engine/demo/DemoModule.java b/src/test/java/de/extio/game_engine/demo/DemoModule.java index bb7d8f2..7fe2848 100644 --- a/src/test/java/de/extio/game_engine/demo/DemoModule.java +++ b/src/test/java/de/extio/game_engine/demo/DemoModule.java @@ -18,8 +18,11 @@ import de.extio.game_engine.renderer.container.ScrollArea; import de.extio.game_engine.renderer.container.Window; import de.extio.game_engine.renderer.model.RenderingBoLayer; import de.extio.game_engine.renderer.model.bo.ControlRenderingBo; +import de.extio.game_engine.renderer.model.bo.DrawEffectRenderingBo; +import de.extio.game_engine.renderer.model.bo.DrawEffectRenderingBoEffects; import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.ButtonControl; import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.LabelControl; +import de.extio.game_engine.renderer.model.color.RgbaColor; import de.extio.game_engine.renderer.model.bo.DrawFontRenderingBo; import de.extio.game_engine.renderer.model.bo.DrawImageRenderingBo; import de.extio.game_engine.renderer.model.bo.HorizontalAlignment; @@ -394,10 +397,20 @@ public class DemoModule extends AbstractClientModule { bo = this.renderingBoPool.acquire("DemoModule_ScrollAreaWindow_Text_" + i, DrawFontRenderingBo.class) .setText(String.valueOf(i)) .setSize(28) - .setAlignment(HorizontalAlignment.CENTER) + .setAlignment(HorizontalAlignment.LEFT) .withDimensionAbsolute(150, 60) + .setLayer(RenderingBoLayer.UI0) .withPositionRelative(250, y + 22); - this.scrollArea.putRenderingBo(bo); + this.scrollArea.putRenderingBo(bo); + + bo = this.renderingBoPool.acquire("DemoModule_ScrollAreaWindow_Effect_" + i, DrawEffectRenderingBo.class) + .setRelativeCoordinates(List.of(ImmutableCoordI2.create(64, 64))) + .setEffect(DrawEffectRenderingBoEffects.DECORATIVE_BORDER_FILLED) + .setCustomInt0(4) + .setColor(RgbaColor.GRAY) + .setLayer(RenderingBoLayer.UI0) + .withPositionRelative(350, y); + this.scrollArea.putRenderingBo(bo); bo = this.renderingBoPool.acquire("DemoModule_ScrollArea_Button_" + i, ControlRenderingBo.class) .setCaption("Button " + (i + 1))