mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-11 02:13:56 +09:00
Demos/CatDog: Show different messages depending on state
There are two new sets of messages for the new application-dependent main states of CatDog. With the current Array-based system, all message collections must have the same number of messages, but that's not a problem.
This commit is contained in:
parent
145f983ee1
commit
81c042a8cd
Notes:
sideshowbarker
2024-07-17 22:01:16 +09:00
Author: https://github.com/kleinesfilmroellchen
Commit: 81c042a8cd
Pull-request: https://github.com/SerenityOS/serenity/pull/12787
Reviewed-by: https://github.com/drunderscore
Reviewed-by: https://github.com/xslendix
1 changed files with 14 additions and 2 deletions
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Gunnar Beutner <gunnar@beutner.name>
|
||||
* Copyright (c) 2022, kleines Filmröllchen <filmroellchen@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
@ -11,11 +12,21 @@
|
|||
#include <LibGUI/Painter.h>
|
||||
#include <LibGfx/Palette.h>
|
||||
|
||||
static Array<StringView, 3> messages = {
|
||||
static Array<StringView, 3> default_messages = {
|
||||
"It looks like you're trying to debug\na program. Would you like some help?"sv,
|
||||
"It looks like you're trying to shave\na yak. Would you like some help?"sv,
|
||||
"Well Hello Friend!"sv,
|
||||
};
|
||||
static Array<StringView, 3> pixel_paint_messages = {
|
||||
"It looks like you're creating art.\nWould you like some help?"sv,
|
||||
"It looks like you're making a meme\nfor Discord. \U0010CD65"sv,
|
||||
"It looks like you're using the filter\ngallery. Would you like a suggestion?"sv,
|
||||
};
|
||||
static Array<StringView, 3> inspector_messages = {
|
||||
"It looks like you're trying to kill\na program. Would you like some help?"sv,
|
||||
"It looks like you're profiling a\nprogram. Would you like some help?"sv,
|
||||
"It looks like you're interested in\nCPU usage. Would you like some help?"sv,
|
||||
};
|
||||
|
||||
void SpeechBubble::paint_event(GUI::PaintEvent&)
|
||||
{
|
||||
|
@ -37,7 +48,8 @@ void SpeechBubble::paint_event(GUI::PaintEvent&)
|
|||
painter.draw_line(connector_top_left, Gfx::IntPoint { connector_bottom.x() - 1, connector_bottom.y() }, palette().active_window_border1());
|
||||
painter.draw_line(connector_top_right, connector_bottom, palette().active_window_border1());
|
||||
|
||||
auto message = messages[get_random<u8>() % messages.size()];
|
||||
auto& message_list = m_cat_dog->main_state() == CatDog::MainState::Artist ? pixel_paint_messages : (m_cat_dog->main_state() == CatDog::MainState::Inspector ? inspector_messages : default_messages);
|
||||
auto message = message_list[get_random<u8>() % message_list.size()];
|
||||
painter.draw_text(text_area, message, Gfx::TextAlignment::Center);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue