ladybird/Userland/DevTools/Profiler/TimelineHeader.h
Daniel Bertalan b0208ce433 Everywhere: Forward declare structs as structs
While structs being forward declared as classes is not strictly an
issue, Clang complains as this is not portable code, since some ABIs
treat classes declared as `class` and `struct` differently.

It's easier to fix these than to reason about explicitly disabling
another warning.
2021-07-08 10:11:00 +02:00

40 lines
719 B
C++

/*
* Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibGUI/Frame.h>
namespace Profiler {
class Profile;
struct Process;
class TimelineHeader final : public GUI::Frame {
C_OBJECT(TimelineHeader);
public:
virtual ~TimelineHeader();
Function<void(bool)> on_selection_change;
void update_selection();
private:
TimelineHeader(Profile& profile, Process const&);
virtual void paint_event(GUI::PaintEvent&) override;
virtual void mousedown_event(GUI::MouseEvent&) override;
Profile& m_profile;
Process const& m_process;
RefPtr<Gfx::Bitmap> m_icon;
String m_text;
bool m_selected;
};
}