提案 #1453
完了
gtk3: MiraclePainterをGtk::Widgetベースの実装に書き直す
Yuto Tokunaga さんが4年以上前に追加.
ほぼ3年前に更新.
説明
GTK3のリリースと同時だと変更が大きすぎるため,分けてリリースする.
topic/1453-gtk3-rewrite-mp
で作業中.
Mastodonの投稿などもちょっとだけ見ていましたが、直近で取り込む可能性は低い、ということは先に伝えておきます。
まず、プロジェクトとしてMiraclePainterを置き換えるモチベーションはありません(gtk3は、色んな所に書いている通り、やりたいと思っています)。
UI周りのAPIが複雑なところであり、ここを置き換えると大きく互換性が損なわれます。多分、このチケットを提案した理由は速度やコードの単純化などだと思いますが、それらを達成するにはいまのMiraclePainterの互換性を壊さないことには十分な成果は得られないはずです。
とはいえ、互換性を無視して今書き直せば、数倍程度の高速化、半分程度のコード量は簡単に達成できると思います。互換性を気にして長い時間を掛け、大した効果を産めないよりは、forkなどの手段を取ってもらって、そういったしがらみを無視してMiraclePainterの書き換えはやってもらったほうが良いのではないか、という結論に至る可能性が高いと思っています。
- トラッカー を 機能 から 提案 に変更
- ステータス を 新規 から 分類待ち に変更
- 開始日 を削除 (
2020-06-12)
利点としては
- 描画の高速化(GTK3のレイアウトシステム・再描画処理の最小化)
- コード量の削減・メンテナンス性の向上(特に座標の計算)
- スクロール可能領域・動画(GTK4)など,柔軟にウィジェットを追加できる
があると思います.互換性のところはおそらくSubparts関連だと思うのですが,SubpartsHelper互換の描画領域を用意することは可能ではないかと思います(コード量は減らないことになりますが).
「柔軟にウィジェットを追加できる」の具体例で、mastodonの閲覧注意の実装があります.GtkExpander を使えれば実装できそうです.
- ステータス を 分類待ち から 却下 に変更
- 対象バージョン を 5.1 から 4.2 に変更
他の形式にエクスポート: Atom
PDF