constructor(
        x,
        y,
        scope = globalScope,
        {
            rows = 8,
            columns = 8,
            ledSize = 2,
            showGrid = true,
            colors = [],
        } = {}
    ) {
        super(x, y, scope, 'RIGHT', 8);
        /* this is done in this.baseSetup() now
        this.scope['RGBLedMatrix'].push(this);
        */
        this.fixedBitWidth = true;
        this.directionFixed = true;
        this.rectangleObject = true;
        this.alwaysResolve = true;
        this.labelDirection = 'UP';
        this.leftDimensionX = 0;
        this.upDimensionY = 0;

        // These pins provide bulk-editing of the colors
        this.rowEnableNodes = []; // 1-bit pin for each row, on the left side.
        this.columnEnableNodes = []; // 1-bit pin for each column, on the bottom.
        this.columnColorNodes = []; // 24-bit pin for each column, on the top.

        // These pins provide single-pixel editing; these are on the right side.
        this.colorNode = new Node(0, -10, NODE_INPUT, this, 24, 'COLOR');
        this.rowNode = new Node(0, 0, NODE_INPUT, this, 1, 'ROW');
        this.columnNode = new Node(0, 10, NODE_INPUT, this, 1, 'COLUMN');

        this.colors = colors;
        this.showGrid = showGrid;
        this.changeSize(rows, columns, ledSize, false);
    }
@class
RGBLedMatrix
@extends CircuitElement
@param {number} x - x coordinate of element.
@param {number} y - y coordinate of element.
@param {Scope=} scope - Cirucit on which element is drawn
@param {number=} rows - number of rows
@param {number=} cols - number of columns.
@category modules