File: test1.lua

package info (click to toggle)
glfw 2.6-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 3,180 kB
  • ctags: 2,274
  • sloc: ansic: 16,424; sh: 424; asm: 306; makefile: 227; pascal: 86
file content (68 lines) | stat: -rw-r--r-- 1,299 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
--------------------------------------------------------------------------
-- Simple test program testing GLFW and OpenGL from Lua
--------------------------------------------------------------------------


local running = true


-- Key callback function
function keyfun( key, action )
  if action == glfw.RELEASE then
    return
  end

  if key == glfw.KEY_ESC then
    running = false
  end
end


-- Window close callback function
function closefun()
  running = false
  return glfw.TRUE
end


-- Main program and event loop
function main()
    -- Init GLFW
    if glfw.Init() ~= glfw.TRUE then
        return
    end

    -- Open window
    if glfw.OpenWindow( 640,480,0,0,0,0,24,0,glfw.WINDOW ) ~= glfw.TRUE then
        glfw.Terminate()
        return
    end

    -- Set window properties
    glfw.SetWindowTitle( "Hello world!" )
    glfw.Enable( glfw.KEY_REPEAT )
    glfw.SwapInterval( 0 )

    -- Set callback functions
    glfw.SetKeyCallback( "keyfun" );
    glfw.SetWindowCloseCallback( "closefun" );

    while running do
        -- Draw
        gl.ClearColor(0,1,0,0)
        gl.Clear("COLOR_BUFFER_BIT,DEPTH_BUFFER_BIT")

        -- Swap buffers
        glfw.SwapBuffers()
    end

    -- Terminate GLFW
    glfw.Terminate()

    -- Exit program
    return
end


-- Execute!
main()