├── .editorconfig
├── .gitignore
├── BrowserHost.Common
├── BrowserHost.Common.csproj
├── JSONParser.cs
├── JSONWriter.cs
├── Properties
│ └── AssemblyInfo.cs
└── RenderProcess.cs
├── BrowserHost.Plugin
├── BrowserHost.Plugin.csproj
├── BrowserHost.Plugin.json
├── Configuration.cs
├── DependencyManager.cs
├── DxHandler.cs
├── Inlay.cs
├── IpcBuffer.cs
├── NativeMethods.cs
├── Plugin.cs
├── Properties
│ └── AssemblyInfo.cs
├── RenderProcess.cs
├── Settings.cs
├── TextureHandlers
│ ├── BitmapBufferTextureHandler.cs
│ ├── ITextureHandler.cs
│ └── SharedTextureHandler.cs
├── WndProcHandler.cs
└── images
│ ├── icon.png
│ └── image1.png
├── BrowserHost.Renderer
├── App.config
├── BrowserHost.Renderer.csproj
├── CefHandler.cs
├── DxHandler.cs
├── Inlay.cs
├── IpcBuffer.cs
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
├── RenderHandlers
│ ├── BaseRenderHandler.cs
│ ├── BitmapBufferRenderHandler.cs
│ └── TextureRenderHandler.cs
├── cef
│ └── VERSION
└── packages.config
├── BrowserHost.sln
├── COPYING
├── COPYING.LESSER
└── README.md
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | trim_trailing_whitespace = true
7 | indent_style = tab
8 | indent_size=2
9 | tab_width=2
10 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .vs/
2 | bin/
3 | obj/
4 | packages/
5 |
--------------------------------------------------------------------------------
/BrowserHost.Common/BrowserHost.Common.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {9EC3F19A-CEA0-44BD-B55C-FECF7D02CC6B}
8 | Library
9 | Properties
10 | BrowserHost.Common
11 | BrowserHost.Common
12 | v4.8
13 | 8.0
14 | 512
15 | true
16 | PackageReference
17 |
18 |
19 | true
20 | ..\bin\Debug\plugin\
21 | DEBUG;TRACE
22 | full
23 | x64
24 | 8.0
25 | prompt
26 | MinimumRecommendedRules.ruleset
27 |
28 |
29 | ..\bin\Release\plugin\
30 | TRACE
31 | true
32 | none
33 | x64
34 | 8.0
35 | prompt
36 | MinimumRecommendedRules.ruleset
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/BrowserHost.Common/JSONParser.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Reflection;
5 | using System.Runtime.Serialization;
6 | using System.Text;
7 |
8 | namespace TinyJson
9 | {
10 | // Really simple JSON parser in ~300 lines
11 | // - Attempts to parse JSON files with minimal GC allocation
12 | // - Nice and simple "[1,2,3]".FromJson>() API
13 | // - Classes and structs can be parsed too!
14 | // class Foo { public int Value; }
15 | // "{\"Value\":10}".FromJson()
16 | // - Can parse JSON without type information into Dictionary and List