* Qt: Initial support for Metal renderer * Clean up graphics context code * Nits * More nits * Qt: Move screen-related stuff to own folder * Qt: Make screen widget polymorphic * Qt: Re-add Metal * Add factory for screen widget * Qt: Support compilation without Metal * Qt: Fix build without Metal * Oops * oops
18 lines
486 B
C++
18 lines
486 B
C++
#pragma once
|
|
#include "panda_qt/screen/screen.hpp"
|
|
|
|
class ScreenWidgetMTL : public ScreenWidget {
|
|
void* mtkLayer = nullptr;
|
|
|
|
// Objective-C++ functions for handling the Metal context
|
|
bool createMetalContext();
|
|
void resizeMetalView();
|
|
|
|
public:
|
|
ScreenWidgetMTL(API api, ResizeCallback resizeCallback, QWidget* parent = nullptr);
|
|
~ScreenWidgetMTL() override;
|
|
|
|
virtual void* getMTKLayer() override;
|
|
virtual bool createContext() override;
|
|
virtual void resizeDisplay() override;
|
|
}; |