Moving backends code from examples/ to backends/ (step 6: update markdown documentation)
diff --git a/backends/imgui_impl_allegro5.cpp b/backends/imgui_impl_allegro5.cpp
index f49c093..cadc4b7 100644
--- a/backends/imgui_impl_allegro5.cpp
+++ b/backends/imgui_impl_allegro5.cpp
@@ -9,10 +9,9 @@
 //  [ ] Renderer: The renderer is suboptimal as we need to unindex our buffers and convert vertices manually.
 //  [ ] Platform: Missing gamepad support.
 
-// You can copy and use unmodified backends (imgui_impl_* files) in your project.
-// See matching application in examples/ for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui, Original Allegro 5 code by @birthggd
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_allegro5.h b/backends/imgui_impl_allegro5.h
index fe7eef2..ef91d4b 100644
--- a/backends/imgui_impl_allegro5.h
+++ b/backends/imgui_impl_allegro5.h
@@ -9,9 +9,9 @@
 //  [ ] Renderer: The renderer is suboptimal as we need to unindex our buffers and convert vertices manually.
 //  [ ] Platform: Missing gamepad support.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui, Original Allegro 5 code by @birthggd
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #pragma once
 #include "imgui.h"      // IMGUI_IMPL_API
diff --git a/backends/imgui_impl_dx10.cpp b/backends/imgui_impl_dx10.cpp
index d9fce2f..75db96a 100644
--- a/backends/imgui_impl_dx10.cpp
+++ b/backends/imgui_impl_dx10.cpp
@@ -5,9 +5,9 @@
 //  [X] Renderer: User texture backend. Use 'ID3D10ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID!
 //  [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_dx10.h b/backends/imgui_impl_dx10.h
index 8926916..35a34a9 100644
--- a/backends/imgui_impl_dx10.h
+++ b/backends/imgui_impl_dx10.h
@@ -5,9 +5,9 @@
 //  [X] Renderer: User texture backend. Use 'ID3D10ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID!
 //  [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #pragma once
 #include "imgui.h"      // IMGUI_IMPL_API
diff --git a/backends/imgui_impl_dx11.cpp b/backends/imgui_impl_dx11.cpp
index efab429..ebb8073 100644
--- a/backends/imgui_impl_dx11.cpp
+++ b/backends/imgui_impl_dx11.cpp
@@ -5,9 +5,9 @@
 //  [X] Renderer: User texture binding. Use 'ID3D11ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID!
 //  [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_dx11.h b/backends/imgui_impl_dx11.h
index 4fd2ceb..03fee14 100644
--- a/backends/imgui_impl_dx11.h
+++ b/backends/imgui_impl_dx11.h
@@ -5,9 +5,9 @@
 //  [X] Renderer: User texture binding. Use 'ID3D11ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID!
 //  [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #pragma once
 #include "imgui.h"      // IMGUI_IMPL_API
diff --git a/backends/imgui_impl_dx12.cpp b/backends/imgui_impl_dx12.cpp
index e1af860..ee656a1 100644
--- a/backends/imgui_impl_dx12.cpp
+++ b/backends/imgui_impl_dx12.cpp
@@ -9,9 +9,9 @@
 // This is because we need ImTextureID to carry a 64-bit value and by default ImTextureID is defined as void*.
 // This define is done in the example .vcxproj file and need to be replicated in your app (by e.g. editing imconfig.h)
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_dx12.h b/backends/imgui_impl_dx12.h
index 0a0d8d9..ad3240c 100644
--- a/backends/imgui_impl_dx12.h
+++ b/backends/imgui_impl_dx12.h
@@ -9,10 +9,9 @@
 // This is because we need ImTextureID to carry a 64-bit value and by default ImTextureID is defined as void*.
 // This define is done in the example .vcxproj file and need to be replicated in your app (by e.g. editing imconfig.h)
 
-// You can copy and use unmodified backends (imgui_impl_* files) in your project.
-// See matching application in examples/ for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #pragma once
 #include "imgui.h"      // IMGUI_IMPL_API
diff --git a/backends/imgui_impl_dx9.cpp b/backends/imgui_impl_dx9.cpp
index 7375abb..0565ff4 100644
--- a/backends/imgui_impl_dx9.cpp
+++ b/backends/imgui_impl_dx9.cpp
@@ -5,9 +5,9 @@
 //  [X] Renderer: User texture binding. Use 'LPDIRECT3DTEXTURE9' as ImTextureID. Read the FAQ about ImTextureID!
 //  [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_dx9.h b/backends/imgui_impl_dx9.h
index 73316ab..88edca7 100644
--- a/backends/imgui_impl_dx9.h
+++ b/backends/imgui_impl_dx9.h
@@ -5,9 +5,9 @@
 //  [X] Renderer: User texture binding. Use 'LPDIRECT3DTEXTURE9' as ImTextureID. Read the FAQ about ImTextureID!
 //  [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #pragma once
 #include "imgui.h"      // IMGUI_IMPL_API
diff --git a/backends/imgui_impl_glfw.cpp b/backends/imgui_impl_glfw.cpp
index c96c4e0..74a266e 100644
--- a/backends/imgui_impl_glfw.cpp
+++ b/backends/imgui_impl_glfw.cpp
@@ -9,9 +9,9 @@
 //  [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange' (note: the resizing cursors requires GLFW 3.4+).
 //  [X] Platform: Keyboard arrays indexed using GLFW_KEY_* codes, e.g. ImGui::IsKeyPressed(GLFW_KEY_SPACE).
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_glfw.h b/backends/imgui_impl_glfw.h
index 6345d7a..6abb405 100644
--- a/backends/imgui_impl_glfw.h
+++ b/backends/imgui_impl_glfw.h
@@ -8,9 +8,9 @@
 //  [x] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. FIXME: 3 cursors types are missing from GLFW.
 //  [X] Platform: Keyboard arrays indexed using GLFW_KEY_* codes, e.g. ImGui::IsKeyPressed(GLFW_KEY_SPACE).
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // About GLSL version:
 // The 'glsl_version' initialization parameter defaults to "#version 150" if NULL.
diff --git a/backends/imgui_impl_glut.cpp b/backends/imgui_impl_glut.cpp
index e48bb28..90ad333 100644
--- a/backends/imgui_impl_glut.cpp
+++ b/backends/imgui_impl_glut.cpp
@@ -11,9 +11,9 @@
 //  [ ] Platform: Missing clipboard support (not supported by Glut).
 //  [ ] Platform: Missing gamepad support.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_glut.h b/backends/imgui_impl_glut.h
index 7b2d919..9d8282e 100644
--- a/backends/imgui_impl_glut.h
+++ b/backends/imgui_impl_glut.h
@@ -11,9 +11,9 @@
 //  [ ] Platform: Missing clipboard support (not supported by Glut).
 //  [ ] Platform: Missing gamepad support.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #pragma once
 #include "imgui.h"      // IMGUI_IMPL_API
diff --git a/backends/imgui_impl_marmalade.cpp b/backends/imgui_impl_marmalade.cpp
index 7b17512..805d0c3 100644
--- a/backends/imgui_impl_marmalade.cpp
+++ b/backends/imgui_impl_marmalade.cpp
@@ -6,9 +6,9 @@
 // Missing features:
 //  [ ] Renderer: Clipping rectangles are not honored.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_marmalade.h b/backends/imgui_impl_marmalade.h
index c614380..db521d5 100644
--- a/backends/imgui_impl_marmalade.h
+++ b/backends/imgui_impl_marmalade.h
@@ -4,9 +4,9 @@
 // Implemented features:
 //  [X] Renderer: User texture binding. Use 'CIwTexture*' as ImTextureID. Read the FAQ about ImTextureID!
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #pragma once
 #include "imgui.h"      // IMGUI_IMPL_API
diff --git a/backends/imgui_impl_metal.h b/backends/imgui_impl_metal.h
index 2a1e6da..1db7d87 100644
--- a/backends/imgui_impl_metal.h
+++ b/backends/imgui_impl_metal.h
@@ -5,9 +5,9 @@
 //  [X] Renderer: User texture binding. Use 'MTLTexture' as ImTextureID. Read the FAQ about ImTextureID!
 //  [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include "imgui.h"      // IMGUI_IMPL_API
 
diff --git a/backends/imgui_impl_metal.mm b/backends/imgui_impl_metal.mm
index a8cd288..3b0d34c 100644
--- a/backends/imgui_impl_metal.mm
+++ b/backends/imgui_impl_metal.mm
@@ -5,9 +5,9 @@
 //  [X] Renderer: User texture binding. Use 'MTLTexture' as ImTextureID. Read the FAQ about ImTextureID!
 //  [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_opengl2.cpp b/backends/imgui_impl_opengl2.cpp
