Files
Graphite/editor/src/document/portfolio_message.rs
0HyperCube 95ce94fa50 Add embedable images (#564)
* Add embedable bitmaps

* Initial work on blob urls

* Finish implementing data url

* Fix some bugs

* Rename bitmap to image

* Fix loading image on document load

* Add transform properties for image

* Remove some logging

* Add image dimensions

* Implement system copy and paste

* Fix pasting images

* Fix test

* Address code review

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-03-27 11:43:41 +01:00

72 lines
1.3 KiB
Rust

use super::clipboards::Clipboard;
use crate::message_prelude::*;
use graphene::LayerId;
use serde::{Deserialize, Serialize};
#[remain::sorted]
#[impl_message(Message, Portfolio)]
#[derive(PartialEq, Clone, Debug, Serialize, Deserialize)]
pub enum PortfolioMessage {
// Sub-messages
#[remain::unsorted]
#[child]
Document(DocumentMessage),
// Messages
AutoSaveActiveDocument,
AutoSaveDocument {
document_id: u64,
},
CloseActiveDocumentWithConfirmation,
CloseAllDocuments,
CloseAllDocumentsWithConfirmation,
CloseDocument {
document_id: u64,
},
CloseDocumentWithConfirmation {
document_id: u64,
},
Copy {
clipboard: Clipboard,
},
Cut {
clipboard: Clipboard,
},
NewDocument,
NextDocument,
OpenDocument,
OpenDocumentFile {
document_name: String,
document_serialized_content: String,
},
OpenDocumentFileWithId {
document_id: u64,
document_name: String,
document_is_saved: bool,
document_serialized_content: String,
},
Paste {
clipboard: Clipboard,
},
PasteIntoFolder {
clipboard: Clipboard,
folder_path: Vec<LayerId>,
insert_index: isize,
},
PasteSerializedData {
data: String,
},
PrevDocument,
RequestAboutGraphiteDialog,
SelectDocument {
document_id: u64,
},
SetActiveDcoument {
document_id: u64,
},
UpdateDocumentBar,
UpdateOpenDocumentsList,
}