summaryrefslogtreecommitdiffstats
path: root/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2015-10-20 13:18:59 +0300
committerMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2015-10-22 10:08:51 +0000
commit31f9c57bc50ae053cfaf039a1dfdb128e2494458 (patch)
tree316138cb73c49877f5a80a8496c2f1b737122fb5 /tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h
parent4162ddeb02ee41fd4217d7f3d93d45cab3313ba8 (diff)
Fix issues with COIN builds
-Fix miscellaneous compile errors -Move manual tests to manual folder and enable export of autotests -Added widgets requirement -Fixed autotests -Fixed renderer and controller synchronization in QML case -Treat fallback Mesa as ES2 similar to setting AA_UseSoftwareOpenGL Change-Id: If6619733725d079e339bef16262e5ea1450ab20f Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
Diffstat (limited to 'tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h')
-rw-r--r--tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h119
1 files changed, 119 insertions, 0 deletions
diff --git a/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h
new file mode 100644
index 00000000..4c6b3c77
--- /dev/null
+++ b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h
@@ -0,0 +1,119 @@
+/****************************************************************************
+* *
+* OpenNI 1.x Alpha *
+* Copyright (C) 2011 PrimeSense Ltd. *
+* *
+* This file is part of OpenNI. *
+* *
+* OpenNI is free software: you can redistribute it and/or modify *
+* it under the terms of the GNU Lesser General Public License as published *
+* by the Free Software Foundation, either version 3 of the License, or *
+* (at your option) any later version. *
+* *
+* OpenNI is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+* GNU Lesser General Public License for more details. *
+* *
+* You should have received a copy of the GNU Lesser General Public License *
+* along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
+* *
+****************************************************************************/
+#ifndef __XN_GENERAL_BUFFER_H__
+#define __XN_GENERAL_BUFFER_H__
+
+//---------------------------------------------------------------------------
+// Includes
+//---------------------------------------------------------------------------
+#include "XnPlatform.h"
+#include "XnOS.h"
+#include "XnStatusCodes.h"
+
+//---------------------------------------------------------------------------
+// Types
+//---------------------------------------------------------------------------
+
+/* Describes a general buffer. */
+typedef struct XnGeneralBuffer
+{
+ /* A pointer to the actual data. */
+ void* pData;
+ /* The size of the data in bytes. */
+ XnUInt32 nDataSize;
+} XnGeneralBuffer;
+
+//---------------------------------------------------------------------------
+// Exported Functions
+//---------------------------------------------------------------------------
+
+/**
+* Packs a pointer and a size into an XnGeneralBuffer struct.
+*/
+inline XnGeneralBuffer XnGeneralBufferPack(void* pData, XnUInt32 nDataSize)
+{
+ XnGeneralBuffer result;
+ result.pData = pData;
+ result.nDataSize = nDataSize;
+ return result;
+}
+
+/**
+* Copies one general buffer into another.
+*/
+inline XnStatus XnGeneralBufferCopy(XnGeneralBuffer* pDest, const XnGeneralBuffer* pSrc)
+{
+ XN_VALIDATE_INPUT_PTR(pDest);
+ XN_VALIDATE_INPUT_PTR(pSrc);
+
+ if (pSrc->nDataSize > pDest->nDataSize)
+ return XN_STATUS_OUTPUT_BUFFER_OVERFLOW;
+
+ xnOSMemCopy(pDest->pData, pSrc->pData, pSrc->nDataSize);
+ pDest->nDataSize = pSrc->nDataSize;
+ return XN_STATUS_OK;
+}
+
+inline XnStatus XnGeneralBufferAlloc(XnGeneralBuffer* pDest, XnUInt32 nSize)
+{
+ XN_VALIDATE_INPUT_PTR(pDest);
+
+ void* pData;
+ pData = xnOSMalloc(nSize);
+ XN_VALIDATE_ALLOC_PTR(pData);
+
+ pDest->pData = pData;
+ pDest->nDataSize = nSize;
+ return XN_STATUS_OK;
+}
+
+inline XnStatus XnGeneralBufferRealloc(XnGeneralBuffer* pDest, XnUInt32 nSize)
+{
+ XN_VALIDATE_INPUT_PTR(pDest);
+
+ void* pData;
+ pData = xnOSRealloc(pDest, nSize);
+ XN_VALIDATE_ALLOC_PTR(pData);
+
+ pDest->pData = pData;
+ pDest->nDataSize = nSize;
+ return XN_STATUS_OK;
+}
+
+inline void XnGeneralBufferFree(XnGeneralBuffer* pDest)
+{
+ XN_FREE_AND_NULL(pDest->pData);
+ pDest->nDataSize = 0;
+}
+
+//---------------------------------------------------------------------------
+// Helper Macros
+//---------------------------------------------------------------------------
+#define XN_PACK_GENERAL_BUFFER(x) XnGeneralBufferPack(&x, sizeof(x))
+
+#define XN_VALIDATE_GENERAL_BUFFER_TYPE(gb, t) \
+ if ((gb).nDataSize != sizeof(t)) \
+ { \
+ return XN_STATUS_INVALID_BUFFER_SIZE; \
+ }
+
+#endif //__XN_GENERAL_BUFFER_H__ \ No newline at end of file