index a2e3c42..e56e87d 100644
--- a/backends/imgui_impl_opengl2.cpp
+++ b/backends/imgui_impl_opengl2.cpp
@@ -4,9 +4,9 @@
 // Implemented features:
 //  [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID!
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // **DO NOT USE THIS CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)**
 // **Prefer using the code in imgui_impl_opengl3.cpp**
diff --git a/backends/imgui_impl_opengl2.h b/backends/imgui_impl_opengl2.h
index 76a675b..c0e2976 100644
--- a/backends/imgui_impl_opengl2.h
+++ b/backends/imgui_impl_opengl2.h
@@ -4,9 +4,9 @@
 // Implemented features:
 //  [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID!
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // **DO NOT USE THIS CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)**
 // **Prefer using the code in imgui_impl_opengl3.cpp**
diff --git a/backends/imgui_impl_opengl3.cpp b/backends/imgui_impl_opengl3.cpp
index 8e9a068..ed15130 100644
--- a/backends/imgui_impl_opengl3.cpp
+++ b/backends/imgui_impl_opengl3.cpp
@@ -7,9 +7,9 @@
 //  [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID!
 //  [x] Renderer: Desktop GL only: Support for large meshes (64k+ vertices) with 16-bit indices.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_opengl3.h b/backends/imgui_impl_opengl3.h
index 85bd4ba..8c0126d 100644
--- a/backends/imgui_impl_opengl3.h
+++ b/backends/imgui_impl_opengl3.h
@@ -7,9 +7,9 @@
 //  [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID!
 //  [x] Renderer: Desktop GL only: Support for large meshes (64k+ vertices) with 16-bit indices.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // About Desktop OpenGL function loaders:
 //  Modern Desktop OpenGL doesn't have a standard portable header file to load OpenGL function pointers.
diff --git a/backends/imgui_impl_osx.h b/backends/imgui_impl_osx.h
index 93d63c5..789ee18 100644
--- a/backends/imgui_impl_osx.h
+++ b/backends/imgui_impl_osx.h
@@ -8,6 +8,10 @@
 // Issues:
 //  [ ] Platform: Keys are all generally very broken. Best using [event keycode] and not [event characters]..
 
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
+
 #include "imgui.h"      // IMGUI_IMPL_API
 
 @class NSEvent;
diff --git a/backends/imgui_impl_osx.mm b/backends/imgui_impl_osx.mm
index c9a7631..bf643e2 100644
--- a/backends/imgui_impl_osx.mm
+++ b/backends/imgui_impl_osx.mm
@@ -8,6 +8,10 @@
 // Issues:
 //  [ ] Platform: Keys are all generally very broken. Best using [event keycode] and not [event characters]..
 
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
+
 #include "imgui.h"
 #include "imgui_impl_osx.h"
 #import <Cocoa/Cocoa.h>
diff --git a/backends/imgui_impl_sdl.cpp b/backends/imgui_impl_sdl.cpp
index 494220c..bf273ac 100644
--- a/backends/imgui_impl_sdl.cpp
+++ b/backends/imgui_impl_sdl.cpp
@@ -11,9 +11,9 @@
 // Missing features:
 //  [ ] Platform: SDL2 handling of IME under Windows appears to be broken and it explicitly disable the regular Windows IME. You can restore Windows IME by compiling SDL with SDL_DISABLE_WINDOWS_IME.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
diff --git a/backends/imgui_impl_sdl.h b/backends/imgui_impl_sdl.h
index 4b024df..03e518b 100644
--- a/backends/imgui_impl_sdl.h
+++ b/backends/imgui_impl_sdl.h
@@ -10,9 +10,9 @@
 // Missing features:
 //  [ ] Platform: SDL2 handling of IME under Windows appears to be broken and it explicitly disable the regular Windows IME. You can restore Windows IME by compiling SDL with SDL_DISABLE_WINDOWS_IME.
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #pragma once
 #include "imgui.h"      // IMGUI_IMPL_API
diff --git a/backends/imgui_impl_vulkan.cpp b/backends/imgui_impl_vulkan.cpp
index c617ace..7e8a1a7 100644
--- a/backends/imgui_impl_vulkan.cpp
+++ b/backends/imgui_impl_vulkan.cpp
@@ -6,9 +6,9 @@
 // Missing features:
 //  [ ] Renderer: User texture binding. Changes of ImTextureID aren't supported by this backend! See https://github.com/ocornut/imgui/pull/914
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // The aim of imgui_impl_vulkan.h/.cpp is to be usable in your engine without any modification.
 // IF YOU FEEL YOU NEED TO MAKE ANY CHANGE TO THIS CODE, please share them and your feedback at https://github.com/ocornut/imgui/
diff --git a/backends/imgui_impl_vulkan.h b/backends/imgui_impl_vulkan.h
index 06d50e0..33dfe6a 100644
--- a/backends/imgui_impl_vulkan.h
+++ b/backends/imgui_impl_vulkan.h
@@ -6,9 +6,9 @@
 // Missing features:
 //  [ ] Renderer: User texture binding. Changes of ImTextureID aren't supported by this backend! See https://github.com/ocornut/imgui/pull/914
 
-// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
-// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
-// https://github.com/ocornut/imgui
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // The aim of imgui_impl_vulkan.h/.cpp is to be usable in your engine without any modification.
 // IF YOU FEEL YOU NEED TO MAKE ANY CHANGE TO THIS CODE, please share them and your feedback at https://github.com/ocornut/imgui/
diff --git a/backends/imgui_impl_win32.cpp b/backends/imgui_impl_win32.cpp
index ed90366..130f673 100644
--- a/backends/imgui_impl_win32.cpp
+++ b/backends/imgui_impl_win32.cpp
@@ -7,6 +7,10 @@
 //  [X] Platform: Keyboard arrays indexed using VK_* Virtual Key Codes, e.g. ImGui::IsKeyPressed(VK_SPACE).
 //  [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
 
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
+
 #include "imgui.h"
 #include "imgui_impl_win32.h"
 #ifndef WIN32_LEAN_AND_MEAN
diff --git a/backends/imgui_impl_win32.h b/backends/imgui_impl_win32.h
index f0a93a4..4919f54 100644
--- a/backends/imgui_impl_win32.h
+++ b/backends/imgui_impl_win32.h
@@ -7,6 +7,10 @@
 //  [X] Platform: Keyboard arrays indexed using VK_* Virtual Key Codes, e.g. ImGui::IsKeyPressed(VK_SPACE).
 //  [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
 
+// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
+
 #pragma once
 #include "imgui.h"      // IMGUI_IMPL_API
 
