diff --git a/Bindings-in-other-languages.md b/Bindings-in-other-languages.md deleted file mode 100644 index 6d6e579..0000000 --- a/Bindings-in-other-languages.md +++ /dev/null @@ -1,7 +0,0 @@ -This page lists known bindings in other programming languages. Please report issues with these bindings on their respective repositories. - -| Language | Repository | -| --- | --- | -| Rust | [nfde-rs](https://github.com/btzy/nfde-rs) | -| Java/Kotlin | [Native File Dialog Java](https://github.com/WonderzGmbH/nativefiledialog-java) | -| Java | [LWJGL - Lightweight Java Game Library 3](https://github.com/LWJGL/lwjgl3) | \ No newline at end of file diff --git a/Home.md b/Home.md index 280bfec..b146619 100644 --- a/Home.md +++ b/Home.md @@ -1,4 +1,23 @@ -Welcome to the nativefiledialog-extended wiki! +Hello! 👋 This is the Native File Dialog (Extended) wiki page. You might be +looking for the [README page] of the main repository instead. Check out the +sidebar for more wiki pages! -- [[Bindings in other languages]] -- [[Native File Dialog Extended in the wild]] \ No newline at end of file +**This project has a C interface.** This interface is `nfd.h`. This means that +after compiling this project into a static or shared library, you can use it +with anything that knows how to call C code. C is the lingua franca of desktop +programming, so almost any general-purpose programming language (including C++, +Rust, Python, and JavaScript (NodeJS)) will have a way of calling C interfaces. +For interpreted and garbage-collected languages like Python and JavaScript, this +usually involves writing some boilerplate code (or autogenerating them using +some tools) to marshal objects across languages. + +**This project is implemented in C++ (for Windows and Linux) and Objective-C +(for MacOS).** This means that to compile this project from source, you need to +use a C++ or Objective-C compiler, depending that platform you are compiling +for. (The nfd_cocoa.m file is the implementation for MacOS.) The required +compilers are the standard compilers for each of the three operating systems, +and can be downloaded easily for free from their official websites (or for +Linux, it should come pre-installed). Once compiled into a static or shared +library, however, its interface looks and behaves like a C library. + +[README]: https://github.com/btzy/nativefiledialog-extended#readme diff --git a/Native-File-Dialog-Extended-in-the-wild.md b/Native-File-Dialog-Extended-in-the-wild.md index d1c8d33..c13f892 100644 --- a/Native-File-Dialog-Extended-in-the-wild.md +++ b/Native-File-Dialog-Extended-in-the-wild.md @@ -1,19 +1,20 @@ -This page lists known popular projects that depend on NFDe, which might give an indication as to how battle-tested the backends are. +This page lists known popular projects that depend on NFDe, which might give an +indication as to how battle-tested the backends are. -| Project | Windows | MacOS | Linux (GTK) | Linux (Portal) | Frameworks | Description | -| --- | :-: | :-: | :-: | :-: | --- | --- | -| [Amalgam Engine](https://github.com/Net5F/AmalgamEngine) | ✔️ | ✔️ | ✔️ | | SDL2 | Engine for creating virtual worlds | -| [dgb-n64](https://github.com/Dillonb/n64) | ✔️ | | | ✔️ | ImGui | Nintendo 64 low-level emulator | -| [glscopeclient](https://github.com/glscopeclient/scopehal-apps) | ✔️ | ✔️ | ✔️ | | ImGui, GLFW | Signal analysis tool for oscilloscopes and logic analyzers | -| [ImHex](https://github.com/WerWolv/ImHex) | ✔️ | ✔️ | | ✔️ | ImGui, GLFW | Featureful hex editor | -| [ImPlay](https://github.com/tsl0922/ImPlay) | ✔️ | ✔️ | ✔️ | | ImGui, GLFW | Desktop media player | -| [mahi-gui](https://github.com/mahilab/mahi-gui) | ✔️ | ✔️ | ✔️ | | GLFW | GUI framework | -| [Metaforce](https://github.com/AxioDL/metaforce) | ✔️ | ✔️ | | ✔️ | ImGui, SDL2 | Native reimplementation of Metroid Prime | -| [Nodable](https://github.com/berdal84/Nodable) | ✔️ | ✔️ | | ✔️ | ImGui | Hybrid textual and nodal source code editor | -| [OpenJKDF2](https://github.com/shinyquagsire23/OpenJKDF2) | ✔️ | ✔️ | ✔️ | | SDL2 | Open-source reimplementation of Dead Frontier 2 | -| [OpenSiv3D](https://github.com/Siv3D/OpenSiv3D) | | | ✔️ | | GLFW | Creative coding framework | -| [Soundux](https://github.com/Soundux/Soundux) | ✔️ | | ✔️ | | | Soundboard | -| [SPlisHSPlasH](https://github.com/InteractiveComputerGraphics/SPlisHSPlasH) | ✔️ | | | ✔️ | ImGui, GLFW | Fluid simulation library | -| [TinyUSDZ](https://github.com/syoyo/tinyusdz) | ✔️ | ✔️ | ✔️ | | SDL2 | Universal Scene Description (USD) library | -| [Tracy Profiler](https://github.com/wolfpld/tracy) | ✔️ | ✔️ | | ✔️ | ImGui, GLFW | Code profiler | -| [Vita3K](https://github.com/Vita3K/Vita3K) | ✔️ | ✔️ | | ✔️ | ImGui, SDL2 | PlayStation Vita emulator | +| Project | Windows | MacOS | Linux (GTK) | Linux (Portal) | Frameworks | Description | +| --------------------------------------------------------------------------- | :-----: | :---: | :---------: | :------------: | ----------- | ---------------------------------------------------------- | +| [Amalgam Engine](https://github.com/Net5F/AmalgamEngine) | ✔️ | ✔️ | ✔️ | | SDL2 | Engine for creating virtual worlds | +| [dgb-n64](https://github.com/Dillonb/n64) | ✔️ | | | ✔️ | ImGui | Nintendo 64 low-level emulator | +| [glscopeclient](https://github.com/glscopeclient/scopehal-apps) | ✔️ | ✔️ | ✔️ | | ImGui, GLFW | Signal analysis tool for oscilloscopes and logic analyzers | +| [ImHex](https://github.com/WerWolv/ImHex) | ✔️ | ✔️ | | ✔️ | ImGui, GLFW | Featureful hex editor | +| [ImPlay](https://github.com/tsl0922/ImPlay) | ✔️ | ✔️ | ✔️ | | ImGui, GLFW | Desktop media player | +| [mahi-gui](https://github.com/mahilab/mahi-gui) | ✔️ | ✔️ | ✔️ | | GLFW | GUI framework | +| [Metaforce](https://github.com/AxioDL/metaforce) | ✔️ | ✔️ | | ✔️ | ImGui, SDL2 | Native reimplementation of Metroid Prime | +| [Nodable](https://github.com/berdal84/Nodable) | ✔️ | ✔️ | | ✔️ | ImGui | Hybrid textual and nodal source code editor | +| [OpenJKDF2](https://github.com/shinyquagsire23/OpenJKDF2) | ✔️ | ✔️ | ✔️ | | SDL2 | Open-source reimplementation of Dead Frontier 2 | +| [OpenSiv3D](https://github.com/Siv3D/OpenSiv3D) | | | ✔️ | | GLFW | Creative coding framework | +| [Soundux](https://github.com/Soundux/Soundux) | ✔️ | | ✔️ | | | Soundboard | +| [SPlisHSPlasH](https://github.com/InteractiveComputerGraphics/SPlisHSPlasH) | ✔️ | | | ✔️ | ImGui, GLFW | Fluid simulation library | +| [TinyUSDZ](https://github.com/syoyo/tinyusdz) | ✔️ | ✔️ | ✔️ | | SDL2 | Universal Scene Description (USD) library | +| [Tracy Profiler](https://github.com/wolfpld/tracy) | ✔️ | ✔️ | | ✔️ | ImGui, GLFW | Code profiler | +| [Vita3K](https://github.com/Vita3K/Vita3K) | ✔️ | ✔️ | | ✔️ | ImGui, SDL2 | PlayStation Vita emulator |