Skip to content

Commit

Permalink
build based on c046ebd
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Jun 27, 2024
1 parent e95322f commit 6e33973
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 41 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.10.4","generation_timestamp":"2024-06-27T13:32:59","documenter_version":"1.5.0"}}
{"documenter":{"julia_version":"1.10.4","generation_timestamp":"2024-06-27T16:09:29","documenter_version":"1.5.0"}}
2 changes: 1 addition & 1 deletion dev/_changelog/index.html

Large diffs are not rendered by default.

70 changes: 35 additions & 35 deletions dev/api/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/backends/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/changelog/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
end
ig.End()
end</code></pre><p>Note that neither ImGui nor OpenGL are thread-safe, be aware of this if you start Julia with multiple threads using <code>--threads</code>. If you need to use multiple threads in an application, one option is to use the <a href="https://docs.julialang.org/en/v1/manual/multi-threading/#man-threadpools">threadpools</a> introduced in Julia 1.9:</p><pre><code class="language-bash hljs"># Have an arbitrary number in the default pool, and 1 thread in the :interactive pool
$ julia --threads=auto,1</code></pre><p>Then start the render loop on the <code>:interactive</code> thread with <code>Threads.@spawn :interactive</code> and ensure that none of the other threads call GUI functions or modify the program state while your GUI code is being executing.</p><h2 id="Usage"><a class="docs-heading-anchor" href="#Usage">Usage</a><a id="Usage-1"></a><a class="docs-heading-anchor-permalink" href="#Usage" title="Permalink"></a></h2><p>The API provided in this package is as close as possible to the original C++ API. When translating C++ code to Julia, please follow the tips below:</p><ul><li>Replace <code>ImGui::</code> to <code>CImGui.</code> (or <code>ig.</code> if you&#39;ve run <code>import CImGui as ig</code>).</li><li><code>using CImGui.lib</code> to import all of the <code>ImGuiXXX</code> types into the current namespace.</li><li>Member function calling should be translated in Julia style: <code>fonts.AddFont(cfg)</code> =&gt; <code>ig.AddFont(fonts, cfg)</code>.</li><li>[<code>using CImGui.CSyntax</code>] provides two useful macros: <code>@c</code> for translating C&#39;s <code>&amp;</code> operator on immutables and <code>@cstatic</code>-block for emulating C&#39;s <code>static</code> keyword.</li></ul><p>As mentioned before, this package aims to provide the same user experience as the original C++ API, so any high-level abstraction should go into a more high-level package. <a href="https://github.com/Gnimuc/Redux.jl"><code>Redux.jl</code></a> might be of interest to you if you&#39;re looking for state management frameworks.</p><h3 id="Backend"><a class="docs-heading-anchor" href="#Backend">Backend</a><a id="Backend-1"></a><a class="docs-heading-anchor-permalink" href="#Backend" title="Permalink"></a></h3><p>The default backend is based on <a href="https://github.com/JuliaGL/ModernGL.jl">ModernGL</a> and <a href="https://github.com/JuliaGL/GLFW.jl">GLFW</a> which are stable and under actively maintained. Other popular backends like <a href="https://github.com/zyedidia/SFML.jl">SFML</a> and <a href="https://github.com/ariejdl/SDL.jl">SDL</a> could be added in the future if someone should invest time to make these packages work in post Julia 1.0 era.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="api/">API Reference »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.5.0 on <span class="colophon-date" title="Thursday 27 June 2024 13:32">Thursday 27 June 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
$ julia --threads=auto,1</code></pre><p>Then start the render loop on the <code>:interactive</code> thread with <code>Threads.@spawn :interactive</code> and ensure that none of the other threads call GUI functions or modify the program state while your GUI code is being executing.</p><h2 id="Usage"><a class="docs-heading-anchor" href="#Usage">Usage</a><a id="Usage-1"></a><a class="docs-heading-anchor-permalink" href="#Usage" title="Permalink"></a></h2><p>The API provided in this package is as close as possible to the original C++ API. When translating C++ code to Julia, please follow the tips below:</p><ul><li>Replace <code>ImGui::</code> to <code>CImGui.</code> (or <code>ig.</code> if you&#39;ve run <code>import CImGui as ig</code>).</li><li><code>using CImGui.lib</code> to import all of the <code>ImGuiXXX</code> types into the current namespace.</li><li>Member function calling should be translated in Julia style: <code>fonts.AddFont(cfg)</code> =&gt; <code>ig.AddFont(fonts, cfg)</code>.</li><li>[<code>using CImGui.CSyntax</code>] provides two useful macros: <code>@c</code> for translating C&#39;s <code>&amp;</code> operator on immutables and <code>@cstatic</code>-block for emulating C&#39;s <code>static</code> keyword.</li></ul><p>As mentioned before, this package aims to provide the same user experience as the original C++ API, so any high-level abstraction should go into a more high-level package. <a href="https://github.com/Gnimuc/Redux.jl"><code>Redux.jl</code></a> might be of interest to you if you&#39;re looking for state management frameworks.</p><h3 id="Backend"><a class="docs-heading-anchor" href="#Backend">Backend</a><a id="Backend-1"></a><a class="docs-heading-anchor-permalink" href="#Backend" title="Permalink"></a></h3><p>The default backend is based on <a href="https://github.com/JuliaGL/ModernGL.jl">ModernGL</a> and <a href="https://github.com/JuliaGL/GLFW.jl">GLFW</a> which are stable and under actively maintained. Other popular backends like <a href="https://github.com/zyedidia/SFML.jl">SFML</a> and <a href="https://github.com/ariejdl/SDL.jl">SDL</a> could be added in the future if someone should invest time to make these packages work in post Julia 1.0 era.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="api/">API Reference »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.5.0 on <span class="colophon-date" title="Thursday 27 June 2024 16:09">Thursday 27 June 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/search_index.js

Large diffs are not rendered by default.

0 comments on commit 6e33973

Please sign in to comment.