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