ladybird/Userland/Libraries/LibGfx/CursorParams.h
MacDue 7be0b27dd3 Meta+Userland: Pass Gfx::IntPoint by value
This is just two ints or 8 bytes or the size of the reference on
x86_64 or AArch64.
2022-12-07 11:48:27 +01:00

38 lines
771 B
C++

/*
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/StringView.h>
#include <LibGfx/Point.h>
namespace Gfx {
class CursorParams {
public:
static CursorParams parse_from_filename(StringView, Gfx::IntPoint);
CursorParams() = default;
CursorParams(Gfx::IntPoint hotspot)
: m_hotspot(hotspot)
{
}
CursorParams constrained(Gfx::Bitmap const&) const;
Gfx::IntPoint hotspot() const { return m_hotspot; }
unsigned frames() const { return m_frames; }
unsigned frame_ms() const { return m_frame_ms; }
private:
Gfx::IntPoint m_hotspot;
unsigned m_frames { 1 };
unsigned m_frame_ms { 0 };
bool m_have_hotspot { false };
};
}