default to webcam off
This commit is contained in:
@ -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();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -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)
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user