Advertisement
ExtremeHunter

"WSH digital VU meter 2"

May 31st, 2012
777
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==PREPROCESSOR==
  2. // ======================== //
  3. // @name "digital VU meter 2 (06.June.2012)"
  4. // @author "jscript by Hunter >> http://extremehunter1972.deviantart.com /
  5. // WSH Panel Mod component by Tianpeng Wang
  6. // VU Meter component by DRON
  7. // ==/PREPROCESSOR==
  8. // Requirements:
  9. // foobar2000_v1.1 or better  >> http://foobar2000.org
  10. // WSH panel Mod v1.5.3.1 or better  >> http://code.google.com/p/foo-wsh-panel-mod/downloads/list
  11. // VU Meter 2012-06-05 or better >> http://foobar2000.org.ru/forum/
  12. // Script with some examples here http://browse.deviantart.com/customization/skins/media/foobar2000/#/d51whqw
  13. // ======================= //
  14.  
  15. function RGBA(r, g, b, a) {
  16.     return ((a << 24) | (r << 16) | (g << 8) | (b));
  17. }
  18. function RGB(r, g, b) {
  19.     return (0xff000000 | (r << 16) | (g << 8) | (b));
  20. }
  21. function StringFormat() {
  22.     var h_align = 0,
  23.         v_align = 0,
  24.         trimming = 0,
  25.         flags = 0;
  26.     switch (arguments.length) {
  27.     case 4:
  28.         flags = arguments[3];
  29.     case 3:
  30.         trimming = arguments[2];
  31.     case 2:
  32.         v_align = arguments[1];
  33.     case 1:
  34.         h_align = arguments[0];
  35.         break;
  36.     default:
  37.         return 0;
  38.     }
  39.     return ((h_align << 28) | (v_align << 24) | (trimming << 20) | flags);
  40. }
  41.  
  42. VK_UP = 0x26;
  43. VK_DOWN = 0x28;
  44. VK_CONTROL = 0x11;
  45. DLGC_WANTARROWS = 0x0001;
  46. MF_SEPARATOR = 0x00000800;
  47. MF_STRING = 0x00000000;
  48.  
  49. window.DlgCode = DLGC_WANTARROWS;
  50.  
  51. VUMeter = new ActiveXObject("VUMeter");
  52. VUMeter.RegisterWindow(window.ID);
  53. // ======================= //
  54. (function init() {
  55.     VUMeter.Offset = window.GetProperty("Offset", -10);
  56. })();
  57. // ======================= //
  58. function createImage() {
  59.  
  60.     if (ww <= 0 || wh <= 0) return;
  61.  
  62.     var minWidth = minHeight = 20;
  63.     window.MinWidth = minWidth;
  64.  
  65.     orientation = "V";
  66.     if (window.GetProperty("Orientation", "Vertical") == "Horizontal") orientation = "H";
  67.  
  68.     leftMargin = (orientation == "V" ? window.GetProperty("Margin -> Vertical Left", 5) : window.GetProperty("Margin -> Horizontal Left", 24));
  69.     topMargin = window.GetProperty("Margin -> Top ", 5);
  70.     bottomMargin = (orientation == "V" ? window.GetProperty("Margin -> Vertical Bottom", 24) : window.GetProperty("Margin -> Horizontal Bottom", 5));
  71.     rightMargin = window.GetProperty("Margin -> Right", 5);
  72.  
  73.     centerPadding = window.GetProperty("Padding -> Center", 4);
  74.     peakLevelPadding = window.GetProperty("Padding -> Peak <-> Level ", 6);
  75.     levelLineThickness = window.GetProperty("Thickness -> Level Line", 1);
  76.  
  77.     if (levelLineThickness < 1) {
  78.         window.SetProperty("Thickness -> Level Line", 1);
  79.         levelLineThickness = 1;
  80.     }
  81.  
  82.     peakLineThickness = window.GetProperty("Thickness -> Peak Line", 4);
  83.     peakHeight = peakLineThickness;
  84.  
  85.     if (orientation == "V") {
  86.  
  87.         leftPeakX = Math.floor(ww / 2) - peakLineThickness - centerPadding;
  88.         rightPeakX = Math.floor(ww / 2) + centerPadding;
  89.         leftPeakY = topMargin;
  90.         rightPeakY = topMargin;
  91.  
  92.         leftLevelX = leftMargin;
  93.         rightLevelX = rightPeakX + peakLineThickness + peakLevelPadding;
  94.         leftLevelWidth = leftPeakX - peakLevelPadding - leftMargin;
  95.         rightLevelWidth = ww - rightLevelX - leftLevelX;
  96.  
  97.         leftLevelY = topMargin;
  98.         rightLevelY = topMargin;
  99.         leftLevelWidth = leftPeakX - peakLevelPadding - leftLevelX;
  100.         rightLevelWidth = ww - rightMargin - rightLevelX;
  101.  
  102.     } else if (orientation == "H") {
  103.  
  104.         leftPeakX = leftMargin;
  105.         leftPeakY = Math.floor(wh / 2) - peakHeight - centerPadding;
  106.  
  107.         leftPeakHeight = window.GetProperty("Thickness -> Peak Line", 20);
  108.         rightPeakHeight = leftPeakHeight;
  109.  
  110.         rightPeakX = leftMargin;
  111.         rightPeakY = Math.floor(wh / 2) + centerPadding;
  112.  
  113.         leftLevelX = leftMargin;
  114.         rightLevelX = leftMargin;
  115.         leftLevelWidth = leftPeakX - peakLevelPadding - leftLevelX;
  116.         rightLevelWidth = ww - rightLevelX - leftLevelX;
  117.  
  118.         leftLevelX = leftMargin;
  119.         rightLevelX = leftMargin;
  120.         leftLevelY = topMargin;
  121.         rightLevelY = rightPeakY + peakHeight + peakLevelPadding;
  122.  
  123.         leftLevelWidth = leftPeakX - peakLevelPadding - leftLevelX;
  124.         rightLevelWidth = wh - rightLevelX - leftLevelX;
  125.  
  126.         leftLevelHeight = leftPeakY - peakLevelPadding - topMargin;
  127.         rightLevelHeight = wh - bottomMargin - rightLevelY;
  128.  
  129.     }
  130.  
  131.     switch (window.GetProperty("Color -> Peak Preset", "Custom Peak Color")) {
  132.  
  133.     case "Yellow":
  134.         peakGradient1 = eval(window.GetProperty("Color -> Peak Yellow Gradient 1", "RGBA(255,255,0,155)"));
  135.         peakGradient2 = eval(window.GetProperty("Color -> Peak Yellow Gradient 2", "RGBA(200,200,0,255)"));
  136.         id = 1;
  137.         break;
  138.     case "Blue":
  139.         peakGradient1 = eval(window.GetProperty("Color -> Peak Blue Gradient 1", "RGBA(65,105,225,155)"));
  140.         peakGradient2 = eval(window.GetProperty("Color -> Peak Blue Gradient 2", "RGBA(65,105,255,255)"));
  141.         id = 2;
  142.         break;
  143.     case "Green":
  144.         peakGradient1 = eval(window.GetProperty("Color -> Peak Green Gradient 1", "RGBA(0,255,0,155)"));
  145.         peakGradient2 = eval(window.GetProperty("Color -> Peak Green Gradient 2", "RGBA(0,155,0,255)"));
  146.         id = 3;
  147.         break;
  148.     case "White":
  149.         peakGradient1 = eval(window.GetProperty("Color -> Peak White Gradient 1", "RGBA(255,255,255,155)"));
  150.         peakGradient2 = eval(window.GetProperty("Color -> Peak White Gradient 2", "RGBA(235,235,235,255)"));
  151.         id = 4;
  152.         break;
  153.     case "Custom Peak Color":
  154.         peakGradient1 = eval(window.GetProperty("Color -> Peak Custom Gradient 1 ", "RGBA(255,255,255,255)"));
  155.         peakGradient2 = eval(window.GetProperty("Color -> Peak Custom Gradient 2 ", "RGBA(155,155,155,255)"));
  156.         id = 5;
  157.         break;
  158.     default:
  159.         id = 5;
  160.  
  161.     }
  162.  
  163.     levelGradient1 = eval(window.GetProperty("Color -> Level Gradient 1", "RGBA(0,120,140,155)"));
  164.     levelGradient2 = eval(window.GetProperty("Color -> Level Gradient 2", "RGBA(0,120,140,155)"));
  165.  
  166.     backgroundColor = eval(window.GetProperty("Color -> Background", "RGB(255,255,255)"));
  167.  
  168.     //---> create image mask
  169.     var mask = gdi.CreateImage(ww, wh);
  170.     var _grMask = mask.GetGraphics();
  171.     _grMask.FillSolidRect(0, 0, ww, wh, 0xFF000000);
  172.  
  173.     if (orientation == "V") {
  174.         count = Math.floor((wh - topMargin - bottomMargin) / levelLineThickness);
  175.     } else if (orientation == "H") {
  176.         count = Math.floor((ww - leftMargin - rightMargin) / levelLineThickness);
  177.     } else count = 0;
  178.  
  179.     peakWidth = peakLineThickness;
  180.     peakHeight = peakLineThickness;
  181.  
  182.     var levelBackgroundGrad1 = eval(window.GetProperty("Color -> Level Background Gradient 1", "RGBA(225, 235, 240, 255)"));
  183.     var levelBackgroundGrad2 = eval(window.GetProperty("Color -> Level Background Gradient 2", "RGBA(225, 235, 240, 255)"));
  184.  
  185.     var leftLevelBackgroundFocus = eval(window.GetProperty("Focus -> Level Background Left Gradient", "0.5"));
  186.     var rightLevelBackgroundFocus = eval(window.GetProperty("Focus -> Level Background Right Gradient", "0.5"));
  187.  
  188.     var angle = orientation == "V" ? 0 : 90;
  189.  
  190.      levelLineBackgroundImg = gdi.CreateImage(ww, wh);
  191.      _grLBI = levelLineBackgroundImg.GetGraphics();
  192.  
  193.     for (var i = 0; i < count; i++) {
  194.  
  195.         if (window.GetProperty("Solid Level", true) ? true : !(i % 2)) {
  196.  
  197.             if (orientation == "V") {
  198.                 _grMask.FillSolidRect(leftLevelX, levelLineThickness * i + leftLevelY, leftLevelWidth, levelLineThickness, 0xFFFFFFFF);
  199.                 _grMask.FillSolidRect(rightLevelX, levelLineThickness * i + leftLevelY, rightLevelWidth, levelLineThickness, 0xFFFFFFFF);
  200.  
  201.                 _grLBI.FillGradRect(leftLevelX - 2, levelLineThickness * i + leftLevelY, leftLevelWidth + 4, levelLineThickness, angle, levelBackgroundGrad1, levelBackgroundGrad2, leftLevelBackgroundFocus);
  202.                 _grLBI.FillGradRect(rightLevelX - 2, levelLineThickness * i + leftLevelY, rightLevelWidth + 4, levelLineThickness, angle, levelBackgroundGrad1, levelBackgroundGrad2, rightLevelBackgroundFocus);
  203.  
  204.                 peakHeight = (i + 1) * levelLineThickness;
  205.  
  206.             }
  207.  
  208.             if (orientation == "H") {
  209.                 _grMask.FillSolidRect(levelLineThickness * i + leftLevelX, leftLevelY, levelLineThickness, leftLevelHeight, 0xFFFFFFFF);
  210.                 _grMask.FillSolidRect(levelLineThickness * i + rightLevelX, rightLevelY, levelLineThickness, leftLevelHeight, 0xFFFFFFFF);
  211.  
  212.                 _grLBI.FillGradRect(levelLineThickness * i + leftLevelX, leftLevelY - 2, levelLineThickness, leftLevelHeight + 4, angle, levelBackgroundGrad1, levelBackgroundGrad2, rightLevelBackgroundFocus);
  213.                 _grLBI.FillGradRect(levelLineThickness * i + rightLevelX, rightLevelY - 2, levelLineThickness, leftLevelHeight + 4, angle, levelBackgroundGrad1, levelBackgroundGrad2, rightLevelBackgroundFocus);
  214.  
  215.                 peakWidth = (i + 1) * levelLineThickness;
  216.  
  217.             }
  218.  
  219.         }
  220.  
  221.     }
  222.  
  223.     _grMask.FillSolidRect(leftPeakX, leftPeakY, peakWidth, peakHeight, 0xFFFFFFFF);
  224.     _grMask.FillSolidRect(rightPeakX, rightPeakY, peakWidth, peakHeight, 0xFFFFFFFF);
  225.    
  226.     levelLineBackgroundImg.ReleaseGraphics(_grLBI);
  227.     mask.ReleaseGraphics(_grMask)
  228.  
  229.     //---> create image
  230.     img = gdi.CreateImage(ww, wh);
  231.     _gr = img.GetGraphics();
  232.  
  233.     _gr.FillSolidRect(0, 0, ww, wh, backgroundColor);
  234.  
  235.     img.ReleaseGraphics(_gr);
  236.  
  237.     //---> apply mask to image
  238.     var mask = mask.Resize(ww, wh);
  239.     img.ApplyMask(mask);
  240.     mask.Dispose();
  241.  
  242.     peakLineBackgroundImg = gdi.CreateImage(ww, wh);
  243.     _gr = peakLineBackgroundImg.GetGraphics();
  244.  
  245.     var angle = 0;
  246.     if (orientation == "H") {
  247.         angle = window.GetProperty("Angle -> Peak Background Horizontal", 90);
  248.     }
  249.     if (orientation == "V") {
  250.         angle = window.GetProperty("Angle -> Peak Background Vertical", angle);
  251.     }
  252.  
  253.     var leftPeakBackgroundFocus = eval(window.GetProperty("Focus -> Peak Background Left", "0.5"));
  254.     var rightPeakBackgroundFocus = eval(window.GetProperty("Focus -> Peak Background Right", "0.5"));
  255.     var grad1 = eval(window.GetProperty("Color -> Peak Background Gradient 1", "RGBA(210, 210, 210, 255)"));
  256.     var grad2 = eval(window.GetProperty("Color -> Peak Background Gradient 2", "RGBA(225, 255, 255, 255)"));
  257.  
  258.     _gr.FillGradRect(leftPeakX - 2, leftPeakY - 2, peakWidth + 4, peakHeight + 4, angle, grad1, grad2, leftPeakBackgroundFocus);
  259.     _gr.FillGradRect(rightPeakX - 2, rightPeakY - 2, peakWidth + 4, peakHeight + 4, angle, grad1, grad2, rightPeakBackgroundFocus);
  260.    
  261.     peakLineBackgroundImg.ReleaseGraphics(_gr);
  262.  
  263. }
  264. // ================= //
  265. function on_paint(gr) {
  266.  
  267.     if (wh > minHeight) {
  268.  
  269.         gr.DrawImage(peakLineBackgroundImg, 0, 0, ww, wh, 0, 0, ww, wh, 0, 255);
  270.         gr.DrawImage(levelLineBackgroundImg, 0, 0, ww, wh, 0, 0, ww, wh, 0, 255);
  271.  
  272.         var swapLevelPeak = window.GetProperty("Swap -> Peak with Level");
  273.  
  274.         if (swapLevelPeak) {
  275.             $leftPeak = VUMeter.LeftLevel;
  276.             $rightPeak = VUMeter.RightLevel;
  277.             $leftLevel = VUMeter.LeftPeak;
  278.             $rightLevel = VUMeter.RightPeak;
  279.         } else {
  280.             $leftLevel = VUMeter.LeftLevel;
  281.             $rightLevel = VUMeter.RightLevel;
  282.             $leftPeak = VUMeter.LeftPeak;
  283.             $rightPeak = VUMeter.RightPeak;
  284.         }
  285.  
  286.         var flipLevel = window.GetProperty("Flip -> Level", false);
  287.         var flipPeak = window.GetProperty("Flip -> Peak", false);
  288.  
  289.         if (orientation == "V") {
  290.  
  291.             var bottomM = (wh - bottomMargin);
  292.  
  293.             if (!flipPeak) {
  294.                 leftPeakY = bottomM - bottomM * $leftPeak + topMargin;
  295.                 rightPeakY = bottomM - bottomM * $rightPeak + topMargin;
  296.             }
  297.  
  298.             leftPeakHeight = bottomM * $leftPeak - topMargin;
  299.             rightPeakHeight = bottomM * $rightPeak - topMargin;
  300.             leftPeakWidth = peakLineThickness;
  301.             rightPeakWidth = peakLineThickness;
  302.  
  303.             if (!flipLevel) {
  304.                 leftLevelY = bottomM - bottomM * $leftLevel + topMargin;
  305.                 rightLevelY = bottomM - bottomM * $rightLevel + topMargin;
  306.             }
  307.  
  308.             leftLevelHeight = bottomM * $leftLevel - topMargin;
  309.             rightLevelHeight = bottomM * $rightLevel - topMargin;
  310.  
  311.         }
  312.  
  313.         if (orientation == "H") {
  314.  
  315.             var rightM = ww - rightMargin;
  316.  
  317.             leftPeakWidth = rightM * $leftPeak - leftMargin;
  318.             rightPeakWidth = rightM * $rightPeak - leftMargin;
  319.             leftPeakHeight = peakLineThickness;
  320.             rightPeakHeight = peakLineThickness;
  321.             leftLevelWidth = rightM * $leftLevel - leftMargin;
  322.             rightLevelWidth = rightM * $rightLevel - leftMargin;
  323.  
  324.             if (flipPeak) {
  325.                 leftPeakX = rightM - rightM * $leftPeak + leftMargin;
  326.                 rightPeakX = rightM - rightM * $rightPeak + leftMargin;
  327.             }
  328.  
  329.             if (flipLevel) {
  330.                 leftLevelX = rightM - rightM * $leftLevel + leftMargin;
  331.                 rightLevelX = rightM - rightM * $rightLevel + leftMargin;
  332.             }
  333.  
  334.         }
  335.  
  336.         var angle = orientation == "V" ? 0 : 90;
  337.         var leftPeakGradientFocus = eval(window.GetProperty("Focus -> Peak Left Gradient", "0.5"));
  338.         var rightPeakGradientFocus = eval(window.GetProperty("Focus -> Peak Right Gradient", "0.5"));
  339.         var leftLevelGradientFocus = eval(window.GetProperty("Focus -> Level Left Gradient", "0.5"));
  340.         var rightLevelGradientFocus = eval(window.GetProperty("Focus -> Level Right Gradient", "0.5"));
  341.  
  342.         gr.FillGradRect(leftPeakX - 2, leftPeakY - 2, leftPeakWidth + 4, leftPeakHeight + 4, angle, peakGradient1, peakGradient2, leftPeakGradientFocus);
  343.         gr.FillGradRect(rightPeakX - 2, rightPeakY - 2, rightPeakWidth + 4, rightPeakHeight + 4, angle, peakGradient1, peakGradient2, rightPeakGradientFocus);
  344.  
  345.         gr.FillGradRect(leftLevelX - 2, leftLevelY - 2, leftLevelWidth + 4, leftLevelHeight + 4, angle, levelGradient1, levelGradient2, leftPeakGradientFocus);
  346.         gr.FillGradRect(rightLevelX - 2, rightLevelY - 2, rightLevelWidth + 4, rightLevelHeight + 4, angle, levelGradient1, levelGradient2, rightPeakGradientFocus);
  347.  
  348.         gr.DrawImage(img, 0, 0, ww, wh, 0, 0, ww, wh, 0, 255);
  349.  
  350.         gr.SetTextRenderingHint(5);
  351.  
  352.         var levelFont = gdi.font("Tahoma", 10, 0);
  353.         var channelFont = gdi.font("Tahoma", 12, 1);
  354.         var channelColor = eval(window.GetProperty("Color -> Text Channels", "RGBA(60,80,100,255)"));
  355.         var SF = StringFormat(1, 1);
  356.  
  357.         if (orientation == "V") {
  358.  
  359.             channelLWidth = gr.CalcTextWidth("O", channelFont);
  360.             channelLX = (ww / 2) / 2 - channelLWidth;
  361.             channelRX = ww - (ww / 4);
  362.             channelLY = bottomM - 1;
  363.             channelRY = bottomM - 1;
  364.             channelRWidth = channelLWidth;
  365.             channelLHeight = wh - bottomM;
  366.             channelRHeight = wh - bottomM;
  367.  
  368.             offsetX = 0;
  369.             offsetY = bottomM;
  370.             offsetWidth = ww;
  371.             offsetHeight = wh - bottomM - 1;
  372.  
  373.         }
  374.         if (orientation == "H") {
  375.  
  376.             channelLHeight = gr.CalcTextHeight("O", channelFont);
  377.             channelLX = 0;
  378.             channelRX = 0;
  379.             channelLY = (wh / 2) / 2 - channelLHeight / 2;
  380.             channelRY = wh - (wh / 4) - channelLHeight / 2;
  381.             channelLWidth = leftMargin;
  382.             channelRWidth = leftMargin;
  383.             channelRHeight = channelLHeight;
  384.  
  385.             offsetX = 0;
  386.             offsetY = 0;
  387.             offsetWidth = leftMargin - 1;
  388.             offsetHeight = wh;
  389.  
  390.         }
  391.  
  392.         gr.DrawString(VUMeter.Offset, levelFont, eval(window.GetProperty("Color -> Text Offset", "RGBA(55,55,55,255)")), offsetX, offsetY, offsetWidth, offsetHeight, SF);
  393.         if (ww > channelLWidth * 5 && wh > channelLHeight * 3) {
  394.             gr.DrawString("L", channelFont, channelColor, channelLX, channelLY, channelLWidth, channelLHeight, SF);
  395.             gr.DrawString("R", channelFont, channelColor, channelRX, channelRY, channelRWidth, channelRHeight, SF);
  396.         }
  397.     }
  398. }
  399. // ======================= //
  400. function on_size() {
  401.     ww = window.Width;
  402.     wh = window.Height;
  403.     createImage();
  404. }
  405. // ======================= //
  406. function on_mouse_wheel(step) {
  407.     if (utils.IsKeyPressed(VK_CONTROL)) window.SetProperty("Offset", VUMeter.Offset + step);
  408.     init();
  409. }
  410. // ======================= //
  411. function on_key_down(vkey) {
  412.     if (vkey == VK_UP) on_mouse_wheel(1);
  413.     if (vkey == VK_DOWN) on_mouse_wheel(-1);
  414. }
  415. // ======================= //
  416. function on_mouse_rbtn_up(x, y) {
  417.  
  418.     var _menu = window.CreatePopupMenu();
  419.  
  420.     _menu.AppendMenuItem(MF_STRING, 1, "Yellow");
  421.     _menu.AppendMenuItem(MF_STRING, 2, "Blue");
  422.     _menu.AppendMenuItem(MF_STRING, 3, "Green");
  423.     _menu.AppendMenuItem(MF_STRING, 4, "White");
  424.     _menu.AppendMenuItem(MF_STRING, 5, "Custom");
  425.     _menu.CheckMenuRadioItem(1, 5, id);
  426.  
  427.     _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
  428.     _menu.AppendMenuItem(MF_STRING, 6, window.GetProperty("Orientation") == "Horizontal" ? "Vertical" : "Horizontal");
  429.     _menu.AppendMenuItem(MF_STRING, 7, "Flip Peak");
  430.     _menu.CheckMenuItem(7, window.GetProperty("Flip -> Peak", false));
  431.     _menu.AppendMenuItem(MF_STRING, 8, "Flip Level");
  432.     _menu.CheckMenuItem(8, window.GetProperty("Flip -> Level", false));
  433.     _menu.AppendMenuItem(MF_STRING, 9, "Swap -> Peak with Level");
  434.     _menu.CheckMenuItem(9, window.GetProperty("Swap -> Peak with Level", false));
  435.     _menu.AppendMenuItem(MF_STRING, 10, "Solid Level");
  436.     _menu.CheckMenuItem(10, window.GetProperty("Solid Level", false));
  437.     _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
  438.     _menu.AppendMenuItem(MF_STRING, 12, "Configure...");
  439.     _menu.AppendMenuItem(MF_STRING, 13, "Properties...");
  440.  
  441.     idx = _menu.TrackPopupMenu(x, y);
  442.     switch (idx) {
  443.  
  444.     case 1:
  445.         window.SetProperty("Color -> Peak Preset", "Yellow");
  446.         createImage();
  447.         break;
  448.     case 2:
  449.         window.SetProperty("Color -> Peak Preset", "Blue");
  450.         createImage();
  451.         break;
  452.     case 3:
  453.         window.SetProperty("Color -> Peak Preset", "Green");
  454.         createImage();
  455.         break;
  456.     case 4:
  457.         window.SetProperty("Color -> Peak Preset", "White");
  458.         createImage();
  459.         break;
  460.     case 5:
  461.         window.SetProperty("Color -> Peak Preset", "Custom Peak Color");
  462.         createImage();
  463.         break;
  464.     case 6:
  465.         window.SetProperty("Orientation", window.GetProperty("Orientation") == "Vertical" ? "Horizontal" : "Vertical");
  466.         createImage();
  467.         break;
  468.     case 7:
  469.         window.SetProperty("Flip -> Peak", window.GetProperty("Flip -> Peak") ? false : true);
  470.         createImage();
  471.         break;
  472.     case 8:
  473.         window.SetProperty("Flip -> Level", window.GetProperty("Flip -> Level") ? false : true);
  474.         createImage();
  475.         break;
  476.     case 9:
  477.         window.SetProperty("Swap -> Peak with Level", window.GetProperty("Swap -> Peak with Level") ? false : true);
  478.         createImage();
  479.         break;
  480.     case 10:
  481.         window.SetProperty("Solid Level", window.GetProperty("Solid Level") ? false : true);
  482.         createImage();
  483.         break;
  484.     case 11:
  485.         break;
  486.     case 12:
  487.         window.ShowConfigure();
  488.         break;
  489.     case 13:
  490.         window.ShowProperties();
  491.         break;
  492.  
  493.     }
  494.     _menu.Dispose();
  495.     return true
  496. }
  497. // ======================= //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement