diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2019-10-21 20:52:37 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2019-10-21 20:52:37 +0000 |
| commit | f0315f0c554b5622694948d65d0cf347a5dca07b (patch) | |
| tree | c07a81ac792f541e70a1afd61ba18f3f24047bd6 /src/main.zig | |
| parent | add cimgui in the repo (diff) | |
| download | zig-imgui-f0315f0c554b5622694948d65d0cf347a5dca07b.tar.gz zig-imgui-f0315f0c554b5622694948d65d0cf347a5dca07b.zip | |
zig-fmt everything
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 159 |
1 files changed, 80 insertions, 79 deletions
diff --git a/src/main.zig b/src/main.zig index 5d5f24a..79dab91 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1,3 +1,4 @@ +/// this is a port of cimgui/imgui/examples/example_glfw_opengl3/main.cpp const c = @import("c.zig"); const std = @import("std"); const panic = std.debug.panic; @@ -6,88 +7,88 @@ const glfw_impl = @import("glfw_impl.zig"); const gl3_impl = @import("gl3_impl.zig"); extern fn errorCallback(err: c_int, description: [*c]const u8) void { - panic("Error: {}\n", description); + panic("Error: {}\n", description); } var window: *c.GLFWwindow = undefined; pub fn main() !void { - _ = c.glfwSetErrorCallback(errorCallback); - - if (c.glfwInit() == c.GL_FALSE) { - panic("GLFW init failure\n"); - } - defer c.glfwTerminate(); - - c.glfwWindowHint(c.GLFW_CONTEXT_VERSION_MAJOR, 3); - c.glfwWindowHint(c.GLFW_CONTEXT_VERSION_MINOR, 2); - c.glfwWindowHint(c.GLFW_OPENGL_FORWARD_COMPAT, c.GL_TRUE); - c.glfwWindowHint(c.GLFW_OPENGL_DEBUG_CONTEXT, debug_gl.is_on); - c.glfwWindowHint(c.GLFW_OPENGL_PROFILE, c.GLFW_OPENGL_CORE_PROFILE); - // c.glfwWindowHint(c.GLFW_DEPTH_BITS, 0); - // c.glfwWindowHint(c.GLFW_STENCIL_BITS, 8); - c.glfwWindowHint(c.GLFW_RESIZABLE, c.GL_TRUE); - - const window_width = 640; - const window_height = 480; - window = c.glfwCreateWindow(window_width, window_height, c"ImGUI Test", null, null) orelse { - panic("unable to create window\n"); - }; - defer c.glfwDestroyWindow(window); - - c.glfwMakeContextCurrent(window); - c.glfwSwapInterval(1); - - const context = c.igCreateContext(null); - defer c.igDestroyContext(context); - - const io = c.igGetIO(); - io.*.ConfigFlags |= @enumToInt(c.ImGuiConfigFlags_NavEnableKeyboard); - // io.*.ConfigFlags |= @enumToInt(c.ImGuiConfigFlags_DockingEnable); - // io.*.ConfigFlags |= @enumToInt(c.ImGuiConfigFlags_ViewportsEnable); - - const style = c.igGetStyle(); - c.igStyleColorsDark(style); - - if (false and io.*.ConfigFlags & @enumToInt(c.ImGuiConfigFlags_ViewportsEnable) != 0) { - style.*.WindowRounding = 0.0; - style.*.Colors[@enumToInt(c.ImGuiCol_WindowBg)].w = 1.0; - } - - glfw_impl.Init(window, true, glfw_impl.ClientApi.OpenGL); - defer glfw_impl.Shutdown(); - - gl3_impl.Init(); // #version 150 - defer gl3_impl.Shutdown(); - - const start_time = c.glfwGetTime(); - var prev_time = start_time; - - while (c.glfwWindowShouldClose(window) == c.GL_FALSE) { - c.glfwPollEvents(); - - try gl3_impl.NewFrame(); - glfw_impl.NewFrame(); - c.igNewFrame(); - - // main part - c.igShowDemoWindow(null); - - c.igRender(); - var w: c_int = undefined; - var h: c_int = undefined; - c.glfwGetFramebufferSize(window, &w, &h); - c.glViewport(0, 0, w, h); - c.glClearColor(0.0, 0.0, 0.0, 0.0); - c.glClear(c.GL_COLOR_BUFFER_BIT); - gl3_impl.RenderDrawData(c.igGetDrawData()); - - // const now_time = c.glfwGetTime(); - // const elapsed = now_time - prev_time; - // prev_time = now_time; - // nextFrame(t, elapsed); - // draw(t, @This()); - - c.glfwSwapBuffers(window); - } + _ = c.glfwSetErrorCallback(errorCallback); + + if (c.glfwInit() == c.GL_FALSE) { + panic("GLFW init failure\n"); + } + defer c.glfwTerminate(); + + c.glfwWindowHint(c.GLFW_CONTEXT_VERSION_MAJOR, 3); + c.glfwWindowHint(c.GLFW_CONTEXT_VERSION_MINOR, 2); + c.glfwWindowHint(c.GLFW_OPENGL_FORWARD_COMPAT, c.GL_TRUE); + c.glfwWindowHint(c.GLFW_OPENGL_DEBUG_CONTEXT, debug_gl.is_on); + c.glfwWindowHint(c.GLFW_OPENGL_PROFILE, c.GLFW_OPENGL_CORE_PROFILE); + // c.glfwWindowHint(c.GLFW_DEPTH_BITS, 0); + // c.glfwWindowHint(c.GLFW_STENCIL_BITS, 8); + c.glfwWindowHint(c.GLFW_RESIZABLE, c.GL_TRUE); + + const window_width = 640; + const window_height = 480; + window = c.glfwCreateWindow(window_width, window_height, c"ImGUI Test", null, null) orelse { + panic("unable to create window\n"); + }; + defer c.glfwDestroyWindow(window); + + c.glfwMakeContextCurrent(window); + c.glfwSwapInterval(1); + + const context = c.igCreateContext(null); + defer c.igDestroyContext(context); + + const io = c.igGetIO(); + io.*.ConfigFlags |= @enumToInt(c.ImGuiConfigFlags_NavEnableKeyboard); + // io.*.ConfigFlags |= @enumToInt(c.ImGuiConfigFlags_DockingEnable); + // io.*.ConfigFlags |= @enumToInt(c.ImGuiConfigFlags_ViewportsEnable); + + const style = c.igGetStyle(); + c.igStyleColorsDark(style); + + if (false and io.*.ConfigFlags & @enumToInt(c.ImGuiConfigFlags_ViewportsEnable) != 0) { + style.*.WindowRounding = 0.0; + style.*.Colors[@enumToInt(c.ImGuiCol_WindowBg)].w = 1.0; + } + + glfw_impl.Init(window, true, glfw_impl.ClientApi.OpenGL); + defer glfw_impl.Shutdown(); + + gl3_impl.Init(); // #version 150 + defer gl3_impl.Shutdown(); + + const start_time = c.glfwGetTime(); + var prev_time = start_time; + + while (c.glfwWindowShouldClose(window) == c.GL_FALSE) { + c.glfwPollEvents(); + + try gl3_impl.NewFrame(); + glfw_impl.NewFrame(); + c.igNewFrame(); + + // main part + c.igShowDemoWindow(null); + + c.igRender(); + var w: c_int = undefined; + var h: c_int = undefined; + c.glfwGetFramebufferSize(window, &w, &h); + c.glViewport(0, 0, w, h); + c.glClearColor(0.0, 0.0, 0.0, 0.0); + c.glClear(c.GL_COLOR_BUFFER_BIT); + gl3_impl.RenderDrawData(c.igGetDrawData()); + + // const now_time = c.glfwGetTime(); + // const elapsed = now_time - prev_time; + // prev_time = now_time; + // nextFrame(t, elapsed); + // draw(t, @This()); + + c.glfwSwapBuffers(window); + } } |
