UNPKG

og_image_writer

Version:

Generate an Open Graphic Image using a CSS-like API.

491 lines (483 loc) 13 kB
/* tslint:disable */ /* eslint-disable */ /** */ export function wasm_init(): void; /** */ export enum ImageOutputFormat { Png, Jpeg, } /** */ export enum ImageInputFormat { Png, Jpeg, } /** */ export enum KernSetting { Normal, Metrics, Optical, } /** */ export enum WordBreak { Normal, BreakAll, } /** */ export enum WhiteSpace { Normal, PreLine, } /** * Adjust the horizontal position. */ export enum AlignItems { Start, Center, End, } /** * Adjust the vertical position. */ export enum JustifyContent { Start, Center, End, } /** * Adjust the text horizontal position. */ export enum TextAlign { Start, Center, End, } /** */ export enum Position { Static, Absolute, } /** */ export enum FlexDirection { Column, Row, } type TextOverflow = 'clip' | 'ellipsis' | string; /** */ export class BorderRadius { free(): void; /** * @param {number} tl * @param {number} tr * @param {number} bl * @param {number} br * @returns {BorderRadius} */ static new(tl: number, tr: number, bl: number, br: number): BorderRadius; /** */ bottom_left: number; /** */ bottom_right: number; /** */ top_left: number; /** */ top_right: number; } /** */ export class FontContext { free(): void; /** * @returns {FontContext} */ static new(): FontContext; /** * @param {Uint8Array} font */ push(font: Uint8Array): void; /** */ clear(): void; /** * @returns {number} */ len(): number; /** * @returns {boolean} */ is_empty(): boolean; } /** */ export class ImageOutputFormatOption { free(): void; /** * @returns {ImageOutputFormatOption} */ static new(): ImageOutputFormatOption; /** */ q: number; } /** */ export class Margin { free(): void; /** * @param {number} top * @param {number} right * @param {number} bottom * @param {number} left * @returns {Margin} */ static new(top: number, right: number, bottom: number, left: number): Margin; /** */ bottom: number; /** */ left: number; /** */ right: number; /** */ top: number; } /** */ export class OGImageWriter { free(): void; /** * @param {WindowStyle} style * @returns {OGImageWriter} */ static new(style: WindowStyle): OGImageWriter; /** * @param {WindowStyle} style * @param {Uint8Array} data * @param {number} format * @returns {OGImageWriter} */ static from_data(style: WindowStyle, data: Uint8Array, format: number): OGImageWriter; /** * @returns {number} */ width(): number; /** * @returns {number} */ height(): number; /** * @param {string} text * @param {Style} style * @param {Uint8Array | undefined} font */ set_text(text: string, style: Style, font?: Uint8Array): void; /** * @param {TextArea} textarea * @param {Style} style * @param {Uint8Array | undefined} font */ set_textarea(textarea: TextArea, style: Style, font?: Uint8Array): void; /** * @param {Uint8Array} data * @param {number} width * @param {number} height * @param {number} format * @param {Style} style */ set_img_with_data(data: Uint8Array, width: number, height: number, format: number, style: Style): void; /** * @param {OGImageWriter} writer * @param {Style} style */ set_container(writer: OGImageWriter, style: Style): void; /** * @param {string} dest */ generate(dest: string): void; /** */ paint(): void; /** * @returns {Uint8Array} */ into_vec(): Uint8Array; /** * @param {number} f * @param {ImageOutputFormatOption} option * @returns {Uint8Array} */ encode(f: number, option: ImageOutputFormatOption): Uint8Array; } /** */ export class Rgba { free(): void; /** * @param {number} r * @param {number} g * @param {number} b * @param {number} a * @returns {Rgba} */ static new(r: number, g: number, b: number, a: number): Rgba; } /** */ export class Style { free(): void; /** * @returns {Style} */ static new(): Style; /** * For Img element */ border_radius: BorderRadius; /** */ bottom?: number; /** * For Text element */ color: Rgba; /** * For Text element */ font_size: number; /** */ kern_setting: number; /** */ left?: number; /** * For Text element */ letter_spacing: number; /** * For Text element */ line_height: number; /** */ margin: Margin; /** * For Text element */ max_height?: number; /** * For Text element */ max_width?: number; /** */ position: number; /** */ right?: number; /** * For Text element */ text_align: number; /** */ text_overflow: TextOverflow; /** */ top?: number; /** * For Text element */ white_space: number; /** * For Text element */ word_break: number; } /** */ export class TextArea { free(): void; /** * @returns {TextArea} */ static new(): TextArea; /** * @param {string} text * @param {Style | undefined} style * @param {Uint8Array | undefined} font */ push(text: string, style?: Style, font?: Uint8Array): void; } /** */ export class WindowStyle { free(): void; /** * @returns {WindowStyle} */ static new(): WindowStyle; /** */ align_items: number; /** */ background_color?: Rgba; /** * This controls the direction in which the children of a node are laid out. */ flex_direction: number; /** */ height: number; /** */ justify_content: number; /** */ width: number; } export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly memory: WebAssembly.Memory; readonly __wbg_rgba_free: (a: number) => void; readonly rgba_new: (a: number, b: number, c: number, d: number) => number; readonly __wbg_borderradius_free: (a: number) => void; readonly __wbg_get_borderradius_top_left: (a: number) => number; readonly __wbg_set_borderradius_top_left: (a: number, b: number) => void; readonly __wbg_get_borderradius_top_right: (a: number) => number; readonly __wbg_set_borderradius_top_right: (a: number, b: number) => void; readonly __wbg_get_borderradius_bottom_left: (a: number) => number; readonly __wbg_set_borderradius_bottom_left: (a: number, b: number) => void; readonly __wbg_get_borderradius_bottom_right: (a: number) => number; readonly __wbg_set_borderradius_bottom_right: (a: number, b: number) => void; readonly borderradius_new: (a: number, b: number, c: number, d: number) => number; readonly __wbg_style_free: (a: number) => void; readonly __wbg_get_style_margin: (a: number) => number; readonly __wbg_set_style_margin: (a: number, b: number) => void; readonly __wbg_get_style_line_height: (a: number) => number; readonly __wbg_set_style_line_height: (a: number, b: number) => void; readonly __wbg_get_style_font_size: (a: number) => number; readonly __wbg_set_style_font_size: (a: number, b: number) => void; readonly __wbg_get_style_letter_spacing: (a: number) => number; readonly __wbg_set_style_letter_spacing: (a: number, b: number) => void; readonly __wbg_get_style_kern_setting: (a: number) => number; readonly __wbg_set_style_kern_setting: (a: number, b: number) => void; readonly __wbg_get_style_word_break: (a: number) => number; readonly __wbg_set_style_word_break: (a: number, b: number) => void; readonly __wbg_get_style_white_space: (a: number) => number; readonly __wbg_set_style_white_space: (a: number, b: number) => void; readonly __wbg_get_style_color: (a: number) => number; readonly __wbg_set_style_color: (a: number, b: number) => void; readonly __wbg_get_style_text_align: (a: number) => number; readonly __wbg_set_style_text_align: (a: number, b: number) => void; readonly __wbg_get_style_max_height: (a: number, b: number) => void; readonly __wbg_set_style_max_height: (a: number, b: number, c: number) => void; readonly __wbg_get_style_max_width: (a: number, b: number) => void; readonly __wbg_set_style_max_width: (a: number, b: number, c: number) => void; readonly __wbg_get_style_position: (a: number) => number; readonly __wbg_set_style_position: (a: number, b: number) => void; readonly __wbg_get_style_top: (a: number, b: number) => void; readonly __wbg_set_style_top: (a: number, b: number, c: number) => void; readonly __wbg_get_style_right: (a: number, b: number) => void; readonly __wbg_set_style_right: (a: number, b: number, c: number) => void; readonly __wbg_get_style_bottom: (a: number, b: number) => void; readonly __wbg_set_style_bottom: (a: number, b: number, c: number) => void; readonly __wbg_get_style_left: (a: number, b: number) => void; readonly __wbg_set_style_left: (a: number, b: number, c: number) => void; readonly __wbg_get_style_border_radius: (a: number) => number; readonly __wbg_set_style_border_radius: (a: number, b: number) => void; readonly style_new: () => number; readonly style_set_text_overflow: (a: number, b: number) => void; readonly __wbg_windowstyle_free: (a: number) => void; readonly __wbg_get_windowstyle_background_color: (a: number) => number; readonly __wbg_set_windowstyle_background_color: (a: number, b: number) => void; readonly __wbg_get_windowstyle_align_items: (a: number) => number; readonly __wbg_set_windowstyle_align_items: (a: number, b: number) => void; readonly __wbg_get_windowstyle_justify_content: (a: number) => number; readonly __wbg_set_windowstyle_justify_content: (a: number, b: number) => void; readonly __wbg_get_windowstyle_flex_direction: (a: number) => number; readonly __wbg_set_windowstyle_flex_direction: (a: number, b: number) => void; readonly windowstyle_new: () => number; readonly __wbg_imageoutputformatoption_free: (a: number) => void; readonly __wbg_get_imageoutputformatoption_q: (a: number) => number; readonly __wbg_set_imageoutputformatoption_q: (a: number, b: number) => void; readonly imageoutputformatoption_new: () => number; readonly __wbg_fontcontext_free: (a: number) => void; readonly fontcontext_new: () => number; readonly fontcontext_push: (a: number, b: number, c: number) => void; readonly fontcontext_clear: (a: number) => void; readonly fontcontext_len: (a: number) => number; readonly fontcontext_is_empty: (a: number) => number; readonly wasm_init: () => void; readonly __wbg_textarea_free: (a: number) => void; readonly textarea_new: () => number; readonly textarea_push: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly __wbg_ogimagewriter_free: (a: number) => void; readonly ogimagewriter_new: (a: number) => number; readonly ogimagewriter_from_data: (a: number, b: number, c: number, d: number) => number; readonly ogimagewriter_width: (a: number) => number; readonly ogimagewriter_height: (a: number) => number; readonly ogimagewriter_set_text: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly ogimagewriter_set_textarea: (a: number, b: number, c: number, d: number, e: number) => void; readonly ogimagewriter_set_img_with_data: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; readonly ogimagewriter_set_container: (a: number, b: number, c: number) => void; readonly ogimagewriter_generate: (a: number, b: number, c: number) => void; readonly ogimagewriter_paint: (a: number) => void; readonly ogimagewriter_into_vec: (a: number, b: number) => void; readonly ogimagewriter_encode: (a: number, b: number, c: number, d: number) => void; readonly __wbg_set_windowstyle_height: (a: number, b: number) => void; readonly __wbg_set_margin_top: (a: number, b: number) => void; readonly __wbg_get_windowstyle_height: (a: number) => number; readonly __wbg_get_margin_top: (a: number) => number; readonly __wbg_set_windowstyle_width: (a: number, b: number) => void; readonly __wbg_set_margin_left: (a: number, b: number) => void; readonly __wbg_set_margin_bottom: (a: number, b: number) => void; readonly __wbg_set_margin_right: (a: number, b: number) => void; readonly __wbg_get_windowstyle_width: (a: number) => number; readonly __wbg_get_margin_left: (a: number) => number; readonly __wbg_get_margin_bottom: (a: number) => number; readonly __wbg_get_margin_right: (a: number) => number; readonly margin_new: (a: number, b: number, c: number, d: number) => number; readonly __wbg_margin_free: (a: number) => void; readonly __wbindgen_malloc: (a: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number) => number; readonly __wbindgen_add_to_stack_pointer: (a: number) => number; readonly __wbindgen_free: (a: number, b: number) => void; readonly __wbindgen_start: () => void; } export type SyncInitInput = BufferSource | WebAssembly.Module; /** * Instantiates the given `module`, which can either be bytes or * a precompiled `WebAssembly.Module`. * * @param {SyncInitInput} module * * @returns {InitOutput} */ export function initSync(module: SyncInitInput): InitOutput; /** * If `module_or_path` is {RequestInfo} or {URL}, makes a request and * for everything else, calls `WebAssembly.instantiate` directly. * * @param {InitInput | Promise<InitInput>} module_or_path * * @returns {Promise<InitOutput>} */ export default function init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;