default to webcam off

This commit is contained in:
2025-02-27 04:29:37 -06:00
parent b48363fc99
commit 8d6cc8ca58
3 changed files with 11 additions and 5 deletions

View File

@ -20,7 +20,13 @@ class HiddenField {
{ {
return dynamic_cast<T>(ptr); return dynamic_cast<T>(ptr);
} }
template<typename T>
T* AllocField()
{
auto v = new T();
SetField(v);
return v;
}
~HiddenField(); ~HiddenField();
}; };
} }

View File

@ -39,7 +39,7 @@ namespace Tesses::Framework::Threading
Mutex::Mutex() Mutex::Mutex()
{ {
#if defined(TESSESFRAMEWORK_ENABLE_THREADING) #if defined(TESSESFRAMEWORK_ENABLE_THREADING)
auto md=this->data.SetField(new MutexHiddenFieldData()); auto md=this->data.AllocField<MutexHiddenFieldData>();
#if defined(_WIN32) #if defined(_WIN32)
md->mtx = CreateMutex(NULL,false,NULL); md->mtx = CreateMutex(NULL,false,NULL);
#elif defined(GEKKO) #elif defined(GEKKO)

View File

@ -50,7 +50,7 @@ namespace Tesses::Framework::Threading
Thread::Thread(std::function<void()> fn) Thread::Thread(std::function<void()> fn)
{ {
#if defined(TESSESFRAMEWORK_ENABLE_THREADING) #if defined(TESSESFRAMEWORK_ENABLE_THREADING)
auto data = this->data.SetField(new ThreadHiddenFieldData()); auto data = this->data.AllocField<ThreadHiddenFieldData>();
data->hasInvoked=false; data->hasInvoked=false;
data->fn = fn; data->fn = fn;
#if defined(_WIN32) #if defined(_WIN32)
@ -67,7 +67,7 @@ namespace Tesses::Framework::Threading
void Thread::Detach() void Thread::Detach()
{ {
#if defined(TESSESFRAMEWORK_ENABLE_THREADING) #if defined(TESSESFRAMEWORK_ENABLE_THREADING)
auto data = this->data.AllocField<ThreadHiddenFieldData*>(); auto data = this->data.GetField<ThreadHiddenFieldData*>();
#if !defined(GEKKO) #if !defined(GEKKO)
#if defined(_WIN32) #if defined(_WIN32)
CloseHandle(data->thrd); CloseHandle(data->thrd);
@ -81,7 +81,7 @@ namespace Tesses::Framework::Threading
void Thread::Join() void Thread::Join()
{ {
#if defined(TESSESFRAMEWORK_ENABLE_THREADING) #if defined(TESSESFRAMEWORK_ENABLE_THREADING)
auto data = this->data.AllocField<ThreadHiddenFieldData>(); auto data = this->data.GetField<ThreadHiddenFieldData*>();
#if defined(_WIN32) #if defined(_WIN32)
WaitForSingleObject(data->thrd, INFINITE); WaitForSingleObject(data->thrd, INFINITE);
#elif defined(GEKKO) #elif defined(GEKKO)