Commit Graph

667 Commits (eb06fba7679704a7870e3d91f2166bf7e63e5641)

Author SHA1 Message Date
Ansariel 07f24a3d3d FIRE-20416: Option to enable automatic UI scaling 2016-11-25 15:49:27 +01:00
Ansariel 12f0dd7c60 Fix DPI scaling calculation 2016-11-19 12:05:40 +01:00
Ansariel f1011a1e19 Merge Firestorm LGPL 2016-10-11 21:08:24 +02:00
Ansariel 92f6d8d521 Merge viewer-bear 2016-10-01 17:03:57 +02:00
Ansariel 2cd7b679db Merge Firestorm LGPL 2016-10-01 16:24:43 +02:00
Nicky 22adf7c422 Merge. 2016-09-27 11:50:04 +02:00
Nicky d7a0835432 Merge. 2016-09-26 21:12:34 +02:00
Ansariel b65fe10749 Stop flashing the taskbar icon on Windows if the viewer gains focus; also fix an edge case where it sometimes wouldn't flash 2016-09-26 17:00:42 +02:00
Ansariel bb7cbe7cff Small improvements to UI DPI scaling on Windows:
* Use USER_DEFAULT_SCREEN_DPI define from WinUser.h
* Change Win32 SDK target version to Windows Vista or greater
* Define WM_DPICHANGED as preprocessor definition as in WinUser.h
* Cull manual definitions of WM_MOUSEWHEEL and WHEEL_DELTA which are part of the Win32 SDK since Windows NT 4.0
2016-09-20 21:16:39 +02:00
Ansariel 89fcc2f553 Minor improvements to UI scaling 2016-08-21 12:46:15 +02:00
Ansariel 4da402dd23 Merge viewer-bear 2016-08-21 12:39:18 +02:00
Ansariel c48bf0a156 Backed out changeset: 79b4f86861fb 2016-08-21 03:31:26 +02:00
AndreyL ProductEngine ea4b5e60d9 Fixed line endings in llwindowwin32.cpp 2016-08-20 14:28:03 +03:00
pavelkproductengine cf93c1c81d MAINT-5992 Second Life unusable on Windows 10 with 4k monitor SL forcibly overrides DPI compatibility option 2016-08-18 19:43:48 +03:00
Ansariel 842b2a6791 More fixing to the system UI scaling detection:
* Pass the screen coordinates of the viewer window to getSystemUISize and default to MONITOR_DEFAULTTONEAREST so we get the scaling of the monitor the viewer is running on
* Free shcore.dll as soon as we're done
2016-07-28 00:07:55 +02:00
Ansariel b9fa2329d2 Set DPI awareness via manifest as per https://msdn.microsoft.com/en-US/library/windows/desktop/dn302122(v=vs.85).aspx and also get the scaling from the primary display, assuming the viewer will open there and which might not be the display nearest to screen coordinate 1/1 2016-07-27 22:53:49 +02:00
Ansariel 594b760c52 Type fix 2016-07-26 19:56:16 +02:00
Ansariel 9153b343f2 Merge viewer-bear 2016-07-26 19:55:17 +02:00
pavelkproductengine 070116f212 MAINT-6493 SL Viewer does not respect the Windows 10 display setting size slider 2016-07-13 20:28:29 +03:00
Ansariel 33ca7d27f7 Add more logging output regarding VRAM detection on Windows 2016-07-25 14:29:22 +02:00
Nat Goodspeed 464a0df4c1 DRTVWR-418: Unify control flow through LLAppViewer across platforms.
The LLApp API used to consist of init(), mainLoop(), cleanup() methods. This
makes sense -- but on Mac that structure was being subverted. The method
called mainLoop() was in fact being called once per frame. There was
initialization code in the method, which (on Mac) needed to be skipped with an
already-initialized bool. There was a 'while' loop which (on Mac) needed to be
turned into an 'if' instead so the method would return after every frame.

Rename LLApp::mainLoop() to frame(). Propagate through subclasses LLAppViewer
and LLCrashLogger. Document the fact that frame() returns true to mean "done."
(This was always the case, but had to be inferred from the code.)

Rename the Mac Objective-C function mainLoop to oneFrame. Rename the C++ free
function it calls from runMainLoop() to pumpMainLoop(). Add comments to
llappdelegate-objc.mm explaining (inferred) control flow.

Change the Linux viewer main() and the Windows viewer WINMAIN() from a single
LLAppViewer::mainLoop() call to repeatedly call frame() until it returns true.

Move initialization code from the top of LLAppViewer::frame() to the init()
method, where it more properly belongs. Remove corresponding
mMainLoopInitialized flag (and all references) from LLAppViewer.

