svision2
1.0.0
Esto es Svision2. Otra biblioteca de GUI. Una continuación de la visión para MSDOS : SVISION para MSDOS.
Ver fuente completa para la demostración - SRC/Main.cxx 
clang-format .std::make_shared<Button> )src/buttonstates.h (utilizado por Button y Checkbox ).#ifdef ).Timer en la práctica, obtienes un Win32Timer , y puedes ver en el depurador el UINT_PTR timer_idPosixTimer y puedes ver su timer_t timerid .auto func() -> const int; - para todo.int foo = 0; Point location = {} . Por lo tanto, puede buscar = y saber cuándo se asigna un miembro por defecto.El estado es que esto aún no se puede usar, y está bajo un gran desarrollo.
Para las instrucciones de compilación, consulte las instrucciones de compilación
... No tengo una Mac, por lo que un PR es bienvenido. Si quieres comprarme una Mac, contáctame. Esto está planeado, y debería ser fácil de portar.
El diseño de este kit de herramientas es trivial: todo es una imagen ráster. No GPU. Cada widget tiene su propio amortiguador que le escribe, y se pinta en los padres.
src/platform-foo.{h,cpp} : implementa una nueva struct PlatformFOO : Platform :open_window() Devuelve su ventana de plataforma (ver a Bellow).invalidate(PlatformWindow &w) Primero elige a su propia ventana: auto window = static_cast<PlatformWindowFOO *>(&w); (No es necesario validar, si alguien está enviando una clase diferente a propósito, ocurre un problema más feo).show_window() - Una vez más, lanza a tu propia clase, para obtener el mango correcto ( platformwin32.cpp es un buen ejemplo simple).invalidate() - Nuevamente, lanza a tu propia clase, para obtener el mango correcto. Esto pinta el contenido de la ventana en el sistema de ventanas de su plataforma.main_loop() - Tenga en cuenta que no debe salir en la última ventana abierta. Ver platformwin32.cpp para referencia.convert_x11_key_event() como ejemplo.using ThePlatform = PlatformFOO .PlatformWindowFOO : esta clase define una nueva ventana. Puede agregar su código local ( HWND o XID ). Haga esto internamente en el archivo PlatformFOO.cpp : solo hacia adelante declara esto en el encabezado, ya que este es un detalle de implementación puro.src/timer.{h,cpp} : también necesitará un temporizador de plataforma. Inside timer.h , agregue Define struct FooTimer : PlatformTimer - y al final using Timer = FooTimer .