ソースを参照

Peanut8x8 can paint all the ASCII characters!

Andreas Kling 6 年 前
コミット
e810120260
3 ファイル変更877 行追加759 行削除
  1. 2 755
      Widgets/Painter.cpp
  2. 858 0
      Widgets/Peanut8x8.h
  3. 17 4
      Widgets/test.cpp

+ 2 - 755
Widgets/Painter.cpp

@@ -3,6 +3,7 @@
 #include "Widget.h"
 #include <AK/Assertions.h>
 #include <SDL.h>
+#include "Peanut8x8.h"
 
 Painter::Painter(Widget& widget)
     : m_widget(widget)
@@ -34,759 +35,6 @@ void Painter::fillRect(const Rect& rect, Color color)
     }
 }
 
-char firstPeanutChar = '(';
-
-const char* peanut8x8[] {
-
-    "    #   "
-    "   #    "
-    "  #     "
-    "  #     "
-    "  #     "
-    "   #    "
-    "    #   "
-    "        ",
-
-    "   #    "
-    "    #   "
-    "     #  "
-    "     #  "
-    "     #  "
-    "    #   "
-    "   #    "
-    "        ",
-
-    "        "
-    "        "
-    "   #    "
-    " #####  "
-    "   #    "
-    "  # #   "
-    "        "
-    "        ",
-
-    "        "
-    "        "
-    "   #    "
-    "   #    "
-    " #####  "
-    "   #    "
-    "   #    "
-    "        ",
-
-    "        "
-    "        "
-    "        "
-    "        "
-    "        "
-    "    ##  "
-    "   ##   "
-    "        ",
-
-    "        "
-    "        "
-    "        "
-    "        "
-    " #####  "
-    "        "
-    "        "
-    "        ",
-
-    "        "
-    "        "
-    "        "
-    "        "
-    "        "
-    "   ##   "
-    "   ##   "
-    "        ",
-    
-    "      # "
-    "     ## "
-    "    ##  "
-    "   ##   "
-    "  ##    "
-    " ##     "
-    " #      "
-    "        ",
-
-    "  ####  "
-    " #   ## "
-    " #  # # "
-    " # #  # "
-    " # #  # "
-    " ##   # "
-    "  ####  "
-    "        ",
-
-    "   #    "
-    "  ##    "
-    " # #    "
-    "   #    "
-    "   #    "
-    "   #    "
-    "  ###   "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    " #   #  "
-    "    #   "
-    "   #    "
-    "  #     "
-    " ###### "
-    "        ",
-
-    " ###### "
-    "     #  "
-    "    #   "
-    "   ###  "
-    "      # "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    "    ### "
-    "   #  # "
-    "  #   # "
-    " ###### "
-    "      # "
-    "      # "
-    "      # "
-    "        ",
-
-    " ###### "
-    " #      "
-    " #      "
-    " #####  "
-    "      # "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    "     ## "
-    "   ##   "
-    "  #     "
-    " #####  "
-    " #    # "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    " ###### "
-    " #    # "
-    "     #  "
-    "    #   "
-    "   #    "
-    "  #     "
-    "  #     "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    " #    # "
-    "  ####  "
-    " #    # "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    " #    # "
-    "  ##### "
-    "     #  "
-    "   ##   "
-    " ##     "
-    "        ",
-
-    "        "
-    "        "
-    "   ##   "
-    "   ##   "
-    "        "
-    "   ##   "
-    "   ##   "
-    "        ",
-
-    "        "
-    "        "
-    "    ##  "
-    "    ##  "
-    "        "
-    "    ##  "
-    "   ##   "
-    "        ",
-
-    "    ##  "
-    "   #    "
-    "  #     "
-    " #      "
-    "  #     "
-    "   #    "
-    "    ##  "
-    "        ",
-
-    "        "
-    "        "
-    " ###### "
-    "        "
-    " ###### "
-    "        "
-    "        "
-    "        ",
-
-    " ##     "
-    "   #    "
-    "    #   "
-    "     #  "
-    "    #   "
-    "   #    "
-    " ##     "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    "     #  "
-    "    #   "
-    "   ##   "
-    "        "
-    "   ##   "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    " #  ### "
-    " # #  # "
-    " #  ### "
-    " #      "
-    "  ####  "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    " #    # "
-    " ###### "
-    " #    # "
-    " #    # "
-    "###  ###"
-    "        ",
-
-    " #####  "
-    " #    # "
-    " #    # "
-    " ###### "
-    " #    # "
-    " #    # "
-    " #####  "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    " #      "
-    " #      "
-    " #      "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    " #####  "
-    " #    # "
-    " #    # "
-    " #    # "
-    " #    # "
-    " #    # "
-    " #####  "
-    "        ",
-
-    " ###### "
-    "  #   # "
-    "  #     "
-    "  ####  "
-    "  #     "
-    "  #   # "
-    " ###### "
-    "        ",
-
-    " ###### "
-    "  #   # "
-    "  #     "
-    "  ###   "
-    "  #     "
-    "  #     "
-    " ###    "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    " #      "
-    " #   ###"
-    " #    # "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    " #    # "
-    " #    # "
-    " #    # "
-    " ###### "
-    " #    # "
-    " #    # "
-    " #    # "
-    "        ",
-
-    "  ###   "
-    "   #    "
-    "   #    "
-    "   #    "
-    "   #    "
-    "   #    "
-    "  ###   "
-    "        ",
-
-    "  ##### "
-    " #   #  "
-    "     #  "
-    "     #  "
-    "     #  "
-    " #   #  "
-    "  ###   "
-    "        ",
-
-    " ### ###"
-    "  #   # "
-    "  #  #  "
-    "  ###   "
-    "  #  #  "
-    "  #   # "
-    " ### ###"
-    "        ",
-
-    " ###    "
-    "  #     "
-    "  #     "
-    "  #     "
-    "  #     "
-    "  #   # "
-    " ###### "
-    "        ",
-
-    " #    # "
-    " ##  ## "
-    " # ## # "
-    " #    # "
-    " #    # "
-    " #    # "
-    "###  ###"
-    "        ",
-
-    " #    # "
-    " ##   # "
-    " # #  # "
-    " #  # # "
-    " #   ## "
-    " #    # "
-    " #    # "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    " #    # "
-    " #    # "
-    " #    # "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    " #####  "
-    "  #   # "
-    "  #   # "
-    "  ####  "
-    "  #     "
-    "  #     "
-    " ###    "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    " #    # "
-    " #    # "
-    " #  # # "
-    " #   #  "
-    "  ### # "
-    "        ",
-
-    " #####  "
-    "  #   # "
-    "  #   # "
-    "  ####  "
-    "  # #   "
-    "  #  #  "
-    " ###  # "
-    "        ",
-
-    "  ####  "
-    " #    # "
-    " #      "
-    "  ####  "
-    "      # "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    "####### "
-    "#  #  # "
-    "   #    "
-    "   #    "
-    "   #    "
-    "   #    "
-    "  ###   "
-    "        ",
-
-    "###  ###"
-    " #    # "
-    " #    # "
-    " #    # "
-    " #    # "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    "### ### "
-    " #   #  "
-    " #   #  "
-    "  # #   "
-    "  # #   "
-    "   #    "
-    "   #    "
-    "        ",
-
-    "###  ###"
-    " #    # "
-    " #    # "
-    " #    # "
-    " # ## # "
-    " ##  ## "
-    " #    # "
-    "        ",
-
-    "##   ## "
-    " #   #  "
-    "  # #   "
-    "   #    "
-    "  # #   "
-    " #   #  "
-    "##   ## "
-    "        ",
-
-    "##   ## "
-    " #   #  "
-    "  # #   "
-    "   #    "
-    "   #    "
-    "   #    "
-    "  ###   "
-    "        ",
-
-    " ###### "
-    " #   #  "
-    "    #   "
-    "   #    "
-    "  #     "
-    " #    # "
-    " ###### "
-    "        ",
-
-    "  ####  "
-    "  #     "
-    "  #     "
-    "  #     "
-    "  #     "
-    "  #     "
-    "  ####  "
-    "        ",
-
-    " #      "
-    " ##     "
-    "  ##    "
-    "   ##   "
-    "    ##  "
-    "     ## "
-    "      # "
-    "        ",
-
-    "  ####  "
-    "     #  "
-    "     #  "
-    "     #  "
-    "     #  "
-    "     #  "
-    "  ####  "
-    "        ",
-
-    "   #    "
-    "  # #   "
-    " #   #  "
-    "        "
-    "        "
-    "        "
-    "        "
-    "        ",
-
-    "        "
-    "        "
-    "        "
-    "        "
-    "        "
-    "        "
-    " ###### "
-    "        ",
-
-    "   ##   "
-    "    ##  "
-    "        "
-    "        "
-    "        "
-    "        "
-    "        "
-    "        ",
-
-    "        "
-    "        "
-    "  ####  "
-    " #    # "
-    " #    # "
-    " #   ## "
-    "  ### # "
-    "        ",
-
-    " #      "
-    " #      "
-    " #####  "
-    " #    # "
-    " #    # "
-    " #    # "
-    " #####  "
-    "        ",
-
-    "        "
-    "        "
-    "  ####  "
-    " #    # "
-    " #      "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    "      # "
-    "      # "
-    "  ##### "
-    " #    # "
-    " #    # "
-    " #    # "
-    "  ##### "
-    "        ",
-
-    "        "
-    "        "
-    "  ####  "
-    " #    # "
-    " ###### "
-    " #      "
-    "  ####  "
-    "        ",
-
-    "    ### "
-    "   #    "
-    "  ####  "
-    "   #    "
-    "   #    "
-    "   #    "
-    "  ###   "
-    "        ",
-
-    "        "
-    "        "
-    "  ####  "
-    " #    # "
-    " #    # "
-    "  ####  "
-    "      # "
-    "  ####  ",
-
-    " #      "
-    " #      "
-    " #####  "
-    " #    # "
-    " #    # "
-    " #    # "
-    " #    # "
-    "        ",
-
-    "   #    "
-    "        "
-    "  ###   "
-    "   #    "
-    "   #    "
-    "   #    "
-    "  ###   "
-    "        ",
-
-    "   #    "
-    "        "
-    "  ###   "
-    "    #   "
-    "    #   "
-    "    #   "
-    "    #   "
-    "  ##    ",
-
-    "###     "
-    " #      "
-    " #  ##  "
-    " # #    "
-    " ## #   "
-    " #   #  "
-    "###   # "
-    "        ",
-
-    "  ##    "
-    "   #    "
-    "   #    "
-    "   #    "
-    "   #    "
-    "   #    "
-    "  ###   "
-    "        ",
-
-    "        "
-    "        "
-    "  ## ## " 
-    " #  #  #"
-    " #  #  #"
-    " #     #"
-    " #     #"
-    "        ",
-
-    "        "
-    "        "
-    " #####  " 
-    " #    # "
-    " #    # "
-    " #    # "
-    " #    # "
-    "        ",
-
-    "        "
-    "        "
-    "  ####  "
-    " #    # "
-    " #    # "
-    " #    # "
-    "  ####  "
-    "        ",
-
-    "        "
-    "        "
-    " #####  "
-    " #    # "
-    " #    # "
-    " #####  "
-    " #      "
-    "###     ",
-
-    "        "
-    "        "
-    "  ##### "
-    " #    # "
-    " #    # "
-    "  ##### "
-    "      # "
-    "     ###",
-
-    "        "
-    "        "
-    "  ####  "
-    " #    # "
-    " #      "
-    " #      "
-    "###     "
-    "        ",
-
-    "        "
-    "        "
-    "  ####  "
-    " ##   # "
-    "   ##   "
-    " #   ## "
-    "  ####  "
-    "        ",
-
-    "   #    "
-    "   #    "
-    "  ####  "
-    "   #    "
-    "   #    "
-    "   #    "
-    "    ### "
-    "        ",
-
-    "        "
-    "        "
-    " #    # " 
-    " #    # "
-    " #    # "
-    " #    # "
-    "  #### #"
-    "        ",
-
-    "        "
-    "        "
-    " #    # " 
-    " #    # "
-    " #    # "
-    "  #  #  "
-    "   ##   "
-    "        ",
-
-    "        "
-    "        " 
-    " #  #  #"
-    " #  #  #"
-    " #  #  #"
-    " #  #  #"
-    "  ## ###"
-    "        ",
-
-
-    "        "
-    "        "
-    " #   #  " 
-    "  # #   "
-    "   #    "
-    "  # #   "
-    " #   #  "
-    "        ",
-
-    "        "
-    "        "
-    " #    # " 
-    " #    # "
-    " #    # "
-    "  ##### "
-    "      # "
-    "  ####  ",
-
-    "        "
-    "        "
-    " ###### " 
-    "     #  "
-    "   ##   "
-    "  #     "
-    " ###### "
-    "        ",
-};
-
 void Painter::drawText(const Point& point, const String& text, const Color& color)
 {
     Point p = point;
@@ -794,7 +42,6 @@ void Painter::drawText(const Point& point, const String& text, const Color& colo
 
     byte fontWidth = 8;
     byte fontHeight = 8;
-    auto* font = peanut8x8;
 
     for (int row = 0; row < fontHeight; ++row) {
         int y = p.y() + row;
@@ -802,7 +49,7 @@ void Painter::drawText(const Point& point, const String& text, const Color& colo
         for (unsigned i = 0; i < text.length(); ++i) {
             if (text[i] == ' ')
                 continue;
-            const char* fontCharacter = font[text[i] - firstPeanutChar];
+            const char* fontCharacter = Peanut8x8::font[text[i] - Peanut8x8::firstCharacter];
             int x = p.x() + i * fontWidth;
             for (unsigned j = 0; j < fontWidth; ++j) {
                 char fc = fontCharacter[row * fontWidth + j];

+ 858 - 0
Widgets/Peanut8x8.h

@@ -0,0 +1,858 @@
+#pragma once
+
+namespace Peanut8x8 {
+
+static constexpr char firstCharacter = '!';
+
+static constexpr const char* font[] {
+
+    "   ##   "
+    "   ##   "
+    "   ##   "
+    "   ##   "
+    "   ##   "
+    "        "
+    "   ##   "
+    "        ",
+
+    " ## ##  "
+    " ## ##  "
+    " #  #   "
+    "        "
+    "        "
+    "        "
+    "        "
+    "        ",
+
+    "  #  #  "
+    "  #  #  "
+    " ###### "
+    "  #  #  "
+    " ###### "
+    "  #  #  "
+    "  #  #  "
+    "        ",
+
+    "  ####  "
+    " #  # # "
+    " #  #   "
+    "  ####  "
+    "   #  # "
+    " # #  # "
+    "  ####  "
+    "        ",
+
+    " ##   # "
+    " ##  ## "
+    "    ##  "
+    "   ##   "
+    "  ##    "
+    " ##  ## "
+    " #   ## "
+    "        ",
+
+    "        "
+    "   ##   "
+    "  #  #  "
+    "  ###   "
+    " #   # #"
+    " #   ## "
+    "  ###  #"
+    "        ",
+
+    "   ##   "
+    "   ##   "
+    "   #    "
+    "        "
+    "        "
+    "        "
+    "        "
+    "        ",
+
+    "    #   "
+    "   #    "
+    "  #     "
+    "  #     "
+    "  #     "
+    "   #    "
+    "    #   "
+    "        ",
+
+    "   #    "
+    "    #   "
+    "     #  "
+    "     #  "
+    "     #  "
+    "    #   "
+    "   #    "
+    "        ",
+
+    "        "
+    "        "
+    "   #    "
+    " #####  "
+    "   #    "
+    "  # #   "
+    "        "
+    "        ",
+
+    "        "
+    "        "
+    "   #    "
+    "   #    "
+    " #####  "
+    "   #    "
+    "   #    "
+    "        ",
+
+    "        "
+    "        "
+    "        "
+    "        "
+    "        "
+    "    ##  "
+    "   ##   "
+    "        ",
+
+    "        "
+    "        "
+    "        "
+    "        "
+    " #####  "
+    "        "
+    "        "
+    "        ",
+
+    "        "
+    "        "
+    "        "
+    "        "
+    "        "
+    "   ##   "
+    "   ##   "
+    "        ",
+    
+    "      # "
+    "     ## "
+    "    ##  "
+    "   ##   "
+    "  ##    "
+    " ##     "
+    " #      "
+    "        ",
+
+    "  ####  "
+    " #   ## "
+    " #  # # "
+    " # #  # "
+    " # #  # "
+    " ##   # "
+    "  ####  "
+    "        ",
+
+    "   #    "
+    "  ##    "
+    " # #    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "  ###   "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    " #   #  "
+    "    #   "
+    "   #    "
+    "  #     "
+    " ###### "
+    "        ",
+
+    " ###### "
+    "     #  "
+    "    #   "
+    "   ###  "
+    "      # "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    "    ### "
+    "   #  # "
+    "  #   # "
+    " ###### "
+    "      # "
+    "      # "
+    "      # "
+    "        ",
+
+    " ###### "
+    " #      "
+    " #      "
+    " #####  "
+    "      # "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    "     ## "
+    "   ##   "
+    "  #     "
+    " #####  "
+    " #    # "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    " ###### "
+    " #    # "
+    "     #  "
+    "    #   "
+    "   #    "
+    "  #     "
+    "  #     "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    " #    # "
+    "  ####  "
+    " #    # "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    " #    # "
+    "  ##### "
+    "     #  "
+    "   ##   "
+    " ##     "
+    "        ",
+
+    "        "
+    "        "
+    "   ##   "
+    "   ##   "
+    "        "
+    "   ##   "
+    "   ##   "
+    "        ",
+
+    "        "
+    "        "
+    "    ##  "
+    "    ##  "
+    "        "
+    "    ##  "
+    "   ##   "
+    "        ",
+
+    "    ##  "
+    "   #    "
+    "  #     "
+    " #      "
+    "  #     "
+    "   #    "
+    "    ##  "
+    "        ",
+
+    "        "
+    "        "
+    " ###### "
+    "        "
+    " ###### "
+    "        "
+    "        "
+    "        ",
+
+    " ##     "
+    "   #    "
+    "    #   "
+    "     #  "
+    "    #   "
+    "   #    "
+    " ##     "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    "     #  "
+    "    #   "
+    "   ##   "
+    "        "
+    "   ##   "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    " #  ### "
+    " # #  # "
+    " #  ### "
+    " #      "
+    "  ####  "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    " #    # "
+    " ###### "
+    " #    # "
+    " #    # "
+    "###  ###"
+    "        ",
+
+    " #####  "
+    " #    # "
+    " #    # "
+    " ###### "
+    " #    # "
+    " #    # "
+    " #####  "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    " #      "
+    " #      "
+    " #      "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    " #####  "
+    " #    # "
+    " #    # "
+    " #    # "
+    " #    # "
+    " #    # "
+    " #####  "
+    "        ",
+
+    " ###### "
+    "  #   # "
+    "  #     "
+    "  ####  "
+    "  #     "
+    "  #   # "
+    " ###### "
+    "        ",
+
+    " ###### "
+    "  #   # "
+    "  #     "
+    "  ###   "
+    "  #     "
+    "  #     "
+    " ###    "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    " #      "
+    " #   ###"
+    " #    # "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    " #    # "
+    " #    # "
+    " #    # "
+    " ###### "
+    " #    # "
+    " #    # "
+    " #    # "
+    "        ",
+
+    "  ###   "
+    "   #    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "  ###   "
+    "        ",
+
+    "  ##### "
+    " #   #  "
+    "     #  "
+    "     #  "
+    "     #  "
+    " #   #  "
+    "  ###   "
+    "        ",
+
+    " ### ###"
+    "  #   # "
+    "  #  #  "
+    "  ###   "
+    "  #  #  "
+    "  #   # "
+    " ### ###"
+    "        ",
+
+    " ###    "
+    "  #     "
+    "  #     "
+    "  #     "
+    "  #     "
+    "  #   # "
+    " ###### "
+    "        ",
+
+    " #    # "
+    " ##  ## "
+    " # ## # "
+    " #    # "
+    " #    # "
+    " #    # "
+    "###  ###"
+    "        ",
+
+    " #    # "
+    " ##   # "
+    " # #  # "
+    " #  # # "
+    " #   ## "
+    " #    # "
+    " #    # "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    " #    # "
+    " #    # "
+    " #    # "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    " #####  "
+    "  #   # "
+    "  #   # "
+    "  ####  "
+    "  #     "
+    "  #     "
+    " ###    "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    " #    # "
+    " #    # "
+    " #  # # "
+    " #   #  "
+    "  ### # "
+    "        ",
+
+    " #####  "
+    "  #   # "
+    "  #   # "
+    "  ####  "
+    "  # #   "
+    "  #  #  "
+    " ###  # "
+    "        ",
+
+    "  ####  "
+    " #    # "
+    " #      "
+    "  ####  "
+    "      # "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    "####### "
+    "#  #  # "
+    "   #    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "  ###   "
+    "        ",
+
+    "###  ###"
+    " #    # "
+    " #    # "
+    " #    # "
+    " #    # "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    "### ### "
+    " #   #  "
+    " #   #  "
+    "  # #   "
+    "  # #   "
+    "   #    "
+    "   #    "
+    "        ",
+
+    "###  ###"
+    " #    # "
+    " #    # "
+    " #    # "
+    " # ## # "
+    " ##  ## "
+    " #    # "
+    "        ",
+
+    "##   ## "
+    " #   #  "
+    "  # #   "
+    "   #    "
+    "  # #   "
+    " #   #  "
+    "##   ## "
+    "        ",
+
+    "##   ## "
+    " #   #  "
+    "  # #   "
+    "   #    "
+    "   #    "
+    "   #    "
+    "  ###   "
+    "        ",
+
+    " ###### "
+    " #   #  "
+    "    #   "
+    "   #    "
+    "  #     "
+    " #    # "
+    " ###### "
+    "        ",
+
+    "  ####  "
+    "  #     "
+    "  #     "
+    "  #     "
+    "  #     "
+    "  #     "
+    "  ####  "
+    "        ",
+
+    " #      "
+    " ##     "
+    "  ##    "
+    "   ##   "
+    "    ##  "
+    "     ## "
+    "      # "
+    "        ",
+
+    "  ####  "
+    "     #  "
+    "     #  "
+    "     #  "
+    "     #  "
+    "     #  "
+    "  ####  "
+    "        ",
+
+    "   #    "
+    "  # #   "
+    " #   #  "
+    "        "
+    "        "
+    "        "
+    "        "
+    "        ",
+
+    "        "
+    "        "
+    "        "
+    "        "
+    "        "
+    "        "
+    " ###### "
+    "        ",
+
+    "   ##   "
+    "    ##  "
+    "        "
+    "        "
+    "        "
+    "        "
+    "        "
+    "        ",
+
+    "        "
+    "        "
+    "  ####  "
+    " #    # "
+    " #    # "
+    " #   ## "
+    "  ### # "
+    "        ",
+
+    " #      "
+    " #      "
+    " #####  "
+    " #    # "
+    " #    # "
+    " #    # "
+    " #####  "
+    "        ",
+
+    "        "
+    "        "
+    "  ####  "
+    " #    # "
+    " #      "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    "      # "
+    "      # "
+    "  ##### "
+    " #    # "
+    " #    # "
+    " #    # "
+    "  ##### "
+    "        ",
+
+    "        "
+    "        "
+    "  ####  "
+    " #    # "
+    " ###### "
+    " #      "
+    "  ####  "
+    "        ",
+
+    "    ### "
+    "   #    "
+    "  ####  "
+    "   #    "
+    "   #    "
+    "   #    "
+    "  ###   "
+    "        ",
+
+    "        "
+    "        "
+    "  ####  "
+    " #    # "
+    " #    # "
+    "  ####  "
+    "      # "
+    "  ####  ",
+
+    " #      "
+    " #      "
+    " #####  "
+    " #    # "
+    " #    # "
+    " #    # "
+    " #    # "
+    "        ",
+
+    "   #    "
+    "        "
+    "  ###   "
+    "   #    "
+    "   #    "
+    "   #    "
+    "  ###   "
+    "        ",
+
+    "   #    "
+    "        "
+    "  ###   "
+    "    #   "
+    "    #   "
+    "    #   "
+    "    #   "
+    "  ##    ",
+
+    "###     "
+    " #      "
+    " #  ##  "
+    " # #    "
+    " ## #   "
+    " #   #  "
+    "###   # "
+    "        ",
+
+    "  ##    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "  ###   "
+    "        ",
+
+    "        "
+    "        "
+    "  ## ## " 
+    " #  #  #"
+    " #  #  #"
+    " #     #"
+    " #     #"
+    "        ",
+
+    "        "
+    "        "
+    " #####  " 
+    " #    # "
+    " #    # "
+    " #    # "
+    " #    # "
+    "        ",
+
+    "        "
+    "        "
+    "  ####  "
+    " #    # "
+    " #    # "
+    " #    # "
+    "  ####  "
+    "        ",
+
+    "        "
+    "        "
+    " #####  "
+    " #    # "
+    " #    # "
+    " #####  "
+    " #      "
+    "###     ",
+
+    "        "
+    "        "
+    "  ##### "
+    " #    # "
+    " #    # "
+    "  ##### "
+    "      # "
+    "     ###",
+
+    "        "
+    "        "
+    "  ####  "
+    " #    # "
+    " #      "
+    " #      "
+    "###     "
+    "        ",
+
+    "        "
+    "        "
+    "  ####  "
+    " ##   # "
+    "   ##   "
+    " #   ## "
+    "  ####  "
+    "        ",
+
+    "   #    "
+    "   #    "
+    "  ####  "
+    "   #    "
+    "   #    "
+    "   #    "
+    "    ### "
+    "        ",
+
+    "        "
+    "        "
+    " #    # " 
+    " #    # "
+    " #    # "
+    " #    # "
+    "  #### #"
+    "        ",
+
+    "        "
+    "        "
+    " #    # " 
+    " #    # "
+    " #    # "
+    "  #  #  "
+    "   ##   "
+    "        ",
+
+    "        "
+    "        " 
+    " #  #  #"
+    " #  #  #"
+    " #  #  #"
+    " #  #  #"
+    "  ## ###"
+    "        ",
+
+
+    "        "
+    "        "
+    " #   #  " 
+    "  # #   "
+    "   #    "
+    "  # #   "
+    " #   #  "
+    "        ",
+
+    "        "
+    "        "
+    " #    # " 
+    " #    # "
+    " #    # "
+    "  ##### "
+    "      # "
+    "  ####  ",
+
+    "        "
+    "        "
+    " ###### " 
+    "     #  "
+    "   ##   "
+    "  #     "
+    " ###### "
+    "        ",
+
+    "   ###  "
+    "  #     "
+    "  #     "
+    " #      "
+    "  #     "
+    "  #     "
+    "   ###  "
+    "        ",
+
+    "   #    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "   #    "
+    "        ",
+
+    "  ###   "
+    "     #  "
+    "     #  "
+    "      # "
+    "     #  "
+    "     #  "
+    "  ###   "
+    "        ",
+
+    "        "
+    "        "
+    "        "
+    "  ##  # "
+    " #  ##  "
+    "        "
+    "        "
+    "        ",
+};
+
+}
+

+ 17 - 4
Widgets/test.cpp

@@ -14,10 +14,23 @@ int main(int c, char** v)
     RootWidget w;
     fb.setRootWidget(&w);
 
-    Label l(&w);
-    l.setRect(Rect(100, 100, 600, 100));
-    l.setText("()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_abcdefghijklmnopqrstuvwxyz");
-    //l.setText("Welcome to the Serenity Operating System");
+    auto* l1 = new Label(&w);
+    l1->setRect(Rect(100, 100, 300, 20));
+    l1->setText("0123456789");
+
+    auto* l2 = new Label(&w);
+    l2->setRect(Rect(100, 120, 300, 20));
+    l2->setText("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+    
+    auto* l3 = new Label(&w);
+    l3->setRect(Rect(100, 140, 300, 20));
+    l3->setText("abcdefghijklmnopqrstuvwxyz");
+
+    auto* l4 = new Label(&w);
+    l4->setRect(Rect(100, 160, 300, 20));
+    l4->setText("!\"#$%&'()*+,-./:;<=>?@[\\]^_{|}~");
+
+    //l5->setText("Welcome to the Serenity Operating System");
 
     return loop.exec();
 }