Remove 'while (! LLApp::isExiting())' (or on Mac, 'if (! LLApp::isExiting())')
from LLAppViewer::frame() -- thus unindenting the whole body of the 'while'
and causing many lines of apparent change. (Apologies to reviewers.)

There are four LLApp states: APP_STATUS_RUNNING, APP_STATUS_QUITTING,
APP_STATUS_STOPPED and APP_STATUS_ERROR. Change LLAppViewer::frame() return
value from (isExiting()) (QUITTING or ERROR) to (! isRunning()). I do not know
under what circumstances the state might transition to STOPPED during a
frame() call, but I'm quite sure that if it does, we don't want to call
frame() again. We only want a subsequent call if the state is RUNNING.

Also rename mainLoop() method in LLCrashLogger subclasses
LLCrashLoggerWindows, LLCrashLoggerMac, LLCrashLoggerLinux. Of course it's
completely up to the frame() method whether to yield control; none of those in
fact do. Honor protocol by returning true (frame() is done), even though each
one's main() caller ignores the return value.

In fact LLCrashLoggerWindows::mainLoop() wasn't using the return protocol
correctly anyway, returning wParam or 0 or 1 -- possibly because the return
protocol was never explicitly documented. It should always return true: "I'm
done, don't call me again."
2016-06-30 16:51:50 -04:00
Oz Linden 950c41d184 merge 4.0.4-release and MAINT-5974 2016-05-06 10:28:42 -04:00
AndreyL ProductEngine 56f736b654 Merged in cinderblocks/storm-2127 2016-04-21 22:48:32 +03:00
Cinder c2c0c537bb STORM-2127 - Fix NSException when assigning values that don't exist in cocoa modifier key event. 2016-04-20 16:13:17 -06:00
Tonya Souther cc4ef52b97 Build fixes for C++11 on OS X. Includes several rebuilt libraries. 2016-06-21 15:57:18 -05:00
Ansariel a0188a5358 Merge Firestorm LGPL 2016-05-09 12:41:24 +02:00
Ansariel 092a090747 Merge changes from Firestorm LGPL 2016-05-09 09:52:40 +02:00
Ansariel d8a12d3f11 Merge Firestorm LGPL 2016-05-09 09:45:25 +02:00
Ansariel 2d85844a3a FIRE-18245: Taskbar icon only flashes if window is minimized, not if unfocused 2016-05-04 10:42:05 +02:00
Ansariel 2fc4562c9f Merge viewer-bear 2016-04-23 11:52:26 +02:00
Ansariel 10b73565f2 Merge viewer-bear 2016-04-14 15:07:39 +02:00
Mnikolenko ProductEngine c7e2c496ab MAINT-6294 FIXED Cursor became invisible after typing in any input field (OS X) 2016-04-07 11:28:37 +03:00
Ansariel 2797c5938a Merge Firestorm LGPL 2016-04-05 10:47:23 +02:00
Ansariel df4205dc46 Merge viewer-bear 2016-04-02 03:52:29 +02:00
Ansariel 10a4cc5f98 Merge Firestorm LGPL 2016-04-02 02:54:16 +02:00
Mnikolenko ProductEngine 272d40a089 MAINT-6239 [Mac] Computer cursor appears attached to crosshair after using modifier keys in mouselook 2016-03-29 13:30:00 +03:00
Mnikolenko ProductEngine ca1d7da571 MAINT-3171 Alt-clicking while moving mouse can move the camera significantly 2016-03-21 17:58:39 +02:00
Ansariel 1bba3dfbe4 Merge viewer-bear 2016-03-17 21:14:49 +01:00
Ansariel 3192fe832f Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
Nicky cb0017e821 Merge. 2016-02-29 14:23:07 +01:00
Mnikolenko ProductEngine 9ed050e0e0 MAINT-3171 WIP Alt-clicking while moving mouse can move the camera significantly 2016-03-10 14:31:16 +02:00
Nicky f10e23cf36 Store sdl keynoard symbol and add it to the LLSD returned from getNativeKeyData. 2016-02-17 00:53:35 +01:00
Oz Linden bc22e58743 merge changes for 4.0.1-release 2016-01-15 16:55:04 -05:00
Nicky 4b7fb09a47 Merge. 2015-12-21 19:16:34 +01:00
Nicky 3980cdca3e Merge 2015-12-09 07:11:36 +01:00
rider eb484d5051 MAINT-5909: Enable unicode text input on mac and feed that directly into the viewer. Windows fixes still required. 2015-12-03 13:32:06 -08:00
Nicky 3f1a78cee9 Merge with CEF tip. 2015-11-24 15:28:05 +01:00
rider c2ad041c23 Encode keyboard event for reconstruction in the plugin. 2015-11-13 16:22:34 -08:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Nicky b260451633 Merge. 2015-11-09 12:21:49 +01:00