:3
This commit is contained in:
		
							parent
							
								
									652e0d27a0
								
							
						
					
					
						commit
						9ef462c104
					
				
							
								
								
									
										229
									
								
								libs/basalt/basalt.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										229
									
								
								libs/basalt/basalt.d.ts
									
									
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -1,229 +0,0 @@
 | 
			
		|||
 | 
			
		||||
declare module basalt {
 | 
			
		||||
    interface Theme {
 | 
			
		||||
        BaseFrameBG: number,
 | 
			
		||||
        BaseFrameText: number,
 | 
			
		||||
        FrameBG: number,
 | 
			
		||||
        FrameText: number,
 | 
			
		||||
        ButtonBG: number,
 | 
			
		||||
        ButtonText: number,
 | 
			
		||||
        CheckboxBG: number,
 | 
			
		||||
        CheckboxText: number,
 | 
			
		||||
        InputBG: number,
 | 
			
		||||
        InputText: number,
 | 
			
		||||
        TextfieldBG: number,
 | 
			
		||||
        TextfieldText: number,
 | 
			
		||||
        ListBG: number,
 | 
			
		||||
        ListText: number,
 | 
			
		||||
        MenubarBG: number,
 | 
			
		||||
        MenubarText: number,
 | 
			
		||||
        DropdownBG: number,
 | 
			
		||||
        DropdownText: number,
 | 
			
		||||
        RadioBG: number,
 | 
			
		||||
        RadioText: number,
 | 
			
		||||
        SelectionBG: number,
 | 
			
		||||
        SelectionText: number,
 | 
			
		||||
        GraphicBG: number,
 | 
			
		||||
        ImageBG: number,
 | 
			
		||||
        PaneBG: number,
 | 
			
		||||
        ProgramBG: number,
 | 
			
		||||
        ProgressbarBG: number,
 | 
			
		||||
        ProgressbarText: number,
 | 
			
		||||
        ProgressbarActiveBG: number,
 | 
			
		||||
        ScrollbarBG: number,
 | 
			
		||||
        ScrollbarText: number,
 | 
			
		||||
        ScrollbarSymbolColor: number,
 | 
			
		||||
        SliderBG: boolean,
 | 
			
		||||
        SliderText: number,
 | 
			
		||||
        SliderSymbolColor: number,
 | 
			
		||||
        SwitchBG: number,
 | 
			
		||||
        SwitchText: number,
 | 
			
		||||
        LabelBG: boolean,
 | 
			
		||||
        LabelText: number,
 | 
			
		||||
        GraphBG: number,
 | 
			
		||||
        GraphText: number,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function debug(...txt: string[]): void;
 | 
			
		||||
    function autoUpdate(enabled: boolean): void;
 | 
			
		||||
    function stop(): void;
 | 
			
		||||
    function stopUpdate(): void;
 | 
			
		||||
    function createFrame<T extends BaseFrame>(id?: string): T;
 | 
			
		||||
    function setActiveFrame<T extends BaseFrame>(f: T): void;
 | 
			
		||||
    function getFrame<T extends BaseFrame>(id: string): T;
 | 
			
		||||
    function getActiveFrame<T extends BaseFrame>(): T;
 | 
			
		||||
    function removeFrame(id: string): void;
 | 
			
		||||
    function setTheme(theme: Theme): void;
 | 
			
		||||
    function getTheme(s: string): number;
 | 
			
		||||
    function setVariable<T>(k: string, v: T): void;
 | 
			
		||||
    function getVariable<T>(k: string): T;
 | 
			
		||||
    function getVersion(): string;
 | 
			
		||||
    function isKeyDown(key: number): boolean;
 | 
			
		||||
    function log(msg: string, prefix: "ERROR" | "WARN" | "INFO" | "DEBUG" | string): void;
 | 
			
		||||
    function memory(): number;
 | 
			
		||||
    function onEvent(fn: (event: string) => boolean): void;
 | 
			
		||||
    function schedule(fn: <T>(v: T) => void): void;
 | 
			
		||||
    function setMouseDragThrottle(throttle: number): void;
 | 
			
		||||
    function setMouseMoveThrottle(throttle: number): void;
 | 
			
		||||
    function setRenderingThrottle(throttle: number): void;
 | 
			
		||||
    
 | 
			
		||||
    class Object {
 | 
			
		||||
        enable(): void;
 | 
			
		||||
        disable(): void;
 | 
			
