mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-27 06:20:02 +00:00
Keep hidden 3D views from covering the open view
A 3D view asked for a frame while its card was hidden, for example when the sidebar resized, showed its GPU window again. AWT maps a shown canvas even under a hidden parent, so the window covered the open view in black. Frames only go into the window while the view is on screen. Model used: Opus 5.5
This commit is contained in:
1 parent
6900f270ee
commit
e3bc27d50c
1 file changed
+5
-4
@@ -354,8 +354,9 @@ final class OrbitViewport extends JComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Frames go straight into the window when the scene can be drawn that way, Swing has nothing to paint over the
|
* Frames go straight into the window when the view is on screen, the scene can be drawn that way, Swing has nothing
|
||||||
* whole view, and the screen's pixels are the view's own. The window is shown before the frame is drawn into it.
|
* to paint over the whole view, and the screen's pixels are the view's own. The window is shown before the frame is
|
||||||
|
* drawn into it. Showing it maps it even while its card is hidden, where it would cover the card that is open.
|
||||||
*
|
*
|
||||||
* @return the window, or nothing to draw a picture for Swing instead
|
* @return the window, or nothing to draw a picture for Swing instead
|
||||||
*/
|
*/
|
||||||
@@ -370,8 +371,8 @@ final class OrbitViewport extends JComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean drawsOnScreen() {
|
private boolean drawsOnScreen() {
|
||||||
return canvas != null && canvas.window() != 0L && scene != null && !scene.isEmpty() && scene.canRenderOnScreen()
|
return canvas != null && isShowing() && canvas.window() != 0L && scene != null && !scene.isEmpty()
|
||||||
&& !isLoadingShown() && hasUnscaledPixels();
|
&& scene.canRenderOnScreen() && !isLoadingShown() && hasUnscaledPixels();
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean hasUnscaledPixels() {
|
private boolean hasUnscaledPixels() {
|
||||||
|
|||||||
Reference in new issue
Block a user