47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#ifndef IK4AVISUALIZATIONWINDOW_H
|
|
#define IK4AVISUALIZATIONWINDOW_H
|
|
|
|
// System headers
|
|
//
|
|
|
|
// Library headers
|
|
//
|
|
#include "k4aimgui_all.h"
|
|
|
|
// Project headers
|
|
//
|
|
|
|
namespace k4aviewer
|
|
{
|
|
struct K4AWindowPlacementInfo
|
|
{
|
|
ImVec2 Size;
|
|
ImVec2 Position;
|
|
};
|
|
|
|
class IK4AVisualizationWindow
|
|
{
|
|
public:
|
|
// Draw widgets to fill your window (ImGui::Begin()/ImGui::End() will be called for you).
|
|
// Size constraints will be automatically applied to your window, but if you want to know
|
|
// how much space you have access to, placementInfo has that.
|
|
//
|
|
virtual void Show(K4AWindowPlacementInfo placementInfo) = 0;
|
|
|
|
virtual const char *GetTitle() const = 0;
|
|
|
|
IK4AVisualizationWindow() = default;
|
|
virtual ~IK4AVisualizationWindow() = default;
|
|
|
|
IK4AVisualizationWindow(const IK4AVisualizationWindow &) = delete;
|
|
IK4AVisualizationWindow &operator=(const IK4AVisualizationWindow &) = delete;
|
|
IK4AVisualizationWindow(const IK4AVisualizationWindow &&) = delete;
|
|
IK4AVisualizationWindow &operator=(const IK4AVisualizationWindow &&) = delete;
|
|
};
|
|
} // namespace k4aviewer
|
|
|
|
#endif
|