No description, website, or topics provided.
D
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

System Propagation of Event Wells (S.P.E.W.)

' Not spew,' said Alphaglosined impatiently. 'It's S-P-E-W. Stands for the System Propagation of Event Wells.'

So what is an Event Well, you may ask. Well good question. I don't quite know, but it has something to do with creating events at a higher level then the system that created them and propagating them to a nice user (developer) interface.

In the end what exactly are the goals for S.P.E.W? Well not much, just a unified event loop, bindings and of course interfacing to OS constructs that can have major performance impact like windowing.

So why should we take you seriously? After all glib exists. Well, you're still reading this aren't you.

Platform support

  • Windows 7+ (tested on Windows 10 officially only)

Depends upon LibUV for sockets+timer+file watcher support. Can load+extract from a Nuget package. The linked packed is fat, meaning it should work on Linux, OSX and Windows.

Warning: Windows 64bit for dmd is currently bugged when using the diagnostic code. OpenGL bindings is too large for debug information.

Tasks

  • General structure
  • Event loop
    • Abstraction
    • Basic implementation
    • Wells:
      • X11
      • WinAPI
      • Cocoa
      • LibUV
      • GLIB
      • Poll (posix)
      • Epoll (linux)
      • D-Bus (system-d)
    • Consumers:
      • X11
      • WinAPI
      • Cocoa
  • Streams
    • TCP
      • Client LibUV
      • Client Fallback
      • Server LibUV
      • Server Fallbak
    • UDP
      • Local LibUV
      • Local Fallback
      • Remote LibUV
      • Remote Fallback
  • File system
    • Watcher
      • LibUV
      • Fallback
  • Timer
    • WinAPI
    • LibUV
    • Fallback
  • Windowing
    • X11
      • Core
      • Features:
        • notifications
          • FreeDesktop
          • D-Bus org.freedesktop.Notifications
        • cursor
        • icon
        • screenshot
        • Clipboard
        • Drag&Drop
      • Contexts:
        • VRAM
        • OpenGL
    • WinAPI
      • Core
      • Features:
        • notifications
        • cursor
        • icon
        • menu
        • screenshot
        • Clipboard
        • Drag&Drop
      • Contexts:
        • VRAM
        • OpenGL
    • Cocoa
      • Core
      • Features:
        • notifications
        • cursor
        • icon
        • menu
        • screenshot
        • Clipboard
        • Drag&Drop
      • Contexts:
        • VRAM
        • OpenGL

Short list of won't-implement:

License

Boost