feat(renderer): add withVisibleArea method for clipping area in RenderingBo interface

This commit is contained in:
extio-de
2025-12-29 19:48:27 +01:00
parent 09b2b48b6e
commit 2ec9a67dc0
4 changed files with 21 additions and 2 deletions

View File

@@ -117,6 +117,11 @@ public interface RenderingBo extends AutoCloseable {
*/
RenderingBo withPositionRelative(HasPosition2 position);
/**
* Sets a visible area (clipping area) for this rendering bo. Coordinates are absolute viewport coordinates.
*/
RenderingBo withVisibleArea(int x, int y, int width, int height);
void apply(RenderingBo other);
void staticCleanupAfterFrame();

View File

@@ -26,6 +26,5 @@ public interface RenderingBoHasDimension extends RenderingBo {
RenderingBoHasDimension withDimensionIncrementalAbsolute(int width, int height);
RenderingBoHasDimension withDimensionIncrementalPercentual(double width, double height);
RenderingBoHasDimension withVisibleArea(int x, int y, int width, int height);
}

View File

@@ -624,6 +624,11 @@ public class RendererWorkingSetImplTest {
public RenderingBo withPositionRelative(final HasPosition2 position) {
return this;
}
@Override
public RenderingBo withVisibleArea(int x, int y, int width, int height) {
return this;
}
@Override
public void staticCleanupAfterFrame() {

View File

@@ -422,6 +422,11 @@ public class RenderingBoPoolImplTest {
return this;
}
@Override
public RenderingBo withVisibleArea(final int x, final int y, final int width, final int height) {
return this;
}
@Override
public void setRendererData(final RendererData rendererData) {
this.rendererData = rendererData;
@@ -581,6 +586,11 @@ public class RenderingBoPoolImplTest {
return this;
}
@Override
public RenderingBo withVisibleArea(final int x, final int y, final int width, final int height) {
return this;
}
@Override
public void setRendererData(final RendererData rendererData) {
this.rendererData = rendererData;