SL-13507 Viewer should log resolution of all associated displays

master
Mnikolenko ProductEngine 2020-07-20 17:09:04 +03:00
parent 44906ac0d4
commit 4d27b11a16
3 changed files with 34 additions and 0 deletions

View File

@ -268,6 +268,8 @@ std::vector<std::string> LLWindow::getDisplaysResolutionList()
{
#if LL_WINDOWS
return LLWindowWin32::getDisplaysResolutionList();
#elif LL_DARWIN
return LLWindowMacOSX::getDisplaysResolutionList();
#else
return std::vector<std::string>();
#endif

View File

@ -41,6 +41,7 @@
#include <OpenGL/OpenGL.h>
#include <Carbon/Carbon.h>
#include <CoreServices/CoreServices.h>
#include <CoreGraphics/CGDisplayConfiguration.h>
extern BOOL gDebugWindowProc;
BOOL gHiDPISupport = TRUE;
@ -1911,6 +1912,35 @@ void LLWindowMacOSX::interruptLanguageTextInput()
commitCurrentPreedit(mGLView);
}
std::vector<std::string> LLWindowMacOSX::getDisplaysResolutionList()
{
std::vector<std::string> resolution_list;
CGDirectDisplayID display_ids[10];
uint32_t found_displays = 0;
CGError err = CGGetActiveDisplayList(10, display_ids, &found_displays);
if (kCGErrorSuccess != err)
{
LL_WARNS() << "Couldn't get a list of active displays" << LL_ENDL;
return std::vector<std::string>();
}
for (uint32_t i = 0; i < found_displays; i++)
{
S32 monitor_width = CGDisplayPixelsWide(display_ids[i]);
S32 monitor_height = CGDisplayPixelsHigh(display_ids[i]);
std::ostringstream sstream;
sstream << monitor_width << "x" << monitor_height;;
std::string res = sstream.str();
resolution_list.push_back(res);
}
return resolution_list;
}
//static
std::vector<std::string> LLWindowMacOSX::getDynamicFallbackFontList()
{

View File

@ -114,6 +114,8 @@ public:
/*virtual*/ void spawnWebBrowser(const std::string& escaped_url, bool async);
/*virtual*/ F32 getSystemUISize();
static std::vector<std::string> getDisplaysResolutionList();
static std::vector<std::string> getDynamicFallbackFontList();
// Provide native key event data