// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#pragma once
#if PLATFORM_ANDROID
#include "Engine/Platform/Base/WindowBase.h"
#include "Engine/Platform/Platform.h"
///
/// Implementation of the window class for Android platform.
///
class AndroidWindow : public WindowBase
{
friend AndroidPlatform;
public:
///
/// Initializes a new instance of the class.
///
/// The initial window settings.
AndroidWindow(const CreateWindowSettings& settings);
///
/// Finalizes an instance of the class.
///
~AndroidWindow();
public:
// [Window]
void* GetNativePtr() const override;
void Show() override;
void Hide() override;
void Minimize() override;
void Maximize() override;
void Restore() override;
bool IsClosed() const override;
void BringToFront(bool force = false) override;
void SetClientBounds(const Rectangle& clientArea) override;
void SetPosition(const Vector2& position) override;
void SetClientPosition(const Vector2& position) override;
Vector2 GetPosition() const override;
Vector2 GetSize() const override;
Vector2 GetClientSize() const override;
Vector2 ScreenToClient(const Vector2& screenPos) const override;
Vector2 ClientToScreen(const Vector2& clientPos) const override;
void SetTitle(const StringView& title) override;
DragDropEffect DoDragDrop(const StringView& data) override;
void StartTrackingMouse(bool useMouseScreenOffset) override;
void EndTrackingMouse() override;
};
#endif