-
Notifications
You must be signed in to change notification settings - Fork 168
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
コマンドアイコンの追加 #680
コマンドアイコンの追加 #680
Conversation
sakura_core/uiparts/CMenuDrawer.cpp
Outdated
/* 65 */ F_DISABLE /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //ダミー | ||
/* 66 */ F_DISABLE /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //ダミー | ||
/* 67 */ F_DISABLE /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //ダミー | ||
/* 65 */ F_OPEN_FOLDER_IN_EXPLORER /* , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0 */, //ダミー |
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.
ちょっと質問。コード全然みてないのですが、
この 65 というコメントは何に対するインデックスですか?
resource/mytool.bmp の中のアイコンに対するインデックス(ビットファイル内での位置)はどこで指定しますか?
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.
ちょっと質問。コード全然みてないのですが、
この 65 というコメントは何に対するインデックスですか?
コード見て(笑
とは言え、やや込み入ってるので軽く説明します。
結論を先に言うと65はbitmap内のアイコン番号で、左上隅を1とし振られている番号です。横は32列あるので65は3行目1列目になります。
resource/mytool.bmpには赤枠で数字が書かれているアイコンがたくさんあるんですが、あの赤枠が空きアイコンです。配列の定義は赤枠と一致するとこにF_DISABLEが入ってます。配列には0番目にダミーを入れてるので添字はresource/mytool.bmpの番号と一致します。
コンストラクタの処理はこのあとstd::vectorに配列のデータを移し替えています。実行時、機能番号に対するアイコンの探索はvectorを使ってます。先頭から指定した機能番号を探して見つかった位置をアイコン番号とする仕組みです。
きっと色々改善案が浮かぶと思うんですが、このへんの構造を分かりやすくするネタはいくつか用意してますので、別の機会にしたいです。
アイコン、いい感じだと思います! // 全体的に古いのでImage Libraryのものに差し替えたい気もしますが、これもある意味で味ですかね・・・? |
review ぷりーず 😭
これについては「味」というよりもサイズ的な抵抗感によるものです。 サイズ対策として考えられるのは
このPRにより、wikiにあるアイコンビットマップが使えなくなってしまう(※) ので、 |
アイコンサイズが 16x16 や 32x32 ならまだまだサイズは小さいので容量については気にしないで良いと思います。ファイルサイズもメモリ使用量も大した事無いと思います。 なおWindowsのアイコンの最大サイズは 256x256 ピクセルみたいですが、仮に 32bit BMP で アイコンサイズ 256x256 だと resource/mytool.bmp は 33列15行なので画像解像度が 8448x3840 になり非圧縮で 123MiB 程になります。こうなるとSVGアイコンを採用したくなりますね。 |
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.
問題無いと思います。
なお Visual Studio でも全てのコマンドにアイコンがあるわけでもなく(むしろ無いものの方が多い)ツールバーにアイコン無しのコマンドを入れるとコマンド名が表示されました。アイコンをすべてのコマンドに対して用意するのは無理があるという事ですね…。
review ありがとうございます。 |
* コマンドアイコンの追加 * コメント修正 追加したコマンドにコメントを付けるのを忘れていたので追加修正
最近追加された5つのコマンドにアイコンを割り付け、#607 を解決します。
画才はないのでアイコンはテキトーです。
(しかし、アイコン作成にめっちゃ時間かけたりもします 😢 )
アイコン引き延ばしの対応が入ってないので、確認は表示倍率100%で行いました。
各コマンドをタブメニューに登録した状態でタブメニューを表示させ、表示が行われることを確認しました。