nim-staticglfw/examples/draganddrop.nim
Joey Yakimowich-Payne d270e2b9fb Initial wrapper commit
2021-05-22 17:10:27 -06:00

41 lines
943 B
Nim

import staticglfw
import opengl
# Init GLFW
if init() == 0:
raise newException(Exception, "Failed to Initialize GLFW")
# Open window.
var window = createWindow(800, 600, "GLFW3 WINDOW", nil, nil)
# Connect the GL context.
window.makeContextCurrent()
# This must be called to make any GL function work
loadExtensions()
proc dropCallback(window: Window, count: cint, paths: cstringArray) {.cdecl.} =
echo "dropCallback"
for i in 0 ..< count:
echo paths[i]
window.setDropCallback(dropCallback)
# Run while window is open.
while windowShouldClose(window) == 0:
# Draw red color screen.
glClearColor(1, 0, 0, 1)
glClear(GL_COLOR_BUFFER_BIT)
# Swap buffers (this will display the red color)
window.swapBuffers()
# Check for events.
pollEvents()
# If you get ESC key quit.
if window.getKey(KEY_ESCAPE) == 1:
window.setWindowShouldClose(1)
# Destroy the window.
window.destroyWindow()
# Exit GLFW.
terminate()