pub fn effective_backdrop(candidates: &[(i64, u32)], page_bg: u32) -> u32Expand description
文字の下地色を返す。
candidates: 対象の文字を内包する要素の(面積, ARGB 背景色)。 面積が小さいほど内側(手前)とみなす(従来の判定をそのまま使う)。page_bg: どの要素にも当たらないときのページ背景。
規則:
- アルファ 0xFF または 0x00 の背景を「不透明」とみなし、その中で
一番内側のものを土台にする(0x00 は、アルファを付けずに色を渡す
古いコード向けの互換規則。
spec/alpha_compositing.md)。 無ければpage_bgを土台にする。 - 土台より内側(面積が小さい)にある半透明の背景を、外側から順に 土台へ source-over で重ねる。土台より外側の半透明は土台の下に 隠れているので使わない。
- 半透明の層が無ければ土台の値をそのまま返す(従来と同一の結果)。 合成した場合の結果は常に不透明。