Kaba class RenderWindow ed

...

Syntax ed

class RenderWindow extends Window
    var background_color: Color
    var cam_ang: Quaternion
    var cam_ortho: bool
    var cam_pos: vec3
    var cam_radius: f32
    var cam_speed: f32
    var cb_init_data: void->void
    var ctx: owned[Context]
    var def_shader_3d: owned![Shader]
    var font: (f32,bool,bool)
    var image_shader: owned![Shader]
    var initialized: bool
    var light_enabled: bool
    var lines_shader: owned![Shader]
    var message: string
    var message_ttl: f32
    var post_projection_matrix: mat4
    var projection_matrix: mat4
    var tex_white: owned![Texture]
    var text_tex: owned![Texture]
    var ubo_lights: owned![UniformBuffer]
    var vb_lines: owned![VertexBuffer]
    var win: Window*

    # constructors
    func mut __init__(title: string)

    # functions
    func create_projection_matrix() -> mat4
    func mut virtual draw_content()
    func mut draw_cube(a: vec3, b: vec3)
    func mut draw_cube(p: vec3, r: f32)
    func mut draw_gl()
    func mut draw_image(tex: Texture*, dest: Rect, flip: bool)
    func mut draw_lines(v: vec3[])
    func mut draw_magic_grid(col2: Color)
    func mut draw_message()
    func mut draw_str(pos: vec2, text: string)
    func mut draw_wire_cube(p: vec3, r: f32)
    func mut draw_wire_cube(box: Box)
    func mut force_redraw()
    func mut init()
    func mut virtual on_cam_change()
    func mut on_idle()
    func mut virtual on_key_down(key_code: i32)
    func mut virtual on_key_down_x(k: i32)
    func mut virtual on_mouse_move(mouse: vec2)
    func mut virtual on_mouse_move_x(m: vec2) -> bool
    func mut virtual on_mouse_wheel(scroll: vec2)
    func mut on_post_init(f: void->void)
    func project(p: vec3) -> vec3
    func mut realize()
    func mut set_default_font()
    func mut set_default_shader_3d()
    func mut set_font(size: f32, bold: bool, italic: bool)
    func mut set_message(m: string)
    func mut set_mode_2d()
    func mut set_mode_3d()

Functions ed

func create_projection_matrix() -> mat4
...

func mut virtual draw_content()
...

func mut draw_cube(a: vec3, b: vec3)
...

func mut draw_cube(p: vec3, r: f32)
...

func mut draw_gl()
...

func mut draw_image(tex: Texture*, dest: Rect, flip: bool)
...

func mut draw_lines(v: vec3[])
...

func mut draw_magic_grid(col2: Color)
...

func mut draw_message()
...

func mut draw_str(pos: vec2, text: string)
...

func mut draw_wire_cube(p: vec3, r: f32)
...

func mut draw_wire_cube(box: Box)
...

func mut force_redraw()
...

func mut init()
...

func mut virtual on_cam_change()
...

func mut on_idle()
...

func mut virtual on_key_down(key_code: i32)
...

func mut virtual on_key_down_x(k: i32)
...

func mut virtual on_mouse_move(mouse: vec2)
...

func mut virtual on_mouse_move_x(m: vec2) -> bool
...

func mut virtual on_mouse_wheel(scroll: vec2)
...

func mut on_post_init(f: void->void)
...

func project(p: vec3) -> vec3
...

func mut realize()
...

func mut set_default_font()
...

func mut set_default_shader_3d()
...

func mut set_font(size: f32, bold: bool, italic: bool)
...

func mut set_message(m: string)
...

func mut set_mode_2d()
...

func mut set_mode_3d()
...

Elements ed

var background_color: Color
...

var cam_ang: Quaternion
...

var cam_ortho: bool
...

var cam_pos: vec3
...

var cam_radius: f32
...

var cam_speed: f32
...

var cb_init_data: void->void
...

var ctx: owned[Context]
...

var def_shader_3d: owned![Shader]
...

var font: (f32,bool,bool)
...

var image_shader: owned![Shader]
...

var initialized: bool
...

var light_enabled: bool
...

var lines_shader: owned![Shader]
...

var message: string
...

var message_ttl: f32
...

var post_projection_matrix: mat4
...

var projection_matrix: mat4
...

var tex_white: owned![Texture]
...

var text_tex: owned![Texture]
...

var ubo_lights: owned![UniformBuffer]
...

var vb_lines: owned![VertexBuffer]
...

var win: Window*
...