mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:17:44 +00:00
Peanut8x8 can paint all the ASCII characters!
This commit is contained in:
parent
cb64ff229a
commit
e810120260
3 changed files with 877 additions and 759 deletions
|
@ -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];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue