Add and require GDSOFTCLASS for Object subclasses that want to cast but do not use GDCLASS.
This commit is contained in:
@ -40,6 +40,8 @@
|
||||
struct StreamingBuffer;
|
||||
|
||||
class CameraFeedLinux : public CameraFeed {
|
||||
GDSOFTCLASS(CameraFeedLinux, CameraFeed);
|
||||
|
||||
private:
|
||||
SafeFlag exit_flag;
|
||||
Thread *thread = nullptr;
|
||||
@ -64,12 +66,12 @@ private:
|
||||
|
||||
public:
|
||||
String get_device_name() const;
|
||||
bool activate_feed();
|
||||
void deactivate_feed();
|
||||
bool set_format(int p_index, const Dictionary &p_parameters);
|
||||
Array get_formats() const;
|
||||
FeedFormat get_format() const;
|
||||
bool activate_feed() override;
|
||||
void deactivate_feed() override;
|
||||
bool set_format(int p_index, const Dictionary &p_parameters) override;
|
||||
Array get_formats() const override;
|
||||
FeedFormat get_format() const override;
|
||||
|
||||
CameraFeedLinux(const String &p_device_name);
|
||||
virtual ~CameraFeedLinux();
|
||||
~CameraFeedLinux() override;
|
||||
};
|
||||
|
||||
@ -36,6 +36,8 @@
|
||||
#include "servers/camera_server.h"
|
||||
|
||||
class CameraMacOS : public CameraServer {
|
||||
GDSOFTCLASS(CameraMacOS, CameraServer);
|
||||
|
||||
public:
|
||||
CameraMacOS() = default;
|
||||
|
||||
|
||||
@ -195,6 +195,8 @@
|
||||
// CameraFeedMacOS - Subclass for camera feeds in macOS
|
||||
|
||||
class CameraFeedMacOS : public CameraFeed {
|
||||
GDSOFTCLASS(CameraFeedMacOS, CameraFeed);
|
||||
|
||||
private:
|
||||
AVCaptureDevice *device;
|
||||
MyCaptureSession *capture_session;
|
||||
@ -206,8 +208,8 @@ public:
|
||||
|
||||
void set_device(AVCaptureDevice *p_device);
|
||||
|
||||
bool activate_feed();
|
||||
void deactivate_feed();
|
||||
bool activate_feed() override;
|
||||
void deactivate_feed() override;
|
||||
};
|
||||
|
||||
AVCaptureDevice *CameraFeedMacOS::get_device() const {
|
||||
|
||||
Reference in New Issue
Block a user