svision2
1.0.0
これはsvision2です。別のGUIライブラリ。 MSDOSのSVISIONの継続:MSDOSのSVision。
デモの完全なソース-SRC/main.cxxを参照してください
clang-formatを使用して行われます。std::make_shared<Button>です)src/buttonstates.h ( ButtonとCheckboxで使用)を参照してください。#ifdefなし)の使用は避けてください。Timerを要求すると、 Win32Timerを取得し、デバッガーでUINT_PTR timer_id確認できます。PosixTimer取得し、 timer_t timerid見ることができます。auto func() -> const int; - すべてのために。int foo = 0; Point location = {} 。したがって、 =を探すことができ、メンバーがデフォルトで割り当てられることを知ることができます。ステータスは、これがまだ使用できないことであり、激しい開発中です。
編集手順については、編集手順を参照してください
...私はMacを所有していないので、PRを歓迎します。 Macを購入したい場合は、私に連絡してください。これは計画されており、簡単に移植できるはずです。
このツールキットのデザインは些細なものです。すべてがラスター画像です。 GPUはありません。各ウィジェットには独自のバッファーが書いており、両親に塗装されます。
src/platform-foo.{h,cpp} :新しいstruct PlatformFOO : Platform :open_window()プラットフォームウィンドウを返します(Bellowを参照)。invalidate(PlatformWindow &w)最初に自分のウィンドウにキャスト: auto window = static_cast<PlatformWindowFOO *>(&w); (誰かが意図的に別のクラスを送信している場合、検証する必要はありません - ug官の問題が発生します)。show_window() - 再び、自分のクラスにキャストして、正しいハンドルを取得します( platformwin32.cpp良い簡単な例です)。invalidate() - 再び、自分のクラスにキャストして、正しいハンドルを取得します。これにより、ウィンドウコンテンツがプラットフォームのウィンドウシステムにペイントされます。main_loop() - 最後のウィンドウを開いて終了しないでください。参照については、 platformwin32.cppを参照してください。convert_x11_key_event()参照してください。using ThePlatform = PlatformFOO 、ヘッダーの下部に追加します。PlatformWindowFOO :このクラスは新しいウィンドウを定義します。ローカルコード( HWNDまたはXID )を追加できます。これをPlatformFOO.cppファイルで内部的に実行します - これはヘッダーでこれを宣言します。これは純粋な実装の詳細であるためです。src/timer.{h,cpp} :プラットフォームタイマーも必要です。内部timer.h 、define struct FooTimer : PlatformTimerを追加し、最後にusing Timer = FooTimer 。