/** * (To be filled) */ export declare class DrawerBuilder { /** * Any element which has draw() method. */ element: Drawable; /** * Parameter for drawing. */ readonly drawParam: DrawParameter; protected readonly p: p5ex; /** * * @param p */ constructor(p: p5ex); /** * @param element * @chainable */ setElement(element: Drawable): DrawerBuilder; /** * @param positionRef * @chainable */ setPositionRef(positionRef: p5.Vector): DrawerBuilder; /** * @param offsetPositionRef * @chainable */ setOffsetPositionRef(offsetPositionRef: p5.Vector): DrawerBuilder; /** * @param rotationAngleRef * @chainable */ setRotationAngleRef(rotationAngleRef: NumberContainer): DrawerBuilder; /** * @param scaleFactorRef * @chainable */ setScaleFactorRef(scaleFactorRef: ScaleFactor): DrawerBuilder; /** * @param shapeColorRef * @chainable */ setShapeColorRef(shapeColorRef: ShapeColor): DrawerBuilder; /** * @param alphaChannelRef * @chainable */ setAlphaChannelRef(alphaChannelRef: NumberContainer): DrawerBuilder; /** * @param strokeWeightRef * @chainable */ setStrokeWeightRef(strokeWeightRef: NumberContainer): DrawerBuilder; /** * @param textSizeRef * @chainable */ setTextSizeRef(textSizeRef: NumberContainer): DrawerBuilder; /** * Builds a p5ex.Drawer instance. */ build(): Drawer; } export interface DrawParameter { positionRef?: p5.Vector; offsetPositionRef?: p5.Vector; rotationAngleRef?: NumberContainer; scaleFactorRef?: ScaleFactor; shapeColorRef?: ShapeColor; alphaChannelRef?: NumberContainer; strokeWeightRef?: NumberContainer; textSizeRef?: NumberContainer; } /** * (To be filled) */ export declare class Drawer implements Drawable { /** * (To be filled) */ element: Drawable; /** * (To be filled) */ position: p5.Vector; /** * (To be filled) */ offsetPosition: p5.Vector; /** * (To be filled) */ rotation: NumberContainer; /** * (To be filled) */ scaleFactor: ScaleFactor; /** * (To be filled) */ shapeColor: ShapeColor; /** * (To be filled) */ alphaChannel: NumberContainer; /** * (To be filled) */ strokeWeight: NumberContainer; /** * (To be filled) */ textSize: NumberContainer; protected readonly p: p5ex; private procedureList; private procedureListLength; /** * * @param p * @param element * @param drawParam */ constructor(p: p5ex, element: Drawable, drawParam: DrawParameter); /** * (To be filled) * @param element * @param drawParam */ set(element: Drawable, drawParam: DrawParameter): void; /** * Draws the content. */ draw(): void; protected drawElement(drawer: Drawer): void; protected createProcedureList(drawParam: DrawParameter): ((drawer: Drawer) => void)[]; private translate; private cancelTranslate; private translateOnlyOffset; private cancelTranslateOnlyOffset; private translateWithOffset; private cancelTranslateWithOffset; private rotate; private cancelRotate; private scale; private cancelScale; private color; private alphaColor; private applyStrokeWeight; private applyTextSize; } import { default as p5ex } from '../p5exInterface'; import { NumberContainer } from '../basic/NumberContainer'; import { Drawable } from '../loopables/Drawable'; import { ShapeColor } from '../color/ShapeColor'; import { ScaleFactor } from './ScaleFactor';