mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-24 01:31:46 +00:00
[cscore] Add support for USB cameras on macOS (#4846)
The main restriction is there must be an event loop running on the main thread. No special action is required for GUI applications, but for non-GUI applications, a RunOsxRunLoop() function is provided that needs to be called from the main thread.
This commit is contained in:
21
cscore/src/main/native/objcpp/RunLoopHelpers.mm
Normal file
21
cscore/src/main/native/objcpp/RunLoopHelpers.mm
Normal file
@@ -0,0 +1,21 @@
|
||||
// Copyright (c) FIRST and other WPILib contributors.
|
||||
// Open Source Software; you can modify and/or share it under the terms of
|
||||
// the WPILib BSD license file in the root directory of this project.
|
||||
|
||||
#include "cscore_runloop.h"
|
||||
|
||||
#include <CoreFoundation/CFRunLoop.h>
|
||||
|
||||
namespace cs {
|
||||
void RunOsxRunLoop() {
|
||||
CFRunLoopRun();
|
||||
}
|
||||
|
||||
int RunOsxRunLoopTimeout(double timeoutSeconds) {
|
||||
return CFRunLoopRunInMode(kCFRunLoopDefaultMode, timeoutSeconds, false);
|
||||
}
|
||||
|
||||
void StopOsxMainRunLoop() {
|
||||
CFRunLoopStop(CFRunLoopGetMain());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user