-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ノート線描画を少し分かりやすくする #1066
ノート線描画を少し分かりやすくする #1066
Conversation
変更前) CTextDrawer::DispNoteLine 変更後) CTextDrawer::DispNoteLines 領域内に等間隔の横線を引くメソッドなので複数形が正しい
GDI関数に渡す幅と高さはintでなくLONGとするのが通例なので合わせる。
SetRectの引数に合わせ、left,top,right,bottomにする。
変更前) MoveToEx + LineTo を繰り返し呼び出して実現 変更後) PolyPolyline で一発描画
✅ Build sakura 1.0.2292 completed (commit 3c10afb5e1 by @berryzplus) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
問題無いと思います。
処理時間の観点からのコメントですが、ノート線描画を有効にした場合 共通設定のウィンドウの「行番号とテキストの隙間」の値が 0 ドットだと、 高速化の為に ところでノート線の存在って今まで意識してませんでした。使ってる人いるのかな…。 |
レビューありがとうございます。
いけるんじゃないかな?と 😃
役割を明確にしたことによって、外に出したほうが良いと分かったから外に出します、で問題ない気がします。
サクラエディタのユーザー層には「文筆家」という職業の人がいるらしいです。 モノ書きの人にとってみれば、横書きテキストにノート線がはいっていると落ち着くのかも。 |
64bitビルドでの警告を抑制するため。
✅ Build sakura 1.0.2294 completed (commit 09fc78fef6 by @berryzplus) |
レビューありがとうございます。 |
…eLines ノート線描画を少し分かりやすくする
PR の目的
ノート線描画に関わるコードを整理して、メンテナンスしやすくします。
カテゴリ
PR の背景
#1065 (comment) で指摘した内容を実装してみました。
⇒ 元々複数の横線を描く目的のメソッドだから改名しよう!
※ 最近の Windows GDI では、ピクセル位置を指定するのに LONG 型の変数を使います。
⇒ 引数がピクセル指定であることを明示するために LONG 型に訂正しよう!
⇒ 標準 に合わせて指定順を変更しよう!
⇒ 描画に必要なデータを作る処理とAPI呼出を分離して一撃で描画するように改善しよう!
PR のメリット
PR のデメリット (トレードオフとかあれば)
PR の影響範囲
MoveToEx + LineTo
繰り返し。PolyPolyLine
一発。関連チケット
#1065 ノート線描画、指定桁縦線描画、折り返し桁縦線描画、を行毎ではなく一括で行うように変更
参考資料
https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-polypolyline
https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-movetoex
https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-lineto