public override Fragment8 Compute(Vector2d16 current, Vector2d16 start, Vector2d16 end) { if (text.Length <= current._2 || text[current._2].Length <= current._1) { return(Fragment8.GetNull()); } return(new Fragment8(new Color8(255, 255, 255), Color8.GetNull(), text[current._2][current._1])); }
public override Fragment8 Compute(Vector2d16 current, Vector2d16 start, Vector2d16 end) { char ch = (char)atlas.GetData(this.start - start + current); if (ch == 0) { return(Fragment8.GetNull()); } return(new Fragment8(new Color8(255, 255, 255), Color8.GetNull(), ch)); }
public override Fragment8 Compute(Vector2d16 current, Vector2d16 start, Vector2d16 end) { if (text.Length <= current._2 || text[current._2].Length <= current._1) { return(Fragment8.GetNull()); } switch (text[current._2][current._1]) { case '#': //Bold return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB80)); case '|': //Faint return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB81)); case '/': //Italic return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB82)); case '_': //Underlined return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB83)); case '^': //Blink return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB84)); case '%': //Crossed-out return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB85)); case '~': //Video inverse return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB86)); case '@': //Fraktur return(new Fragment8(foreground, Color8.GetNull(), (char)0xDB87)); default: return(new Fragment8(foreground, Color8.GetNull(), text[current._2][current._1])); } }