Multi-platform .NET bindings to the Ultralight project.
1using System;
2using ImpromptuNinjas.UltralightSharp.Enums;
3using ImpromptuNinjas.UltralightSharp.Safe;
4
5partial class Program {
6
7 private static void LoggerCallback(LogLevel logLevel, string? msg) {
8 switch (logLevel) {
9 case LogLevel.Error:
10 case LogLevel.Warning: {
11 Console.Error.WriteLine($"{logLevel.ToString()}: {msg}");
12 Console.Error.Flush();
13 //Debugger.Break();
14 break;
15 }
16 case LogLevel.Info: {
17 Console.WriteLine($"{logLevel.ToString()}: {msg}");
18 break;
19 }
20 default: throw new ArgumentOutOfRangeException(nameof(logLevel), logLevel, null);
21 }
22 }
23
24 private static void ConsoleMessageCallback(IntPtr ud, View caller, MessageSource source, MessageLevel level, string? message, uint lineNumber, uint columnNumber, string? sourceId) {
25 switch (level) {
26 case MessageLevel.Warning:
27 case MessageLevel.Error: {
28 Console.Error.WriteLine($"{level.ToString()} {source}:{lineNumber}:{columnNumber}: {message}");
29 Console.Error.Flush();
30 //Debugger.Break();
31 break;
32 }
33
34 default: {
35 Console.WriteLine($"{level.ToString()} {source}:{lineNumber}:{columnNumber}: {message}");
36 break;
37 }
38 }
39 }
40
41}