diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/cmake/DragDrop.cmake | 25 | ||||
-rw-r--r-- | indra/llwindow/CMakeLists.txt | 1 | ||||
-rw-r--r-- | indra/llwindow/lldragdropwin32.cpp | 7 | ||||
-rw-r--r-- | indra/llwindow/lldragdropwin32.h | 29 | ||||
-rw-r--r-- | indra/newview/CMakeLists.txt | 1 |
5 files changed, 59 insertions, 4 deletions
diff --git a/indra/cmake/DragDrop.cmake b/indra/cmake/DragDrop.cmake new file mode 100644 index 0000000000..a2d7df1312 --- /dev/null +++ b/indra/cmake/DragDrop.cmake @@ -0,0 +1,25 @@ +# -*- cmake -*-
+
+if (VIEWER)
+
+ OPTION (OS_DRAG_DROP
+ "Build the viewer with OS level drag and drop turned on or off"
+ OFF)
+
+ if (OS_DRAG_DROP)
+
+ if (WINDOWS)
+ add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
+ endif (WINDOWS)
+
+ if (DARWIN)
+ add_definitions(-DLL_OS_DRAGDROP_ENABLED=0)
+ endif (DARWIN)
+
+ if (LINUX)
+ add_definitions(-DLL_OS_DRAGDROP_ENABLED=0)
+ endif (LINUX)
+
+ endif (OS_DRAG_DROP)
+
+endif (VIEWER)
diff --git a/indra/llwindow/CMakeLists.txt b/indra/llwindow/CMakeLists.txt index b4a3f74451..77c6fa57b6 100644 --- a/indra/llwindow/CMakeLists.txt +++ b/indra/llwindow/CMakeLists.txt @@ -12,6 +12,7 @@ project(llwindow) include(00-Common) include(DirectX) +include(DragDrop) include(LLCommon) include(LLImage) include(LLMath) diff --git a/indra/llwindow/lldragdropwin32.cpp b/indra/llwindow/lldragdropwin32.cpp index aac68e71af..471c88675d 100644 --- a/indra/llwindow/lldragdropwin32.cpp +++ b/indra/llwindow/lldragdropwin32.cpp @@ -32,6 +32,8 @@ #if LL_WINDOWS
+#if LL_OS_DRAGDROP_ENABLED
+
#include "linden_common.h"
#include "llwindowwin32.h"
@@ -272,4 +274,7 @@ void LLDragDropWin32::reset() OleUninitialize();
}
-#endif
+#endif // LL_OS_DRAGDROP_ENABLED
+
+#endif // LL_WINDOWS
+
diff --git a/indra/llwindow/lldragdropwin32.h b/indra/llwindow/lldragdropwin32.h index 624f4ad24b..26c8e4aeff 100644 --- a/indra/llwindow/lldragdropwin32.h +++ b/indra/llwindow/lldragdropwin32.h @@ -30,11 +30,13 @@ * $/LicenseInfo$
*/
+#if LL_WINDOWS
+
+#if LL_OS_DRAGDROP_ENABLED
+
#ifndef LL_LLDRAGDROP32_H
#define LL_LLDRAGDROP32_H
-#if LL_WINDOWS
-
#include <windows.h>
#include <ole2.h>
@@ -51,7 +53,28 @@ class LLDragDropWin32 IDropTarget* mDropTarget;
HWND mDropWindowHandle;
};
+#endif // LL_LLDRAGDROP32_H
-#endif // LL_WINDOWS
+#else // LL_OS_DRAGDROP_ENABLED
+#ifndef LL_LLDRAGDROP32_H
+#define LL_LLDRAGDROP32_H
+
+#include <windows.h>
+#include <ole2.h>
+
+// imposter class that does nothing
+class LLDragDropWin32
+{
+ public:
+ LLDragDropWin32() {};
+ ~LLDragDropWin32() {};
+
+ bool init( HWND hWnd ) { return false; };
+ void reset() { };
+};
#endif // LL_LLDRAGDROP32_H
+
+#endif // LL_OS_DRAGDROP_ENABLED
+
+#endif // LL_WINDOWS
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index b129bca1f3..352e9a9382 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -7,6 +7,7 @@ include(Boost) include(BuildVersion) include(DBusGlib) include(DirectX) +include(DragDrop) include(ELFIO) include(FMOD) include(OPENAL) |