ladybird/Userland/Applications/DisplaySettings/MonitorWidget.h
Linus Groh 6e19ab2bbc AK+Everywhere: Rename String to DeprecatedString
We have a new, improved string type coming up in AK (OOM aware, no null
state), and while it's going to use UTF-8, the name UTF8String is a
mouthful - so let's free up the String name by renaming the existing
class.
Making the old one have an annoying name will hopefully also help with
quick adoption :^)
2022-12-06 08:54:33 +01:00

60 lines
1.6 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Copyright (c) 2020, Hüseyin Aslıtürk <asliturk@hotmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibGUI/Widget.h>
namespace DisplaySettings {
class MonitorWidget final : public GUI::Widget {
C_OBJECT(MonitorWidget);
public:
bool set_wallpaper(DeprecatedString path);
StringView wallpaper() const;
void set_wallpaper_mode(DeprecatedString mode);
StringView wallpaper_mode() const;
RefPtr<Gfx::Bitmap> wallpaper_bitmap() const { return m_wallpaper_bitmap; }
void set_desktop_resolution(Gfx::IntSize resolution);
Gfx::IntSize desktop_resolution();
void set_desktop_scale_factor(int scale_factor) { m_desktop_scale_factor = scale_factor; }
int desktop_scale_factor() const { return m_desktop_scale_factor; }
void set_background_color(Gfx::Color background_color);
Gfx::Color background_color();
private:
MonitorWidget();
void redraw_desktop_if_needed();
virtual void paint_event(GUI::PaintEvent& event) override;
Gfx::IntRect m_monitor_rect;
RefPtr<Gfx::Bitmap> m_monitor_bitmap;
RefPtr<Gfx::Bitmap> m_desktop_bitmap;
bool m_desktop_dirty { true };
DeprecatedString m_desktop_wallpaper_path;
RefPtr<Gfx::Bitmap> m_wallpaper_bitmap;
DeprecatedString m_desktop_wallpaper_mode;
Gfx::IntSize m_desktop_resolution;
int m_desktop_scale_factor { 1 };
Gfx::Color m_desktop_color;
bool is_different_to_current_wallpaper_path(DeprecatedString const& path)
{
return (!path.is_empty() && path != m_desktop_wallpaper_path) || (path.is_empty() && m_desktop_wallpaper_path != nullptr);
}
};
}