import '../../globals.js';
// Copyright 2020-2023, University of Colorado Boulder
/**
 * CanvasPainter is the abstract base class for bamboo components that use the Canvas API. Typically this would
 * render something, but some implementations may just change the context state (such as transform or stroke).
 *
 * @author Sam Reid (PhET Interactive Simulations)
 */
import optionize from '../../phet-core/js/optionize.js';
import bamboo from './bamboo.js';
class CanvasPainter {
    // Modeled as a class for readability because JavaScript does not have interfaces
    constructor(providedOptions) {
        const options = optionize()({
            // SelfOptions
            visible: true
        }, providedOptions);
        this.visible = options.visible;
        this.isDisposed = false;
    }
}
bamboo.register('CanvasPainter', CanvasPainter);
export default CanvasPainter;
//# sourceMappingURL=CanvasPainter.js.map