(GitHub)DGIndex 1.5.8 改造クロッピング保存gui.cppいじるよ!(途中経過)

CPP読めないのいじり回していたメモヘ(゚∀゚ヘ)アヒャ
差分取るのも面倒なちょっとした修正。初期化前に待避して保存しているだけ

目的があればコードの少ないこういうところをいじりながら他人のソースを眺めるのも勉強ですよね
C#読めればGUIの部分はC言語と大して変わりが無いので読解しやすいかと。
複雑な構造体や継承は他人のソースだと生産性やスピードが落ちるだけですからねぇ
多人数作業のTOPは頭の中に全部あるのは普通(触れているので当たり前)だとしても、
末端はそこまで作業で触れていないので理解しろと言われても保険の定款とおんなじですよね
パワハラもいいところw

いつでも再開できるように・・・メモ書くのが面倒になったので、忘れないようにソースあげて保存。
gui.cpp.diff

ウィンドウサイズの変更とウィンドウサイズに合わせてストレッチもつけたいですなぁ
なんと言っても軽いのがイイです。

—ゴミメモ、持病の痛みがひどいので編集途中です・・・上のDiffがメイン。
—いつものようにがっつり削除ソースやめてDiffにしたのでいろいろな問題解決?
24a25,26
> #define CROP_SAVE // Croppin_Flag & Clip save(Oct 2018: mryo custom)
>
36c38,43
< static char Version[] = "DGIndex 1.5.8"; --- > #ifdef CROP_SAVE
> static char Version[] = “DGIndex 1.5.8mod7fix + Cropping Oct’18”;
> #else
> static char Version[] = “DGIndex 1.5.8mod7fix”;
> #endif // CROP_SAVE
>
91a99,109
> #ifdef CROP_SAVE // mryo 2018.10.12
> static void CropReset(void);
> static void CropSwap(bool);
> static void CropRestore(bool);
> // mryo 2018.10.12
> int swapClip_Top, swapClip_Bottom, swapClip_Left, swapClip_Right;
> bool swapCropping_Flag, swap_Flag;
> // mryo
> #endif // CROP_SAVE
>
>
224a243,247
>
> #ifdef CROP_SAVE
> CropReset();
> #endif // CROP_SAVE
>
285a309,313
> // mryo 2018.10.12
> if (INIT_X < 0) INIT_X = 0; > if (INIT_Y < 0) INIT_Y = 0; > // mryo
>
346a375,383
>
> #ifdef CROP_SAVE
> //mryo 2018.10.12
> fscanf(INIFile, “Cropping_Flag=%d\n”, &swapCropping_Flag);
> fscanf(INIFile, “Clipping=%d,%d,%d,%d\n”,
> &swapClip_Left, &swapClip_Right, &swapClip_Top, &swapClip_Bottom);
> CropRestore(true); // Clipデータのみ反映
> #endif // CROP_SAVE
>
1295a1333,1337
> #ifdef CROP_SAVE // d2v読み込み時はいらないかも
> CropSwap(true);
> swap_Flag = false;
> #endif // CROP_SAVE
>
2385a2428,2444
>
> #ifdef CROP_SAVE
> {
> bool saveflag = Cropping_Flag;
>
> //mryo 2018.10.12
>
> if (!Cropping_Flag) // フラグが立っていればそのまま保存
> {
> // swap_flag このフラグがっているときは、ファイルが閉じられた場合、ファイルが開かれる前:クロップフラグ情報を引き継ぐ
> if (swap_Flag) saveflag = swapCropping_Flag;
> }
> fprintf(INIFile, “Cropping_Flag=%d\n”, saveflag);
> fprintf(INIFile, “Clipping=%d,%d,%d,%d\n”, Clip_Left, Clip_Right, Clip_Top, Clip_Bottom);
> }
> #endif // CROP_SAVE
>
3179a3239,3242
> #ifdef CROP_SAVE
> // swap データを無効化
> swap_Flag = false;
> #endif
4129c4192,4196
< Clip_Left = Clip_Right = Clip_Top = Clip_Bottom = 0; --- >
> #ifdef CROP_SAVE
> CropSwap(Cropping_Flag);
> #endif // CROP_SAVE
>
4328c4395,4398
< --- > #ifdef CROP_SAVE
> CropRestore(false);
> #endif // CROP_SAVE
>
4411a4482,4489
> #ifdef CROP_SAVE
> // mryo 2018.10.12
> // swapCropping_Flag ONならチェックを入れて各クロップ数値を設定する
>
> CropRestore(true);
> if (Cropping_Flag) CheckMenuItem(hMenu, IDM_CROPPING, MF_CHECKED);
> #endif // CROP_SAVE
>
4897a4976,5015
>
> #ifdef CROP_SAVE
> /* CROP_SAVE
> * 初期化後、INIファイル読み込みで前回のクロップデータを読み込む
> * ファイルオープン後にフラグ設定でクロップデータを戻して反映
> * ファイルクローズ時にクロップデータを保存
> * ・INI保存はスワップしたデータからの方がタイミングがいいかもしれない
> *
> * 動画ファイルを閉じているとき、アプリを終了したばあいクロップデータが初期化されたまま保存される
> * D2V読み込み時にクロップデータを退避しておく
> */
> static void CropReset(void)
> {
> Clip_Left = Clip_Right = Clip_Top = Clip_Bottom = 0;
> swapClip_Left = swapClip_Right = swapClip_Top = swapClip_Bottom = 0;
> Cropping_Flag = swapCropping_Flag = swap_Flag = false;
> }
>
> static void CropSwap(bool OverWrite)
> {
> if (!OverWrite && swap_Flag) return;
>
> swapClip_Left = Clip_Left;
> swapClip_Right = Clip_Right;
> swapClip_Top = Clip_Top;
> swapClip_Bottom = Clip_Bottom;
> swapCropping_Flag = Cropping_Flag;
> swap_Flag = true;
> }
>
> static void CropRestore(bool FlagRestore)
> {
> Clip_Left = swapClip_Left;
> Clip_Right = swapClip_Right;
> Clip_Top = swapClip_Top;
> Clip_Bottom = swapClip_Bottom;
>
> if(FlagRestore) Cropping_Flag = swapCropping_Flag;
> }
> #endif // CROP_SAVE
\ No newline at end of file