1- // package uno
1+ // package uno.awt
22//
3- // import com.jogamp.newt.opengl.GLWindow
4- // import com.jogamp.opengl.GLAutoDrawable
5- // import com.jogamp.opengl.GLCapabilities
6- // import com.jogamp.opengl.GLEventListener
7- // import com.jogamp.opengl.GLProfile
8- // import com.jogamp.opengl.util.Animator
9- // import glm_.func.rad
10- // import glm_.mat4x4.Mat4
11- // import io.kotlintest.specs.StringSpec
12- // import uno.glm.MatrixStack
13- // import uno.glsl.Program
3+ // import org.lwjgl.opengl.GL30C
4+ // import java.awt.*
5+ // import java.awt.event.KeyAdapter
6+ // import java.awt.event.KeyEvent
7+ // import javax.swing.*
8+ // import java.awt.event.WindowAdapter
9+ // import java.awt.event.WindowEvent
10+ // import javax.swing.JPanel
11+ // import kotlin.system.exitProcess
12+ // import javax.swing.RepaintManager
1413//
15- // /**
16- // * Created by GBarbieri on 02.02.2017.
17- // */
1814//
1915//
20- // class Test : StringSpec() {
16+ //
17+ // lateinit var test: Test
18+ //
19+ // fun main() {
20+ // test = Test()
21+ // }
22+ //
23+ // class Test : JFrame() {
24+ //
25+ // lateinit var borderPanel: BorderPanel
26+ // lateinit var centerPanel: CenterPanel
27+ // var viewer: Viewer
2128//
2229// init {
30+ // JFrame.setDefaultLookAndFeelDecorated(false)
31+ // isUndecorated = false
2332//
24- // "test" {
33+ // val rm = RepaintManager.currentManager(this)
34+ // val b = rm.isDoubleBufferingEnabled()
35+ // rm.setDoubleBufferingEnabled(false)
2536//
26- // val parthenonWidth = 14f
27- // val parthenonLength = 20f
28- // val parthenonColumnHeight = 5f
29- // val parthenonBaseHeight = 1f
30- // val parthenonTopHeight = 2f
37+ // // Set Look & Feel
38+ // UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())
3139//
32- // val stack = MatrixStack ()
40+ // initComponents ()
3341//
42+ // addWindowListener(object : WindowAdapter() {
43+ // override fun windowClosing(event: WindowEvent) = println("windowClosing")
44+ // })
3445//
35- // val a = stack
36- // .translate(20f, 0f, -10f)
37- // .translate(
38- // 0f,
39- // parthenonColumnHeight + parthenonBaseHeight + parthenonTopHeight / 2f,
40- // parthenonLength / 2f)
41- // .rotateX(-135f)
42- // .top()
43- // // .rotateY(45f)
46+ // JPopupMenu.setDefaultLightWeightPopupEnabled(false)
4447//
45- // val top = stack.top()
48+ // viewer = Viewer().apply {
49+ // isVisible = true
50+ // size = Dimension(500,500)
51+ // }
52+ // centerPanel.add(viewer, BorderLayout.CENTER)
4653//
47- // val b = Mat4()
48- // .translateAssign(20f, 0f, -10f)
49- // .translateAssign(
50- // 0f,
51- // parthenonColumnHeight + parthenonBaseHeight + parthenonTopHeight / 2f,
52- // parthenonLength / 2f)
53- // .rotate((-135f).rad, 1f, 0f, 0f)
54+ // size = Dimension(500, 500)
55+ // location = Point(100, 50)
56+ // isVisible = true
5457//
55- // // for(i in 0 until 16){
56- // // println("a "+a[i])
57- // //// println("b "+b[i])
58- // // }
5958//
60- // // .rotate_(45f, 0f, 1f, 0f)
59+ // }
6160//
62- // println()
61+ // fun makeScreenShot(){
62+ // viewer.renderImmediatly()
63+ // System.err.println("1")
64+ // viewer.renderImmediatly()
65+ // System.err.println("2")
66+ // viewer.renderImmediatly()
67+ // System.err.println("3")
6368//
64- // // val app = App()
65- // //
66- // // window.addGLEventListener(app)
67- // // window.isVisible = true
68- // //
69- // // animator.start()
70- // }
7169// }
72- // }
7370//
74- // val window: GLWindow = GLWindow.create(GLCapabilities(GLProfile.get(GLProfile.GL3)))
75- // val animator = Animator(window)
71+ // fun initComponents() {
7672//
77- // class App : GLEventListener {
73+ // borderPanel = BorderPanel().apply { size = Dimension(50, 50) }
74+ // centerPanel = CenterPanel().apply {
75+ // size = Dimension(50, 50)
76+ // }
7877//
79- // override fun init(drawable: GLAutoDrawable) {
78+ // defaultCloseOperation = WindowConstants.DISPOSE_ON_CLOSE
8079//
81- // val gl = drawable.gl.gL3
80+ // centerPanel.layout = BorderLayout()
81+ // borderPanel.add(centerPanel, BorderLayout.CENTER)
8282//
83- // with(gl) {
83+ // contentPane.add(borderPanel, BorderLayout.CENTER)
8484//
85- // // val program = ShaderProgram()
86- // //
87- // // val vert = shaderCodeOf("main/shader.vert", gl, this::class.java)
88- // // val frag = shaderCodeOf("main/shader.frag", gl, this::class.java)
89- // //
90- // // program.add(gl, vert, System.err)
91- // // program.add(gl, frag, System.err)
92- // //
93- // // program.link(gl, System.err)
85+ // pack()
9486//
95- // val a = Program(gl, this::class.java, "main", "shader.vert", "shader.frag", "matrix", "myTexture")
96- // val b = Program(gl, this::class.java, "main/shader.vert", "main/shader.frag", "matrix", "myTexture")
87+ // borderPanel.isVisible = true
88+ // centerPanel.isVisible = true
89+ // }
9790//
98- // println("ok")
91+ // override fun paint(g: Graphics) {
92+ // super.paint(g)
93+ // println("[Test] paint")
94+ // }
95+ // }
9996//
100- // // println("a ${javaClass.classLoader.getResource("shader.vert").toString()}")
101- // // println("b ${Uri.valueOf(javaClass.getResource("shader.vert"))}")
102- // // val program = Program(this, javaClass, arrayOf("shader.vert", "shader.frag"))
103- // }
97+ // class CenterPanel : JPanel() {
98+ // override fun paint(g: Graphics) {
99+ // super.paint(g)
100+ // test.viewer.paint(g)
101+ // println("[CenterPanel] paint")
104102// }
103+ // }
105104//
106- // override fun reshape(drawable: GLAutoDrawable, x: Int, y: Int, width: Int, height: Int) {
107- // animator.remove(window)
108- // window.destroy()
105+ // class BorderPanel : JPanel() {
106+ // override fun paint(g: Graphics) {
107+ // super.paint(g)
108+ // println("[BorderPanel] paint")
109109// }
110+ // }
110111//
111- // override fun display(drawable: GLAutoDrawable) {}
112+ // class Viewer : LwjglCanvas() {
113+ // var count = 0;
114+ // var halloCount = 0;
115+ // init {
116+ // animated = false
117+ // focusTraversalKeysEnabled = false
118+ // val rm = RepaintManager.currentManager(this)
119+ // val b = rm.isDoubleBufferingEnabled()
120+ // rm.setDoubleBufferingEnabled(false)
121+ //
122+ // addKeyListener(object : KeyAdapter() {
123+ // override fun keyPressed(e: KeyEvent) {
124+ // println("keyPressed")
125+ // if (e.keyCode == KeyEvent.VK_F10) {
126+ // (test.centerPanel as JComponent).paintImmediately(0, 0, 500, 500)
127+ // } else if (e.keyCode == KeyEvent.VK_F11){
128+ //
129+ // test.makeScreenShot()
130+ //
131+ // } else if (e.keyCode == KeyEvent.VK_ESCAPE)
132+ // exitProcess(0)
133+ // }
134+ // })
135+ // }
112136//
113- // override fun dispose(drawable: GLAutoDrawable) = System.exit(0)
137+ // fun renderImmediatly(){
138+ // val g = test.viewer.graphics;
139+ // if(g != null) {
140+ // halloCount++
141+ // test.viewer.paint(g)
142+ //
143+ // //g.clearRect(0,0,500,500)
144+ // //g.drawString(" HALLO!"+ halloCount, 350, 250);
145+ // g.dispose()
146+ // }
147+ // }
148+ //
149+ // override fun render() {
150+ // val time = System.currentTimeMillis()
151+ // GL30C.glClearColor((time % 1000) / 1000f, 0.5f, 0f, 1f)
152+ // GL30C.glClear(GL_COLOR_BUFFER_BIT.i)
153+ // }
114154// }
0 commit comments