public void DrawFrame(int x, int y, int w, int h, ASCIIColor color) { Set(x, y, (char)201, color); Set(x + 1, y, (char)205, color); Set(x + w - 2, y, (char)205, color); Set(x + w - 1, y, (char)187, color); Set(x, y + 1, (char)186, color); Set(x + w - 1, y + 1, (char)186, color); Set(x, y + h - 2, (char)186, color); Set(x + w - 1, y + h - 2, (char)186, color); Set(x, y + h - 1, (char)200, color); Set(x + 1, y + h - 1, (char)205, color); Set(x + w - 2, y + h - 1, (char)205, color); Set(x + w - 1, y + h - 1, (char)188, color); }
public ASCIIPage(int w, int h, char background = ' ') { this.W = w; this.H = h; data = new char[w * h]; colors = new ASCIIColor[w * h]; for (int i = 0; i < w * h; i++) { data[i] = background; colors[i] = new ASCIIColor(255, 255, 255, 255); } }
public void SetColor(int index, ASCIIColor color) { colors[index] = color; }
public void SetColor(int x, int y, ASCIIColor color) { SetColor(Index(x, y), color); }
public void Set(int x, int y, char c, ASCIIColor color) { Set(Index(x, y), c); SetColor(Index(x, y), color); }