From: Araki K. <j00...@ip...> - 2002-02-17 22:58:51
|
荒木です:-) # 反応が遅れて申し分けありません。 # なんか、気抜いてる間にいろいろ溜ってしまってますね ^_^; Subject: [Mlterm-dev-ja] --transbgでの背景色 From: KATO Kazuyoshi <ka...@zb...> Message-ID: <200...@zb...> Date: Sun, 17 Feb 2002 21:14:57 +0900 > はじめまして。加藤和良です。 はじめまして:) > 背景を透明にしてるときに、(w3mの最下行などで)背景色が反映されないようなので、 > ちょっとパッチをつくってみました。 > > 念のため、is_changed_bgcolor なんて新しいフラグを足しましたけど、 > is_reversed と共用可能だと思います。 ありがとうございます :) ただ、一点疑問があるのですが、このパッチですと、最初の一文字しかチェック していないようですので、 [=][!=][=][!=] (*) [=] => 文字背景色 == Window の背景色 [!=] => 文字背景色 != Window の背景色 という意味です。 のように文字が並んでいる場合に、対応できないように思います。 添付のパッチのような感じで如何でしょうか? あと、anti alias の場合にも同等の処理を入れております。 では -- kiken j00...@ip... Index: ml_window.c =================================================================== RCS file: /home/ken/cvsroot/mlterm/src/ml_window.c,v retrieving revision 1.248 diff -u -r1.248 ml_window.c --- ml_window.c 2002/02/15 21:42:17 1.248 +++ ml_window.c 2002/02/17 22:07:53 @@ -355,7 +355,8 @@ /* * clearing background */ - if( win->wall_picture_is_set && ! is_reversed) + if( win->wall_picture_is_set && + ( ! is_reversed && bg_color->pixel == BG_COLOR_PIXEL(win))) { XClearArea( win->display , win->drawable , x , y , current_width - x , height , 0) ; @@ -892,11 +893,13 @@ height_to_baseline = std_height_to_baseline ; } - if( ( win->wall_picture_is_set && ! is_reversed) || - (win->font->is_proportional && ! win->font->is_var_col_width) || + if( ( win->wall_picture_is_set && + ( ! is_reversed && bg_color == BG_COLOR_PIXEL(win))) || + ( win->font->is_proportional && ! win->font->is_var_col_width) || win->font->decsp_font) { - if( win->wall_picture_is_set && ! is_reversed) + if( win->wall_picture_is_set && + ( ! is_reversed && bg_color == BG_COLOR_PIXEL(win))) { XClearArea( win->display , win->drawable , x , y , current_width - x , height , 0) ; |