#include "ui/base/x/x11_cursor_factory.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
#include "ui/base/cursor/platform_cursor.h"
#include "ui/base/x/x11_cursor.h"
#include "ui/base/x/x11_cursor_loader.h"
#include "ui/base/x/x11_util.h"
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/x/connection.h"
#if BUILDFLAG(IS_LINUX)
#include "ui/linux/linux_ui.h"
#endif
namespace ui {
namespace {
scoped_refptr<X11Cursor> CreateInvisibleCursor(XCursorLoader* cursor_loader) { … }
}
X11CursorFactory::X11CursorFactory()
: … { … }
X11CursorFactory::~X11CursorFactory() = default;
scoped_refptr<PlatformCursor> X11CursorFactory::CreateImageCursor(
mojom::CursorType type,
const SkBitmap& bitmap,
const gfx::Point& hotspot,
float scale) { … }
scoped_refptr<PlatformCursor> X11CursorFactory::CreateAnimatedCursor(
mojom::CursorType type,
const std::vector<SkBitmap>& bitmaps,
const gfx::Point& hotspot,
float scale,
base::TimeDelta frame_delay) { … }
void X11CursorFactory::ObserveThemeChanges() { … }
void X11CursorFactory::OnCursorThemeNameChanged(
const std::string& cursor_theme_name) { … }
void X11CursorFactory::OnCursorThemeSizeChanged(int cursor_theme_size) { … }
scoped_refptr<PlatformCursor> X11CursorFactory::GetDefaultCursor(
mojom::CursorType type) { … }
void X11CursorFactory::ClearThemeCursors() { … }
}