From 5cde118ec848cc9053a3a502daeecb417c8cfc18 Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Tue, 27 Apr 2021 22:52:00 +0300
Subject: SL-14664 Added zoomout and sizeall

Remade code to use getCursorFromString
---
 indra/llwindow/llcursortypes.cpp                   |   2 +
 indra/llwindow/llcursortypes.h                     |   2 +
 indra/llwindow/llwindowmacosx.cpp                  |   2 +
 indra/llwindow/llwindowsdl.cpp                     |   2 +
 indra/llwindow/llwindowwin32.cpp                   |   6 ++-
 indra/media_plugins/cef/media_plugin_cef.cpp       |  42 ++++++++--------
 indra/newview/cursors_mac/UI_CURSOR_SIZEALL.tif    | Bin 0 -> 624 bytes
 .../newview/cursors_mac/UI_CURSOR_TOOLZOOMOUT.tif  | Bin 0 -> 576 bytes
 indra/newview/llviewermedia.cpp                    |  53 +--------------------
 indra/newview/res-sdl/lltoolzoomout.BMP            | Bin 2102 -> 630 bytes
 indra/newview/res-sdl/sizeall.BMP                  | Bin 0 -> 630 bytes
 indra/newview/res/lltoolzoomout.cur                | Bin 326 -> 326 bytes
 12 files changed, 36 insertions(+), 73 deletions(-)
 create mode 100644 indra/newview/cursors_mac/UI_CURSOR_SIZEALL.tif
 create mode 100644 indra/newview/cursors_mac/UI_CURSOR_TOOLZOOMOUT.tif
 create mode 100644 indra/newview/res-sdl/sizeall.BMP

(limited to 'indra')

diff --git a/indra/llwindow/llcursortypes.cpp b/indra/llwindow/llcursortypes.cpp
index ec60097195..3079cc2419 100644
--- a/indra/llwindow/llcursortypes.cpp
+++ b/indra/llwindow/llcursortypes.cpp
@@ -42,6 +42,7 @@ ECursorType getCursorFromString(const std::string& cursor_string)
 		cursor_string_table["UI_CURSOR_SIZENESW"] = UI_CURSOR_SIZENESW;
 		cursor_string_table["UI_CURSOR_SIZEWE"] = UI_CURSOR_SIZEWE;
 		cursor_string_table["UI_CURSOR_SIZENS"] = UI_CURSOR_SIZENS;
+		cursor_string_table["UI_CURSOR_SIZEALL"] = UI_CURSOR_SIZEALL;
 		cursor_string_table["UI_CURSOR_NO"] = UI_CURSOR_NO;
 		cursor_string_table["UI_CURSOR_WORKING"] = UI_CURSOR_WORKING;
 		cursor_string_table["UI_CURSOR_TOOLGRAB"] = UI_CURSOR_TOOLGRAB;
@@ -61,6 +62,7 @@ ECursorType getCursorFromString(const std::string& cursor_string)
 		cursor_string_table["UI_CURSOR_TOOLCAMERA"] = UI_CURSOR_TOOLCAMERA;
 		cursor_string_table["UI_CURSOR_TOOLPAN"] = UI_CURSOR_TOOLPAN;
 		cursor_string_table["UI_CURSOR_TOOLZOOMIN"] = UI_CURSOR_TOOLZOOMIN;
+		cursor_string_table["UI_CURSOR_TOOLZOOMOUT"] = UI_CURSOR_TOOLZOOMOUT;
 		cursor_string_table["UI_CURSOR_TOOLPICKOBJECT3"] = UI_CURSOR_TOOLPICKOBJECT3;
 		cursor_string_table["UI_CURSOR_TOOLPLAY"] = UI_CURSOR_TOOLPLAY;
 		cursor_string_table["UI_CURSOR_TOOLPAUSE"] = UI_CURSOR_TOOLPAUSE;
