Skip to main content

effective_backdrop

Function effective_backdrop 

Source
pub fn effective_backdrop(candidates: &[(i64, u32)], page_bg: u32) -> u32
Expand description

文字の下地色を返す。

  • candidates: 対象の文字を内包する要素の (面積, ARGB 背景色)。 面積が小さいほど内側(手前)とみなす(従来の判定をそのまま使う)。
  • page_bg: どの要素にも当たらないときのページ背景。

規則:

  1. アルファ 0xFF または 0x00 の背景を「不透明」とみなし、その中で 一番内側のものを土台にする(0x00 は、アルファを付けずに色を渡す 古いコード向けの互換規則。spec/alpha_compositing.md)。 無ければ page_bg を土台にする。
  2. 土台より内側(面積が小さい)にある半透明の背景を、外側から順に 土台へ source-over で重ねる。土台より外側の半透明は土台の下に 隠れているので使わない。
  3. 半透明の層が無ければ土台の値をそのまま返す(従来と同一の結果)。 合成した場合の結果は常に不透明。