mirror of
https://gitlab.com/cc-ru/ocelot/ocelot-desktop.git
synced 2026-01-08 20:22:37 +01:00
parent
5d5c003e65
commit
4d598e1da2
@ -8,7 +8,7 @@ import org.lwjgl.opengl.{ARBFramebufferObject, GL11, GL21, GL30}
|
||||
|
||||
import scala.collection.mutable
|
||||
|
||||
class Viewport3D(val width: Int, var height: Int) extends Resource with Logging {
|
||||
class Viewport3D(width: Int, height: Int) extends Resource with Logging {
|
||||
private[graphics] val textureColor = new Texture(width, height, GL21.GL_SRGB8, GL11.GL_UNSIGNED_BYTE, GL11.GL_RGB)
|
||||
private val textureDepth = new Texture(width, height, GL11.GL_DEPTH_COMPONENT, GL11.GL_FLOAT)
|
||||
|
||||
|
||||
@ -27,7 +27,11 @@ abstract class Viewport3DWidget extends Widget with DragHandler with HoverHandle
|
||||
|
||||
protected def createScene(): Scene3D
|
||||
|
||||
private lazy val viewport = new Viewport3D(600, 400)
|
||||
// XXX: the viewport's dimensions must be kept outside the viewport object itself: see #121
|
||||
private val viewportWidth = 600
|
||||
private val viewportHeight = 400
|
||||
|
||||
private lazy val viewport = new Viewport3D(viewportWidth, viewportHeight)
|
||||
private var viewportDisposed = false // extra safety
|
||||
|
||||
protected val camera: Camera3D = new Camera3D()
|
||||
@ -55,14 +59,14 @@ abstract class Viewport3DWidget extends Widget with DragHandler with HoverHandle
|
||||
|
||||
override protected val layout: Layout = new CopyLayout(this)
|
||||
|
||||
override def minimumSize: Size2D = Size2D(viewport.width + 4, viewport.height + 4)
|
||||
override def minimumSize: Size2D = Size2D(viewportWidth + 4, viewportHeight + 4)
|
||||
|
||||
override def maximumSize: Size2D = Size2D(viewport.width + 4, viewport.height + 4)
|
||||
override def maximumSize: Size2D = Size2D(viewportWidth + 4, viewportHeight + 4)
|
||||
|
||||
children :+= new PaddingBox(new Widget {
|
||||
override def minimumSize: Size2D = Size2D(viewport.width, viewport.height)
|
||||
override def minimumSize: Size2D = Size2D(viewportWidth, viewportHeight)
|
||||
|
||||
override def maximumSize: Size2D = Size2D(viewport.width, viewport.height)
|
||||
override def maximumSize: Size2D = Size2D(viewportWidth, viewportHeight)
|
||||
|
||||
override def draw(g: Graphics): Unit = {
|
||||
DrawUtils.panel(g, bounds.x - 2, bounds.y - 2, bounds.w + 4, bounds.h + 4)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user