1 // =================================
 2 // Copyright (c) 2021 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 using System;
 7 
 8 namespace System.Windows
 9 {
10     public class Debug
11     {
12         public static nothrow bool Docking()
13         {
14             return (flags & Flags.docking) != Flags.none;
15         }
16         public static nothrow void SetDocking()
17         {
18             flags = cast<Flags>(flags | Flags.docking);
19         }
20         public static nothrow bool WindowTree()
21         {
22             return (flags & Flags.windowTree) != Flags.none;
23         }
24         public static nothrow void SetWindowTree()
25         {
26             flags = cast<Flags>(flags | Flags.windowTree);
27         }
28         public static nothrow bool Log()
29         {
30             return (flags & Flags.log) != Flags.none;
31         }
32         public static nothrow void SetLog()
33         {
34             flags = cast<Flags>(flags | Flags.log);
35         }
36         public static nothrow bool Paint()
37         {
38             return (flags & Flags.paint) != Flags.none;
39         }
40         public static nothrow void SetPaint()
41         {
42             flags = cast<Flags>(flags | Flags.paint);
43         }
44         public static nothrow bool Messages()
45         {
46             return (flags & Flags.messages) != Flags.none;
47         }
48         public static nothrow void SetMessages()
49         {
50             flags = cast<Flags>(flags | Flags.messages);
51         }
52         public static nothrow bool TreeView()
53         {
54             return (flags & Flags.treeView) != Flags.none;
55         }
56         public static nothrow void SetTreeView()
57         {
58             flags = cast<Flags>(flags | Flags.treeView);
59         }
60         private enum Flags : sbyte
61         {
62             none = 0log = 1 << 0paint = 1 << 1windowTree = 1 << 2docking = 1 << 3messages = 1 << 4treeView = 1 << 5
63         }
64         private static Flags flags;
65     }
66 }