diff --git a/docs/BACKENDS.md b/docs/BACKENDS.md
index 9dd9dfc..87d5454 100644
--- a/docs/BACKENDS.md
+++ b/docs/BACKENDS.md
@@ -1,34 +1,28 @@
------------------------------------------------------------------------
- dear imgui, v1.80 WIP
- Backends
------------------------------------------------------------------------
- (See docs/ and examples/ for more documentation)
------------------------------------------------------------------------
+_(You may browse this at https://github.com/ocornut/imgui/blob/master/docs/BACKENDS.md or view this file with any Markdown viewer)_
 
-This folder contains backends for popular platforms/graphics API, which you can use in
-your application or engine to easily integrate Dear ImGui.
+## Dear ImGui: Backends
 
-- The 'Platform' backends are in charge of: mouse/keyboard/gamepad inputs, cursor shape, timing, windowing.
-  e.g. Windows (imgui_impl_win32.cpp), GLFW (imgui_impl_glfw.cpp), SDL2 (imgui_impl_sdl.cpp), etc.
+**The backends/ folder contains backends for popular platforms/graphics API, which you can use in
+your application or engine to easily integrate Dear ImGui.** Each backend is typically self-contained in a pair of files: imgui_impl_XXXX.cpp + imgui_impl_XXXX.h.
 
-- The 'Renderer' backends are in charge of: creating atlas texture, rendering imgui draw data.
-  e.g. DirectX11 (imgui_impl_dx11.cpp), OpenGL/WebGL (imgui_impl_opengl3.cpp), Vulkan (imgui_impl_vulkan.cpp), etc.
+- The 'Platform' backends are in charge of: mouse/keyboard/gamepad inputs, cursor shape, timing, windowing.<BR>
+  e.g. Windows ([imgui_impl_win32.cpp](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_win32.cpp)), GLFW ([imgui_impl_glfw.cpp](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_glfw.cpp)), SDL2 ([imgui_impl_sdl.cpp](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_sdl.cpp)), etc.
 
-- For some high-level frameworks, a single backend usually handle both 'Platform' and 'Renderer' parts.
-  e.g. Allegro 5 (imgui_impl_allegro5.cpp), Marmalade (imgui_impl_marmalade5.cpp).
+- The 'Renderer' backends are in charge of: creating atlas texture, rendering imgui draw data.<BR>
+  e.g. DirectX11 ([imgui_impl_dx11.cpp](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_dx11.cpp)), OpenGL/WebGL ([imgui_impl_opengl3.cpp]((https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_opengl3.cpp)), Vulkan ([imgui_impl_vulkan.cpp]((https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_vulkan.cpp)), etc.
 
-An application usually combines 1 Platform backend + 1 Renderer backend + main ImGui sources.
-For example, the example_win32_directx11/ application combines imgui_impl_win32.cpp + imgui_impl_dx11.cpp.
-See examples/README.txt for details.
+- For some high-level frameworks, a single backend usually handle both 'Platform' and 'Renderer' parts.<BR>
+  e.g. Allegro 5 ([imgui_impl_allegro5.cpp](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_allegro5.cpp)), Marmalade ([imgui_impl_marmalade.cpp](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_marmalade.cpp)). If you end up creating a custom backend for your engine, you may want to do the same.
+
+An application usually combines 1 Platform backend + 1 Renderer backend + main Dear ImGui sources.
+For example, the [example_win32_directx11](https://github.com/ocornut/imgui/tree/master/examples/example_win32_directx11) application combines imgui_impl_win32.cpp + imgui_impl_dx11.cpp. See [EXAMPLES.MD](https://github.com/ocornut/imgui/blob/master/docs/EXAMPLES.md) for details.
 
 
----------------------------------------
- WHAT ARE BACKENDS?
----------------------------------------
+### What are backends
 
 Dear ImGui is highly portable and only requires a few things to run and render, typically:
 
- - Required: providing mouse/keyboard inputs.
+ - Required: providing mouse/keyboard inputs (fed into the `ImGuiIO` structure).
  - Required: uploading the font atlas texture into graphics memory.
  - Required: rendering indexed textured triangles with a clipping rectangle.
 
@@ -42,62 +36,21 @@
  - Optional: multi-viewports support.
  etc.
 
-This is essentially what the backends in this folder are providing + obligatory portability cruft.
+This is essentially what each backends are doing + obligatory portability cruft.
 
 It is important to understand the difference between the core Dear ImGui library (files in the root folder)
 and backends which we are describing here (backends/ folder).
 
 - Some issues may only be backend or platform specific.
 - You should be able to write backends for pretty much any platform and any 3D graphics API. 
-  e.g. get creative and have your backend perform rendering remotely, on a different machine
-  than the one running Dear ImGui, etc.
+  e.g. you can get creative and use software rendering or render remotely on a different machine.
 
 
------------------------------------------------------------------------
- USING A CUSTOM ENGINE?
------------------------------------------------------------------------
+### List of backends
 
-You will likely be tempted to start by rewrite your own backend using your own custom/high-level facilities... 
-Think twice!
+In the [backends/](https://github.com/ocornut/imgui/blob/master/backends) folder:
 
-If you are new to Dear ImGui, first try using the existing backends as-is.
-You will save lots of time integrating the library.
-You can LATER decide to rewrite yourself a custom backend if you really need to.
-In most situations, custom backends have less features and more bugs than the standard backends we provide.
-If you want portability, you can use multiple backends and choose between them either at compile time 
-or at runtime. 
-
-Example A: your engine is built over Windows + DirectX11 but you have your own high-level rendering
-system layered over DirectX11.
- - Suggestion: try using imgui_impl_win32.cpp + imgui_impl_dx11.cpp first.
-   Once it works, if you really need it you can replace the imgui_impl_dx11.cpp code with a 
-   custom renderer using your own rendering functions, and keep using the standard Win32 code etc.
-
-Example B: your engine runs on Windows, Mac, Linux and uses DirectX11, Metal, Vulkan respectively.
- - Suggestion: use multiple generic backends!
-   Once it works, if you really need it you can replace parts of backends with your own abstractions.
-
-Example C: your engine runs on platforms we can't provide public backends for (e.g. PS4/PS5, Switch), 
-and you have high-level systems everywhere.
- - Suggestion: try using a non-portable backend first (e.g. win32 + underlying graphics API) to get
-   your desktop builds working first. This will get you running faster and get your acquainted with
-   how Dear ImGui works and is setup. You can then rewrite a custom backend using your own engine API.
-
-Also:
-The multi-viewports feature of the 'docking' branch allows Dear ImGui windows to be seamlessly detached 
-from the main application window. This is achieved using an extra layer to the Platform and Renderer 
-backends, which allows Dear ImGui to communicate platform-specific requests.
-Supporting the multi-viewports feature correctly using 100% of your own abstractions is more difficult 
-than supporting single-viewport.
-If you decide to use unmodified imgui_impl_xxxx.cpp files, you can automatically benefit from
-improvements and fixes related to viewports and platform windows without extra work on your side.
-
-
----------------------------------------
- LIST OF BACKENDS
----------------------------------------
-
-List of Platforms Backends in this repository:
+List of Platforms Backends:
 
     imgui_impl_glfw.cpp       ; GLFW (Windows, macOS, Linux, etc.) http://www.glfw.org/
     imgui_impl_osx.mm         ; macOS native API (not as feature complete as glfw/sdl backends)
@@ -105,7 +58,7 @@
     imgui_impl_win32.cpp      ; Win32 native API (Windows)
     imgui_impl_glut.cpp       ; GLUT/FreeGLUT (absolutely not recommended in 2020!)
 
-List of Renderer Backends in this repository:
+List of Renderer Backends:
 
     imgui_impl_dx9.cpp        ; DirectX9
     imgui_impl_dx10.cpp       ; DirectX10
@@ -116,39 +69,92 @@
     imgui_impl_opengl3.cpp    ; OpenGL 3/4, OpenGL ES 2, OpenGL ES 3 (modern programmable pipeline)
     imgui_impl_vulkan.cpp     ; Vulkan
 
-Emscripten is also supported.
-The example_emscripten/ app uses imgui_impl_sdl.cpp + imgui_impl_opengl3.cpp, but other combos are possible.
-
-List of high-level Frameworks Backends in this repository: (combine Platform + Renderer)
+List of high-level Frameworks Backends (combining Platform + Renderer):
 
     imgui_impl_allegro5.cpp
     imgui_impl_marmalade.cpp
 
-Backends for third-party frameworks, graphics API or other programming languages:
+Emscripten is also supported.
+The [example_emscripten](https://github.com/ocornut/imgui/tree/master/examples/example_emscripten) app uses imgui_impl_sdl.cpp + imgui_impl_opengl3.cpp, but other combos are possible.
 
-    https://github.com/ocornut/imgui/wiki/Bindings
+### Backends for third-party frameworks, graphics API or other languages
 
-    (AGS/Adventure Game Studio, Amethyst, bsf, Cinder, Cocos2d-x, Diligent Engine, Flexium,
-    GML/Game Maker Studio2, GTK3+OpenGL3, Irrlicht Engine, LÖVE+LUA, Magnum, NanoRT, Nim Game Lib,
-    Ogre, openFrameworks, OSG/OpenSceneGraph, Orx, px_render, Qt/QtDirect3D, SFML, Sokol,
-    Unreal Engine 4, vtk, Win32 GDI, etc.)
+See https://github.com/ocornut/imgui/wiki/Bindings
+- AGS/Adventure Game Studio
+- Amethyst
+- bsf
+- Cinder
+- Cocos2d-x
+- Diligent Engine
+- Flexium,
+- GML/Game Maker Studio2
+- GTK3+OpenGL3
+- Irrlicht Engine
+- LÖVE+LUA
+- Magnum
+- NanoRT
+- Nim Game Lib,
+- Ogre
+- openFrameworks
+- OSG/OpenSceneGraph
+- Orx
+- px_render
+- Qt/QtDirect3D
+- SFML
+- Sokol
+- Unity
+- Unreal Engine 4
+- vtk
+- Win32 GDI
+etc.
 
 
----------------------------------------
- RECOMMENDED BACKENDS
----------------------------------------
+### Recommended Backends
 
-Recommended platform/frameworks for portable applications:
+If you are not sure which backend to use, the recommended platform/frameworks for portable applications:
 
-    Library:  GLFW    
-    Webpage:  https://github.com/glfw/glfw        
-    Backend:  imgui_impl_glfw.cpp
+|Library |Website |Backend |Note |
+|--------|--------|--------|-----|
+| GLFW | https://github.com/glfw/glfw | imgui_impl_glfw.cpp | |
+| SDL2 | https://www.libsdl.org | imgui_impl_sdl.cpp | |
+| Sokol | https://github.com/floooh/sokol | [util/sokol_imgui.h](https://github.com/floooh/sokol/blob/master/util/sokol_imgui.h) | Lower-level than GLFW/SDL |
 
-    Library:  SDL2    
-    Webpage:  https://www.libsdl.org              
-    Backend:  imgui_impl_sdl.cpp
 
-    Library:  Sokol (lower-level than GLFW/SDL)
-    Webpage:  https://github.com/floooh/sokol     
-    Backend:  Use util/sokol_imgui.h in Sokol repository.
+### Using a custom engine?
 
+You will likely be tempted to start by rewrite your own backend using your own custom/high-level facilities...<BR>
+Think twice!
+
+If you are new to Dear ImGui, first try using the existing backends as-is.
+You will save lots of time integrating the library.
+You can LATER decide to rewrite yourself a custom backend if you really need to.
+In most situations, custom backends have less features and more bugs than the standard backends we provide.
+If you want portability, you can use multiple backends and choose between them either at compile time 
+or at runtime. 
+
+**Example A**: your engine is built over Windows + DirectX11 but you have your own high-level rendering
+system layered over DirectX11.<BR>
+Suggestion: try using imgui_impl_win32.cpp + imgui_impl_dx11.cpp first.
+Once it works, if you really need it you can replace the imgui_impl_dx11.cpp code with a 
+custom renderer using your own rendering functions, and keep using the standard Win32 code etc.
+
+**Example B**: your engine runs on Windows, Mac, Linux and uses DirectX11, Metal, Vulkan respectively.<BR>
+Suggestion: use multiple generic backends!
+Once it works, if you really need it you can replace parts of backends with your own abstractions.
+
+**Example C**: your engine runs on platforms we can't provide public backends for (e.g. PS4/PS5, Switch), 
+and you have high-level systems everywhere.<BR>
+Suggestion: try using a non-portable backend first (e.g. win32 + underlying graphics API) to get
+your desktop builds working first. This will get you running faster and get your acquainted with
+how Dear ImGui works and is setup. You can then rewrite a custom backend using your own engine API.
+
+Also:
+The [multi-viewports feature](https://github.com/ocornut/imgui/issues/1542) of the 'docking' branch allows 
+Dear ImGui windows to be seamlessly detached from the main application window. This is achieved using an 
+extra layer to the Platform and Renderer backends, which allows Dear ImGui to communicate platform-specific 
+requests such as: "create an additional OS window", "create a render context", "get the OS position of this 
+window" etc. See 'ImGuiPlatformIO' for details.
+Supporting the multi-viewports feature correctly using 100% of your own abstractions is more difficult 
+than supporting single-viewport.
+If you decide to use unmodified imgui_impl_XXXX.cpp files, you can automatically benefit from
+improvements and fixes related to viewports and platform windows without extra work on your side.
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index a01917d..164e355 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -37,6 +37,7 @@
 
 Breaking Changes:
 
+- Backends: moved all backends files (imgui_impl_XXXX.cpp, imgui_impl_XXXX.h) from examples/ to backends/. (#3513)
 - Removed redirecting functions/enums names that were marked obsolete in 1.60 (April 2017):
   - io.RenderDrawListsFn pointer                -> use ImGui::GetDrawData() value and call the render function of your backend
   - ImGui::IsAnyWindowFocused()                 -> use ImGui::IsWindowFocused(ImGuiFocusedFlags_AnyWindow)
@@ -53,7 +54,7 @@
 
 Other Changes:
 
-- Docs: Split Backends and Examples README and improved them.
+- Docs: Split examples/README.txt into docs/BACKENDS.md and docs/EXAMPLES.md improved them.
 - Docs: Consistently renamed all occurences of "binding" and "back-end" to "backend" in comments and docs.
 
 
diff --git a/docs/EXAMPLES.md b/docs/EXAMPLES.md
index 45f0ae6..d318bd3 100644
--- a/docs/EXAMPLES.md
+++ b/docs/EXAMPLES.md
@@ -1,20 +1,15 @@
------------------------------------------------------------------------
- dear imgui, v1.80 WIP
- Examples applications
------------------------------------------------------------------------
- (See docs/ and backends/ for more documentation)
------------------------------------------------------------------------
+_(You may browse this at https://github.com/ocornut/imgui/blob/master/docs/EXAMPLES.md or view this file with any Markdown viewer)_
 
-This folder contains example applications (standalone, ready-to-build) for variety of 
-platforms and graphics APIs. They all use standard backends from the backends/ folder.
+## Dear ImGui: Examples
+
+**The [examples/](https://github.com/ocornut/imgui/blob/master/examples) folder example applications (standalone, ready-to-build) for variety of 
+platforms and graphics APIs.** They all use standard backends from the [backends/](https://github.com/ocornut/imgui/blob/master/backends) folder.
 
 You can find Windows binaries for some of those example applications at:
   http://www.dearimgui.org/binaries
 
 
----------------------------------------
- GETTING STARTED
----------------------------------------
+### Getting Started
 
 Integration in a typical existing application, should take <20 lines when using standard backends.
 
@@ -34,7 +29,7 @@
       call ImGui_ImplXXXX_Shutdown() for each backend.
       call ImGui::DestroyContext()
 
-Example (using backends/imgui_impl_win32.cpp + backends/imgui_impl_dx11.cpp):
+Example (using [backends/imgui_impl_win32.cpp](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_win32.cpp) + [backends/imgui_impl_dx11.cpp](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_dx11.cpp)):
 
     // Create a Dear ImGui context, setup some options
     ImGui::CreateContext();
@@ -78,166 +73,163 @@
 Changelog, so if you want to update them later it will be easier to catch up with what changed.
 
 
----------------------------------------
- EXAMPLE APPLICATIONS
----------------------------------------
+### Examples Applications
 
-example_allegro5/
-    Allegro 5 example.
-    = main.cpp + imgui_impl_allegro5.cpp
+[example_allegro5/](https://github.com/ocornut/imgui/blob/master/examples/example_allegro5/) <BR>
+Allegro 5 example. <BR>
+= main.cpp + imgui_impl_allegro5.cpp
 
-example_apple_metal/
-    OSX & iOS + Metal.
-    = main.m + imgui_impl_osx.mm + imgui_impl_metal.mm
-    It is based on the "cross-platform" game template provided with Xcode as of Xcode 9.
-    (NB: imgui_impl_osx.mm is currently not as feature complete as other platforms backends.
-    You may prefer to use the GLFW Or SDL backends, which will also support Windows and Linux.)
+[example_apple_metal/](https://github.com/ocornut/imgui/blob/master/examples/example_metal/) <BR>
+OSX & iOS + Metal example. <BR>
+= main.m + imgui_impl_osx.mm + imgui_impl_metal.mm <BR>
+It is based on the "cross-platform" game template provided with Xcode as of Xcode 9. 
+(NB: imgui_impl_osx.mm is currently not as feature complete as other platforms backends. 
+You may prefer to use the GLFW Or SDL backends, which will also support Windows and Linux.)
 
-example_apple_opengl2/
-    OSX + OpenGL2.
-    = main.mm + imgui_impl_osx.mm + imgui_impl_opengl2.cpp
-    (NB: imgui_impl_osx.mm is currently not as feature complete as other platforms backends.
-    You may prefer to use the GLFW Or SDL backends, which will also support Windows and Linux.)
+[example_apple_opengl2/](https://github.com/ocornut/imgui/blob/master/examples/example_apple_opengl2/) <BR>
+OSX + OpenGL2 example. <BR>
+= main.mm + imgui_impl_osx.mm + imgui_impl_opengl2.cpp <BR>
+(NB: imgui_impl_osx.mm is currently not as feature complete as other platforms backends.
+ You may prefer to use the GLFW Or SDL backends, which will also support Windows and Linux.)
 
-example_empscripten:
-    Emcripten + SDL2 + OpenGL3+/ES2/ES3 example.
-    = main.cpp + imgui_impl_sdl.cpp + imgui_impl_opengl3.cpp
-    Note that other examples based on SDL or GLFW + OpenGL could easily be modified to work with Emscripten.
-    We provide this to make the Emscripten differences obvious, and have them not pollute all other examples.
+[example_emscripten/](https://github.com/ocornut/imgui/blob/master/examples/example_emscripten/) <BR>
+Emcripten + SDL2 + OpenGL3+/ES2/ES3 example. <BR>
+= main.cpp + imgui_impl_sdl.cpp + imgui_impl_opengl3.cpp <BR>
+Note that other examples based on SDL or GLFW + OpenGL could easily be modified to work with Emscripten.
+We provide this to make the Emscripten differences obvious, and have them not pollute all other examples.
 
-example_glfw_metal/
-    GLFW (Mac) + Metal example.
-    = main.mm + imgui_impl_glfw.cpp + imgui_impl_metal.mm
+[example_glfw_metal/](https://github.com/ocornut/imgui/blob/master/examples/example_glfw_metal/) <BR>
+GLFW (Mac) + Metal example. <BR>
+= main.mm + imgui_impl_glfw.cpp + imgui_impl_metal.mm
 
-example_glfw_opengl2/
-    GLFW + OpenGL2 example (legacy, fixed pipeline).
-    = main.cpp + imgui_impl_glfw.cpp + imgui_impl_opengl2.cpp
-    **DO NOT USE OPENGL2 CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)**
-    **Prefer using OPENGL3 code (with gl3w/glew/glad/glad2/glbinding, you can replace the OpenGL function loader)**
-    This code is mostly provided as a reference to learn about Dear ImGui integration, because it is shorter.
-    If your code is using GL3+ context or any semi modern OpenGL calls, using this renderer is likely to
-    make things more complicated, will require your code to reset many OpenGL attributes to their initial
-    state, and might confuse your GPU driver. One star, not recommended.
+[example_glfw_opengl2/](https://github.com/ocornut/imgui/blob/master/examples/example_glfw_opengl2/) <BR>
+GLFW + OpenGL2 example (legacy, fixed pipeline). <BR>
+= main.cpp + imgui_impl_glfw.cpp + imgui_impl_opengl2.cpp <BR>
+**DO NOT USE OPENGL2 CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)** <BR>
+**Prefer using OPENGL3 code (with gl3w/glew/glad/glad2/glbinding, you can replace the OpenGL function loader)** <BR>
+This code is mostly provided as a reference to learn about Dear ImGui integration, because it is shorter.
+If your code is using GL3+ context or any semi modern OpenGL calls, using this renderer is likely to
+make things more complicated, will require your code to reset many OpenGL attributes to their initial
+state, and might confuse your GPU driver. One star, not recommended.
 
-example_glfw_opengl3/
-    GLFW (Win32, Mac, Linux) + OpenGL3+/ES2/ES3 example (programmable pipeline).
-    = main.cpp + imgui_impl_glfw.cpp + imgui_impl_opengl3.cpp
-    This uses more modern OpenGL calls and custom shaders.
-    Prefer using that if you are using modern OpenGL in your application (anything with shaders).
-    (Please be mindful that accessing OpenGL3+ functions requires a function loader, which are a frequent
-    source for confusion for new users. We use a loader in imgui_impl_opengl3.cpp which may be different
-    from the one your app normally use. Read imgui_impl_opengl3.h for details and how to change it.)
+[example_glfw_opengl3/](https://github.com/ocornut/imgui/blob/master/examples/example_glfw_opengl3/) <BR>
+GLFW (Win32, Mac, Linux) + OpenGL3+/ES2/ES3 example (programmable pipeline). <BR>
+= main.cpp + imgui_impl_glfw.cpp + imgui_impl_opengl3.cpp <BR>
+This uses more modern OpenGL calls and custom shaders. <BR>
+Prefer using that if you are using modern OpenGL in your application (anything with shaders).
+(Please be mindful that accessing OpenGL3+ functions requires a function loader, which are a frequent
+source for confusion for new users. We use a loader in imgui_impl_opengl3.cpp which may be different
+from the one your app normally use. Read imgui_impl_opengl3.h for details and how to change it.)
 
-example_glfw_vulkan/
-    GLFW (Win32, Mac, Linux) + Vulkan example.
-    = main.cpp + imgui_impl_glfw.cpp + imgui_impl_vulkan.cpp
-    This is quite long and tedious, because: Vulkan.
-    For this example, the main.cpp file exceptionally use helpers function from imgui_impl_vulkan.h/cpp.
+[example_glfw_vulkan/](https://github.com/ocornut/imgui/blob/master/examples/example_glfw_vulkan/) <BR>
+GLFW (Win32, Mac, Linux) + Vulkan example. <BR>
+= main.cpp + imgui_impl_glfw.cpp + imgui_impl_vulkan.cpp <BR>
+This is quite long and tedious, because: Vulkan.
+For this example, the main.cpp file exceptionally use helpers function from imgui_impl_vulkan.h/cpp.
 
-example_glut_opengl2/
-    GLUT (e.g., FreeGLUT on Linux/Windows, GLUT framework on OSX) + OpenGL2.
-    = main.cpp + imgui_impl_glut.cpp + imgui_impl_opengl2.cpp
-    Note that GLUT/FreeGLUT is largely obsolete software, prefer using GLFW or SDL.
+[example_glut_opengl2/](https://github.com/ocornut/imgui/blob/master/examples/example_glut_opengl2/) <BR>
+GLUT (e.g., FreeGLUT on Linux/Windows, GLUT framework on OSX) + OpenGL2 example. <BR>
+= main.cpp + imgui_impl_glut.cpp + imgui_impl_opengl2.cpp <BR>
+Note that GLUT/FreeGLUT is largely obsolete software, prefer using GLFW or SDL.
 
-example_marmalade/
-    Marmalade example using IwGx.
-    = main.cpp + imgui_impl_marmalade.cpp
+[example_marmalade/](https://github.com/ocornut/imgui/blob/master/examples/example_marmalade/) <BR>
+Marmalade example using IwGx. <BR>
+= main.cpp + imgui_impl_marmalade.cpp
 
-example_null
-    Null example, compile and link imgui, create context, run headless with no inputs and no graphics output.
-    = main.cpp
-    This is used to quickly test compilation of core imgui files in as many setups as possible.
-    Because this application doesn't create a window nor a graphic context, there's no graphics output.
+[example_null/](https://github.com/ocornut/imgui/blob/master/examples/example_null/) <BR>
+Null example, compile and link imgui, create context, run headless with no inputs and no graphics output. <BR>
+= main.cpp <BR>
+This is used to quickly test compilation of core imgui files in as many setups as possible.
+Because this application doesn't create a window nor a graphic context, there's no graphics output.
 
-example_sdl_directx11/
-    SDL2 + DirectX11 example, Windows only.
-    = main.cpp + imgui_impl_sdl.cpp + imgui_impl_dx11.cpp
-    This to demonstrate usage of DirectX with SDL.
+[example_sdl_directx11/](https://github.com/ocornut/imgui/blob/master/examples/example_sdl_directx11/) <BR>
+SDL2 + DirectX11 example, Windows only. <BR>
+= main.cpp + imgui_impl_sdl.cpp + imgui_impl_dx11.cpp <BR>
+This to demonstrate usage of DirectX with SDL.
 
-example_sdl_metal/
-    SDL2 (Mac) + Metal example.
-    = main.mm + imgui_impl_sdl.cpp + imgui_impl_metal.mm
+[example_sdl_metal/](https://github.com/ocornut/imgui/blob/master/examples/example_sdl_metal/) <BR>
+SDL2 (Mac) + Metal example. <BR>
+= main.mm + imgui_impl_sdl.cpp + imgui_impl_metal.mm
 
-example_sdl_opengl2/
-    SDL2 (Win32, Mac, Linux etc.) + OpenGL example (legacy, fixed pipeline).
-    = main.cpp + imgui_impl_sdl.cpp + imgui_impl_opengl2.cpp
-    **DO NOT USE OPENGL2 CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)**
-    **Prefer using OPENGL3 code (with gl3w/glew/glad/glad2/glbinding, you can replace the OpenGL function loader)**
-    This code is mostly provided as a reference to learn about Dear ImGui integration, because it is shorter.
-    If your code is using GL3+ context or any semi modern OpenGL calls, using this renderer is likely to
-    make things more complicated, will require your code to reset many OpenGL attributes to their initial
-    state, and might confuse your GPU driver. One star, not recommended.
+[example_sdl_opengl2/](https://github.com/ocornut/imgui/blob/master/examples/example_sdl_opengl2/) <BR>
+SDL2 (Win32, Mac, Linux etc.) + OpenGL example (legacy, fixed pipeline). <BR>
+= main.cpp + imgui_impl_sdl.cpp + imgui_impl_opengl2.cpp <BR>
+**DO NOT USE OPENGL2 CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)** <BR>
+**Prefer using OPENGL3 code (with gl3w/glew/glad/glad2/glbinding, you can replace the OpenGL function loader)** <BR>
+This code is mostly provided as a reference to learn about Dear ImGui integration, because it is shorter.
+If your code is using GL3+ context or any semi modern OpenGL calls, using this renderer is likely to
+make things more complicated, will require your code to reset many OpenGL attributes to their initial
+state, and might confuse your GPU driver. One star, not recommended.
 
-example_sdl_opengl3/
-    SDL2 (Win32, Mac, Linux, etc.) + OpenGL3+/ES2/ES3 example.
-    = main.cpp + imgui_impl_sdl.cpp + imgui_impl_opengl3.cpp
-    This uses more modern OpenGL calls and custom shaders.
-    Prefer using that if you are using modern OpenGL in your application (anything with shaders).
-    (Please be mindful that accessing OpenGL3+ functions requires a function loader, which are a frequent
-    source for confusion for new users. We use a loader in imgui_impl_opengl3.cpp which may be different
-    from the one your app normally use. Read imgui_impl_opengl3.h for details and how to change it.)
+[example_sdl_opengl3/](https://github.com/ocornut/imgui/blob/master/examples/example_sdl_opengl3/) <BR>
+SDL2 (Win32, Mac, Linux, etc.) + OpenGL3+/ES2/ES3 example. <BR>
+= main.cpp + imgui_impl_sdl.cpp + imgui_impl_opengl3.cpp <BR>
+This uses more modern OpenGL calls and custom shaders. <BR>
+Prefer using that if you are using modern OpenGL in your application (anything with shaders).
+(Please be mindful that accessing OpenGL3+ functions requires a function loader, which are a frequent
+source for confusion for new users. We use a loader in imgui_impl_opengl3.cpp which may be different
+from the one your app normally use. Read imgui_impl_opengl3.h for details and how to change it.)
 
-example_sdl_vulkan/
-    SDL2 (Win32, Mac, Linux, etc.) + Vulkan example.
-    = main.cpp + imgui_impl_sdl.cpp + imgui_impl_vulkan.cpp
-    This is quite long and tedious, because: Vulkan.
-    For this example, the main.cpp file exceptionally use helpers function from imgui_impl_vulkan.h/cpp.
+[example_sdl_vulkan/](https://github.com/ocornut/imgui/blob/master/examples/example_sdl_vulkan/) <BR>
+SDL2 (Win32, Mac, Linux, etc.) + Vulkan example. <BR>
+= main.cpp + imgui_impl_sdl.cpp + imgui_impl_vulkan.cpp <BR>
+This is quite long and tedious, because: Vulkan. <BR>
+For this example, the main.cpp file exceptionally use helpers function from imgui_impl_vulkan.h/cpp.
 
-example_win32_directx9/
-    DirectX9 example, Windows only.
-    = main.cpp + imgui_impl_win32.cpp + imgui_impl_dx9.cpp
+[example_win32_directx9/](https://github.com/ocornut/imgui/blob/master/examples/example_win32_directx9/) <BR>
+DirectX9 example, Windows only. <BR>
+= main.cpp + imgui_impl_win32.cpp + imgui_impl_dx9.cpp
 
-example_win32_directx10/
-    DirectX10 example, Windows only.
-    = main.cpp + imgui_impl_win32.cpp + imgui_impl_dx10.cpp
+[example_win32_directx10/](https://github.com/ocornut/imgui/blob/master/examples/example_win32_directx10/) <BR>
+DirectX10 example, Windows only. <BR>
+= main.cpp + imgui_impl_win32.cpp + imgui_impl_dx10.cpp
 
-example_win32_directx11/
-    DirectX11 example, Windows only.
-    = main.cpp + imgui_impl_win32.cpp + imgui_impl_dx11.cpp
+[example_win32_directx11/](https://github.com/ocornut/imgui/blob/master/examples/example_win32_directx11/) <BR>
+DirectX11 example, Windows only. <BR>
+= main.cpp + imgui_impl_win32.cpp + imgui_impl_dx11.cpp
 
-example_win32_directx12/
-    DirectX12 example, Windows only.
-    = main.cpp + imgui_impl_win32.cpp + imgui_impl_dx12.cpp
-    This is quite long and tedious, because: DirectX12.
+[example_win32_directx12/](https://github.com/ocornut/imgui/blob/master/examples/example_win32_directx12/) <BR>
+DirectX12 example, Windows only. <BR>
+= main.cpp + imgui_impl_win32.cpp + imgui_impl_dx12.cpp <BR>
+This is quite long and tedious, because: DirectX12.
 
 
----------------------------------------
- MISCELLANEOUS
----------------------------------------
+### Miscallaneous
 
-Building:
-  Unfortunately in 2020 it is still tedious to create and maintain portable build files using external
-  libraries (the kind we're using here to create a window and render 3D triangles) without relying on
-  third party software. For most examples here we choose to provide:
-   - Makefiles for Linux/OSX
-   - Batch files for Visual Studio 2008+
-   - A .sln project file for Visual Studio 2012+
-   - Xcode project files for the Apple examples
-  Please let us know if they don't work with your setup!
-  You can probably just import the imgui_impl_xxx.cpp/.h files into your own codebase or compile those
-  directly with a command-line compiler.
+**Building**
 
-  If you are interested in using Cmake to build and links examples, see:
-    https://github.com/ocornut/imgui/pull/1713 and https://github.com/ocornut/imgui/pull/3027
+Unfortunately in 2020 it is still tedious to create and maintain portable build files using external
+libraries (the kind we're using here to create a window and render 3D triangles) without relying on
+third party software. For most examples here we choose to provide:
+ - Makefiles for Linux/OSX
+ - Batch files for Visual Studio 2008+
+ - A .sln project file for Visual Studio 2012+
+ - Xcode project files for the Apple examples
+Please let us know if they don't work with your setup!
+You can probably just import the imgui_impl_xxx.cpp/.h files into your own codebase or compile those
+directly with a command-line compiler.
 
-Things feeling laggy?
+If you are interested in using Cmake to build and links examples, see:
+  https://github.com/ocornut/imgui/pull/1713 and https://github.com/ocornut/imgui/pull/3027
 
-  Dear ImGui has no particular extra lag for most behaviors,
-  e.g. the value of 'io.MousePos' provided at the time of NewFrame() will result in windows being moved
-  to the right spot at the time of EndFrame()/Render(). At 60 FPS your experience should be pleasant.
+**About mouse cursor latency**
 
-  However, consider that OS mouse cursors are typically drawn through a very specific hardware accelerated
-  path and will feel smoother than the majority of contents rendered via regular graphics API (including,
-  but not limited to Dear ImGui windows). Because UI rendering and interaction happens on the same plane 
-  as the mouse, that disconnect may be jarring to particularly sensitive users.
-  You may experiment with enabling the io.MouseDrawCursor flag to request Dear ImGui to draw a mouse cursor
-  using the regular graphics API, to help you visualize the difference between a "hardware" cursor and a
-  regularly rendered software cursor.
-  However, rendering a mouse cursor at 60 FPS will feel sluggish so you likely won't want to enable that at
-  all times. It might be beneficial for the user experience to switch to a software rendered cursor _only_
-  when an interactive drag is in progress.
+Dear ImGui has no particular extra lag for most behaviors,
+e.g. the value of 'io.MousePos' provided at the time of NewFrame() will result in windows being moved
+to the right spot at the time of EndFrame()/Render(). At 60 FPS your experience should be pleasant.
 
-  Note that some setup or GPU drivers are likely to be causing extra display lag depending on their settings.
-  If you feel that dragging windows feels laggy and you are not sure what the cause is: try to build a simple
-  drawing a flat 2D shape directly under the mouse cursor!
+However, consider that OS mouse cursors are typically drawn through a very specific hardware accelerated
+path and will feel smoother than the majority of contents rendered via regular graphics API (including,
+but not limited to Dear ImGui windows). Because UI rendering and interaction happens on the same plane 
+as the mouse, that disconnect may be jarring to particularly sensitive users.
+You may experiment with enabling the io.MouseDrawCursor flag to request Dear ImGui to draw a mouse cursor
+using the regular graphics API, to help you visualize the difference between a "hardware" cursor and a
+regularly rendered software cursor.
+However, rendering a mouse cursor at 60 FPS will feel sluggish so you likely won't want to enable that at
+all times. It might be beneficial for the user experience to switch to a software rendered cursor _only_
+when an interactive drag is in progress.
+
+Note that some setup or GPU drivers are likely to be causing extra display lag depending on their settings.
+If you feel that dragging windows feels laggy and you are not sure what the cause is: try to build a simple
+drawing a flat 2D shape directly under the mouse cursor!
 
diff --git a/docs/FAQ.md b/docs/FAQ.md
index 20abe63..d474607 100644
--- a/docs/FAQ.md
+++ b/docs/FAQ.md
@@ -50,6 +50,7 @@
 **This library is poorly documented at the moment and expects of the user to be acquainted with C/C++.**
 - Dozens of standalone example applications using e.g. OpenGL/DirectX are provided in the [examples/](https://github.com/ocornut/imgui/blob/master/examples/) folder to explain how to integrate Dear ImGui with your own engine/application. You can run those applications and explore them.
 - See demo code in [imgui_demo.cpp](https://github.com/ocornut/imgui/blob/master/imgui_demo.cpp) and particularly the `ImGui::ShowDemoWindow()` function. The demo covers most features of Dear ImGui, so you can read the code and see its output.
+- See documentation: [Backends](https://github.com/ocornut/imgui/blob/master/docs/BACKENDS.md), [Examples](https://github.com/ocornut/imgui/blob/master/docs/EXAMPLES.md), [Fonts](https://github.com/ocornut/imgui/blob/master/docs/FONTS.md).
 - See documentation and comments at the top of [imgui.cpp](https://github.com/ocornut/imgui/blob/master/imgui.cpp) + general API comments in [imgui.h](https://github.com/ocornut/imgui/blob/master/imgui.h).
 - The [Wiki](https://github.com/ocornut/imgui/wiki) has many resources and links.
 - The [Glossary](https://github.com/ocornut/imgui/wiki/Glossary) page may be useful.
@@ -91,8 +92,9 @@
 
 ### Q: How to get started?
 
+Read [EXAMPLES.md](https://github.com/ocornut/imgui/blob/master/docs/EXAMPLES.md). <BR>
+Read [BACKENDS.md](https://github.com/ocornut/imgui/blob/master/docs/BACKENDS.md). <BR>
 Read `PROGRAMMER GUIDE` section of [imgui.cpp](https://github.com/ocornut/imgui/blob/master/imgui.cpp).
-Read [examples/README.txt](https://github.com/ocornut/imgui/tree/master/examples/README.txt).
 
 ##### [Return to Index](#index)
 
@@ -142,7 +144,7 @@
 to your host computer, based on the Synergy 1.x protocol. Make sure you download the Synergy 1 server on your computer.
 Console SDK also sometimes provide equivalent tooling or wrapper for Synergy-like protocols.
 - Game console users: consider emulating a mouse cursor with DualShock4 touch pad or a spare analog stick as a mouse-emulation fallback.
-- You may also use a third party solution such as [Remote ImGui](https://github.com/JordiRos/remoteimgui) or [imgui-ws](https://github.com/ggerganov/imgui-ws) which sends the vertices to render over the local network, allowing you to use Dear ImGui even on a screen-less machine. See [Wiki](https://github.com/ocornut/imgui/wiki) index for most details.
+- You may also use a third party solution such as [netImgui](https://github.com/sammyfreg/netImgui), [Remote ImGui](https://github.com/JordiRos/remoteimgui) or [imgui-ws](https://github.com/ggerganov/imgui-ws) which sends the vertices to render over the local network, allowing you to use Dear ImGui even on a screen-less machine. See [Wiki](https://github.com/ocornut/imgui/wiki) index for most details.
 - For touch inputs, you can increase the hit box of widgets (via the `style.TouchPadding` setting) to accommodate for the lack of precision of touch inputs, but it is recommended you use a mouse or gamepad to allow optimizing for screen real-estate and precision.
 
 ##### [Return to Index](#index)
diff --git a/docs/FONTS.md b/docs/FONTS.md
index 7ce5a88..87e6ee0 100644
--- a/docs/FONTS.md
+++ b/docs/FONTS.md
@@ -1,6 +1,6 @@
-## Dear ImGui: Using Fonts
+_(You may browse this at https://github.com/ocornut/imgui/blob/master/docs/FONTS.md or view this file with any Markdown viewer)_
 
-(You may browse this document at https://github.com/ocornut/imgui/blob/master/docs/FONTS.md or view this file with any Markdown viewer.)
+## Dear ImGui: Using Fonts
 
 The code in imgui.cpp embeds a copy of 'ProggyClean.ttf' (by Tristan Grimmer),
 a 13 pixels high, pixel-perfect font used by default. We embed it in the source code so you can use Dear ImGui without any file system access. ProggyClean does not scale smoothly, therefore it is recommended that you load your own file when using Dear ImGui in an application aiming to look nice and wanting to support multiple resolutions.
diff --git a/docs/README.md b/docs/README.md
index e60e431..a946315 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -33,7 +33,7 @@
 
 You will need a backend to integrate Dear ImGui in your app. The backend passes mouse/keyboard/gamepad inputs and variety of settings to Dear ImGui, and is in charge of rendering the resulting vertices.
 
-**Backends for a variety of graphics api and rendering platforms** are provided in the [examples/](https://github.com/ocornut/imgui/tree/master/examples) folder, along with example applications. See the [Integration](#integration) section of this document for details. You may also create your own backend. Anywhere where you can render textured triangles, you can render Dear ImGui.
+**Backends for a variety of graphics api and rendering platforms** are provided in the [backends/](https://github.com/ocornut/imgui/tree/master/backends) folder, along with example applications in the [examples/](https://github.com/ocornut/imgui/tree/master/examples) folder. See the [Integration](#integration) section of this document for details. You may also create your own backend. Anywhere where you can render textured triangles, you can render Dear ImGui.
 
 After Dear ImGui is setup in your application, you can use it from \_anywhere\_ in your program loop:
 
diff --git a/examples/README.txt b/examples/README.txt
new file mode 100644
index 0000000..ed16dd9
--- /dev/null
+++ b/examples/README.txt
@@ -0,0 +1 @@
+See EXAMPLES and BACKENDS files in the docs/ folder.
diff --git a/examples/example_allegro5/main.cpp b/examples/example_allegro5/main.cpp
index 60ed680..fefcd76 100644
--- a/examples/example_allegro5/main.cpp
+++ b/examples/example_allegro5/main.cpp
@@ -1,5 +1,6 @@
-// dear imgui: standalone example application for Allegro 5
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for Allegro 5
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include <stdint.h>
 #include <allegro5/allegro.h>
diff --git a/examples/example_apple_opengl2/main.mm b/examples/example_apple_opengl2/main.mm
index eaf55da..c3f43bd 100644
--- a/examples/example_apple_opengl2/main.mm
+++ b/examples/example_apple_opengl2/main.mm
@@ -1,5 +1,6 @@
-// dear imgui: standalone example application for OSX + OpenGL2, using legacy fixed pipeline
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for OSX + OpenGL2, using legacy fixed pipeline
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include "imgui.h"
 #include "../../backends/imgui_impl_osx.h"
diff --git a/examples/example_emscripten/main.cpp b/examples/example_emscripten/main.cpp
index facbf33..13f90ed 100644
--- a/examples/example_emscripten/main.cpp
+++ b/examples/example_emscripten/main.cpp
@@ -1,10 +1,11 @@
-// dear imgui: standalone example application for Emscripten, using SDL2 + OpenGL3
+// Dear ImGui: standalone example application for Emscripten, using SDL2 + OpenGL3
+// (Emscripten is a C++-to-javascript compiler, used to publish executables for the web. See https://emscripten.org/)
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
+
 // This is mostly the same code as the SDL2 + OpenGL3 example, simply with the modifications needed to run on Emscripten.
 // It is possible to combine both code into a single source file that will compile properly on Desktop and using Emscripten.
 // See https://github.com/ocornut/imgui/pull/2492 as an example on how to do just that.
-//
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
-// (Emscripten is a C++-to-javascript compiler, used to publish executables for the web. See https://emscripten.org/)
 
 #include "imgui.h"
 #include "imgui_impl_sdl.h"
diff --git a/examples/example_glfw_metal/main.mm b/examples/example_glfw_metal/main.mm
index 1860d8b..d818dba 100644
--- a/examples/example_glfw_metal/main.mm
+++ b/examples/example_glfw_metal/main.mm
@@ -1,6 +1,7 @@
-// dear imgui: standalone example application for GLFW + Metal, using programmable pipeline
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for GLFW + Metal, using programmable pipeline
 // (GLFW is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan/Metal graphics context creation, etc.)
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include "imgui.h"
 #include "imgui_impl_glfw.h"
diff --git a/examples/example_glfw_opengl2/main.cpp b/examples/example_glfw_opengl2/main.cpp
index 2307e1c..9683a4d 100644
--- a/examples/example_glfw_opengl2/main.cpp
+++ b/examples/example_glfw_opengl2/main.cpp
@@ -1,6 +1,7 @@
-// dear imgui: standalone example application for GLFW + OpenGL2, using legacy fixed pipeline
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for GLFW + OpenGL2, using legacy fixed pipeline
 // (GLFW is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan/Metal graphics context creation, etc.)
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // **DO NOT USE THIS CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)**
 // **Prefer using the code in the example_glfw_opengl2/ folder**
diff --git a/examples/example_glfw_opengl3/main.cpp b/examples/example_glfw_opengl3/main.cpp
index f773005..434c9f2 100644
--- a/examples/example_glfw_opengl3/main.cpp
+++ b/examples/example_glfw_opengl3/main.cpp
@@ -1,6 +1,7 @@
-// dear imgui: standalone example application for GLFW + OpenGL 3, using programmable pipeline
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for GLFW + OpenGL 3, using programmable pipeline
 // (GLFW is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan/Metal graphics context creation, etc.)
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include "imgui.h"
 #include "imgui_impl_glfw.h"
diff --git a/examples/example_glfw_vulkan/main.cpp b/examples/example_glfw_vulkan/main.cpp
index ba2c9d6..230d21d 100644
--- a/examples/example_glfw_vulkan/main.cpp
+++ b/examples/example_glfw_vulkan/main.cpp
@@ -1,5 +1,6 @@
-// dear imgui: standalone example application for Glfw + Vulkan
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for Glfw + Vulkan
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // Important note to the reader who wish to integrate imgui_impl_vulkan.cpp/.h in their own engine/app.
 // - Common ImGui_ImplVulkan_XXX functions and structures are used to interface with imgui_impl_vulkan.cpp/.h.
diff --git a/examples/example_glut_opengl2/main.cpp b/examples/example_glut_opengl2/main.cpp
index 0adc7ae..b8efae9 100644
--- a/examples/example_glut_opengl2/main.cpp
+++ b/examples/example_glut_opengl2/main.cpp
@@ -1,5 +1,6 @@
-// dear imgui: standalone example application for GLUT/FreeGLUT + OpenGL2, using legacy fixed pipeline
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for GLUT/FreeGLUT + OpenGL2, using legacy fixed pipeline
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // !!! GLUT/FreeGLUT IS OBSOLETE SOFTWARE. Using GLUT is not recommended unless you really miss the 90's. !!!
 // !!! If someone or something is teaching you GLUT in 2020, you are being abused. Please show some resistance. !!!
diff --git a/examples/example_marmalade/main.cpp b/examples/example_marmalade/main.cpp
index 064e43c..e97cb53 100644
--- a/examples/example_marmalade/main.cpp
+++ b/examples/example_marmalade/main.cpp
@@ -1,5 +1,6 @@
-// dear imgui: standalone example application for Marmalade
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for Marmalade
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // Copyright (C) 2015 by Giovanni Zito
 // This file is part of Dear ImGui
diff --git a/examples/example_sdl_directx11/main.cpp b/examples/example_sdl_directx11/main.cpp
index 82e2206..5a80115 100644
--- a/examples/example_sdl_directx11/main.cpp
+++ b/examples/example_sdl_directx11/main.cpp
@@ -1,6 +1,7 @@
-// dear imgui: standalone example application for SDL2 + DirectX 11
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for SDL2 + DirectX 11
 // (SDL is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan/Metal graphics context creation, etc.)
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include "imgui.h"
 #include "imgui_impl_sdl.h"
diff --git a/examples/example_sdl_metal/main.mm b/examples/example_sdl_metal/main.mm
index 8184ddf..1f33503 100644
--- a/examples/example_sdl_metal/main.mm
+++ b/examples/example_sdl_metal/main.mm
@@ -1,6 +1,7 @@
 // Dear ImGui: standalone example application for SDL2 + Metal
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
 // (SDL is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan/Metal graphics context creation, etc.)
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include "imgui.h"
 #include "imgui_impl_sdl.h"
diff --git a/examples/example_sdl_opengl2/main.cpp b/examples/example_sdl_opengl2/main.cpp
index 8bfafb7..72898d4 100644
--- a/examples/example_sdl_opengl2/main.cpp
+++ b/examples/example_sdl_opengl2/main.cpp
@@ -1,6 +1,7 @@
-// dear imgui: standalone example application for SDL2 + OpenGL
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for SDL2 + OpenGL
 // (SDL is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan/Metal graphics context creation, etc.)
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // **DO NOT USE THIS CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)**
 // **Prefer using the code in the example_sdl_opengl3/ folder**
diff --git a/examples/example_sdl_opengl3/main.cpp b/examples/example_sdl_opengl3/main.cpp
index 578c8c4..e8c68ae 100644
--- a/examples/example_sdl_opengl3/main.cpp
+++ b/examples/example_sdl_opengl3/main.cpp
@@ -1,7 +1,8 @@
-// dear imgui: standalone example application for SDL2 + OpenGL
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for SDL2 + OpenGL
 // (SDL is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan/Metal graphics context creation, etc.)
 // (GL3W is a helper library to access OpenGL functions since there is no standard header to access modern OpenGL functions easily. Alternatives are GLEW, Glad, etc.)
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include "imgui.h"
 #include "imgui_impl_sdl.h"
diff --git a/examples/example_sdl_vulkan/main.cpp b/examples/example_sdl_vulkan/main.cpp
index e4625e3..0f21b06 100644
--- a/examples/example_sdl_vulkan/main.cpp
+++ b/examples/example_sdl_vulkan/main.cpp
@@ -1,5 +1,6 @@
-// dear imgui: standalone example application for SDL2 + Vulkan
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for SDL2 + Vulkan
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 // Important note to the reader who wish to integrate imgui_impl_vulkan.cpp/.h in their own engine/app.
 // - Common ImGui_ImplVulkan_XXX functions and structures are used to interface with imgui_impl_vulkan.cpp/.h.
diff --git a/examples/example_win32_directx10/main.cpp b/examples/example_win32_directx10/main.cpp
index 2dbff10..edde406 100644
--- a/examples/example_win32_directx10/main.cpp
+++ b/examples/example_win32_directx10/main.cpp
@@ -1,5 +1,6 @@
-// dear imgui: standalone example application for DirectX 10
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for DirectX 10
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include "imgui.h"
 #include "imgui_impl_win32.h"
diff --git a/examples/example_win32_directx11/main.cpp b/examples/example_win32_directx11/main.cpp
index 808599b..1ae4dfe 100644
--- a/examples/example_win32_directx11/main.cpp
+++ b/examples/example_win32_directx11/main.cpp
@@ -1,5 +1,6 @@
-// dear imgui - standalone example application for DirectX 11
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for DirectX 11
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include "imgui.h"
 #include "imgui_impl_win32.h"
diff --git a/examples/example_win32_directx12/main.cpp b/examples/example_win32_directx12/main.cpp
index a2e83ec..785237f 100644
--- a/examples/example_win32_directx12/main.cpp
+++ b/examples/example_win32_directx12/main.cpp
@@ -1,5 +1,6 @@
-// dear imgui: standalone example application for DirectX 12
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for DirectX 12
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 // FIXME: 64-bit only for now! (Because sizeof(ImTextureId) == sizeof(void*))
 
 #include "imgui.h"
diff --git a/examples/example_win32_directx9/main.cpp b/examples/example_win32_directx9/main.cpp
index a07011c..0b0d27c 100644
--- a/examples/example_win32_directx9/main.cpp
+++ b/examples/example_win32_directx9/main.cpp
@@ -1,5 +1,6 @@
-// dear imgui: standalone example application for DirectX 9
-// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
+// Dear ImGui: standalone example application for DirectX 9
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
 
 #include "imgui.h"
 #include "imgui_impl_dx9.h"
diff --git a/imgui.cpp b/imgui.cpp
index c24e8e4..81a39cd 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -371,6 +371,7 @@
  When you are not sure about a old symbol or function name, try using the Search/Find function of your IDE to look for comments or references in all imgui files.
  You can read releases logs https://github.com/ocornut/imgui/releases for more details.
 
+ - 2020/10/14 (1.80) - backends: moved all backends files (imgui_impl_XXXX.cpp, imgui_impl_XXXX.h) from examples/ to backends/.
  - 2020/10/12 (1.80) - removed redirecting functions/enums that were marked obsolete in 1.60 (April 2018):
                         - io.RenderDrawListsFn pointer        -> use ImGui::GetDrawData() value and call the render function of your backend
                         - ImGui::IsAnyWindowFocused()         -> use ImGui::IsWindowFocused(ImGuiFocusedFlags_AnyWindow)