From c101e6571135cfd963e3c3f9543e64c445af7fd8 Mon Sep 17 00:00:00 2001 From: andromeda Date: Sat, 25 Apr 2026 22:50:36 +0200 Subject: finish x86_64-linux Wayland bindings for rfont, rgfw, rsgl :) --- main.c3 | 41 +++++++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) (limited to 'main.c3') diff --git a/main.c3 b/main.c3 index 11e2c5f..794e4ce 100644 --- a/main.c3 +++ b/main.c3 @@ -1,22 +1,51 @@ -module c3term; +/* +* +* Copyright (C) Andromeda 2026 +* ported from +* +*/ + +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); -- cgit v1.3.1