Merge pull request #1784 from ramox81/codex/refedit-dwf-fade

REFEDIT: keep a DWF underlay's page unfaded outside the working set

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-14 23:50:26 +03:00
commit a5c875f1f3
1 file changed
+13 -2
+13 -2
View File
@@ -4601,8 +4601,19 @@ impl Scene {
return;
};
for w in wires.iter_mut() {
let keep_bright =
Self::handle_from_wire_name(&w.name).is_some_and(|h| keep.contains(&h));
let handle = Self::handle_from_wire_name(&w.name);
// A DWF underlay's page stays as it is outside the working set,
// like an image or a PDF page; only its frame fades. A DGN
// underlay's content fades with everything else.
let dwf_page = w.is_display_only()
&& handle.is_some_and(|h| {
matches!(
self.document.get_entity(h),
Some(EntityType::Underlay(u))
if u.underlay_type == codec::entities::UnderlayType::Dwf
)
});
let keep_bright = dwf_page || handle.is_some_and(|h| keep.contains(&h));
if !keep_bright {
w.color = crate::scene::cache::block_cache::refedit_fade(w.color, bg);
}