whole_func_string: function draw() {
      this.ctx.fillStyle = this.__value === 1 ? this.fill : this.background;
      this.ctx.strokeStyle = this.stroke;
      this.ctx.lineWidth = this.lineWidth;
  
      var buttonWidth = this.rect.width / this.columns,
          buttonHeight = this.rect.height / this.rows;
  
      for (var row = 0; row < this.rows; row++) {
        var y = row * buttonHeight;
        for (var column = 0; column < this.columns; column++) {
          var x = column * buttonWidth,
              _buttonNum = row * this.columns + column;
  
          this.ctx.fillStyle = this.__value[_buttonNum] === 1 ? this.fill : this.background;
          this.ctx.fillRect(x, y, buttonWidth, buttonHeight);
          this.ctx.strokeRect(x, y, buttonWidth, buttonHeight);
        }
      }
    }
func_code_string: function draw() {
      this.ctx.fillStyle = this.__value === 1 ? this.fill : this.background;
      this.ctx.strokeStyle = this.stroke;
      this.ctx.lineWidth = this.lineWidth;
  
      var buttonWidth = this.rect.width / this.columns,
          buttonHeight = this.rect.height / this.rows;
  
      for (var row = 0; row < this.rows; row++) {
        var y = row * buttonHeight;
        for (var column = 0; column < this.columns; column++) {
          var x = column * buttonWidth,
              _buttonNum = row * this.columns + column;
  
          this.ctx.fillStyle = this.__value[_buttonNum] === 1 ? this.fill : this.background;
          this.ctx.fillRect(x, y, buttonWidth, buttonHeight);
          this.ctx.strokeRect(x, y, buttonWidth, buttonHeight);
        }
      }
    }
func_documentation_string: Draw the MultiButton into its canvas context using the current .__value property and multiButton style.
  @memberof MultiButton
  @instance