buggy code
This commit is contained in:
parent
ed7c8f20cb
commit
84f86488c7
|
@ -1,14 +1,14 @@
|
||||||
stn := @use("../../../libraries/stn/src/lib.hb");
|
stn := @use("../../../libraries/stn/src/lib.hb");
|
||||||
.{string, memory, buffer} := stn
|
.{string, memory, buffer, random} := stn;
|
||||||
|
.{Vec2} := stn.math
|
||||||
|
|
||||||
horizon_api := @use("../../../libraries/horizon_api/src/lib.hb")
|
horizon_api := @use("../../../libraries/horizon_api/src/lib.hb")
|
||||||
|
|
||||||
render := @use("../../../libraries/render/src/lib.hb");
|
render := @use("../../../libraries/render/src/lib.hb")
|
||||||
.{Vec2} := @use("../../../libraries/stn/src/lib.hb").math
|
|
||||||
|
|
||||||
Window := struct {
|
Window := struct {
|
||||||
// TODO: Replace this with widgets
|
// TODO: Replace this with widgets
|
||||||
// implicit_framebuffer:
|
implicit_framebuffer: render.Surface,
|
||||||
width: int,
|
width: int,
|
||||||
height: int,
|
height: int,
|
||||||
x: int,
|
x: int,
|
||||||
|
@ -17,21 +17,34 @@ Window := struct {
|
||||||
|
|
||||||
main := fn(): int {
|
main := fn(): int {
|
||||||
a := buffer.create("XHorizon\0")
|
a := buffer.create("XHorizon\0")
|
||||||
|
|
||||||
|
// BUG: Backbuffering is disabled
|
||||||
screen := render.init(true)
|
screen := render.init(true)
|
||||||
|
|
||||||
image := render.new_surface(screen.width / 3, screen.height / 3)
|
// Clear the screen to black.
|
||||||
|
render.clear(screen, render.black)
|
||||||
|
|
||||||
|
window := render.new_surface(screen.width / 3, screen.height / 3)
|
||||||
|
|
||||||
pos := Vec2(int).(100, 100)
|
pos := Vec2(int).(100, 100)
|
||||||
|
|
||||||
|
color := random.range(render.Color, render.black, render.white)
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
// Clear the screen
|
// Clear the screen
|
||||||
render.clear(screen, render.black)
|
render.clear(screen, render.black)
|
||||||
|
|
||||||
// TODO: Get windows out of the hashmap
|
// TODO: Read the window buffer here
|
||||||
render.clear(image, render.white)
|
|
||||||
|
// TODO: Get windows out of a collection and iter through
|
||||||
|
//
|
||||||
|
{
|
||||||
|
render.clear(window, render.white)
|
||||||
|
|
||||||
// Apply the image to the screen
|
// Apply the image to the screen
|
||||||
render.put_surface(screen, image, pos)
|
render.put_surface(screen, window, pos)
|
||||||
|
}
|
||||||
|
|
||||||
// Sync the screen
|
// Sync the screen
|
||||||
render.sync(screen)
|
render.sync(screen)
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,28 +8,28 @@ ignim := @use("../../../libraries/ignim/src/lib.hb");
|
||||||
.{errors} := ignim
|
.{errors} := ignim
|
||||||
|
|
||||||
main := fn(): int {
|
main := fn(): int {
|
||||||
windowing_system_buffer := buffer.create("XHorizon\0")
|
windowing_system_buffer := buffer.search("XHorizon\0")
|
||||||
|
|
||||||
// TODO: get WindowID
|
// TODO: get WindowID
|
||||||
create_window(windowing_system_buffer)
|
create_window(windowing_system_buffer)
|
||||||
|
|
||||||
program_name := "Horizon Testing Program\0"
|
// program_name := "Horizon Testing Program\0"
|
||||||
program_version := ignim.version.make_version(0, 1, 0)
|
// program_version := ignim.version.make_version(0, 1, 0)
|
||||||
engine_name := "None\0"
|
// engine_name := "None\0"
|
||||||
engine_version := ignim.version.make_version(0, 0, 0)
|
// engine_version := ignim.version.make_version(0, 0, 0)
|
||||||
api_version := ignim.version.make_api_version(0, 1, 0, 0)
|
// api_version := ignim.version.make_api_version(0, 1, 0, 0)
|
||||||
|
|
||||||
app_info := ignim.application.new_application_info(program_name, program_version, engine_name, engine_version, api_version)
|
// app_info := ignim.application.new_application_info(program_name, program_version, engine_name, engine_version, api_version)
|
||||||
|
|
||||||
create_info := ignim.instance.new_create_info(&app_info)
|
// create_info := ignim.instance.new_create_info(&app_info)
|
||||||
|
|
||||||
instance := ignim.instance.void_instance()
|
// instance := ignim.instance.void_instance()
|
||||||
|
|
||||||
// TODO: recursively follow this https://vulkan-tutorial.com/Drawing_a_triangle/Setup/Instance
|
// // TODO: recursively follow this https://vulkan-tutorial.com/Drawing_a_triangle/Setup/Instance
|
||||||
ret := ignim.instance.create_instance(&create_info, 0, &instance)
|
// ret := ignim.instance.create_instance(&create_info, 0, &instance)
|
||||||
if ret == errors.IncompatibleDriver {
|
// if ret == errors.IncompatibleDriver {
|
||||||
log.error("Driver Incompatible with Vulkan\0")
|
// log.error("Driver Incompatible with Vulkan\0")
|
||||||
}
|
// }
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
Loading…
Reference in a new issue