		||||
        getType(): string;
 | 
			
		||||
        isType(t: string): boolean;
 | 
			
		||||
        getName(): string;
 | 
			
		||||
        getParent<T extends Object>(): T | null;
 | 
			
		||||
        setParent<T extends Object, O extends Object>(p: T): O;
 | 
			
		||||
        getZIndex(): number;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class VisualObject extends Object {
 | 
			
		||||
        show<T extends VisualObject>(): T;
 | 
			
		||||
        hide<T extends VisualObject>(): T;
 | 
			
		||||
        setVisible(vis: boolean): boolean;
 | 
			
		||||
        isVisible(): boolean;
 | 
			
		||||
        setPosition<T extends VisualObject>(x: number|string, y: number|string, add?: boolean): T;
 | 
			
		||||
        getPosition(): [number, number];
 | 
			
		||||
        getX(): number;
 | 
			
		||||
        getY(): number;
 | 
			
		||||
        setSize<T extends VisualObject>(w: number|string, h: number|string): T;
 | 
			
		||||
        getSize(): [number, number];
 | 
			
		||||
        getWidth(): number;
 | 
			
		||||
        getHeight(): number;
 | 
			
		||||
        setBackground<T extends VisualObject>(color: number|false, symbol?: string, symbol_color?: number): T;
 | 
			
		||||
        getBackground(): number|false;
 | 
			
		||||
        setForeground<T extends VisualObject>(color: number|false): T;
 | 
			
		||||
        getForeground(): number|false;
 | 
			
		||||
        setTransparency<T extends VisualObject>(v: boolean): T;
 | 
			
		||||
        setZIndex<T extends VisualObject>(i: number): T;
 | 
			
		||||
        getAbsolutePosition(x?: number, y?: number): [number, number];
 | 
			
		||||
        ignoreOffset<T extends VisualObject>(v: boolean): T;
 | 
			
		||||
        isFocused(): boolean;
 | 
			
		||||
        setShadow<T extends VisualObject>(v: number): T;
 | 
			
		||||
        getShadow(): number|false;
 | 
			
		||||
        setBorder<T extends VisualObject>(c: number, ...sides: string[]): T;
 | 
			
		||||
        animatePosition<T extends VisualObject>(x: number, y: number, dur: number, offset?: number, mode?: string, fn?: () => void): T;
 | 
			
		||||
        animateSize<T extends VisualObject>(w: number, h: number, dur: number, offset?: number, mode?: string, fn?: () => void): T;
 | 
			
		||||
        animateOffset<T extends VisualObject>(x: number, y: number, dur: number, offset?: number, mode?: string, fn?: () => void): T;
 | 
			
		||||
        addTexture<T extends VisualObject>(path: string, isAnimated: boolean): T;
 | 
			
		||||
        setTextureMode<T extends VisualObject>(mode: string): T;
 | 
			
		||||
        setInfiniteMode<T extends VisualObject>(v: boolean): T;
 | 
			
		||||
 | 
			
		||||
        addDraw<T extends VisualObject>(id: string, fn: () => void, pos: number, where: number, imm: boolean): T;
 | 
			
		||||
        addPreDraw<T extends VisualObject>(id: string, fn: () => void, pos: number, imm: boolean): T;
 | 
			
		||||
        addPostDraw<T extends VisualObject>(id: string, fn: () => void, pos: number, imm: boolean): T;
 | 
			
		||||
        setDrawState<T extends VisualObject>(id: string, state: boolean): T;
 | 
			
		||||
        getDrawId(id: string): number;
 | 
			
		||||
        addText<T extends VisualObject>(x: number, y: number, s: string): T;
 | 
			
		||||
        addBg<T extends VisualObject>(x: number, y: number, c: string): T;
 | 
			
		||||
        addFg<T extends VisualObject>(x: number, y: number, c: string): T;
 | 
			
		||||
        addBlit<T extends VisualObject>(x: number, y: number, s: string, fg: string, bg: string): T;
 | 
			
		||||
        addBox<T extends VisualObject>(x: number, y: number, w: number, h: number, s: string): T; 
 | 
			
		||||
        addBackgroundBox<T extends VisualObject>(x: number, y: number, w: number, h: number, c: number): T;
 | 
			
		||||
        addForegroundBox<T extends VisualObject>(x: number, y: number, w: number, h: number, c: number): T;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class ChangeableObject extends VisualObject {
 | 
			
		||||
        setValue<T extends VisualObject>(v: any): T;
 | 
			
		||||
        getValue<T>(): T;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class Container extends VisualObject {
 | 
			
		||||
        addChild<T>(c: T): T;
 | 
			
		||||
        getChild<T extends Container>(id: string): T;
 | 
			
		||||
        getDeepChild<T extends Container>(id: string): T;
 | 
			
		||||
        removeChild(id: string): boolean;
 | 
			
		||||
        removeChildren<T extends Container>(): T;
 | 
			
		||||
        updateZIndex<T extends Container, O extends Container>(which: O, idx: number): T;
 | 
			
		||||
        setImportant<T extends Container>(id: string): T;
 | 
			
		||||
        clearFocusedChild<T extends Container>(): T;
 | 
			
		||||
        setFocusedObject<T extends Container, O extends Container>(o: O): T;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    class BaseFrame extends Container {
 | 
			
		||||
        getOffset(): [number, number];
 | 
			
		||||
        setOffset<T extends BaseFrame>(x: number, y: number): T;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class MonitorFrame extends BaseFrame {
 | 
			
		||||
        setMonitor<T extends MonitorFrame>(mon: string|Monitor): T;
 | 
			
		||||
        setMonitorGroup<T extends MonitorFrame>(mon: (string|Monitor)[][]): T;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class Frame extends Container {
 | 
			
		||||
        getOffset(): [number, number];
 | 
			
		||||
        setOffset<T extends Frame>(x: number, y: number): T;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class ScrollableFrame extends Frame {
 | 
			
		||||
        setDirection<T extends ScrollableFrame>(d: string): T;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    type Justify = "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly";
 | 
			
		||||
    type Direction = "row" | "column";
 | 
			
		||||
    class Flexbox extends ScrollableFrame {
 | 
			
		||||
        setSpacing<T extends Flexbox>(s?: number): T;
 | 
			
		||||
        getSpacing(): number;
 | 
			
		||||
        setDirection<T extends Flexbox | ScrollableFrame>(d: Direction): T;
 | 
			
		||||
        getDirection(): Direction;
 | 
			
		||||
        setJustifyContent<T extends Flexbox>(s?: Justify): T;
 | 
			
		||||
        getJustifyContent(): Justify;
 | 
			
		||||
        setWrap<T extends Flexbox>(w: "wrap" | "nowrap"): T;
 | 
			
		||||
        getWrap(): "wrap" | "nowrap";
 | 
			
		||||
        updateLayout<T extends Flexbox>(): T;
 | 
			
		||||
        addBreak<T extends Flexbox>(): T;
 | 
			
		||||
 | 
			
		||||
        getFlexGrow(): number;
 | 
			
		||||
        setFlexGrow<T extends Flexbox>(g: number): T;
 | 
			
		||||
        getFlexShrink(): number;
 | 
			
		||||
        setFlexShrink<T extends Flexbox>(g: number): T;
 | 
			
		||||
        getFlexBasis(): number;
 | 
			
		||||
        setFlexBasis<T extends Flexbox>(g: number): T;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    type DraggingMap = [number, number, number, number];
 | 
			
		||||
 | 
			
		||||
    class MovableFrame extends Frame {
 | 
			
		||||
        setDraggingMap<T extends MovableFrame>(m: DraggingMap): T;
 | 
			
		||||
        getDraggingMap(): DraggingMap;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class Button extends VisualObject {
 | 
			
		||||
        setText<T extends VisualObject>(t: string): T;
 | 
			
		||||
        setHorizontalAlign<T extends VisualObject>(a: "left" | "center" | "right"): T;
 | 
			
		||||
        setVerticalAlign<T extends VisualObject>(a: "top" | "center" | "bottom"): T;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class Checkbox extends ChangeableObject {
 | 
			
		||||
        setSymbol<T extends Checkbox>(s: string): T;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class Graph extends ChangeableObject {
 | 
			
		||||
        setGraphColor<T extends Graph>(c: number): T;
 | 
			
		||||
        setGraphSymbol<T extends Graph>(s: string): T;
 | 
			
		||||
        getGraphSymbol(): string;
 | 
			
		||||
        addDataPoint<T extends Graph>(v: number): T;
 | 
			
		||||
        setMaxValue<T extends Graph>(v: number): T;
 | 
			
		||||
        getMaxValue(): number;
 | 
			
		||||
        setMinValue<T extends Graph>(v: number): T;
 | 
			
		||||
        getMinValue(): number;
 | 
			
		||||
        setGraphType<T extends Graph>(t: "scatter" | "line" | "bar"): T;
 | 
			
		||||
        setMaxEntries<T extends Graph>(v: number): T;
 | 
			
		||||
        getMaxEntries(): number;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    class Image extends VisualObject {
 | 
			
		||||
        loadImage<T extends Image>(p: string): T;
 | 
			
		||||
        setImage(img: any, fmt: "nfp" | "bimg"): void;
 | 
			
		||||
        usePalette<T extends Image>(change: boolean): T;
 | 
			
		||||
        play<T extends Image>(p: boolean): T;
 | 
			
		||||
        selectFrame<T extends Image>(idx: number): T;
 | 
			
		||||
        loadImage<T extends Image>(p: string): T;
 | 
			
		||||
        getMetadata(k: string): unknown;
 | 
			
		||||
        setImageSize<T extends Image>(w: number, h: number): T;
 | 
			
		||||
        getImageSize(): [number, number];
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										11
									
								
								src/index.ts
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								src/index.ts
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -1,11 +1,16 @@
 | 
			
		|||
 | 
			
		||||
import * as basalt from "./libs/basalt/basalt";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function main() {
 | 
			
		||||
    const d: peripheral = peripheral.wrap("disk") as peripheral;
 | 
			
		||||
 | 
			
		||||
    const d: Monitor = peripheral.find("monitor")[0] as Monitor;
 | 
			
		||||
    const main = basalt.addMonitor();
 | 
			
		||||
    main.setMonitor(d);
 | 
			
		||||
    
 | 
			
		||||
    main.addLabel().setText("uwu");
 | 
			
		||||
    main.addButton().setText("meow");
 | 
			
		||||
 | 
			
		||||
    basalt.autoUpdate();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										244
									
								
								src/libs/basalt/basalt.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										244
									
								
								src/libs/basalt/basalt.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,244 @@
 | 
			
		|||
export interface Theme {
 | 
			
		||||
    BaseFrameBG: number,
 | 
			
		||||
    BaseFrameText: number,
 | 
			
		||||
    FrameBG: number,
 | 
			
		||||
    FrameText: number,
 | 
			
		||||
    ButtonBG: number,
 | 
			
		||||
    ButtonText: number,
 | 
			
		||||
    CheckboxBG: number,
 | 
			
		||||
    CheckboxText: number,
 | 
			
		||||
    InputBG: number,
 | 
			
		||||
    InputText: number,
 | 
			
		||||
    TextfieldBG: number,
 | 
			
		||||
    TextfieldText: number,
 | 
			
		||||
    ListBG: number,
 | 
			
		||||
    ListText: number,
 | 
			
		||||
    MenubarBG: number,
 | 
			
		||||
    MenubarText: number,
 | 
			
		||||
    DropdownBG: number,
 | 
			
		||||
    DropdownText: number,
 | 
			
		||||
    RadioBG: number,
 | 
			
		||||
    RadioText: number,
 | 
			
		||||
    SelectionBG: number,
 | 
			
		||||
    SelectionText: number,
 | 
			
		||||
    GraphicBG: number,
 | 
			
		||||
    ImageBG: number,
 | 
			
		||||
    PaneBG: number,
 | 
			
		||||
    ProgramBG: number,
 | 
			
		||||
    ProgressbarBG: number,
 | 
			
		||||
    ProgressbarText: number,
 | 
			
		||||
    ProgressbarActiveBG: number,
 | 
			
		||||
    ScrollbarBG: number,
 | 
			
		||||
    ScrollbarText: number,
 | 
			
		||||
    ScrollbarSymbolColor: number,
 | 
			
		||||
    SliderBG: boolean,
 | 
			
		||||
    SliderText: number,
 | 
			
		||||
    SliderSymbolColor: number,
 | 
			
		||||
    SwitchBG: number,
 | 
			
		||||
    SwitchText: number,
 | 
			
		||||
    LabelBG: boolean,
 | 
			
		||||
    LabelText: number,
 | 
			
		||||
    GraphBG: number,
 | 
			
		||||
    GraphText: number,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function debug(...txt: string[]): void;
 | 
			
		||||
export function autoUpdate(enabled?: boolean): void;
 | 
			
		||||
export function stop(): void;
 | 
			
		||||
export function stopUpdate(): void;
 | 
			
		||||
export function addMonitor<T extends MonitorFrame>(): T;
 | 
			
		||||
export function createFrame<T extends BaseFrame>(id?: string): T;
 | 
			
		||||
export function setActiveFrame<T extends BaseFrame>(f: T): void;
 | 
			
		||||
export function getFrame<T extends BaseFrame>(id: string): T;
 | 
			
		||||
export function getActiveFrame<T extends BaseFrame>(): T;
 | 
			
		||||
export function removeFrame(id: string): void;
 | 
			
		||||
export function setTheme(theme: Theme): void;
 | 
			
		||||
export function getTheme(s: string): number;
 | 
			
		||||
export function setVariable<T>(k: string, v: T): void;
 | 
			
		||||
export function getVariable<T>(k: string): T;
 | 
			
		||||
export function getVersion(): string;
 | 
			
		||||
export function isKeyDown(key: number): boolean;
 | 
			
		||||
export function log(msg: string, prefix: "ERROR" | "WARN" | "INFO" | "DEBUG" | string): void;
 | 
			
		||||
export function memory(): number;
 | 
			
		||||
export function onEvent(fn: (event: string) => boolean): void;
 | 
			
		||||
export function schedule(fn: <T>(v: T) => void): void;
 | 
			
		||||
export function setMouseDragThrottle(throttle: number): void;
 | 
			
		||||
export function setMouseMoveThrottle(throttle: number): void;
 | 
			
		||||
export function setRenderingThrottle(throttle: number): void;
 | 
			
		||||
 | 
			
		||||
export class Object {
 | 
			
		||||
    enable(): void;
 | 
			
		||||
    disable(): void;
 | 
			
		||||
    getType(): string;
 | 
			
		||||
    isType(t: string): boolean;
 | 
			
		||||
    getName(): string;
 | 
			
		||||
    getParent<T extends Object>(): T | null;
 | 
			
		||||
    setParent<T extends Object, O extends Object>(p: T): O;
 | 
			
		||||
    getZIndex(): number;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class VisualObject extends Object {
 | 
			
		||||
    show<T extends VisualObject>(): T;
 | 
			
		||||
    hide<T extends VisualObject>(): T;
 | 
			
		||||
    setVisible(vis: boolean): boolean;
 | 
			
		||||
    isVisible(): boolean;
 | 
			
		||||
    setPosition<T extends VisualObject>(x: number|string, y: number|string, add?: boolean): T;
 | 
			
		||||
    getPosition(): [number, number];
 | 
			
		||||
    getX(): number;
 | 
			
		||||
    getY(): number;
 | 
			
		||||
    setSize<T extends VisualObject>(w: number|string, h: number|string): T;
 | 
			
		||||
    getSize(): [number, number];
 | 
			
		||||
    getWidth(): number;
 | 
			
		||||
    getHeight(): number;
 | 
			
		||||
    setBackground<T extends VisualObject>(color: number|false, symbol?: string, symbol_color?: number): T;
 | 
			
		||||
    getBackground(): number|false;
 | 
			
		||||
    setForeground<T extends VisualObject>(color: number|false): T;
 | 
			
		||||
    getForeground(): number|false;
 | 
			
		||||
    setTransparency<T extends VisualObject>(v: boolean): T;
 | 
			
		||||
    setZIndex<T extends VisualObject>(i: number): T;
 | 
			
		||||
    getAbsolutePosition(x?: number, y?: number): [number, number];
 | 
			
		||||
    ignoreOffset<T extends VisualObject>(v: boolean): T;
 | 
			
		||||
    isFocused(): boolean;
 | 
			
		||||
    setShadow<T extends VisualObject>(v: number): T;
 | 
			
		||||
    getShadow(): number|false;
 | 
			
		||||
    setBorder<T extends VisualObject>(c: number, ...sides: string[]): T;
 | 
			
		||||
    animatePosition<T extends VisualObject>(x: number, y: number, dur: number, offset?: number, mode?: string, fn?: () => void): T;
 | 
			
		||||
    animateSize<T extends VisualObject>(w: number, h: number, dur: number, offset?: number, mode?: string, fn?: () => void): T;
 | 
			
		||||
    animateOffset<T extends VisualObject>(x: number, y: number, dur: number, offset?: number, mode?: string, fn?: () => void): T;
 | 
			
		||||
    addTexture<T extends VisualObject>(path: string, isAnimated: boolean): T;
 | 
			
		||||
    setTextureMode<T extends VisualObject>(mode: string): T;
 | 
			
		||||
    setInfiniteMode<T extends VisualObject>(v: boolean): T;
 | 
			
		||||
 | 
			
		||||
    addDraw<T extends VisualObject>(id: string, fn: () => void, pos: number, where: number, imm: boolean): T;
 | 
			
		||||
    addPreDraw<T extends VisualObject>(id: string, fn: () => void, pos: number, imm: boolean): T;
 | 
			
		||||
    addPostDraw<T extends VisualObject>(id: string, fn: () => void, pos: number, imm: boolean): T;
 | 
			
		||||
    setDrawState<T extends VisualObject>(id: string, state: boolean): T;
 | 
			
		||||
    getDrawId(id: string): number;
 | 
			
		||||
    addText<T extends VisualObject>(x: number, y: number, s: string): T;
 | 
			
		||||
    addBg<T extends VisualObject>(x: number, y: number, c: string): T;
 | 
			
		||||
    addFg<T extends VisualObject>(x: number, y: number, c: string): T;
 | 
			
		||||
    addBlit<T extends VisualObject>(x: number, y: number, s: string, fg: string, bg: string): T;
 | 
			
		||||
    addBox<T extends VisualObject>(x: number, y: number, w: number, h: number, s: string): T; 
 | 
			
		||||
    addBackgroundBox<T extends VisualObject>(x: number, y: number, w: number, h: number, c: number): T;
 | 
			
		||||
    addForegroundBox<T extends VisualObject>(x: number, y: number, w: number, h: number, c: number): T;
 | 
			
		||||
 | 
			
		||||
    addLabel<T extends Label>(): T;
 | 
			
		||||
    addButton<T extends Button>(): T;
 | 
			
		||||
    addGraph<T extends Graph>(): T;
 | 
			
		||||
    // addScrollbar<T extends Scrollbar>(): T;
 | 
			
		||||
    addImage<T extends Image>(): T;
 | 
			
		||||
    addFrame<T extends Frame>(): T;
 | 
			
		||||
    // addScrollableFrame<T extends ScrollableFrame>(): T;
 | 
			
		||||
    // addInput<T extends Input>(): T;
 | 
			
		||||
    // addDropdown<T extends Dropdown>(): T;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class ChangeableObject extends VisualObject {
 | 
			
		||||
    setValue<T extends VisualObject>(v: any): T;
 | 
			
		||||
    getValue<T>(): T;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class Container extends VisualObject {
 | 
			
		||||
    addChild<T>(c: T): T;
 | 
			
		||||
    getChild<T extends Container>(id: string): T;
 | 
			
		||||
    getDeepChild<T extends Container>(id: string): T;
 | 
			
		||||
    removeChild(id: string): boolean;
 | 
			
		||||
    removeChildren<T extends Container>(): T;
 | 
			
		||||
    updateZIndex<T extends Container, O extends Container>(which: O, idx: number): T;
 | 
			
		||||
    setImportant<T extends Container>(id: string): T;
 | 
			
		||||
    clearFocusedChild<T extends Container>(): T;
 | 
			
		||||
    setFocusedObject<T extends Container, O extends Container>(o: O): T;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class BaseFrame extends Container {
 | 
			
		||||
    getOffset(): [number, number];
 | 
			
		||||
    setOffset<T extends BaseFrame>(x: number, y: number): T;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class MonitorFrame extends BaseFrame {
 | 
			
		||||
    setMonitor<T extends MonitorFrame>(mon: string|Monitor): T;
 | 
			
		||||
    setMonitorGroup<T extends MonitorFrame>(mon: (string|Monitor)[][]): T;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class Frame extends Container {
 | 
			
		||||
    getOffset(): [number, number];
 | 
			
		||||
    setOffset<T extends Frame>(x: number, y: number): T;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class ScrollableFrame extends Frame {
 | 
			
		||||
    setDirection<T extends ScrollableFrame>(d: string): T;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export type Justify = "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly";
 | 
			
		||||
export type Direction = "row" | "column";
 | 
			
		||||
export class Flexbox extends ScrollableFrame {
 | 
			
		||||
    setSpacing<T extends Flexbox>(s?: number): T;
 | 
			
		||||
    getSpacing(): number;
 | 
			
		||||
    setDirection<T extends Flexbox | ScrollableFrame>(d: Direction): T;
 | 
			
		||||
    getDirection(): Direction;
 | 
			
		||||
    setJustifyContent<T extends Flexbox>(s?: Justify): T;
 | 
			
		||||
    getJustifyContent(): Justify;
 | 
			
		||||
    setWrap<T extends Flexbox>(w: "wrap" | "nowrap"): T;
 | 
			
		||||
    getWrap(): "wrap" | "nowrap";
 | 
			
		||||
    updateLayout<T extends Flexbox>(): T;
 | 
			
		||||
    addBreak<T extends Flexbox>(): T;
 | 
			
		||||
 | 
			
		||||
    getFlexGrow(): number;
 | 
			
		||||
    setFlexGrow<T extends Flexbox>(g: number): T;
 | 
			
		||||
    getFlexShrink(): number;
 | 
			
		||||
    setFlexShrink<T extends Flexbox>(g: number): T;
 | 
			
		||||
    getFlexBasis(): number;
 | 
			
		||||
    setFlexBasis<T extends Flexbox>(g: number): T;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export type DraggingMap = [number, number, number, number];
 | 
			
		||||
 | 
			
		||||
export class MovableFrame extends Frame {
 | 
			
		||||
    setDraggingMap<T extends MovableFrame>(m: DraggingMap): T;
 | 
			
		||||
    getDraggingMap(): DraggingMap;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class Button extends VisualObject {
 | 
			
		||||
    setText<T extends VisualObject>(t: string): T;
 | 
			
		||||
    setHorizontalAlign<T extends VisualObject>(a: "left" | "center" | "right"): T;
 | 
			
		||||
    setVerticalAlign<T extends VisualObject>(a: "top" | "center" | "bottom"): T;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class Checkbox extends ChangeableObject {
 | 
			
		||||
    setSymbol<T extends Checkbox>(s: string): T;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class Graph extends ChangeableObject {
 | 
			
		||||
    setGraphColor<T extends Graph>(c: number): T;
 | 
			
		||||
    setGraphSymbol<T extends Graph>(s: string): T;
 | 
			
		||||
    getGraphSymbol(): string;
 | 
			
		||||
    addDataPoint<T extends Graph>(v: number): T;
 | 
			
		||||
    setMaxValue<T extends Graph>(v: number): T;
 | 
			
		||||
    getMaxValue(): number;
 | 
			
		||||
    setMinValue<T extends Graph>(v: number): T;
 | 
			
		||||
    getMinValue(): number;
 | 
			
		||||
    setGraphType<T extends Graph>(t: "scatter" | "line" | "bar"): T;
 | 
			
		||||
    setMaxEntries<T extends Graph>(v: number): T;
 | 
			
		||||
    getMaxEntries(): number;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
export class Image extends VisualObject {
 | 
			
		||||
    loadImage<T extends Image>(p: string): T;
 | 
			
		||||
    setImage(img: any, fmt: "nfp" | "bimg"): void;
 | 
			
		||||
    usePalette<T extends Image>(change: boolean): T;
 | 
			
		||||
    play<T extends Image>(p: boolean): T;
 | 
			
		||||
    selectFrame<T extends Image>(idx: number): T;
 | 
			
		||||
    loadImage<T extends Image>(p: string): T;
 | 
			
		||||
    getMetadata(k: string): unknown;
 | 
			
		||||
    setImageSize<T extends Image>(w: number, h: number): T;
 | 
			
		||||
    getImageSize(): [number, number];
 | 
			
		||||
    // TODO: finish this
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class Label extends VisualObject {
 | 
			
		||||
    setText<T extends Label>(t: string): T;
 | 
			
		||||
    setFontSize<T extends Label>(s: number): T;
 | 
			
		||||
    getFontSize(): number;
 | 
			
		||||
    setTextAlign<T extends Label>(a: "left" | "center" | "right"): T;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										2
									
								
								src/types/cct.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								src/types/cct.d.ts
									
									
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -124,7 +124,7 @@ declare class peripheral {
 | 
			
		|||
    static wrap(name: string): peripheral| null;
 | 
			
		||||
 | 
			
		||||
    static find(ty: string, 
 | 
			
		||||
                filter: (name: string, wrapped: peripheral) => boolean
 | 
			
		||||
                filter?: (name: string, wrapped: peripheral) => boolean
 | 
			
		||||
               ): [peripheral, peripheral|null, peripheral|null, peripheral|null];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user