diff --git a/Widgets/Painter.cpp b/Widgets/Painter.cpp index 3e382a2389..284c47cefb 100644 --- a/Widgets/Painter.cpp +++ b/Widgets/Painter.cpp @@ -3,6 +3,7 @@ #include "Widget.h" #include #include +#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]; diff --git a/Widgets/Peanut8x8.h b/Widgets/Peanut8x8.h new file mode 100644 index 0000000000..0a25fa41fc --- /dev/null +++ b/Widgets/Peanut8x8.h @@ -0,0 +1,858 @@ +#pragma once + +namespace Peanut8x8 { + +static constexpr char firstCharacter = '!'; + +static constexpr const char* font[] { + + " ## " + " ## " + " ## " + " ## " + " ## " + " " + " ## " + " ", + + " ## ## " + " ## ## " + " # # " + " " + " " + " " + " " + " ", + + " # # " + " # # " + " ###### " + " # # " + " ###### " + " # # " + " # # " + " ", + + " #### " + " # # # " + " # # " + " #### " + " # # " + " # # # " + " #### " + " ", + + " ## # " + " ## ## " + " ## " + " ## " + " ## " + " ## ## " + " # ## " + " ", + + " " + " ## " + " # # " + " ### " + " # # #" + " # ## " + " ### #" + " ", + + " ## " + " ## " + " # " + " " + " " + " " + " " + " ", + + " # " + " # " + " # " + " # " + " # " + " # " + " # " + " ", + + " # " + " # " + " # " + " # " + " # " + " # " + " # " + " ", + + " " + " " + " # " + " ##### " + " # " + " # # " + " " + " ", + + " " + " " + " # " + " # " + " ##### " + " # " + " # " + " ", + + " " + " " + " " + " " + " " + " ## " + " ## " + " ", + + " " + " " + " " + " " + " ##### " + " " + " " + " ", + + " " + " " + " " + " " + " " + " ## " + " ## " + " ", + + " # " + " ## " + " ## " + " ## " + " ## " + " ## " + " # " + " ", + + " #### " + " # ## " + " # # # " + " # # # " + " # # # " + " ## # " + " #### " + " ", + + " # " + " ## " + " # # " + " # " + " # " + " # " + " ### " + " ", + + " #### " + " # # " + " # # " + " # " + " # " + " # " + " ###### " + " ", + + " ###### " + " # " + " # " + " ### " + " # " + " # # " + " #### " + " ", + + " ### " + " # # " + " # # " + " ###### " + " # " + " # " + " # " + " ", + + " ###### " + " # " + " # " + " ##### " + " # " + " # # " + " #### " + " ", + + " ## " + " ## " + " # " + " ##### " + " # # " + " # # " + " #### " + " ", + + " ###### " + " # # " + " # " + " # " + " # " + " # " + " # " + " ", + + " #### " + " # # " + " # # " + " #### " + " # # " + " # # " + " #### " + " ", + + " #### " + " # # " + " # # " + " ##### " + " # " + " ## " + " ## " + " ", + + " " + " " + " ## " + " ## " + " " + " ## " + " ## " + " ", + + " " + " " + " ## " + " ## " + " " + " ## " + " ## " + " ", + + " ## " + " # " + " # " + " # " + " # " + " # " + " ## " + " ", + + " " + " " + " ###### " + " " + " ###### " + " " + " " + " ", + + " ## " + " # " + " # " + " # " + " # " + " # " + " ## " + " ", + + " #### " + " # # " + " # " + " # " + " ## " + " " + " ## " + " ", + + " #### " + " # # " + " # ### " + " # # # " + " # ### " + " # " + " #### " + " ", + + " #### " + " # # " + " # # " + " ###### " + " # # " + " # # " + "### ###" + " ", + + " ##### " + " # # " + " # # " + " ###### " + " # # " + " # # " + " ##### " + " ", + + " #### " + " # # " + " # " + " # " + " # " + " # # " + " #### " + " ", + + " ##### " + " # # " + " # # " + " # # " + " # # " + " # # " + " ##### " + " ", + + " ###### " + " # # " + " # " + " #### " + " # " + " # # " + " ###### " + " ", + + " ###### " + " # # " + " # " + " ### " + " # " + " # " + " ### " + " ", + + " #### " + " # # " + " # " + " # ###" + " # # " + " # # " + " #### " + " ", + + " # # " + " # # " + " # # " + " ###### " + " # # " + " # # " + " # # " + " ", + + " ### " + " # " + " # " + " # " + " # " + " # " + " ### " + " ", + + " ##### " + " # # " + " # " + " # " + " # " + " # # " + " ### " + " ", + + " ### ###" + " # # " + " # # " + " ### " + " # # " + " # # " + " ### ###" + " ", + + " ### " + " # " + " # " + " # " + " # " + " # # " + " ###### " + " ", + + " # # " + " ## ## " + " # ## # " + " # # " + " # # " + " # # " + "### ###" + " ", + + " # # " + " ## # " + " # # # " + " # # # " + " # ## " + " # # " + " # # " + " ", + + " #### " + " # # " + " # # " + " # # " + " # # " + " # # " + " #### " + " ", + + " ##### " + " # # " + " # # " + " #### " + " # " + " # " + " ### " + " ", + + " #### " + " # # " + " # # " + " # # " + " # # # " + " # # " + " ### # " + " ", + + " ##### " + " # # " + " # # " + " #### " + " # # " + " # # " + " ### # " + " ", + + " #### " + " # # " + " # " + " #### " + " # " + " # # " + " #### " + " ", + + "####### " + "# # # " + " # " + " # " + " # " + " # " + " ### " + " ", + + "### ###" + " # # " + " # # " + " # # " + " # # " + " # # " + " #### " + " ", + + "### ### " + " # # " + " # # " + " # # " + " # # " + " # " + " # " + " ", + + "### ###" + " # # " + " # # " + " # # " + " # ## # " + " ## ## " + " # # " + " ", + + "## ## " + " # # " + " # # " + " # " + " # # " + " # # " + "## ## " + " ", + + "## ## " + " # # " + " # # " + " # " + " # " + " # " + " ### " + " ", + + " ###### " + " # # " + " # " + " # " + " # " + " # # " + " ###### " + " ", + + " #### " + " # " + " # " + " # " + " # " + " # " + " #### " + " ", + + " # " + " ## " + " ## " + " ## " + " ## " + " ## " + " # " + " ", + + " #### " + " # " + " # " + " # " + " # " + " # " + " #### " + " ", + + " # " + " # # " + " # # " + " " + " " + " " + " " + " ", + + " " + " " + " " + " " + " " + " " + " ###### " + " ", + + " ## " + " ## " + " " + " " + " " + " " + " " + " ", + + " " + " " + " #### " + " # # " + " # # " + " # ## " + " ### # " + " ", + + " # " + " # " + " ##### " + " # # " + " # # " + " # # " + " ##### " + " ", + + " " + " " + " #### " + " # # " + " # " + " # # " + " #### " + " ", + + " # " + " # " + " ##### " + " # # " + " # # " + " # # " + " ##### " + " ", + + " " + " " + " #### " + " # # " + " ###### " + " # " + " #### " + " ", + + " ### " + " # " + " #### " + " # " + " # " + " # " + " ### " + " ", + + " " + " " + " #### " + " # # " + " # # " + " #### " + " # " + " #### ", + + " # " + " # " + " ##### " + " # # " + " # # " + " # # " + " # # " + " ", + + " # " + " " + " ### " + " # " + " # " + " # " + " ### " + " ", + + " # " + " " + " ### " + " # " + " # " + " # " + " # " + " ## ", + + "### " + " # " + " # ## " + " # # " + " ## # " + " # # " + "### # " + " ", + + " ## " + " # " + " # " + " # " + " # " + " # " + " ### " + " ", + + " " + " " + " ## ## " + " # # #" + " # # #" + " # #" + " # #" + " ", + + " " + " " + " ##### " + " # # " + " # # " + " # # " + " # # " + " ", + + " " + " " + " #### " + " # # " + " # # " + " # # " + " #### " + " ", + + " " + " " + " ##### " + " # # " + " # # " + " ##### " + " # " + "### ", + + " " + " " + " ##### " + " # # " + " # # " + " ##### " + " # " + " ###", + + " " + " " + " #### " + " # # " + " # " + " # " + "### " + " ", + + " " + " " + " #### " + " ## # " + " ## " + " # ## " + " #### " + " ", + + " # " + " # " + " #### " + " # " + " # " + " # " + " ### " + " ", + + " " + " " + " # # " + " # # " + " # # " + " # # " + " #### #" + " ", + + " " + " " + " # # " + " # # " + " # # " + " # # " + " ## " + " ", + + " " + " " + " # # #" + " # # #" + " # # #" + " # # #" + " ## ###" + " ", + + + " " + " " + " # # " + " # # " + " # " + " # # " + " # # " + " ", + + " " + " " + " # # " + " # # " + " # # " + " ##### " + " # " + " #### ", + + " " + " " + " ###### " + " # " + " ## " + " # " + " ###### " + " ", + + " ### " + " # " + " # " + " # " + " # " + " # " + " ### " + " ", + + " # " + " # " + " # " + " # " + " # " + " # " + " # " + " ", + + " ### " + " # " + " # " + " # " + " # " + " # " + " ### " + " ", + + " " + " " + " " + " ## # " + " # ## " + " " + " " + " ", +}; + +} + diff --git a/Widgets/test.cpp b/Widgets/test.cpp index 9b9b5a0c8a..0d5aa3bc33 100644 --- a/Widgets/test.cpp +++ b/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(); }