/// /// /** * Type Definitions for Gjs (https://gjs.guide/) * * These type definitions are automatically generated, do not edit them by hand. * If you found a bug fix it in `ts-for-gir` or create a bug report on https://github.com/gjsify/ts-for-gir * * The based EJS template file is used for the generated .d.ts file of each GIR module like Gtk-4.0, GObject-2.0, ... */ declare module 'gi://MyPaint?version=1.6' { // Module dependencies import type GObject from 'gi://GObject?version=2.0'; import type GLib from 'gi://GLib?version=2.0'; export namespace MyPaint { /** * MyPaint-1.6 */ export namespace BrushInput { export const $gtype: GObject.GType; } enum BrushInput { INPUT_PRESSURE, INPUT_SPEED1, INPUT_SPEED2, INPUT_RANDOM, INPUT_STROKE, INPUT_DIRECTION, INPUT_TILT_DECLINATION, INPUT_TILT_ASCENSION, INPUT_CUSTOM, INPUT_DIRECTION_ANGLE, INPUT_ATTACK_ANGLE, INPUT_TILT_DECLINATIONX, INPUT_TILT_DECLINATIONY, INPUT_GRIDMAP_X, INPUT_GRIDMAP_Y, INPUT_VIEWZOOM, INPUT_BARREL_ROTATION, INPUT_BRUSH_RADIUS, INPUTS_COUNT, } export namespace BrushSetting { export const $gtype: GObject.GType; } enum BrushSetting { SETTING_OPAQUE, SETTING_OPAQUE_MULTIPLY, SETTING_OPAQUE_LINEARIZE, SETTING_RADIUS_LOGARITHMIC, SETTING_HARDNESS, SETTING_ANTI_ALIASING, SETTING_DABS_PER_BASIC_RADIUS, SETTING_DABS_PER_ACTUAL_RADIUS, SETTING_DABS_PER_SECOND, SETTING_RADIUS_BY_RANDOM, SETTING_SPEED1_SLOWNESS, SETTING_SPEED2_SLOWNESS, SETTING_SPEED1_GAMMA, SETTING_SPEED2_GAMMA, SETTING_OFFSET_BY_RANDOM, SETTING_OFFSET_BY_SPEED, SETTING_OFFSET_BY_SPEED_SLOWNESS, SETTING_SLOW_TRACKING, SETTING_SLOW_TRACKING_PER_DAB, SETTING_TRACKING_NOISE, SETTING_COLOR_H, SETTING_COLOR_S, SETTING_COLOR_V, SETTING_RESTORE_COLOR, SETTING_CHANGE_COLOR_H, SETTING_CHANGE_COLOR_L, SETTING_CHANGE_COLOR_HSL_S, SETTING_CHANGE_COLOR_V, SETTING_CHANGE_COLOR_HSV_S, SETTING_SMUDGE, SETTING_SMUDGE_LENGTH, SETTING_SMUDGE_RADIUS_LOG, SETTING_ERASER, SETTING_STROKE_THRESHOLD, SETTING_STROKE_DURATION_LOGARITHMIC, SETTING_STROKE_HOLDTIME, SETTING_CUSTOM_INPUT, SETTING_CUSTOM_INPUT_SLOWNESS, SETTING_ELLIPTICAL_DAB_RATIO, SETTING_ELLIPTICAL_DAB_ANGLE, SETTING_DIRECTION_FILTER, SETTING_LOCK_ALPHA, SETTING_COLORIZE, SETTING_SNAP_TO_PIXEL, SETTING_PRESSURE_GAIN_LOG, SETTING_GRIDMAP_SCALE, SETTING_GRIDMAP_SCALE_X, SETTING_GRIDMAP_SCALE_Y, SETTING_SMUDGE_LENGTH_LOG, SETTING_SMUDGE_BUCKET, SETTING_SMUDGE_TRANSPARENCY, SETTING_OFFSET_Y, SETTING_OFFSET_X, SETTING_OFFSET_ANGLE, SETTING_OFFSET_ANGLE_ASC, SETTING_OFFSET_ANGLE_VIEW, SETTING_OFFSET_ANGLE_2, SETTING_OFFSET_ANGLE_2_ASC, SETTING_OFFSET_ANGLE_2_VIEW, SETTING_OFFSET_ANGLE_ADJ, SETTING_OFFSET_MULTIPLIER, SETTING_POSTERIZE, SETTING_POSTERIZE_NUM, SETTING_PAINT_MODE, SETTINGS_COUNT, } export namespace BrushState { export const $gtype: GObject.GType; } enum BrushState { STATE_X, STATE_Y, STATE_PRESSURE, STATE_PARTIAL_DABS, STATE_ACTUAL_RADIUS, STATE_SMUDGE_RA, STATE_SMUDGE_GA, STATE_SMUDGE_BA, STATE_SMUDGE_A, STATE_LAST_GETCOLOR_R, STATE_LAST_GETCOLOR_G, STATE_LAST_GETCOLOR_B, STATE_LAST_GETCOLOR_A, STATE_LAST_GETCOLOR_RECENTNESS, STATE_ACTUAL_X, STATE_ACTUAL_Y, STATE_NORM_DX_SLOW, STATE_NORM_DY_SLOW, STATE_NORM_SPEED1_SLOW, STATE_NORM_SPEED2_SLOW, STATE_STROKE, STATE_STROKE_STARTED, STATE_CUSTOM_INPUT, STATE_RNG_SEED, STATE_ACTUAL_ELLIPTICAL_DAB_RATIO, STATE_ACTUAL_ELLIPTICAL_DAB_ANGLE, STATE_DIRECTION_DX, STATE_DIRECTION_DY, STATE_DECLINATION, STATE_ASCENSION, STATE_VIEWZOOM, STATE_VIEWROTATION, STATE_DIRECTION_ANGLE_DX, STATE_DIRECTION_ANGLE_DY, STATE_ATTACK_ANGLE, STATE_FLIP, STATE_GRIDMAP_X, STATE_GRIDMAP_Y, STATE_DECLINATIONX, STATE_DECLINATIONY, STATE_DABS_PER_BASIC_RADIUS, STATE_DABS_PER_ACTUAL_RADIUS, STATE_DABS_PER_SECOND, STATE_BARREL_ROTATION, STATES_COUNT, } function brush_input_from_cname(cname: string): BrushInput; function brush_input_info(id: BrushInput | null): BrushInputInfo; function brush_setting_from_cname(cname: string): BrushSetting; function brush_setting_info(id: BrushSetting | null): BrushSettingInfo; interface SurfaceBeginAtomicFunction { (self: Surface): void; } interface SurfaceDestroyFunction { (self: Surface): void; } interface SurfaceDrawDabFunction { ( self: Surface, x: number, y: number, radius: number, color_r: number, color_g: number, color_b: number, opaque: number, hardness: number, alpha_eraser: number, aspect_ratio: number, angle: number, lock_alpha: number, colorize: number, ): number; } interface SurfaceEndAtomicFunction { (self: Surface, roi: Rectangle): void; } interface SurfaceGetColorFunction { ( self: Surface, x: number, y: number, radius: number, color_r: number, color_g: number, color_b: number, color_a: number, ): void; } interface SurfaceSavePngFunction { (self: Surface, path: string, x: number, y: number, width: number, height: number): void; } interface TileRequestEndFunction { (self: TiledSurface, request: TileRequest): void; } interface TileRequestStartFunction { (self: TiledSurface, request: TileRequest): void; } /** * The MyPaint brush engine class. */ class Brush { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial<{}>); _init(...args: any[]): void; static ['new'](): Brush; static new_with_buckets(num_smudge_buckets: number): Brush; // Static methods static input_from_cname(cname: string): BrushInput; static setting_from_cname(cname: string): BrushSetting; // Methods from_defaults(): void; from_string(string: string): boolean; /** * Get the base value of a brush setting. * @param id */ get_base_value(id: BrushSetting | null): number; /** * Returns how many inputs are used for the dynamics of a #MyPaintBrushSetting * @param id */ get_inputs_used_n(id: BrushSetting | null): number; /** * Get the number of points used for the dynamics mapping between a #MyPaintBrushInput and #MyPaintBrushSetting. * @param id * @param input */ get_mapping_n(id: BrushSetting | null, input: BrushInput | null): number; /** * Get a X,Y point of a dynamics mapping. * @param id * @param input * @param index */ get_mapping_point(id: BrushSetting | null, input: BrushInput | null, index: number): [number, number]; /** * Get an internal brush engine state. * Normally used for debugging, but can be used to implement record & replay functionality. * @param i */ get_state(i: BrushState | null): number; /** * Return the total amount of painting time for the current stroke. */ get_total_stroke_painting_time(): number; /** * Returns TRUE if the brush has no dynamics for the given #MyPaintBrushSetting * @param id */ is_constant(id: BrushSetting | null): boolean; /** * Start a new stroke. */ new_stroke(): void; /** * Reset the current brush engine state. * Used when the next mypaint_brush_stroke_to() call is not related to the current state. * Note that the reset request is queued and changes in state will only happen on next stroke_to() */ reset(): void; /** * Set the base value of a brush setting. * @param id * @param value */ set_base_value(id: BrushSetting | null, value: number): void; /** * Set the number of points used for the dynamics mapping between a #MyPaintBrushInput and #MyPaintBrushSetting. * @param id * @param input * @param n */ set_mapping_n(id: BrushSetting | null, input: BrushInput | null, n: number): void; /** * Set a X,Y point of a dynamics mapping. * The index must be within the number of points set using mypaint_brush_set_mapping_n() * @param id * @param input * @param index * @param x * @param y */ set_mapping_point( id: BrushSetting | null, input: BrushInput | null, index: number, x: number, y: number, ): void; /** * Enable/Disable printing of brush engine inputs on stderr. Intended for debugging only. * @param enabled */ set_print_inputs(enabled: boolean): void; /** * Set an internal brush engine state. * Normally used for debugging, but can be used to implement record & replay functionality. * @param i * @param value */ set_state(i: BrushState | null, value: number): void; /** * Should be called once for each motion event. * @param surface * @param x * @param y * @param pressure * @param xtilt * @param ytilt * @param dtime Time since last motion event, in seconds. * @returns non-0 if the stroke is finished or empty, else 0. */ stroke_to( surface: Surface, x: number, y: number, pressure: number, xtilt: number, ytilt: number, dtime: number, ): number; } class BrushInputInfo { static $gtype: GObject.GType; // Fields cname: string; hard_min: number; soft_min: number; normal: number; soft_max: number; hard_max: number; name: string; tooltip: string; // Constructors constructor( properties?: Partial<{ cname: string; hard_min: number; soft_min: number; normal: number; soft_max: number; hard_max: number; name: string; tooltip: string; }>, ); _init(...args: any[]): void; // Methods get_name(): string; get_tooltip(): string; } class BrushSettingInfo { static $gtype: GObject.GType; // Fields cname: string; name: string; constant: boolean; min: number; def: number; max: number; tooltip: string; // Constructors constructor( properties?: Partial<{ cname: string; name: string; constant: boolean; min: number; def: number; max: number; tooltip: string; }>, ); _init(...args: any[]): void; // Methods get_name(): string; get_tooltip(): string; } /** * Simple #MyPaintTiledSurface subclass that implements a fixed sized #MyPaintSurface. * Only intended for testing and trivial use-cases, and to serve as an example of * how to implement a tiled surface subclass. */ class FixedTiledSurface { static $gtype: GObject.GType; // Constructors constructor(width: number, height: number); _init(...args: any[]): void; static ['new'](width: number, height: number): FixedTiledSurface; // Methods get_height(): number; get_width(): number; ['interface'](): Surface; } class Rectangle { static $gtype: GObject.GType; // Fields x: number; y: number; width: number; height: number; // Constructors constructor( properties?: Partial<{ x: number; y: number; width: number; height: number; }>, ); _init(...args: any[]): void; // Methods copy(): Rectangle; expand_to_include_point(x: number, y: number): void; expand_to_include_rect(other: Rectangle): void; } class Rectangles { static $gtype: GObject.GType; // Fields num_rectangles: number; rectangles: Rectangle; // Constructors constructor( properties?: Partial<{ num_rectangles: number; }>, ); _init(...args: any[]): void; } class Surface { static $gtype: GObject.GType; // Fields destroy: SurfaceDestroyFunction; refcount: number; // Constructors _init(...args: any[]): void; // Methods begin_atomic(): void; /** * Draw a dab onto the surface. * @param x * @param y * @param radius * @param color_r * @param color_g * @param color_b * @param opaque * @param hardness * @param alpha_eraser * @param aspect_ratio * @param angle * @param lock_alpha * @param colorize */ draw_dab( x: number, y: number, radius: number, color_r: number, color_g: number, color_b: number, opaque: number, hardness: number, alpha_eraser: number, aspect_ratio: number, angle: number, lock_alpha: number, colorize: number, ): number; end_atomic(): Rectangle | null; get_alpha(x: number, y: number, radius: number): number; get_color( x: number, y: number, radius: number, color_r: number, color_g: number, color_b: number, color_a: number, ): void; save_png(path: string, x: number, y: number, width: number, height: number): void; } class TileRequest { static $gtype: GObject.GType; // Fields tx: number; ty: number; readonly: boolean; buffer: number; context: any; thread_id: number; mipmap_level: number; // Constructors constructor( properties?: Partial<{ tx: number; ty: number; readonly: boolean; buffer: number; context: any; thread_id: number; mipmap_level: number; }>, ); _init(...args: any[]): void; // Methods /** * Initialize a request for use with mypaint_tiled_surface_tile_request_start() * and mypaint_tiled_surface_tile_request_end() * @param level * @param tx * @param ty * @param readonly */ init(level: number, tx: number, ty: number, readonly: boolean): void; } /** * Testing if this comment ends up in the gir. */ class TiledSurface { static $gtype: GObject.GType; // Fields surface_do_symmetry: boolean; surface_center_x: number; operation_queue: any; dirty_bbox: Rectangle; threadsafe_tile_requests: boolean; tile_size: number; // Constructors _init(...args: any[]): void; // Methods get_alpha(x: number, y: number, radius: number): number; /** * Enable/Disable symmetric brush painting across an X axis. * @param active TRUE to enable, FALSE to disable. * @param center_x X axis to mirror events across. */ set_symmetry_state(active: boolean, center_x: number): void; tile_request_end(request: TileRequest): void; tile_request_start(request: TileRequest): void; } /** * Name of the imported GIR library * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188 */ const __name__: string; /** * Version of the imported GIR library * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189 */ const __version__: string; } export default MyPaint; } declare module 'gi://MyPaint' { import MyPaint16 from 'gi://MyPaint?version=1.6'; export default MyPaint16; } // END