mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-10-04 01:18:12 +08:00
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>
This commit is contained in:
committed by
Keavon Chambers
co-authored by
Keavon Chambers
parent
bd5715d070
commit
95ce94fa50
@@ -308,6 +308,10 @@ export class DisplayEditableTextbox extends JsMessage {
|
||||
readonly color!: Color;
|
||||
}
|
||||
|
||||
export class UpdateImageData extends JsMessage {
|
||||
readonly image_data!: ImageData[];
|
||||
}
|
||||
|
||||
export class DisplayRemoveEditableTextbox extends JsMessage {}
|
||||
|
||||
export class UpdateDocumentLayer extends JsMessage {
|
||||
@@ -371,6 +375,14 @@ export class LayerMetadata {
|
||||
|
||||
export type LayerType = "Folder" | "Image" | "Shape" | "Text";
|
||||
|
||||
export class ImageData {
|
||||
readonly path!: BigUint64Array;
|
||||
|
||||
readonly mime!: string;
|
||||
|
||||
readonly image_data!: Uint8Array;
|
||||
}
|
||||
|
||||
export class IndexedDbDocumentDetails extends DocumentDetails {
|
||||
@Transform(({ value }: { value: BigInt }) => value.toString())
|
||||
id!: string;
|
||||
@@ -488,6 +500,10 @@ export class DisplayDialogComingSoon extends JsMessage {
|
||||
|
||||
export class TriggerTextCommit extends JsMessage {}
|
||||
|
||||
export class TriggerTextCopy extends JsMessage {
|
||||
readonly copy_text!: string;
|
||||
}
|
||||
|
||||
export class TriggerViewportResize extends JsMessage {}
|
||||
|
||||
// Any is used since the type of the object should be known from the rust side
|
||||
@@ -504,12 +520,14 @@ export const messageConstructors: Record<string, MessageMaker> = {
|
||||
DisplayDialogPanic,
|
||||
DisplayDocumentLayerTreeStructure: newDisplayDocumentLayerTreeStructure,
|
||||
DisplayEditableTextbox,
|
||||
UpdateImageData,
|
||||
DisplayRemoveEditableTextbox,
|
||||
TriggerFileDownload,
|
||||
TriggerFileUpload,
|
||||
TriggerIndexedDbRemoveDocument,
|
||||
TriggerIndexedDbWriteDocument,
|
||||
TriggerTextCommit,
|
||||
TriggerTextCopy,
|
||||
TriggerViewportResize,
|
||||
UpdateActiveDocument,
|
||||
UpdateActiveTool,
|
||||
|
||||
Reference in New Issue
Block a user