Fix regression causing pasted images to have a zero-size transform (#2238)
* Use the identity matrix as the default for an image frame * Fix all usages to be equivalent to their pre-refactor versions, opting to keep ZERO not IDENTITY as the default image size --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
parent
dbf917ef71
commit
c5a3c32114
|
|
@ -767,7 +767,11 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
|
||||||
|
|
||||||
responses.add(DocumentMessage::AddTransaction);
|
responses.add(DocumentMessage::AddTransaction);
|
||||||
|
|
||||||
let image_frame = ImageFrame { image, ..Default::default() };
|
let image_frame = ImageFrame {
|
||||||
|
image,
|
||||||
|
transform: DAffine2::IDENTITY,
|
||||||
|
alpha_blending: Default::default(),
|
||||||
|
};
|
||||||
let layer = graph_modification_utils::new_image_layer(image_frame, layer_node_id, self.new_layer_parent(true), responses);
|
let layer = graph_modification_utils::new_image_layer(image_frame, layer_node_id, self.new_layer_parent(true), responses);
|
||||||
|
|
||||||
if let Some(name) = name {
|
if let Some(name) = name {
|
||||||
|
|
|
||||||
|
|
@ -272,7 +272,7 @@ fn brush(_: Footprint, image: ImageFrameTable<Color>, bounds: ImageFrameTable<Co
|
||||||
let opaque_image = ImageFrame {
|
let opaque_image = ImageFrame {
|
||||||
image: Image::new(bbox.size().x as u32, bbox.size().y as u32, Color::WHITE),
|
image: Image::new(bbox.size().x as u32, bbox.size().y as u32, Color::WHITE),
|
||||||
transform: background_bounds,
|
transform: background_bounds,
|
||||||
..Default::default()
|
alpha_blending: Default::default(),
|
||||||
};
|
};
|
||||||
let mut erase_restore_mask = opaque_image;
|
let mut erase_restore_mask = opaque_image;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -627,7 +627,7 @@ fn mandelbrot(footprint: Footprint) -> ImageFrameTable<Color> {
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
transform: DAffine2::from_translation(offset) * DAffine2::from_scale(size),
|
transform: DAffine2::from_translation(offset) * DAffine2::from_scale(size),
|
||||||
..Default::default()
|
alpha_blending: Default::default(),
|
||||||
};
|
};
|
||||||
|
|
||||||
ImageFrameTable::new(result)
|
ImageFrameTable::new(result)
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,8 @@ fn decode_image(_: (), data: Arc<[u8]>) -> ImageFrameTable<Color> {
|
||||||
height: image.height(),
|
height: image.height(),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
..Default::default()
|
transform: glam::DAffine2::IDENTITY,
|
||||||
|
alpha_blending: Default::default(),
|
||||||
};
|
};
|
||||||
|
|
||||||
ImageFrameTable::new(image)
|
ImageFrameTable::new(image)
|
||||||
|
|
|
||||||
|
|
@ -161,7 +161,7 @@ fn node_registry() -> HashMap<ProtoNodeIdentifier, HashMap<NodeIOTypes, NodeCons
|
||||||
let empty_image = ImageFrame {
|
let empty_image = ImageFrame {
|
||||||
image: Image::new(bounds.x, bounds.y, Color::BLACK),
|
image: Image::new(bounds.x, bounds.y, Color::BLACK),
|
||||||
transform,
|
transform,
|
||||||
..Default::default()
|
alpha_blending: Default::default(),
|
||||||
};
|
};
|
||||||
let empty_image = ImageFrameTable::new(empty_image);
|
let empty_image = ImageFrameTable::new(empty_image);
|
||||||
let final_image = ClonedNode::new(empty_image).then(complete_node);
|
let final_image = ClonedNode::new(empty_image).then(complete_node);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue