/* * Copyright (c) 2018-2020, Andreas Kling * Copyright (c) 2021, Felix Rauch * Copyright (c) 2021, Mustafa Quraish * Copyright (c) 2022, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace PixelPaint { class ImageEditor; class SelectedColorWidget; class PaletteWidget final : public GUI::Frame { C_OBJECT(PaletteWidget); public: virtual ~PaletteWidget() override = default; void set_primary_color(Color); void set_secondary_color(Color); void display_color_list(Vector const&); Vector colors(); static Result, String> load_palette_file(Core::File&); static Result, String> load_palette_path(String const&); static Result save_palette_file(Vector, Core::File&); static Vector fallback_colors(); void set_image_editor(ImageEditor*); private: explicit PaletteWidget(); ImageEditor* m_editor { nullptr }; RefPtr m_primary_color_widget; RefPtr m_secondary_color_widget; RefPtr m_color_container; }; }