diff --git a/docs/src/api.md b/docs/src/api.md index 3c9fc72..7c0c9f5 100644 --- a/docs/src/api.md +++ b/docs/src/api.md @@ -5,7 +5,7 @@ CollapsedDocStrings = true # API Reference This page documents the wrapper functions we have for the ImGui API. The -backends are documented separately in [Backends](@ref). +[Backends](@ref) and the [Makie integration](@ref) are documented separately. You can always get the current ImGui version with: ```@docs diff --git a/docs/src/index.md b/docs/src/index.md index 8517584..11e20b7 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,6 +1,6 @@ # CImGui This package provides a Julia language wrapper for -[cimgui](https://github.com/cimgui/cimgui): a thin c-api wrapper +[cimgui](https://github.com/cimgui/cimgui): a thin C wrapper programmatically generated for the excellent C++ immediate mode gui [Dear ImGui](https://github.com/ocornut/imgui). Dear ImGui is mainly for creating content creation tools and visualization / debug tools. You could browse @@ -100,7 +100,7 @@ interest to you if you're looking for state management frameworks. ### Backend The default backend is based on [ModernGL](https://github.com/JuliaGL/ModernGL.jl) and -[GLFW](https://github.com/JuliaGL/GLFW.jl) which are stable and under actively +[GLFW](https://github.com/JuliaGL/GLFW.jl) which are stable and actively maintained. Other popular backends like [SFML](https://github.com/zyedidia/SFML.jl) and [SDL](https://github.com/ariejdl/SDL.jl) could be added in the future if someone diff --git a/docs/src/makie.md b/docs/src/makie.md index dbd57d9..d143235 100644 --- a/docs/src/makie.md +++ b/docs/src/makie.md @@ -25,6 +25,18 @@ Here's a quick demo using (you may want to `Right click -> Open in new tab` to see it in full resolution): ![Makie demo](assets/makie-demo.gif) +## Thread safety +None of this is thread-safe. Here's what you can and can't do: +- You can create a `Figure` on any thread and pass it to [`MakieFigure()`](@ref) + to display. +- You cannot call [`MakieFigure()`](@ref) (or generally any ImGui functions) on + a different thread from the [`render()`](@ref) thread. +- You cannot update a `Figure` from a separate thread, including with + observables. Updating it from the same thread (i.e. in the renderloop) is + fine. + +## API + ```@docs MakieFigure ```