[C++] 170 FLTK : 動画のリサイズ設定

[M1 Mac, Big Sur 11.6.8, clang 13.0.0, FLTK 1.3.8, NO IDE]

開発中のビデオツールアプリについて、アスペクト比固定での縦横サイズを算出できるようにしました。

LOCK ASPECT RATIOボタンにチェックを入れると、空白にしている方のサイズを算出してくれます。

リサイズ操作については次回以降書きます。

// LOCK ASPECT RATIOボタンをチェック時の動作
void lock_cb(Fl_Widget*, void*) {
    onoffLock = lock_cbtn -> value();

    if (onoffLock == 1){
        cout << "lock_cb実行" << endl;
        width2 = width_input -> value();
        height2 = height_input -> value();

        if ((string(height2)).empty()){
            cout << "height算出" << endl;
            width2_int = stoi(string(width2));
            cout << "width2_int " << width2_int << endl;

            height2_int = std::round(width2_int * ratio);
            cout << "height2_int " << height2_int << endl;

            height_input -> value((to_string(height2_int)).c_str());

        } else {
            cout << "width算出" << endl;
            height2_int = stoi(string(height2));
            cout << "height2_int " << height2_int << endl;

            width2_int = std::round(height2_int * (float)(1/ratio));
            cout << "width2_int " << width2_int << endl;

            width_input -> value((to_string(width2_int)).c_str());
        }
    } else {
        cout << "lock_cb実行なし" << endl;
    }
}