diff options
Diffstat (limited to 'main.c3')
| -rw-r--r-- | main.c3 | 41 |
1 files changed, 35 insertions, 6 deletions
@@ -1,22 +1,51 @@ -module c3term; +/* +* +* Copyright (C) Andromeda 2026 +* ported from <https://github.com/ColleagueRiley/RSGL/blob/main/examples/basics/rfont.c> +* +*/ + +module main; +import std::io; import rgfw; import rsgl; +import rfont; fn int main(String[] args) { - GlHints* hints = rgfw::getGlobalHints_OpenGL(); + GlHints* hints = rgfw::getGlobalHints(); hints.major = 3; hints.minor = 3; - hints.profile = GlProfile.GL_COMPATIBILITY; - rgfw::setGlobalHints_OpenGL(hints); + hints.profile = GlProfile.COMPATIBILITY; + rgfw::setGlobalHints(hints); + + Window* window = rgfw::createWindow("window title", 0, 0, 800, 400, WindowFlags.CENTER | WindowFlags.NO_RESIZE | WindowFlags.OPENGL); - Window* window = rgfw::createWindow("window title", 0, 0, 800, 400, WindowFlags.WINDOW_CENTER | WindowFlags.WINDOW_NO_RESIZE | WindowFlags.WINDOW_OPENGL); + rsgl::Renderer* renderer = rsgl::renderer_init(rsgl::gl::rendererProc(), &rgfw::getProcAddress); + rsgl::renderer_viewport(renderer, rsgl::@rect(0,0,500,500)); + rsgl::renderer_updateSize(renderer, 500, 500); - Renderer* renderer = rsgl::renderer_init(rsgl::gl_rendererProc(), &rgfw::getProcAddress_OpenGL); + rfont::Renderer* renderer_rfont = rsgl::rfont_renderer_init(renderer); + Font* font = rfont::font_init(renderer_rfont, "COMICSANS.ttf", 60, 500, 500); + + int w; + int h; while (!rgfw::window_shouldClose(window)) { rgfw::pollEvents(); + rgfw::window_getSize(window, &w, &h); + + rsgl::renderer_clear(renderer, rsgl::@rgb(125,25,75)); + + rsgl::renderer_viewport(renderer, rsgl::@rect(0,0,w,h)); + rfont::renderer_set_framebuffer(renderer_rfont, w, h); + + rfont::renderer_set_color(renderer_rfont, 1, 1, 1, 1); + rfont::draw_text(renderer_rfont, font, "smth hedgehog C3 idk", 0, 10, 60); + + rsgl::renderer_render(renderer); + rgfw::window_swapBuffers(window); } rgfw::window_close(window); |
