Project

General

Profile

提案 #1453

gtk3: MiraclePainterをGtk::Widgetベースの実装に書き直す

Added by Yuto Tokunaga 6 months ago. Updated 4 months ago.

Status:
分類待ち
Priority:
通常
Assignee:
Target version:
プラグイン名:
gtk3
ブランチ:

Description

GTK3のリリースと同時だと変更が大きすぎるため,分けてリリースする.


Related issues

Related to 機能 #887: gtk3実装待ちtoshi_a 初音2019-10-13

Actions
#1

Updated by Yuto Tokunaga 6 months ago

#2

Updated by Yuto Tokunaga 6 months ago

topic/1453-gtk3-rewrite-mpで作業中.

#3

Updated by toshi_a 初音 6 months ago

Mastodonの投稿などもちょっとだけ見ていましたが、直近で取り込む可能性は低い、ということは先に伝えておきます。

まず、プロジェクトとしてMiraclePainterを置き換えるモチベーションはありません(gtk3は、色んな所に書いている通り、やりたいと思っています)。
UI周りのAPIが複雑なところであり、ここを置き換えると大きく互換性が損なわれます。多分、このチケットを提案した理由は速度やコードの単純化などだと思いますが、それらを達成するにはいまのMiraclePainterの互換性を壊さないことには十分な成果は得られないはずです。

とはいえ、互換性を無視して今書き直せば、数倍程度の高速化、半分程度のコード量は簡単に達成できると思います。互換性を気にして長い時間を掛け、大した効果を産めないよりは、forkなどの手段を取ってもらって、そういったしがらみを無視してMiraclePainterの書き換えはやってもらったほうが良いのではないか、という結論に至る可能性が高いと思っています。

#4

Updated by Yuto Tokunaga 6 months ago

  • Tracker changed from 機能 to 提案
  • Status changed from 新規 to 分類待ち
  • Start date deleted (2020-06-12)

一応、「提案」に修正しておきます.

#5

Updated by Yuto Tokunaga 5 months ago

利点としては

  • 描画の高速化(GTK3のレイアウトシステム・再描画処理の最小化)
  • コード量の削減・メンテナンス性の向上(特に座標の計算)
  • スクロール可能領域・動画(GTK4)など,柔軟にウィジェットを追加できる

があると思います.互換性のところはおそらくSubparts関連だと思うのですが,SubpartsHelper互換の描画領域を用意することは可能ではないかと思います(コード量は減らないことになりますが).

#6

Updated by Yuto Tokunaga 4 months ago

「柔軟にウィジェットを追加できる」の具体例で、mastodonの閲覧注意の実装があります.GtkExpander を使えれば実装できそうです.

Also available in: Atom PDF