Skip to content

Latest commit

 

History

History
48 lines (44 loc) · 3.55 KB

flow-memo.md

File metadata and controls

48 lines (44 loc) · 3.55 KB

処理フローについてのメモ

main.hsp

  • ファイルのinclude、およびコンパイル時設定などを記述
    • アイコンまで埋め込んでいてつよい
  • #ifdef _debug内で、実行時に生じる不要なファイルを削除
  • onexit *exitで、ウィンドウが閉じられた際の挙動を設定
    • WND_GRID(スクショを登録・操作可能なグリッド画面)の場合
      • 動作モードをSSキャプチャモードに切り替える
      • 動作モードに合わせてメイン画面を描画し直す
      • ※メイン画面が最小化していたならば、一旦最小化を解除してからメイン画面を描画し直し、再び最小化する
    • WND_TWITTER(Twitterへの投稿用画面)の場合
      • 投稿用画面を非表示にする
      • メイン画面がオプションモードでなかった場合、「ツイートウィンドウ表示」のチェックを外す
    • WND_FFMPEG(FFMPEGのエンコード進捗表示画面)の場合
      • 進捗表示画面を非表示にする
    • 「終了時に確認のダイアログを出す」オプションを有効にしており、かつOSの終了時でないタイミングの場合、確認のダイアログを出す
    • onexitonerrorの処理を無効にする
    • デバイスコンテキストを確保していたら解放する
    • 各種ウィンドウへのドラッグ&ドロップを無効化する
    • 連射中だった場合、それに使用していたタイマーを無効化する
    • ホットキーを設定していた場合、その設定を解除する
    • メイン画面と投稿用画面を再表示する
    • スクリーンショット可能な状態だった場合、艦これのゲーム座標を取得し直す
    • データチェック
    • 設定をiniファイルに保存
    • end
  • ウィンドウ情報の初期化、nidStackの初期化、DAControlの初期化を実行
  • 艦これのキャプチャから母港か否かを判定する処理を走らせる
  • 変数の初期化、iniファイルのロード、データチェック、iniファイルの書き出し、録画時の音声設定を行う
  • メイン画面を描画。同時に、デバイスコンテキストの取得と、各種ウィンドウイベント発生時に*MainWindowProcへ飛ぶよう設定
  • グリッド画面・範囲選択用レイヤードウィンドウ・投稿用画面・エンコード進捗表示用画面・各種バッファの初期化を行う
  • 画像ヒストリの復元、DPI情報を取得、ホットキーを設定、メイン画面の描画を行う
  • 表示するフラグが立っていた場合、投稿用画面とエンコード進捗表示用画面をそれぞれ表示する
  • メイン画面や投稿用画面については、ウィンドウ位置の復元を行う
  • 初回起動時は、アップデート情報取得機能を有効にするかを確認
  • アップデート情報を確認
  • 艦これのゲーム座標を取得していたので、その位置情報を復元するかを確認

命名規則(目標)

  • 変数名はローワーキャメルケース、関数名・命令名はいずれもパスカルケース
  • モジュールで定義する関数は次の3通りがある
    • 既存の命令を関数で置き換えるもの:接頭辞に_を付け、local指定しない
    • モジュール内で使用するもの:接尾辞に_を付け、local指定しない
    • それ以外の普通の関数・命令:local指定する
  • ただしWinAPIなどの既成ライブラリについては、命名規則を原本に倣う