svision2
1.0.0
Este é o SVISION2. Outra biblioteca da GUI. Uma continuação do SVISON for MSDOS : SVISON for MSDOS.
Veja a fonte completa para demonstração - src/main.cxx 
clang-format .std::make_shared<Button> )src/buttonstates.h (usado por Button e Checkbox ).#ifdef ).Timer na prática, você obtém um Win32Timer e pode ver no depurador o UINT_PTR timer_idPosixTimer e pode ver o timer_t timerid .auto func() -> const int; - Para tudo.int foo = 0; Point location = {} . Para que você possa procurar = e saber quando um membro é atribuído por padrão.O status é que isso ainda não é utilizável e está sob pesado desenvolvimento.
Para instruções de compilação, consulte as instruções de compilação
... Eu não possuo um Mac, então um PR é bem -vindo. Se você quiser me comprar um Mac, entre em contato comigo. Isso está planejado - e deve ser fácil de portar.
O design deste kit de ferramentas é trivial: tudo é uma imagem raster. Sem GPU. Cada widget tem seu próprio buffer que ele escreve e é pintado nos pais.
src/platform-foo.{h,cpp} : implemente uma nova struct PlatformFOO : Platform :open_window() retorna a janela da plataforma (veja abaixo).invalidate(PlatformWindow &w) primeiro lançado em sua própria janela: auto window = static_cast<PlatformWindowFOO *>(&w); (Não há necessidade de validar, se alguém estiver enviando uma classe diferente de propósito - um problema mais feio acontece).show_window() - Novamente, fundido para sua própria classe, para obter a alça correta ( platformwin32.cpp é um bom exemplo simples).invalidate() - Novamente, fundido para sua própria classe, para obter a alça correta. Isso pinta o conteúdo da janela no sistema de janelas da plataforma.main_loop() - Observe que você não deve sair na última janela aberta. Consulte platformwin32.cpp para referência.convert_x11_key_event() como exemplo.using ThePlatform = PlatformFOO .PlatformWindowFOO : Esta classe define uma nova janela. Você pode adicionar seu código local ( HWND ou XID ). Faça isso internamente no arquivo PlatformFOO.cpp - apenas a encaminhe declare isso no cabeçalho, pois esse é um detalhe de implementação puro.src/timer.{h,cpp} : você também precisará de um temporizador de plataforma. timer.h interno.h, adicione define struct FooTimer : PlatformTimer - e no final using Timer = FooTimer .