public void Dispose()
 {
     this._tail          = null;
     this._head          = null;
     this.buffer         = null;
     this.currentGraphic = null;
     this.carat          = null;
     this.encoder        = null;
 }
        /// <summary>
        /// Resets the grid to default values
        /// </summary>
        public void Clear()
        {
            this.buffer = new TermChar[this._maxRow, this._maxCol];
            InitBuffer();
            this._tail = new CircularBufferCounter(this._maxRow, this._maxRow - 1);
            this._head = new CircularBufferCounter(this._maxRow, 0);

            currentGraphic = new TermCurrentGraphic((int)ANSI_COLOR.White, (int)ANSI_COLOR.Black_B);

            this.carat             = new TermCarat(0, 0);
            this.carat.Char        = encoder.GetString(carat_b);
            this.carat.AnsiGraphic = currentGraphic.CurrentGraphicCfg;
        }