Hello everyone,
sorry I am very busy from my practical training as kitchen helper or cooker at restaurant / hospital. But I have 5 times of accidents.

My finger is not much cutting. Thanks for worrying me! I am shy to show because my finger in left middle finger
I am working at XLibSharp ( Wrapper for X11 ) on Ubuntu 18.04 and I have created simple window with button clicking.
It is really easy like Flash's Sprite
example:
Instance of Sprite = 1 = flash player or flash application. But XLib/X11 works also instance of window like sprite.
For XLib/X11 is very close to same to Flash Sprite Api
But I need create display, screen_number and window than I create any components.
XCreateSimpleWindow or XCreateWindow are very different levelly.
Example:
...
private IntPtr window, button;
...
window = XCreateSimpleWindow(....);
button = XCreateSimpleWindow(display, window, ...);
...
XMapWindow(display, window);
XMapWindow(display, button);
...
while(true)
{
// KeyPress for destroying window with break; It means Close window
...
// ButtonPress for clicking event with writing console or making new rectangle or widget of X11
...
}
...
XCloseDisplay(display);
I will release soon - I hope I can work sure 100 % with XLib/X11 wrapper for C#. But Steffen Ploetz's X11 libraries are very horrible because X11 libraries with shit enumerators. like TInt, TUlong or TPixel etc.. I really don't understand. I want use default types of mscorlib.dll ( using System; )
That is why I write clean library XLibSharp ( for only Linux, FreeBSD with only 64Bit - but I won't support for Windows - I know you want use with Cygwin's X11 - But I don't care with Cygwin. ) Please respect me! - I will try to create Half-life with XLib/X11 - Wait why it is easy? Because Half-Life has GUI like Steam GUI dialogues/windows. XLib/X11 has support also Vulkan too.
Sorry for longer busy because I have tried to resolve with GtkSharp3 and SDL2 = bad news if I add button than GtkSharp 3 application will crash. That is why I am trying to resolve as successful library for Linux and FreeBSD.
I hope you understand my English.
Best kind regards!
And I have tried to resolve current color as red like XColor(65535, 0, 0);
But it seems wrong color as low green like It explained stackoverflow - 15 to 13 is low green, 12 to 8 is blue, 7 to 3 is red and 2 to 0 is high green.
I really want know how do I get R, G and B from Color/Pixel.
If I use "0xFF0000" than it means red color.
Thanks if you have experience of Color / Pixel as ulong and R, G, B are as ushort.
But I know about byte no problem.
Result:
Nice UI stuff by the way.
I am working SharpHL with XLibSharp - Why do I not use SDL2-CS? I would like to try for Linux and FreeBSD. Because I want make realtime of look in camera viewport of SharpHL on SharpHammer or XHammer ( alternative to Sedge Editor or Valve Hammer Editor under Linux ) PS I am porting full HL-SDK to C# - But SoloKikker's structure I see like it seems forgettable methods but I make all like [MarshalAs(UnmanagedType.ByValArray)] and cmdlib.cs and bsplib.cs are static classes and I make sure.
What does "realtime of look" in SharpHammer or XHammer?
It looks like runnable mode of Unity or Unreal Editor without after compilation if everyone want create and optimize map faster than everyone thinks and looses time. That's why I really want make easy for GoldSource Engine Fans like Twhl.info or MapCore and other websites.
Sharp Half-Life supports only 64 Bit but single executable ( I will look for 2 files for client and server with executable like original structure. ) but I am making like SharpQuake - I know it looks wrong but I want add any external assemblies in protected packages than they can't decompile loaded plugins or external functions so like SoloKiller's idea but I make safe. If I am ready release under Linux than I will support for Windows, MacOS, Android and Nintendo Switch ( possible )
I am very excited to resolve like one shape = OK but multiple shapes = not working with public methods
Like this:
XDrawArcs(....)
XDrawLines(...)
XDrawRectangles(...)
And other like this
XFillArcs(...)
XFillRectangles(...)
Successful method:
Link here
With Segments and Arcs