@avolutions/canvas-painter
Version:
CanvasPainter.js is a simple yet powerful JavaScript library for drawing basic shapes (rectangles, circles, etc.) on HTML5 Canvas with ease. Perfect for creating 2D graphics in your web projects.
38 lines (37 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CanvasOptions = void 0;
const PanOptions_js_1 = require("./PanOptions.js");
const ZoomOptions_js_1 = require("./ZoomOptions.js");
/**
* Options for configuring the behavior of a canvas.
*/
class CanvasOptions {
/**
* Creates a new instance of CanvasOptions.
*
* @param options - The partial options provided by the user.
*/
constructor(options = {}) {
// Handle partial ZoomOptions
const zoomOptions = new ZoomOptions_js_1.ZoomOptions(options.zoom || {});
// Handle partial PanOptions
const panOptions = new PanOptions_js_1.PanOptions(options.pan || {});
// Create the merged options
const optionsWithDefaults = Object.assign(Object.assign(Object.assign({}, CanvasOptions.DefaultOptions), options), { zoom: zoomOptions, pan: panOptions });
Object.assign(this, optionsWithDefaults);
}
}
exports.CanvasOptions = CanvasOptions;
/**
* Default canvas options.
*/
CanvasOptions.DefaultOptions = {
width: 300,
height: 150,
interactive: true,
zoomable: false,
pannable: false,
zoom: ZoomOptions_js_1.ZoomOptions.DefaultOptions,
pan: PanOptions_js_1.PanOptions.DefaultOptions
};