- Move window initialization and font loading to stateInit() - Window now opens before splash screens (required for rendering) - Custom font loaded in stateInit for splash screen use - Remove RL.config() call from luaCallMain() (window already initialized) - Remove stateContextInit() call (initialization now done in stateInit) - Add hasWindow, customFontLoaded, resolution fields to State - Fix memory management for custom font in stateFree() This matches the ReiLua-JamVersion architecture where the window is opened early so splash screens can render properly.
29 lines
750 B
Lua
29 lines
750 B
Lua
local textColor = RL.BLACK
|
|
local textPos = { 192, 200 }
|
|
local textSize = 20
|
|
local text = "Congrats! You created your first window!"
|
|
|
|
function RL.init()
|
|
RL.SetWindowTitle( "First window" )
|
|
RL.SetWindowState( RL.FLAG_VSYNC_HINT )
|
|
end
|
|
|
|
function RL.update( delta )
|
|
if RL.IsKeyPressed( RL.KEY_ENTER ) then
|
|
local winSize = RL.GetScreenSize()
|
|
local measuredSize = RL.MeasureTextEx( RL.GetFontDefault(), text, textSize, 2 )
|
|
|
|
textColor = RL.BLUE
|
|
textPos = { winSize[1] / 2 - measuredSize[1] / 2, winSize[2] / 2 - measuredSize[2] / 2 }
|
|
end
|
|
|
|
if RL.IsKeyPressed( RL.KEY_SPACE ) then
|
|
textColor = RL.RED
|
|
textPos = { 192, 200 }
|
|
end
|
|
end
|
|
|
|
function RL.draw()
|
|
RL.ClearBackground( RL.RAYWHITE )
|
|
RL.DrawText( text, textPos, textSize, textColor )
|
|
end |