[C++] 85 FLTK : カラーアプリ移植 Fl_Button labelcolor

[M1 Mac, Big Sur 11.6.7, clang 13.0.0, NO IDE]

ラベルを読みやすくするため、背景色に合わせてラベル色を変えました。

RGBの合計値やGreen値で条件分岐しています。

if (green > 200 && sum < 486){
		button->labelcolor(fl_rgb_color(128,128,128));
} else if(green > 180 && sum < 480){
		button->labelcolor(fl_rgb_color(128,128,128));
} else if(sum < 508){
		button->labelcolor(fl_rgb_color(245,245,245));
} else{
		button->labelcolor(fl_rgb_color(105,105,105));
}

[C++] 84 FLTK : カラーアプリ移植 Fl_Align

[M1 Mac, Big Sur 11.6.7, clang 13.0.0, NO IDE]

ボタンのラベルを左寄せにし、はみ出した部分は表示しないようにしました。

JavaのSwingでしたら、中央揃え・はみ出し非表示にしてなおかつ左の文字が切れないようにしてくれます。FLTKではそのような芸当はできないようなので左寄せにしました。

[C++] 83 FLTK : カラーアプリ移植 多次元配列

[M1 Mac, Big Sur 11.6.7, clang 13.0.0, NO IDE]

Javaアプリの移植に着手しました。

このアプリを完成させた1月下旬時点と比べてプログラミングスキルはアップしているので、成果を反映させながらグレードアップさせたいです。

まずは配列を3次元にして各要素にアクセスできるようにしました。

[C++] 82 FLTK : Fl_ButtonのFl_Boxtype設定

[M1 Mac, Big Sur 11.6.7, clang 13.0.0, NO IDE]

Fl_buttonのFl_BoxtypeはデフォルトでFL_UP_BOXになっていて出っ張った形状になっています。

これをFl_Widgetから継承したbox関数で変更できます。FL_FLAT_BOXでボタン周囲の枠がなくなります。

この方法が分からなかったためにJava(Swing)で製作したカラーサンプルアプリの移植を進められなかったのですが、これで本格的に着手できます。

Swingの特徴であるLook & Feelは外観に統一感を持たせるのに便利なものの、その分自由度が抑えられてしまう点が引っかかってました。

Java版はサイズが45.6MBなので、どこまで軽量、高速化できるのか楽しみです。

Fl_Button *button = new Fl_Button(loc_x, loc_y, 75, 15);
    button->box(FL_FLAT_BOX);
    button->color(fl_rgb_color(red,green,blue));
    button->labelcolor(fl_rgb_color(169,169,169));
    button->labelsize(10);