| ARX 1.0 The next-generation open source augmented reality toolkit.

Loading...
Searching...
No Matches
thread_sub_winrt.h
Go to the documentation of this file.
1/*
2 * thread_sub_winrt.h
3 * artoolkitX
4 *
5 * This file is part of artoolkitX.
6 *
7 * artoolkitX is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * artoolkitX is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with artoolkitX. If not, see <http://www.gnu.org/licenses/>.
19 *
20 * As a special exception, the copyright holders of this library give you
21 * permission to link this library with independent modules to produce an
22 * executable, regardless of the license terms of these independent modules, and to
23 * copy and distribute the resulting executable under terms of your choice,
24 * provided that you also meet, for each linked independent module, the terms and
25 * conditions of the license of that module. An independent module is a module
26 * which is neither derived from nor based on this library. If you modify this
27 * library, you may extend this exception to your version of the library, but you
28 * are not obligated to do so. If you do not wish to do so, delete this exception
29 * statement from your version.
30 *
31 * Copyright 2018 Realmax, Inc.
32 * Copyright 2015 Daqri, LLC.
33 * Copyright 2014-2015 ARToolworks, Inc.
34 *
35 * Author(s): Philip Lamb
36 *
37 */
38
39#ifndef THREAD_SUB_WINRT_H
40#define THREAD_SUB_WINRT_H
41
42#include <ARX/ARUtil/thread_sub.h>
43
44#ifdef __cplusplus
45 extern "C" {
46#endif
47
48#ifdef _WIN32
49
50// Include Windows API.
51#ifndef WIN32_LEAN_AND_MEAN
52# define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
53#endif
54#include <sdkddkver.h> // Minimum supported version. See http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745.aspx
55#include <windows.h>
56
57// Define _WINRT for support Windows Runtime platforms.
58#if defined(WINAPI_FAMILY)
59# if (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
60# if (_WIN32_WINNT >= 0x0603) // (_WIN32_WINNT_WINBLUE)
61# define _WINRT
62# else
63# error artoolkitX for Windows Phone requires Windows Phone 8.1 or later. Please compile with Visual Studio 2013 or later with Windows Phone 8.1 SDK installed and with _WIN32_WINNT=0x0603 in your project compiler settings (setting /D_WIN32_WINNT=0x0603).
64# endif
65# elif (WINAPI_FAMILY == WINAPI_FAMILY_PC_APP)
66# if (_WIN32_WINNT >= 0x0603) // (_WIN32_WINNT_WINBLUE)
67# define _WINRT
68# else
69# error artoolkitX for Windows Store requires Windows 8.1 or later. Please compile with Visual Studio 2013 or later with Windows 8.1 SDK installed and with _WIN32_WINNT=0x0603 in your project compiler settings (setting /D_WIN32_WINNT=0x0603).
70# endif
71# endif
72#endif
73
74#ifdef _WINRT
75
76 ARUTIL_EXTERN int arCreateDetachedThreadWinRT(void *(*start_routine)(THREAD_HANDLE_T*), THREAD_HANDLE_T*flag);
77
78#endif // _WIN32
79#endif // _WINRT
80
81#ifdef __cplusplus
82}
83#endif
84#endif // !THREAD_SUB_WINRT_H
_THREAD_HANDLE_T
Definition: thread_sub.c:78
thread_sub.h
ARUTIL_EXTERN
#define ARUTIL_EXTERN
Definition: types.h:58