You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-07-06 23:56:13 +02:00
Desktop: Add support for plugin imaging API (#8900)
This commit is contained in:
@ -11,6 +11,7 @@ import JoplinContentScripts from './JoplinContentScripts';
|
||||
import JoplinClipboard from './JoplinClipboard';
|
||||
import JoplinWindow from './JoplinWindow';
|
||||
import BasePlatformImplementation from '../BasePlatformImplementation';
|
||||
import JoplinImaging from './JoplinImaging';
|
||||
/**
|
||||
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
|
||||
*
|
||||
@ -26,6 +27,7 @@ import BasePlatformImplementation from '../BasePlatformImplementation';
|
||||
export default class Joplin {
|
||||
private data_;
|
||||
private plugins_;
|
||||
private imaging_;
|
||||
private workspace_;
|
||||
private filters_;
|
||||
private commands_;
|
||||
@ -39,6 +41,7 @@ export default class Joplin {
|
||||
constructor(implementation: BasePlatformImplementation, plugin: Plugin, store: any);
|
||||
get data(): JoplinData;
|
||||
get clipboard(): JoplinClipboard;
|
||||
get imaging(): JoplinImaging;
|
||||
get window(): JoplinWindow;
|
||||
get plugins(): JoplinPlugins;
|
||||
get workspace(): JoplinWorkspace;
|
||||
|
43
packages/app-cli/tests/support/plugins/nativeModule/api/JoplinImaging.d.ts
vendored
Normal file
43
packages/app-cli/tests/support/plugins/nativeModule/api/JoplinImaging.d.ts
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
export interface Implementation {
|
||||
nativeImage: any;
|
||||
}
|
||||
export interface CreateFromBufferOptions {
|
||||
width?: number;
|
||||
height?: number;
|
||||
scaleFactor?: number;
|
||||
}
|
||||
export interface ResizeOptions {
|
||||
width?: number;
|
||||
height?: number;
|
||||
quality?: 'good' | 'better' | 'best';
|
||||
}
|
||||
export type Handle = string;
|
||||
/**
|
||||
* Provides imaging functions to resize or process images. You create an image
|
||||
* using one of the `createFrom` functions, then use the other functions to
|
||||
* process the image.
|
||||
*
|
||||
* Images are associated with a handle which is what will be available to the
|
||||
* plugin. Once you are done with an image, free it using the `free()` function.
|
||||
*
|
||||
* [View the
|
||||
* example](https://github.com/laurent22/joplin/blob/dev/packages/app-cli/tests/support/plugins/imaging/src/index.ts)
|
||||
*
|
||||
*/
|
||||
export default class JoplinImaging {
|
||||
private implementation_;
|
||||
private images_;
|
||||
constructor(implementation: Implementation);
|
||||
private createImageHandle;
|
||||
private imageByHandle;
|
||||
private cacheImage;
|
||||
createFromBuffer(buffer: any, options?: CreateFromBufferOptions): Promise<Handle>;
|
||||
resize(handle: Handle, options?: ResizeOptions): Promise<string>;
|
||||
toDataUrl(handle: Handle): Promise<string>;
|
||||
toBase64(handle: Handle): Promise<string>;
|
||||
/**
|
||||
* Image data is not automatically deleted by Joplin so make sure you call
|
||||
* this method on the handle once you are done.
|
||||
*/
|
||||
free(handle: Handle): Promise<void>;
|
||||
}
|
Reference in New Issue
Block a user