diff --git a/indra/llwindow/llcursortypes.h b/indra/llwindow/llcursortypes.h
index cb6d6636a0..d03b18e275 100644
--- a/indra/llwindow/llcursortypes.h
+++ b/indra/llwindow/llcursortypes.h
@@ -38,6 +38,7 @@ enum ECursorType {
 	UI_CURSOR_SIZENESW,
 	UI_CURSOR_SIZEWE,
 	UI_CURSOR_SIZENS,
+	UI_CURSOR_SIZEALL,
 	UI_CURSOR_NO,
 	UI_CURSOR_WORKING,
 	UI_CURSOR_TOOLGRAB,
@@ -57,6 +58,7 @@ enum ECursorType {
 	UI_CURSOR_TOOLCAMERA,
 	UI_CURSOR_TOOLPAN,
 	UI_CURSOR_TOOLZOOMIN,
+	UI_CURSOR_TOOLZOOMOUT,
 	UI_CURSOR_TOOLPICKOBJECT3,
 	UI_CURSOR_TOOLPLAY,
 	UI_CURSOR_TOOLPAUSE,
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 2604a23c85..e288ccb842 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -1422,6 +1422,7 @@ const char* cursorIDToName(int id)
 		case UI_CURSOR_SIZENESW:						return "UI_CURSOR_SIZENESW";
 		case UI_CURSOR_SIZEWE:							return "UI_CURSOR_SIZEWE";
 		case UI_CURSOR_SIZENS:							return "UI_CURSOR_SIZENS";
+		case UI_CURSOR_SIZEALL:							return "UI_CURSOR_SIZEALL";
 		case UI_CURSOR_NO:								return "UI_CURSOR_NO";
 		case UI_CURSOR_WORKING:							return "UI_CURSOR_WORKING";
 		case UI_CURSOR_TOOLGRAB:						return "UI_CURSOR_TOOLGRAB";
@@ -1441,6 +1442,7 @@ const char* cursorIDToName(int id)
 		case UI_CURSOR_TOOLCAMERA:						return "UI_CURSOR_TOOLCAMERA";
 		case UI_CURSOR_TOOLPAN:							return "UI_CURSOR_TOOLPAN";
 		case UI_CURSOR_TOOLZOOMIN:						return "UI_CURSOR_TOOLZOOMIN";
+		case UI_CURSOR_TOOLZOOMOUT:						return "UI_CURSOR_TOOLZOOMOUT";
 		case UI_CURSOR_TOOLPICKOBJECT3:					return "UI_CURSOR_TOOLPICKOBJECT3";
 		case UI_CURSOR_TOOLPLAY:						return "UI_CURSOR_TOOLPLAY";
 		case UI_CURSOR_TOOLPAUSE:						return "UI_CURSOR_TOOLPAUSE";
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index c20e639fc7..ef81c82685 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -2114,6 +2114,7 @@ void LLWindowSDL::initCursors()
 	mSDLCursors[UI_CURSOR_SIZENESW] = makeSDLCursorFromBMP("sizenesw.BMP",17,17);
 	mSDLCursors[UI_CURSOR_SIZEWE] = makeSDLCursorFromBMP("sizewe.BMP",16,14);
 	mSDLCursors[UI_CURSOR_SIZENS] = makeSDLCursorFromBMP("sizens.BMP",17,16);
+    mSDLCursors[UI_CURSOR_SIZEALL] = makeSDLCursorFromBMP("sizeall.BMP", 17, 17);
 	mSDLCursors[UI_CURSOR_NO] = makeSDLCursorFromBMP("llno.BMP",8,8);
 	mSDLCursors[UI_CURSOR_WORKING] = makeSDLCursorFromBMP("working.BMP",12,15);
 	mSDLCursors[UI_CURSOR_TOOLGRAB] = makeSDLCursorFromBMP("lltoolgrab.BMP",2,13);
@@ -2133,6 +2134,7 @@ void LLWindowSDL::initCursors()
 	mSDLCursors[UI_CURSOR_TOOLCAMERA] = makeSDLCursorFromBMP("lltoolcamera.BMP",7,5);
 	mSDLCursors[UI_CURSOR_TOOLPAN] = makeSDLCursorFromBMP("lltoolpan.BMP",7,5);
 	mSDLCursors[UI_CURSOR_TOOLZOOMIN] = makeSDLCursorFromBMP("lltoolzoomin.BMP",7,5);
+    mSDLCursors[UI_CURSOR_TOOLZOOMOUT] = makeSDLCursorFromBMP("lltoolzoomout.BMP", 7, 5);
 	mSDLCursors[UI_CURSOR_TOOLPICKOBJECT3] = makeSDLCursorFromBMP("toolpickobject3.BMP",0,0);
 	mSDLCursors[UI_CURSOR_TOOLPLAY] = makeSDLCursorFromBMP("toolplay.BMP",0,0);
 	mSDLCursors[UI_CURSOR_TOOLPAUSE] = makeSDLCursorFromBMP("toolpause.BMP",0,0);
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index e8abb9f31a..38f537b251 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -1814,8 +1814,9 @@ void LLWindowWin32::initCursors()
 	mCursor[ UI_CURSOR_CROSS ]		= LoadCursor(NULL, IDC_CROSS);
 	mCursor[ UI_CURSOR_SIZENWSE ]	= LoadCursor(NULL, IDC_SIZENWSE);
 	mCursor[ UI_CURSOR_SIZENESW ]	= LoadCursor(NULL, IDC_SIZENESW);
-	mCursor[ UI_CURSOR_SIZEWE ]		= LoadCursor(NULL, IDC_SIZEWE);  
-	mCursor[ UI_CURSOR_SIZENS ]		= LoadCursor(NULL, IDC_SIZENS);  
+	mCursor[ UI_CURSOR_SIZEWE ]		= LoadCursor(NULL, IDC_SIZEWE);
+	mCursor[ UI_CURSOR_SIZENS ]		= LoadCursor(NULL, IDC_SIZENS);
+	mCursor[ UI_CURSOR_SIZEALL ]	= LoadCursor(NULL, IDC_SIZEALL);
 	mCursor[ UI_CURSOR_NO ]			= LoadCursor(NULL, IDC_NO);
 	mCursor[ UI_CURSOR_WORKING ]	= LoadCursor(NULL, IDC_APPSTARTING); 
 
@@ -1837,6 +1838,7 @@ void LLWindowWin32::initCursors()
 	mCursor[ UI_CURSOR_TOOLCAMERA ]	= LoadCursor(module, TEXT("TOOLCAMERA"));
 	mCursor[ UI_CURSOR_TOOLPAN ]	= LoadCursor(module, TEXT("TOOLPAN"));
 	mCursor[ UI_CURSOR_TOOLZOOMIN ] = LoadCursor(module, TEXT("TOOLZOOMIN"));
+	mCursor[ UI_CURSOR_TOOLZOOMOUT ] = LoadCursor(module, TEXT("TOOLZOOMOUT"));
 	mCursor[ UI_CURSOR_TOOLPICKOBJECT3 ] = LoadCursor(module, TEXT("TOOLPICKOBJECT3"));
 	mCursor[ UI_CURSOR_PIPETTE ] = LoadCursor(module, TEXT("TOOLPIPETTE"));
 	mCursor[ UI_CURSOR_TOOLSIT ]	= LoadCursor(module, TEXT("TOOLSIT"));
diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp
index 7f3c159caa..d5bfd7eda0 100644
--- a/indra/media_plugins/cef/media_plugin_cef.cpp
+++ b/indra/media_plugins/cef/media_plugin_cef.cpp
@@ -383,43 +383,46 @@ void MediaPluginCEF::onCursorChangedCallback(dullahan::ECursorType type)
 
 	switch (type)
 	{
-		case dullahan::CT_POINTER:
-			name = "arrow";
-			break;
+        case dullahan::CT_POINTER:
+            name = "UI_CURSOR_ARROW";
+            break;
         case dullahan::CT_CROSS:
-            name = "cross";
+            name = "UI_CURSOR_CROSS";
             break;
         case dullahan::CT_HAND:
-            name = "hand";
+            name = "UI_CURSOR_HAND";
             break;
 		case dullahan::CT_IBEAM:
-			name = "ibeam";
+			name = "UI_CURSOR_IBEAM";
 			break;
         case dullahan::CT_WAIT:
-            name = "wait";
+            name = "UI_CURSOR_WAIT";
             break;
         //case dullahan::CT_HELP:
         case dullahan::CT_ROWRESIZE:
         case dullahan::CT_NORTHRESIZE:
         case dullahan::CT_SOUTHRESIZE:
         case dullahan::CT_NORTHSOUTHRESIZE:
-            name = "split_ns";
+            name = "UI_CURSOR_SIZENS";
             break;
         case dullahan::CT_COLUMNRESIZE:
         case dullahan::CT_EASTRESIZE:
         case dullahan::CT_WESTRESIZE:
         case dullahan::CT_EASTWESTRESIZE:
-            name = "split_we";
+            name = "UI_CURSOR_SIZEWE";
             break;
         case dullahan::CT_NORTHEASTRESIZE:
         case dullahan::CT_SOUTHWESTRESIZE:
         case dullahan::CT_NORTHEASTSOUTHWESTRESIZE:
-            name = "split_nesw";
+            name = "UI_CURSOR_SIZENESW";
             break;
         case dullahan::CT_SOUTHEASTRESIZE:
         case dullahan::CT_NORTHWESTRESIZE:
         case dullahan::CT_NORTHWESTSOUTHEASTRESIZE:
-            name = "split_nwse";
+            name = "UI_CURSOR_SIZENWSE";
+            break;
+        case dullahan::CT_MOVE:
+            name = "UI_CURSOR_SIZEALL";
             break;
         //case dullahan::CT_MIDDLEPANNING:
         //case dullahan::CT_EASTPANNING:
@@ -430,32 +433,33 @@ void MediaPluginCEF::onCursorChangedCallback(dullahan::ECursorType type)
         //case dullahan::CT_SOUTHEASTPANNING:
         //case dullahan::CT_SOUTHWESTPANNING:
         //case dullahan::CT_WESTPANNING:
-        //case dullahan::CT_MOVE:
         //case dullahan::CT_VERTICALTEXT:
         //case dullahan::CT_CELL:
         //case dullahan::CT_CONTEXTMENU:
         case dullahan::CT_ALIAS:
-            name = "tool_media_open";
+            name = "UI_CURSOR_TOOLMEDIAOPEN";
             break;
         case dullahan::CT_PROGRESS:
-            name = "working";
+            name = "UI_CURSOR_WORKING";
             break;
         case dullahan::CT_COPY:
-            name = "arrow_copy";
+            name = "UI_CURSOR_ARROWCOPY";
             break;
         case dullahan::CT_NONE:
-            name = "cursor_no";
+            name = "UI_CURSOR_NO";
             break;
         case dullahan::CT_NODROP:
         case dullahan::CT_NOTALLOWED:
-            name = "cursor_no_locked";
+            name = "UI_CURSOR_NOLOCKED";
             break;
         case dullahan::CT_ZOOMIN:
+            name = "UI_CURSOR_TOOLZOOMIN";
+            break;
         case dullahan::CT_ZOOMOUT:
-            name = "tool_zoomin";
+            name = "UI_CURSOR_TOOLZOOMOUT";
             break;
         case dullahan::CT_GRAB:
-            name = "tool_grab";
+            name = "UI_CURSOR_TOOLGRAB";
             break;
         //case dullahan::CT_GRABING:
         //case dullahan::CT_CUSTOM:
diff --git a/indra/newview/cursors_mac/UI_CURSOR_SIZEALL.tif b/indra/newview/cursors_mac/UI_CURSOR_SIZEALL.tif
new file mode 100644
index 0000000000..85fec76fca
Binary files /dev/null and b/indra/newview/cursors_mac/UI_CURSOR_SIZEALL.tif differ
diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLZOOMOUT.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLZOOMOUT.tif
new file mode 100644
index 0000000000..d64a7f2b68
Binary files /dev/null and b/indra/newview/cursors_mac/UI_CURSOR_TOOLZOOMOUT.tif differ
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 8cf9f4a85c..661a520394 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -3193,58 +3193,7 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla
 			LL_DEBUGS("Media") <<  "Media event:  MEDIA_EVENT_CURSOR_CHANGED, new cursor is " << plugin->getCursorName() << LL_ENDL;
 
 			std::string cursor = plugin->getCursorName();
-
-            static const std::map<std::string, ECursorType> cursor_name_to_enum
-            {
-                {std::string("arrow"), UI_CURSOR_ARROW},
-                {std::string("wait"), UI_CURSOR_WAIT},
-                {std::string("hand"), UI_CURSOR_HAND},
-                {std::string("ibeam"), UI_CURSOR_IBEAM},
-                {std::string("cross"), UI_CURSOR_CROSS},
-                {std::string("split_nwse"), UI_CURSOR_SIZENWSE},
-                {std::string("split_nesw"), UI_CURSOR_SIZENESW},
-                {std::string("split_we"), UI_CURSOR_SIZEWE},
-                {std::string("split_ns"), UI_CURSOR_SIZENS},
-                {std::string("cursor_no"), UI_CURSOR_NO},
-                {std::string("working"), UI_CURSOR_WORKING},
-                {std::string("tool_grab"), UI_CURSOR_TOOLGRAB},
-                {std::string("tool_land"), UI_CURSOR_TOOLLAND},
-                {std::string("tool_focus"), UI_CURSOR_TOOLFOCUS},
-                {std::string("tool_create"), UI_CURSOR_TOOLCREATE},
-                {std::string("arrow_drag"), UI_CURSOR_ARROWDRAG},
-                {std::string("arrow_copy"), UI_CURSOR_ARROWCOPY},
-                {std::string("arrow_drag_multi"), UI_CURSOR_ARROWDRAGMULTI},
-                {std::string("arrow_copy_multi"), UI_CURSOR_ARROWCOPYMULTI},
-                {std::string("cursor_no_locked"), UI_CURSOR_NOLOCKED},
-                {std::string("arrow_locked"), UI_CURSOR_ARROWLOCKED},
-                {std::string("grab_locked"), UI_CURSOR_GRABLOCKED},
-                {std::string("tool_translate"), UI_CURSOR_TOOLTRANSLATE},
-                {std::string("tool_rotate"), UI_CURSOR_TOOLROTATE},
-                {std::string("tool_scale"), UI_CURSOR_TOOLSCALE},
-                {std::string("tool_camera"), UI_CURSOR_TOOLCAMERA},
-                {std::string("tool_pan"), UI_CURSOR_TOOLPAN},
-                {std::string("tool_zoomin"), UI_CURSOR_TOOLZOOMIN},
-                {std::string("tool_pick_object3"), UI_CURSOR_TOOLPICKOBJECT3},
-                {std::string("tool_play"), UI_CURSOR_TOOLPLAY},
-                {std::string("tool_pause"), UI_CURSOR_TOOLPAUSE},
-                {std::string("tool_media_open"), UI_CURSOR_TOOLMEDIAOPEN},
-                {std::string("tool_pipette"), UI_CURSOR_PIPETTE},
-                {std::string("tool_sit"), UI_CURSOR_TOOLSIT},
-                {std::string("tool_buy"), UI_CURSOR_TOOLBUY},
-                {std::string("tool_open"), UI_CURSOR_TOOLOPEN},
-                {std::string("tool_pathfinding"), UI_CURSOR_TOOLPATHFINDING},
-            };
-
-            std::map<std::string, ECursorType>::const_iterator iter = cursor_name_to_enum.find(cursor);
-            if (iter != cursor_name_to_enum.end())
-            {
-                mLastSetCursor = iter->second;
-            }
-            else
-            {
-                // for anything else, default to the arrow
-                mLastSetCursor = UI_CURSOR_ARROW;
-            }
+			mLastSetCursor = getCursorFromString(cursor);
 		}
 		break;
 
diff --git a/indra/newview/res-sdl/lltoolzoomout.BMP b/indra/newview/res-sdl/lltoolzoomout.BMP
index 7f958383ab..5bdf96f80d 100644
Binary files a/indra/newview/res-sdl/lltoolzoomout.BMP and b/indra/newview/res-sdl/lltoolzoomout.BMP differ
diff --git a/indra/newview/res-sdl/sizeall.BMP b/indra/newview/res-sdl/sizeall.BMP
new file mode 100644
index 0000000000..03d9bf4654
Binary files /dev/null and b/indra/newview/res-sdl/sizeall.BMP differ
diff --git a/indra/newview/res/lltoolzoomout.cur b/indra/newview/res/lltoolzoomout.cur
index b33e68d1a6..21e0ee9702 100644
Binary files a/indra/newview/res/lltoolzoomout.cur and b/indra/newview/res/lltoolzoomout.cur differ
-- 
cgit v1.2.3