mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-02 06:07:06 -06:00
M3.25: opacity-mask editing and transparency command reach
While a mask is edited, the Transparency panel and its commands act on the masked object (Release leaves editing first). Mask commands and transparency.set take ids and work without a selection; Make Opacity Mask with one object adds an empty mask and enters editing. Opacity is 0..100 in every command. transparency.info reports the panel's values with null for mixed ones, shown blank. Saves and exports never include the editing layer (Document::without_edit_modes; mask_edit is not serialized). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
8f9d6ef2bd
commit
b117566fc2
@@ -106,9 +106,11 @@ fn check_pixels(f: &Format, w: f64, h: f64) -> Result<()> {
|
||||
}
|
||||
|
||||
/// Encode `doc` as `format` (an id or extension from [`super::FORMATS`]) with that format's
|
||||
/// options from `p` (see `document.formats`). Raster formats leave template layers out.
|
||||
/// options from `p` (see `document.formats`). Raster formats leave template layers out, and no
|
||||
/// format writes the opacity-mask editing layer.
|
||||
pub fn encode(doc: &Document, format: &str, p: &Value) -> Result<Vec<u8>> {
|
||||
let f = super::writable(C, Some(format), None)?;
|
||||
let doc = &*doc.without_edit_modes();
|
||||
let n = doc.artboards.len();
|
||||
Ok(match f.id {
|
||||
"vectorcraft" => vectorcraft_format::save_file(doc),
|
||||
|
||||
Reference in New Issue
Block a user