aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llwindow
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/llwindow')
-rw-r--r--linden/indra/llwindow/lldxhardware.cpp4
-rw-r--r--linden/indra/llwindow/lldxhardware.h3
-rw-r--r--linden/indra/llwindow/llgl.cpp3
-rw-r--r--linden/indra/llwindow/llgl.h3
-rw-r--r--linden/indra/llwindow/llglheaders.h3
-rw-r--r--linden/indra/llwindow/llglstates.h3
-rw-r--r--linden/indra/llwindow/llglstubs.h3
-rw-r--r--linden/indra/llwindow/llgltypes.h3
-rw-r--r--linden/indra/llwindow/llkeyboard.cpp3
-rw-r--r--linden/indra/llwindow/llkeyboard.h3
-rw-r--r--linden/indra/llwindow/llkeyboardmacosx.cpp3
-rw-r--r--linden/indra/llwindow/llkeyboardmacosx.h3
-rw-r--r--linden/indra/llwindow/llkeyboardsdl.cpp3
-rw-r--r--linden/indra/llwindow/llkeyboardsdl.h3
-rw-r--r--linden/indra/llwindow/llkeyboardwin32.cpp3
-rw-r--r--linden/indra/llwindow/llkeyboardwin32.h3
-rw-r--r--linden/indra/llwindow/llmousehandler.h3
-rw-r--r--linden/indra/llwindow/llwindow.cpp3
-rw-r--r--linden/indra/llwindow/llwindow.h5
-rw-r--r--linden/indra/llwindow/llwindowheadless.cpp3
-rw-r--r--linden/indra/llwindow/llwindowheadless.h3
-rw-r--r--linden/indra/llwindow/llwindowlinux.cpp3
-rw-r--r--linden/indra/llwindow/llwindowlinux.h3
-rw-r--r--linden/indra/llwindow/llwindowmacosx-objc.h3
-rw-r--r--linden/indra/llwindow/llwindowmacosx-objc.mm3
-rw-r--r--linden/indra/llwindow/llwindowmacosx.cpp3
-rw-r--r--linden/indra/llwindow/llwindowmacosx.h3
-rw-r--r--linden/indra/llwindow/llwindowmesaheadless.cpp3
-rw-r--r--linden/indra/llwindow/llwindowmesaheadless.h3
-rw-r--r--linden/indra/llwindow/llwindowsdl.cpp38
-rw-r--r--linden/indra/llwindow/llwindowsdl.h3
-rw-r--r--linden/indra/llwindow/llwindowsolaris.cpp3
-rw-r--r--linden/indra/llwindow/llwindowsolaris.h3
-rw-r--r--linden/indra/llwindow/llwindowwin32.cpp197
-rw-r--r--linden/indra/llwindow/llwindowwin32.h7
35 files changed, 281 insertions, 60 deletions
diff --git a/linden/indra/llwindow/lldxhardware.cpp b/linden/indra/llwindow/lldxhardware.cpp
index 82d80ec..1a39e68 100644
--- a/linden/indra/llwindow/lldxhardware.cpp
+++ b/linden/indra/llwindow/lldxhardware.cpp
@@ -2,6 +2,8 @@
2 * @file lldxhardware.cpp 2 * @file lldxhardware.cpp
3 * @brief LLDXHardware implementation 3 * @brief LLDXHardware implementation
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifdef LL_WINDOWS 32#ifdef LL_WINDOWS
@@ -32,7 +35,6 @@
32 35
33#include "linden_common.h" 36#include "linden_common.h"
34 37
35#include <assert.h>
36#include <dxdiag.h> 38#include <dxdiag.h>
37 39
38#include <boost/tokenizer.hpp> 40#include <boost/tokenizer.hpp>
diff --git a/linden/indra/llwindow/lldxhardware.h b/linden/indra/llwindow/lldxhardware.h
index 0574880..1d5d69d 100644
--- a/linden/indra/llwindow/lldxhardware.h
+++ b/linden/indra/llwindow/lldxhardware.h
@@ -2,6 +2,8 @@
2 * @file lldxhardware.h 2 * @file lldxhardware.h
3 * @brief LLDXHardware definition 3 * @brief LLDXHardware definition
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLDXHARDWARE_H 32#ifndef LL_LLDXHARDWARE_H
diff --git a/linden/indra/llwindow/llgl.cpp b/linden/indra/llwindow/llgl.cpp
index 2310684..35f20d3 100644
--- a/linden/indra/llwindow/llgl.cpp
+++ b/linden/indra/llwindow/llgl.cpp
@@ -2,6 +2,8 @@
2 * @file llgl.cpp 2 * @file llgl.cpp
3 * @brief LLGL implementation 3 * @brief LLGL implementation
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29// This file sets some global GL parameters, and implements some 32// This file sets some global GL parameters, and implements some
diff --git a/linden/indra/llwindow/llgl.h b/linden/indra/llwindow/llgl.h
index c83ccb8..2a23a23 100644
--- a/linden/indra/llwindow/llgl.h
+++ b/linden/indra/llwindow/llgl.h
@@ -2,6 +2,8 @@
2 * @file llgl.h 2 * @file llgl.h
3 * @brief LLGL definition 3 * @brief LLGL definition
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLGL_H 32#ifndef LL_LLGL_H
diff --git a/linden/indra/llwindow/llglheaders.h b/linden/indra/llwindow/llglheaders.h
index 1d815ee..b98c832 100644
--- a/linden/indra/llwindow/llglheaders.h
+++ b/linden/indra/llwindow/llglheaders.h
@@ -2,6 +2,8 @@
2 * @file llglheaders.h 2 * @file llglheaders.h
3 * @brief LLGL definitions 3 * @brief LLGL definitions
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLGLHEADERS_H 32#ifndef LL_LLGLHEADERS_H
diff --git a/linden/indra/llwindow/llglstates.h b/linden/indra/llwindow/llglstates.h
index 887d099..cbe1300 100644
--- a/linden/indra/llwindow/llglstates.h
+++ b/linden/indra/llwindow/llglstates.h
@@ -2,6 +2,8 @@
2 * @file llglstates.h 2 * @file llglstates.h
3 * @brief LLGL states definitions 3 * @brief LLGL states definitions
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29//THIS HEADER SHOULD ONLY BE INCLUDED FROM llgl.h 32//THIS HEADER SHOULD ONLY BE INCLUDED FROM llgl.h
diff --git a/linden/indra/llwindow/llglstubs.h b/linden/indra/llwindow/llglstubs.h
index fbbcd1f..e070aa2 100644
--- a/linden/indra/llwindow/llglstubs.h
+++ b/linden/indra/llwindow/llglstubs.h
@@ -2,6 +2,8 @@
2 * @file llglstubs.h 2 * @file llglstubs.h
3 * @brief LLGL stubs header file 3 * @brief LLGL stubs header file
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29 32
diff --git a/linden/indra/llwindow/llgltypes.h b/linden/indra/llwindow/llgltypes.h
index d130a42..42050cf 100644
--- a/linden/indra/llwindow/llgltypes.h
+++ b/linden/indra/llwindow/llgltypes.h
@@ -2,6 +2,8 @@
2 * @file llgltypes.h 2 * @file llgltypes.h
3 * @brief LLGL definition 3 * @brief LLGL definition
4 * 4 *
5 * $LicenseInfo:firstyear=2006&license=viewergpl$
6 *
5 * Copyright (c) 2006-2007, Linden Research, Inc. 7 * Copyright (c) 2006-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LLGLTYPES_H 32#ifndef LLGLTYPES_H
diff --git a/linden/indra/llwindow/llkeyboard.cpp b/linden/indra/llwindow/llkeyboard.cpp
index 213fe85..23f3dc7 100644
--- a/linden/indra/llwindow/llkeyboard.cpp
+++ b/linden/indra/llwindow/llkeyboard.cpp
@@ -2,6 +2,8 @@
2 * @file llkeyboard.cpp 2 * @file llkeyboard.cpp
3 * @brief Handler for assignable key bindings 3 * @brief Handler for assignable key bindings
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
diff --git a/linden/indra/llwindow/llkeyboard.h b/linden/indra/llwindow/llkeyboard.h
index 61ae2ea..55af6fe 100644
--- a/linden/indra/llwindow/llkeyboard.h
+++ b/linden/indra/llwindow/llkeyboard.h
@@ -2,6 +2,8 @@
2 * @file llkeyboard.h 2 * @file llkeyboard.h
3 * @brief Handler for assignable key bindings 3 * @brief Handler for assignable key bindings
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLKEYBOARD_H 32#ifndef LL_LLKEYBOARD_H
diff --git a/linden/indra/llwindow/llkeyboardmacosx.cpp b/linden/indra/llwindow/llkeyboardmacosx.cpp
index 6d06d53..74b64b4 100644
--- a/linden/indra/llwindow/llkeyboardmacosx.cpp
+++ b/linden/indra/llwindow/llkeyboardmacosx.cpp
@@ -2,6 +2,8 @@
2 * @file llkeyboardmacosx.cpp 2 * @file llkeyboardmacosx.cpp
3 * @brief Handler for assignable key bindings 3 * @brief Handler for assignable key bindings
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#if LL_DARWIN 32#if LL_DARWIN
diff --git a/linden/indra/llwindow/llkeyboardmacosx.h b/linden/indra/llwindow/llkeyboardmacosx.h
index 899b011..d897faa 100644
--- a/linden/indra/llwindow/llkeyboardmacosx.h
+++ b/linden/indra/llwindow/llkeyboardmacosx.h
@@ -2,6 +2,8 @@
2 * @file llkeyboardmacosx.h 2 * @file llkeyboardmacosx.h
3 * @brief Handler for assignable key bindings 3 * @brief Handler for assignable key bindings
4 * 4 *
5 * $LicenseInfo:firstyear=2004&license=viewergpl$
6 *
5 * Copyright (c) 2004-2007, Linden Research, Inc. 7 * Copyright (c) 2004-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLKEYBOARDMACOSX_H 32#ifndef LL_LLKEYBOARDMACOSX_H
diff --git a/linden/indra/llwindow/llkeyboardsdl.cpp b/linden/indra/llwindow/llkeyboardsdl.cpp
index 027f6a4..d832506 100644
--- a/linden/indra/llwindow/llkeyboardsdl.cpp
+++ b/linden/indra/llwindow/llkeyboardsdl.cpp
@@ -2,6 +2,8 @@
2 * @file llkeyboardsdl.cpp 2 * @file llkeyboardsdl.cpp
3 * @brief Handler for assignable key bindings 3 * @brief Handler for assignable key bindings
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#if LL_SDL 32#if LL_SDL
diff --git a/linden/indra/llwindow/llkeyboardsdl.h b/linden/indra/llwindow/llkeyboardsdl.h
index 7546496..d3a08ed 100644
--- a/linden/indra/llwindow/llkeyboardsdl.h
+++ b/linden/indra/llwindow/llkeyboardsdl.h
@@ -2,6 +2,8 @@
2 * @file llkeyboardsdl.h 2 * @file llkeyboardsdl.h
3 * @brief Handler for assignable key bindings 3 * @brief Handler for assignable key bindings
4 * 4 *
5 * $LicenseInfo:firstyear=2004&license=viewergpl$
6 *
5 * Copyright (c) 2004-2007, Linden Research, Inc. 7 * Copyright (c) 2004-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLKEYBOARDSDL_H 32#ifndef LL_LLKEYBOARDSDL_H
diff --git a/linden/indra/llwindow/llkeyboardwin32.cpp b/linden/indra/llwindow/llkeyboardwin32.cpp
index f9db941..a5e7f3b 100644
--- a/linden/indra/llwindow/llkeyboardwin32.cpp
+++ b/linden/indra/llwindow/llkeyboardwin32.cpp
@@ -2,6 +2,8 @@
2 * @file llkeyboardwin32.cpp 2 * @file llkeyboardwin32.cpp
3 * @brief Handler for assignable key bindings 3 * @brief Handler for assignable key bindings
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#if LL_WINDOWS 32#if LL_WINDOWS
diff --git a/linden/indra/llwindow/llkeyboardwin32.h b/linden/indra/llwindow/llkeyboardwin32.h
index 33233c9..10eb4c1 100644
--- a/linden/indra/llwindow/llkeyboardwin32.h
+++ b/linden/indra/llwindow/llkeyboardwin32.h
@@ -2,6 +2,8 @@
2 * @file llkeyboardwin32.h 2 * @file llkeyboardwin32.h
3 * @brief Handler for assignable key bindings 3 * @brief Handler for assignable key bindings
4 * 4 *
5 * $LicenseInfo:firstyear=2004&license=viewergpl$
6 *
5 * Copyright (c) 2004-2007, Linden Research, Inc. 7 * Copyright (c) 2004-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLKEYBOARDWIN32_H 32#ifndef LL_LLKEYBOARDWIN32_H
diff --git a/linden/indra/llwindow/llmousehandler.h b/linden/indra/llwindow/llmousehandler.h
index 3091920..057c75e 100644
--- a/linden/indra/llwindow/llmousehandler.h
+++ b/linden/indra/llwindow/llmousehandler.h
@@ -2,6 +2,8 @@
2 * @file llmousehandler.h 2 * @file llmousehandler.h
3 * @brief LLMouseHandler class definition 3 * @brief LLMouseHandler class definition
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_MOUSEHANDLER_H 32#ifndef LL_MOUSEHANDLER_H
diff --git a/linden/indra/llwindow/llwindow.cpp b/linden/indra/llwindow/llwindow.cpp
index faa5e61..e845afe 100644
--- a/linden/indra/llwindow/llwindow.cpp
+++ b/linden/indra/llwindow/llwindow.cpp
@@ -2,6 +2,8 @@
2 * @file llwindow.cpp 2 * @file llwindow.cpp
3 * @brief Basic graphical window class 3 * @brief Basic graphical window class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
diff --git a/linden/indra/llwindow/llwindow.h b/linden/indra/llwindow/llwindow.h
index 1016bce..4db2c81 100644
--- a/linden/indra/llwindow/llwindow.h
+++ b/linden/indra/llwindow/llwindow.h
@@ -2,6 +2,8 @@
2 * @file llwindow.h 2 * @file llwindow.h
3 * @brief Basic graphical window class 3 * @brief Basic graphical window class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLWINDOW_H 32#ifndef LL_LLWINDOW_H
@@ -220,7 +223,7 @@ public:
220 223
221 // control platform's Language Text Input mechanisms. 224 // control platform's Language Text Input mechanisms.
222 virtual void allowLanguageTextInput( BOOL b ) {}; 225 virtual void allowLanguageTextInput( BOOL b ) {};
223 virtual void setLanguageTextInput( LLCoordWindow pos ) {}; 226 virtual void setLanguageTextInput( const LLCoordGL & pos ) {};
224 227
225protected: 228protected:
226 LLWindow(BOOL fullscreen, U32 flags); 229 LLWindow(BOOL fullscreen, U32 flags);
diff --git a/linden/indra/llwindow/llwindowheadless.cpp b/linden/indra/llwindow/llwindowheadless.cpp
index 62306f1..1b55791 100644
--- a/linden/indra/llwindow/llwindowheadless.cpp
+++ b/linden/indra/llwindow/llwindowheadless.cpp
@@ -2,6 +2,8 @@
2 * @file llwindowheadless.cpp 2 * @file llwindowheadless.cpp
3 * @brief Headless implementation of LLWindow class 3 * @brief Headless implementation of LLWindow class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
diff --git a/linden/indra/llwindow/llwindowheadless.h b/linden/indra/llwindow/llwindowheadless.h
index c474a5a..4962cf7 100644
--- a/linden/indra/llwindow/llwindowheadless.h
+++ b/linden/indra/llwindow/llwindowheadless.h
@@ -2,6 +2,8 @@
2 * @file llwindowheadless.h 2 * @file llwindowheadless.h
3 * @brief Headless definition of LLWindow class 3 * @brief Headless definition of LLWindow class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLWINDOWHEADLESS_H 32#ifndef LL_LLWINDOWHEADLESS_H
diff --git a/linden/indra/llwindow/llwindowlinux.cpp b/linden/indra/llwindow/llwindowlinux.cpp
index 79f4d48..80da7e2 100644
--- a/linden/indra/llwindow/llwindowlinux.cpp
+++ b/linden/indra/llwindow/llwindowlinux.cpp
@@ -2,6 +2,8 @@
2 * @file llwindowlinux.cpp 2 * @file llwindowlinux.cpp
3 * @brief Platform-dependent implementation of llwindow 3 * @brief Platform-dependent implementation of llwindow
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#if LL_LINUX 32#if LL_LINUX
diff --git a/linden/indra/llwindow/llwindowlinux.h b/linden/indra/llwindow/llwindowlinux.h
index 0465ef4..e7bcf4e 100644
--- a/linden/indra/llwindow/llwindowlinux.h
+++ b/linden/indra/llwindow/llwindowlinux.h
@@ -2,6 +2,8 @@
2 * @file llwindowlinux.h 2 * @file llwindowlinux.h
3 * @brief Linux implementation of LLWindow class 3 * @brief Linux implementation of LLWindow class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLWINDOWWIN32_H 32#ifndef LL_LLWINDOWWIN32_H
diff --git a/linden/indra/llwindow/llwindowmacosx-objc.h b/linden/indra/llwindow/llwindowmacosx-objc.h
index d17fa61..a5c9e7a 100644
--- a/linden/indra/llwindow/llwindowmacosx-objc.h
+++ b/linden/indra/llwindow/llwindowmacosx-objc.h
@@ -3,6 +3,8 @@
3 * @brief Prototypes for functions shared between llwindowmacosx.cpp 3 * @brief Prototypes for functions shared between llwindowmacosx.cpp
4 * and llwindowmacosx-objc.mm. 4 * and llwindowmacosx-objc.mm.
5 * 5 *
6 * $LicenseInfo:firstyear=2006&license=viewergpl$
7 *
6 * Copyright (c) 2006-2007, Linden Research, Inc. 8 * Copyright (c) 2006-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30 33
diff --git a/linden/indra/llwindow/llwindowmacosx-objc.mm b/linden/indra/llwindow/llwindowmacosx-objc.mm
index 241f821..b68ea8e 100644
--- a/linden/indra/llwindow/llwindowmacosx-objc.mm
+++ b/linden/indra/llwindow/llwindowmacosx-objc.mm
@@ -3,6 +3,8 @@
3 * @brief Definition of functions shared between llwindowmacosx.cpp 3 * @brief Definition of functions shared between llwindowmacosx.cpp
4 * and llwindowmacosx-objc.mm. 4 * and llwindowmacosx-objc.mm.
5 * 5 *
6 * $LicenseInfo:firstyear=2006&license=viewergpl$
7 *
6 * Copyright (c) 2006-2007, Linden Research, Inc. 8 * Copyright (c) 2006-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#include <AppKit/AppKit.h> 33#include <AppKit/AppKit.h>
diff --git a/linden/indra/llwindow/llwindowmacosx.cpp b/linden/indra/llwindow/llwindowmacosx.cpp
index 021d7a4..2724cb5 100644
--- a/linden/indra/llwindow/llwindowmacosx.cpp
+++ b/linden/indra/llwindow/llwindowmacosx.cpp
@@ -2,6 +2,8 @@
2 * @file llwindowmacosx.cpp 2 * @file llwindowmacosx.cpp
3 * @brief Platform-dependent implementation of llwindow 3 * @brief Platform-dependent implementation of llwindow
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#if LL_DARWIN 32#if LL_DARWIN
diff --git a/linden/indra/llwindow/llwindowmacosx.h b/linden/indra/llwindow/llwindowmacosx.h
index 01b9303..ee3019b 100644
--- a/linden/indra/llwindow/llwindowmacosx.h
+++ b/linden/indra/llwindow/llwindowmacosx.h
@@ -2,6 +2,8 @@
2 * @file llwindowmacosx.h 2 * @file llwindowmacosx.h
3 * @brief Mac implementation of LLWindow class 3 * @brief Mac implementation of LLWindow class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLWINDOWMACOSX_H 32#ifndef LL_LLWINDOWMACOSX_H
diff --git a/linden/indra/llwindow/llwindowmesaheadless.cpp b/linden/indra/llwindow/llwindowmesaheadless.cpp
index f10d7cd..f32ca01 100644
--- a/linden/indra/llwindow/llwindowmesaheadless.cpp
+++ b/linden/indra/llwindow/llwindowmesaheadless.cpp
@@ -2,6 +2,8 @@
2 * @file llwindowmesaheadless.cpp 2 * @file llwindowmesaheadless.cpp
3 * @brief Platform-dependent implementation of llwindow 3 * @brief Platform-dependent implementation of llwindow
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#if LL_MESA_HEADLESS 32#if LL_MESA_HEADLESS
diff --git a/linden/indra/llwindow/llwindowmesaheadless.h b/linden/indra/llwindow/llwindowmesaheadless.h
index f0ad50e..fe91a2d 100644
--- a/linden/indra/llwindow/llwindowmesaheadless.h
+++ b/linden/indra/llwindow/llwindowmesaheadless.h
@@ -2,6 +2,8 @@
2 * @file llwindowmesaheadless.h 2 * @file llwindowmesaheadless.h
3 * @brief Windows implementation of LLWindow class 3 * @brief Windows implementation of LLWindow class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLWINDOWMESAHEADLESS_H 32#ifndef LL_LLWINDOWMESAHEADLESS_H
diff --git a/linden/indra/llwindow/llwindowsdl.cpp b/linden/indra/llwindow/llwindowsdl.cpp
index 9756e09..ad39c84 100644
--- a/linden/indra/llwindow/llwindowsdl.cpp
+++ b/linden/indra/llwindow/llwindowsdl.cpp
@@ -2,6 +2,8 @@
2 * @file llwindowsdl.cpp 2 * @file llwindowsdl.cpp
3 * @brief SDL implementation of LLWindow class 3 * @brief SDL implementation of LLWindow class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#if LL_SDL 32#if LL_SDL
@@ -2035,10 +2038,6 @@ void LLWindowSDL::gatherInput()
2035 if (SDLCheckGrabbyKeys(event.key.keysym.sym, FALSE) == 0) 2038 if (SDLCheckGrabbyKeys(event.key.keysym.sym, FALSE) == 0)
2036 SDLReallyCaptureInput(FALSE); // part of the fix for SL-13243 2039 SDLReallyCaptureInput(FALSE); // part of the fix for SL-13243
2037 2040
2038 // This is a testing hack to pop up a dialog when 4 is pressed
2039 //if (event.key.keysym.sym == SDLK_4)
2040 //OSMessageBox("a whole bunch of text goes right here, whee! test test test.", "this is the title!", OSMB_YESNO);
2041
2042 gKeyboard->handleKeyUp(event.key.keysym.sym, event.key.keysym.mod); 2041 gKeyboard->handleKeyUp(event.key.keysym.sym, event.key.keysym.mod);
2043 break; 2042 break;
2044 2043
@@ -2119,9 +2118,9 @@ void LLWindowSDL::gatherInput()
2119 else if (event.button.button == SDL_BUTTON_RIGHT) // right ... yes, it's 3, not 2, in SDL... 2118 else if (event.button.button == SDL_BUTTON_RIGHT) // right ... yes, it's 3, not 2, in SDL...
2120 mCallbacks->handleRightMouseUp(this, openGlCoord, mask); 2119 mCallbacks->handleRightMouseUp(this, openGlCoord, mask);
2121 else if (event.button.button == SDL_BUTTON_MIDDLE) // middle 2120 else if (event.button.button == SDL_BUTTON_MIDDLE) // middle
2122 { 2121 {
2123 mCallbacks->handleMiddleMouseUp(this, openGlCoord, mask); 2122 mCallbacks->handleMiddleMouseUp(this, openGlCoord, mask);
2124 } 2123 }
2125 // don't handle mousewheel here... 2124 // don't handle mousewheel here...
2126 2125
2127 break; 2126 break;
@@ -2175,18 +2174,18 @@ void LLWindowSDL::gatherInput()
2175 } 2174 }
2176 if (event.active.state & SDL_APPACTIVE) 2175 if (event.active.state & SDL_APPACTIVE)
2177 { 2176 {
2178 // Change in iconification/minimization state. 2177 // Change in iconification/minimization state.
2179 if ((!event.active.gain) != mIsMinimized) 2178 if ((!event.active.gain) != mIsMinimized)
2180 { 2179 {
2181 mCallbacks->handleActivate(this, !!event.active.gain); 2180 mCallbacks->handleActivate(this, !!event.active.gain);
2182 llinfos << "SDL deiconification state switched to " << BOOL(event.active.gain) << llendl; 2181 llinfos << "SDL deiconification state switched to " << BOOL(event.active.gain) << llendl;
2183 2182
2184 mIsMinimized = (!event.active.gain); 2183 mIsMinimized = (!event.active.gain);
2185 } 2184 }
2186 else 2185 else
2187 { 2186 {
2188 llinfos << "Ignored bogus redundant SDL deiconification state switch to " << BOOL(event.active.gain) << llendl; 2187 llinfos << "Ignored bogus redundant SDL deiconification state switch to " << BOOL(event.active.gain) << llendl;
2189 } 2188 }
2190 } 2189 }
2191 break; 2190 break;
2192 2191
@@ -2713,6 +2712,7 @@ void spawn_web_browser(const char* escaped_url)
2713 cmd += "launch_url.sh"; 2712 cmd += "launch_url.sh";
2714 char* const argv[] = {(char*)cmd.c_str(), (char*)escaped_url, NULL}; 2713 char* const argv[] = {(char*)cmd.c_str(), (char*)escaped_url, NULL};
2715 2714
2715 fflush(NULL);
2716 pid_t pid = fork(); 2716 pid_t pid = fork();
2717 if (pid == 0) 2717 if (pid == 0)
2718 { // child 2718 { // child
diff --git a/linden/indra/llwindow/llwindowsdl.h b/linden/indra/llwindow/llwindowsdl.h
index 2e75239..aa331ed 100644
--- a/linden/indra/llwindow/llwindowsdl.h
+++ b/linden/indra/llwindow/llwindowsdl.h
@@ -2,6 +2,8 @@
2 * @file llwindowsdl.h 2 * @file llwindowsdl.h
3 * @brief SDL implementation of LLWindow class 3 * @brief SDL implementation of LLWindow class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLWINDOWSDL_H 32#ifndef LL_LLWINDOWSDL_H
diff --git a/linden/indra/llwindow/llwindowsolaris.cpp b/linden/indra/llwindow/llwindowsolaris.cpp
index 7e3c3e6..425e545 100644
--- a/linden/indra/llwindow/llwindowsolaris.cpp
+++ b/linden/indra/llwindow/llwindowsolaris.cpp
@@ -2,6 +2,8 @@
2 * @file fmodwrapper.cpp 2 * @file fmodwrapper.cpp
3 * @brief dummy source file for building a shared library to wrap libfmod.a 3 * @brief dummy source file for building a shared library to wrap libfmod.a
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#if LL_SOLARIS 32#if LL_SOLARIS
diff --git a/linden/indra/llwindow/llwindowsolaris.h b/linden/indra/llwindow/llwindowsolaris.h
index 57aa9b9..7b43197 100644
--- a/linden/indra/llwindow/llwindowsolaris.h
+++ b/linden/indra/llwindow/llwindowsolaris.h
@@ -2,6 +2,8 @@
2 * @file fmodwrapper.cpp 2 * @file fmodwrapper.cpp
3 * @brief dummy source file for building a shared library to wrap libfmod.a 3 * @brief dummy source file for building a shared library to wrap libfmod.a
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLWINDOWSOLARIS_H 32#ifndef LL_LLWINDOWSOLARIS_H
diff --git a/linden/indra/llwindow/llwindowwin32.cpp b/linden/indra/llwindow/llwindowwin32.cpp
index 3a41d01..bb99d4c 100644
--- a/linden/indra/llwindow/llwindowwin32.cpp
+++ b/linden/indra/llwindow/llwindowwin32.cpp
@@ -2,6 +2,8 @@
2 * @file llwindowwin32.cpp 2 * @file llwindowwin32.cpp
3 * @brief Platform-dependent implementation of llwindow 3 * @brief Platform-dependent implementation of llwindow
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
@@ -85,11 +88,10 @@ void show_window_creation_error(const char* title)
85//static 88//static
86BOOL LLWindowWin32::sIsClassRegistered = FALSE; 89BOOL LLWindowWin32::sIsClassRegistered = FALSE;
87 90
88BOOL LLWindowWin32::sLanguageTextInputAllowed = TRUE; /* XXX */ 91BOOL LLWindowWin32::sLanguageTextInputAllowed = TRUE;
89BOOL LLWindowWin32::sWinIMEOpened = FALSE; 92HKL LLWindowWin32::sWinInputLocale = 0;
90HKL LLWindowWin32::sWinInputLocale; 93DWORD LLWindowWin32::sWinIMEConversionMode = IME_CMODE_NATIVE;
91DWORD LLWindowWin32::sWinIMEConversionMode; 94DWORD LLWindowWin32::sWinIMESentenceMode = IME_SMODE_AUTOMATIC;
92DWORD LLWindowWin32::sWinIMESentenceMode;
93 95
94// The following class LLWinImm delegates Windows IMM APIs. 96// The following class LLWinImm delegates Windows IMM APIs.
95// We need this because some language versions of Windows, 97// We need this because some language versions of Windows,
@@ -107,13 +109,15 @@ public:
107 109
108public: 110public:
109 // Wrappers for IMM API. 111 // Wrappers for IMM API.
110 static BOOL isIME(HKL hkl) { return sTheInstance.mImmIsIME(hkl); } 112 static BOOL isIME(HKL hkl);
111 static HIMC getContext(HWND hwnd) { return sTheInstance.mImmGetContext(hwnd); } 113 static HIMC getContext(HWND hwnd);
112 static BOOL releaseContext(HWND hwnd, HIMC himc) { return sTheInstance.mImmReleaseContext(hwnd, himc); } 114 static BOOL releaseContext(HWND hwnd, HIMC himc);
113 static BOOL getOpenStatus(HIMC himc) { return sTheInstance.mImmGetOpenStatus(himc); } 115 static BOOL getOpenStatus(HIMC himc);
114 static BOOL setOpenStatus(HIMC himc, BOOL status) { return sTheInstance.mImmSetOpenStatus(himc, status); } 116 static BOOL setOpenStatus(HIMC himc, BOOL status);
115 static BOOL getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence) { return sTheInstance.mImmGetConversionStatus(himc, conversion, sentence); } 117 static BOOL getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence);
116 static BOOL setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence) { return sTheInstance.mImmSetConversionStatus(himc, conversion, sentence); } 118 static BOOL setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence);
119 static BOOL getCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form);
120 static BOOL setCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form);
117 121
118private: 122private:
119 LLWinImm(); 123 LLWinImm();
@@ -128,6 +132,8 @@ private:
128 BOOL (WINAPI *mImmSetOpenStatus)(HIMC, BOOL); 132 BOOL (WINAPI *mImmSetOpenStatus)(HIMC, BOOL);
129 BOOL (WINAPI *mImmGetConversionStatus)(HIMC, LPDWORD, LPDWORD); 133 BOOL (WINAPI *mImmGetConversionStatus)(HIMC, LPDWORD, LPDWORD);
130 BOOL (WINAPI *mImmSetConversionStatus)(HIMC, DWORD, DWORD); 134 BOOL (WINAPI *mImmSetConversionStatus)(HIMC, DWORD, DWORD);
135 BOOL (WINAPI *mImmGetCompostitionWindow)(HIMC, LPCOMPOSITIONFORM);
136 BOOL (WINAPI *mImmSetCompostitionWindow)(HIMC, LPCOMPOSITIONFORM);
131 137
132private: 138private:
133 HMODULE mHImmDll; 139 HMODULE mHImmDll;
@@ -136,8 +142,13 @@ private:
136 142
137LLWinImm LLWinImm::sTheInstance; 143LLWinImm LLWinImm::sTheInstance;
138 144
139LLWinImm::LLWinImm() 145LLWinImm::LLWinImm() : mHImmDll(NULL)
140{ 146{
147 // Check system metrics
148 if ( !GetSystemMetrics( SM_DBCSENABLED ) )
149 return;
150
151
141 mHImmDll = LoadLibraryA("Imm32"); 152 mHImmDll = LoadLibraryA("Imm32");
142 if (mHImmDll != NULL) 153 if (mHImmDll != NULL)
143 { 154 {
@@ -148,13 +159,18 @@ LLWinImm::LLWinImm()
148 mImmSetOpenStatus = (BOOL (WINAPI *)(HIMC, BOOL)) GetProcAddress(mHImmDll, "ImmSetOpenStatus"); 159 mImmSetOpenStatus = (BOOL (WINAPI *)(HIMC, BOOL)) GetProcAddress(mHImmDll, "ImmSetOpenStatus");
149 mImmGetConversionStatus = (BOOL (WINAPI *)(HIMC, LPDWORD, LPDWORD)) GetProcAddress(mHImmDll, "ImmGetConversionStatus"); 160 mImmGetConversionStatus = (BOOL (WINAPI *)(HIMC, LPDWORD, LPDWORD)) GetProcAddress(mHImmDll, "ImmGetConversionStatus");
150 mImmSetConversionStatus = (BOOL (WINAPI *)(HIMC, DWORD, DWORD)) GetProcAddress(mHImmDll, "ImmSetConversionStatus"); 161 mImmSetConversionStatus = (BOOL (WINAPI *)(HIMC, DWORD, DWORD)) GetProcAddress(mHImmDll, "ImmSetConversionStatus");
162 mImmGetCompostitionWindow = (BOOL (WINAPI *)(HIMC, LPCOMPOSITIONFORM)) GetProcAddress(mHImmDll, "ImmGetCompositionWindow");
163 mImmSetCompostitionWindow = (BOOL (WINAPI *)(HIMC, LPCOMPOSITIONFORM)) GetProcAddress(mHImmDll, "ImmSetCompositionWindow");
164
151 if (mImmIsIME == NULL || 165 if (mImmIsIME == NULL ||
152 mImmGetContext == NULL || 166 mImmGetContext == NULL ||
153 mImmReleaseContext == NULL || 167 mImmReleaseContext == NULL ||
154 mImmGetOpenStatus == NULL || 168 mImmGetOpenStatus == NULL ||
155 mImmSetOpenStatus == NULL || 169 mImmSetOpenStatus == NULL ||
156 mImmGetConversionStatus == NULL || 170 mImmGetConversionStatus == NULL ||
157 mImmSetConversionStatus == NULL) 171 mImmSetConversionStatus == NULL ||
172 mImmGetCompostitionWindow == NULL ||
173 mImmSetCompostitionWindow == NULL)
158 { 174 {
159 // If any of the above API entires are not found, we can't use IMM API. 175 // If any of the above API entires are not found, we can't use IMM API.
160 // So, turn off the IMM support. We should log some warning message in 176 // So, turn off the IMM support. We should log some warning message in
@@ -165,10 +181,96 @@ LLWinImm::LLWinImm()
165 // is one of disadvantages to use static constraction to DLL loading. 181 // is one of disadvantages to use static constraction to DLL loading.
166 FreeLibrary(mHImmDll); 182 FreeLibrary(mHImmDll);
167 mHImmDll = NULL; 183 mHImmDll = NULL;
184
185 // If we unload the library, make sure all the function pointers are cleared
186 mImmIsIME = NULL;
187 mImmGetContext = NULL;
188 mImmReleaseContext = NULL;
189 mImmGetOpenStatus = NULL;
190 mImmSetOpenStatus = NULL;
191 mImmGetConversionStatus = NULL;
192 mImmSetConversionStatus = NULL;
193 mImmGetCompostitionWindow = NULL;
194 mImmSetCompostitionWindow = NULL;
168 } 195 }
169 } 196 }
170} 197}
171 198
199
200// static
201BOOL LLWinImm::isIME(HKL hkl)
202{
203 if ( sTheInstance.mImmIsIME )
204 return sTheInstance.mImmIsIME(hkl);
205 return FALSE;
206}
207
208// static
209HIMC LLWinImm::getContext(HWND hwnd)
210{
211 if ( sTheInstance.mImmGetContext )
212 return sTheInstance.mImmGetContext(hwnd);
213 return 0;
214}
215
216//static
217BOOL LLWinImm::releaseContext(HWND hwnd, HIMC himc)
218{
219 if ( sTheInstance.mImmIsIME )
220 return sTheInstance.mImmReleaseContext(hwnd, himc);
221 return FALSE;
222}
223
224// static
225BOOL LLWinImm::getOpenStatus(HIMC himc)
226{
227 if ( sTheInstance.mImmGetOpenStatus )
228 return sTheInstance.mImmGetOpenStatus(himc);
229 return FALSE;
230}
231
232// static
233BOOL LLWinImm::setOpenStatus(HIMC himc, BOOL status)
234{
235 if ( sTheInstance.mImmSetOpenStatus )
236 return sTheInstance.mImmSetOpenStatus(himc, status);
237 return FALSE;
238}
239
240// static
241BOOL LLWinImm::getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence)
242{
243 if ( sTheInstance.mImmGetConversionStatus )
244 return sTheInstance.mImmGetConversionStatus(himc, conversion, sentence);
245 return FALSE;
246}
247
248// static
249BOOL LLWinImm::setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence)
250{
251 if ( sTheInstance.mImmSetConversionStatus )
252 return sTheInstance.mImmSetConversionStatus(himc, conversion, sentence);
253 return FALSE;
254}
255
256// static
257BOOL LLWinImm::getCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form)
258{
259 if ( sTheInstance.mImmGetCompostitionWindow )
260 return sTheInstance.mImmGetCompostitionWindow(himc, form);
261 return FALSE;
262}
263
264// static
265BOOL LLWinImm::setCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form)
266{
267 if ( sTheInstance.mImmSetCompostitionWindow )
268 return sTheInstance.mImmSetCompostitionWindow(himc, form);
269 return FALSE;
270}
271
272
273// ----------------------------------------------------------------------------------------
172LLWinImm::~LLWinImm() 274LLWinImm::~LLWinImm()
173{ 275{
174 if (mHImmDll != NULL) 276 if (mHImmDll != NULL)
@@ -3222,53 +3324,74 @@ void LLWindowWin32::focusClient()
3222 3324
3223void LLWindowWin32::allowLanguageTextInput(BOOL b) 3325void LLWindowWin32::allowLanguageTextInput(BOOL b)
3224{ 3326{
3225 if (b == sLanguageTextInputAllowed || !LLWinImm::isAvailable()) 3327 if ( !LLWinImm::isAvailable() )
3226 { 3328 {
3227 /* Not actually allowing/disallowing. Do nothing. */
3228 return; 3329 return;
3229 } 3330 }
3230 sLanguageTextInputAllowed = b; 3331 sLanguageTextInputAllowed = b;
3231 3332
3232 if (b) 3333 if (b)
3233 { 3334 {
3234 /* Allowing: Restore the previous IME status, 3335 // Allowing: Restore the previous IME status, so that the user has a feeling that the previous
3235 so that the user has a feeling that the previous 3336 // text input continues naturally. Be careful, however, the IME status is meaningful only during the user keeps
3236 text input continues naturally. Be careful, however, 3337 // using same Input Locale (aka Keyboard Layout).
3237 the IME status is meaningful only during the user keeps 3338 HIMC himc = LLWinImm::getContext(mWindowHandle);
3238 using same Input Locale (aka Keyboard Layout). */ 3339 LLWinImm::setOpenStatus(himc, TRUE);
3239 if (sWinIMEOpened && GetKeyboardLayout(0) == sWinInputLocale) 3340 if (GetKeyboardLayout(0) == sWinInputLocale && sWinIMEConversionMode != IME_CMODE_RESERVED)
3240 { 3341 {
3241 HIMC himc = LLWinImm::getContext(mWindowHandle);
3242 LLWinImm::setOpenStatus(himc, TRUE);
3243 LLWinImm::setConversionStatus(himc, sWinIMEConversionMode, sWinIMESentenceMode); 3342 LLWinImm::setConversionStatus(himc, sWinIMEConversionMode, sWinIMESentenceMode);
3244 LLWinImm::releaseContext(mWindowHandle, himc); 3343 sWinIMEConversionMode = IME_CMODE_RESERVED; // Set saved state so we won't do this repeatedly
3245 } 3344 }
3345 LLWinImm::releaseContext(mWindowHandle, himc);
3246 } 3346 }
3247 else 3347 else
3248 { 3348 {
3249 /* Disallowing: Turn off the IME so that succeeding 3349 // Disallowing: Turn off the IME so that succeeding key events bypass IME and come to us directly.
3250 key events bypass IME and come to us directly. 3350 // However, do it after saving the current IME status. We need to restore the status when
3251 However, do it after saving the current IME 3351 // allowing language text input again.
3252 status. We need to restore the status when
3253 allowing language text input again. */
3254 sWinInputLocale = GetKeyboardLayout(0); 3352 sWinInputLocale = GetKeyboardLayout(0);
3255 sWinIMEOpened = LLWinImm::isIME(sWinInputLocale); 3353 if ( LLWinImm::isIME(sWinInputLocale) )
3256 if (sWinIMEOpened)
3257 { 3354 {
3258 HIMC himc = LLWinImm::getContext(mWindowHandle); 3355 HIMC himc = LLWinImm::getContext(mWindowHandle);
3259 sWinIMEOpened = LLWinImm::getOpenStatus(himc); 3356 if ( LLWinImm::getOpenStatus(himc) )
3260 if (sWinIMEOpened)
3261 { 3357 {
3262 LLWinImm::getConversionStatus(himc, &sWinIMEConversionMode, &sWinIMESentenceMode); 3358 LLWinImm::getConversionStatus(himc, &sWinIMEConversionMode, &sWinIMESentenceMode);
3263 3359
3264 /* We need both ImmSetConversionStatus and ImmSetOpenStatus here 3360 // We need both ImmSetConversionStatus and ImmSetOpenStatus here to surely disable IME's
3265 to surely disable IME's keyboard hooking, because Some IME reacts 3361 // keyboard hooking, because Some IME reacts only on the former and some other on the latter...
3266 only on the former and some other on the latter... */
3267 LLWinImm::setConversionStatus(himc, IME_CMODE_NOCONVERSION, sWinIMESentenceMode); 3362 LLWinImm::setConversionStatus(himc, IME_CMODE_NOCONVERSION, sWinIMESentenceMode);
3268 LLWinImm::setOpenStatus(himc, FALSE); 3363 LLWinImm::setOpenStatus(himc, FALSE);
3269 } 3364 }
3270 LLWinImm::releaseContext(mWindowHandle, himc); 3365 LLWinImm::releaseContext(mWindowHandle, himc);
3366 }
3367 }
3368
3369}
3370
3371
3372// Put the IME window at the right place (near current text input). Point coordinates should be the top of the current text line.
3373void LLWindowWin32::setLanguageTextInput( const LLCoordGL & position )
3374{
3375 if (sLanguageTextInputAllowed && LLWinImm::isAvailable())
3376 {
3377 HIMC himc = LLWinImm::getContext(mWindowHandle);
3378
3379 LLCoordWindow win_pos;
3380 convertCoords( position, &win_pos );
3381
3382 if ( win_pos.mX >= 0 && win_pos.mY >= 0 )
3383 {
3384 COMPOSITIONFORM ime_form;
3385 memset( &ime_form, 0, sizeof(ime_form) );
3386 ime_form.dwStyle = CFS_POINT;
3387 ime_form.ptCurrentPos.x = win_pos.mX;
3388 ime_form.ptCurrentPos.y = win_pos.mY;
3389
3390 LLWinImm::setCompositionWindow( himc, &ime_form );
3271 } 3391 }
3392
3393 LLWinImm::releaseContext(mWindowHandle, himc);
3394
3272 } 3395 }
3273} 3396}
3274 3397
diff --git a/linden/indra/llwindow/llwindowwin32.h b/linden/indra/llwindow/llwindowwin32.h
index 0f0cf7c..938ece9 100644
--- a/linden/indra/llwindow/llwindowwin32.h
+++ b/linden/indra/llwindow/llwindowwin32.h
@@ -2,6 +2,8 @@
2 * @file llwindowwin32.h 2 * @file llwindowwin32.h
3 * @brief Windows implementation of LLWindow class 3 * @brief Windows implementation of LLWindow class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLWINDOWWIN32_H 32#ifndef LL_LLWINDOWWIN32_H
@@ -107,6 +110,7 @@ public:
107 /*virtual*/ void focusClient(); 110 /*virtual*/ void focusClient();
108 111
109 /*virtual*/ void allowLanguageTextInput(BOOL b); 112 /*virtual*/ void allowLanguageTextInput(BOOL b);
113 /*virtual*/ void setLanguageTextInput( const LLCoordGL & pos );
110 114
111protected: 115protected:
112 LLWindowWin32( 116 LLWindowWin32(
@@ -176,11 +180,10 @@ protected:
176 BOOL mMousePositionModified; 180 BOOL mMousePositionModified;
177 BOOL mInputProcessingPaused; 181 BOOL mInputProcessingPaused;
178 182
179 // The following five variables are for Language Text Input control. 183 // The following variables are for Language Text Input control.
180 // They are all static, since one context is shared by all LLWindowWin32 184 // They are all static, since one context is shared by all LLWindowWin32
181 // instances. 185 // instances.
182 static BOOL sLanguageTextInputAllowed; 186 static BOOL sLanguageTextInputAllowed;
183 static BOOL sWinIMEOpened;
184 static HKL sWinInputLocale; 187 static HKL sWinInputLocale;
185 static DWORD sWinIMEConversionMode; 188 static DWORD sWinIMEConversionMode;
186 static DWORD sWinIMESentenceMode; 189 static DWORD sWinIMESentenceMode;