HISE Logo Forum
    • Categories
    • Register
    • Login

    Combo Box LAF help

    Scheduled Pinned Locked Moved General Questions
    5 Posts 3 Posters 219 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • DanHD
      DanH
      last edited by DanH

      I'd like my little drop down triangle to be a little lower and in line with the text, but can't figure out how to do it. The LAF stuff still spins me out when dealing with obj.area 😆

      HiseSnippet 1063.3ocsVs2aaaCDmxIpn16AZA1G.B+GE1XNZxIocCKXnw1wtvXNoF0YECHHnfVhxhyzjFRzNwnn.6i79FrcTTxORLTbMvT.ny8h2u63w6X+HoGMNVFgrJd8hoTj02ZOXgPE1JjvDntWfr9d6KIwJZD1vp4hoj3XpOxx5f2oYXU7PTx2+71lDNQ3QWwBg9nj4Q6wlvTq31+7emw4cH9zqYSVS6SOuqmTzRxky.7bfsKZJwaLYD8JhVsB1Hqm01mojQCTDEMFzoozewfP4cBi9ejEyFxoZh5nAvFYXiZEx398yh0XDx5v9qh7CLQ9OXeIymsj+pLvKRDfWYw54.qB4Ao5eEPxZMHcnARuzdfWDapZkDMd9F6tB3.If.o50ghQWTgirsaIAMDJmIjwzNQ.wRKp7FW2ZXXo5YkJAo6XEdNIByIA3eC2VLhInNdQTHXdGWNjvMaZOobbCgeGJkWYSCaImLT1Tdecv7LuNhp.1SkBfnR4kZT9AV1rWiNqYkwq8jdD9CcWhpNQzQLckXmYBOESJpT1OhbW11WtFNHSvnZX4v+pZI7V997V4Z9zvh.PBL1g.v4rbzMGQibh0Y.ccbE8VwTzIFx5UOKW6BfKFePNS3S8+.0SQDi3zJjZ3i0YgcyglehctioBavmFRRffhdepB0vILnBBTV5ie0qLQKj3lSqheKttiK9W0qUy2mr.yFEJmSiptADbuuSm1mn+aGfcGotHo2LOlOQWKDK4T3rr9INtU267utvnAmMRP8uFh7kofZ3aH23dK9Gw0gaAjapeqd83aOxPdxs.cYNMPUNWe+T.XWyM4WIFBUhZL8D4PcMy0QLSsRV3oCJ7Q3ve5TXMKVA9.iZvxI5kWCA6kDUnS+t6al9KI2NytfqCyGc+M4ta0yxtahkhqjJ56EUpV5ykJV5KkvOTTPvVko6SDI4bZzVEqmkDkmgUDylLjB0+yI7YzkJBMa2rC9y1sN3dl1VqonTzUvTueJMktij6q6Lq++G2uGk12S24OEgfppj99uHsueVlEw70s8WlnQIgv5idQ+Q2KHJR1lA6K3qozHESGRVWPmCygMCUJZeAMdrRNMQ2z1zHK6cz02uzs+83yWrBC9mqayAN641gTNWVBFz+nAZvnTo+LNQs47U8CIRE.GYaLTSO3RDyTKVOZ+JF55l6P2cEhuztOS4EtcLVXKXDNH9+.ioOU46raGD.yGVAvCs67m666RdB2CyiTLwHnSQDCN7suZ1jAPmLOJ3cgfxgM21pftf1P6po0YfATgeBw+BeoBqqosREVOSHZBwKR9IOy0.8igddBG.Shj29UDdDJPiWV4aa653hl.uK6Sdd5v+H3N11s438vlS1CaNcOr406gMuYOr4m2Ca9kbsQ+j3FyTxIlqC.i9sS5.YY017zBcUH5+.gUCM4.
      

      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
      https://dhplugins.com/ | https://dcbreaks.com/
      London, UK

      Matt_SFM 1 Reply Last reply Reply Quote 0
      • Matt_SFM
        Matt_SF @DanH
        last edited by

        @DanH Simply, change the y coordinate (a[1]) value of the triangle area :

        HiseSnippet 1067.3ocsV8+aZaDE+LDOUXeQsR6OfS7CUPGgXBIcSCE0.DnBMRJpjUMonnpC6C7MNtCYePBZpR6O48eP267YaLIzpNzpszY899m6cu687v.oKMLTFfrJb85ETj02YOZsP42wmvDn9Wfr9A6KIgJZ.1vp85EjvPpGxxJ+q0LrJb.J54edUaBmHboaXgPuSxboCXyYpMbGd9uw37dDO50r4Yz9jy66JEcjb4R.O4scPKHtyHSoWQzpkyFY8Mc8XJYvHEQQCQVGzV5sdju7NgQ+2wBYi4TMQczHvQF18jbOMh0bQc7YbugI66PD3kgaxB4MYgez9RlGKk+lrwSiDf2XQ17gUtsgW9sfW8rvyIC71Ajrx.oCLP5Y1ibCXKTajnwy2Z2W.GNSHPZOKTL5hx8w71cjfFBUs4jYzdA.QpEkeoiSULrToYwhPpOTgWQBvbxD7Y3thoLAsla.E1LulKGS3FmNPJm0R30iR4k21vNx4iksk2WGLOIpSoJf8Bo.HJWJUiROvx1CZ0KiUlnNP5R3OLbQpVKfNkoqJ6sT3pXRQ4RdAj6Rbeop3IIBlVEKG+mUJ9WEwQO5vQfPALqQfvzLle7mo0B0HVWCVVqBSQmaHqWoYpNSfB32JWJfxp2RcUDwTNsLoJ93L5rwOlOg0tio7awW3Sh7rhderBUwQLnBBTc3ge9yMfCv+JZE7qv0q4f+U8ZkT2ylXrwWthFTYqn4beudcane2FL8j5SfAKcYdDchNTxoPhpdiZNUdTRPmMawYSETuqAblB3p3aH23bK9mv0gRGxM0uUud7sGZHabKPWhSmnJk5yrN9+Fr0GU9vQk1uam6uNfYx4InQiA7gX+iNAVSfFv+3W3ezoUA9MzKmBn6Rhxu1v9UZhO5HiX7YmgOF97Br+1ogODUukTxpw5ipHipFqzLoZCKEWIUz2HJqK3JT7CEwOTzjI6TltxOPx4zfcJV2oL3yYXYwx4ioPozJBeIMUQn8w18jr+z8jx1xz0bQLihRQeAS8lETwmpQJJ91qt+ULp.UUQcudZb2qjrIh4oadklbQQvN6vDzu2+Bhhj3LvuPrVPCTL81v5B5JXxho0XA6KngyTxEQ5F2rA1pegg99zv92yNe8FL3ct9xODrmX6S4bYQXz0iZKCCDjdK4D01SIziFiE.GSa0ZV29UDxTqyta+eazwWJDel8Plx0e2XL2NvHbP70.iwCb+d6tSl.cR2.vCr68GeclthfN2JlXJzIHfAG91Wsb9HnEjKEhtPP45qIV4zEzFZGMsNCLhJ7hH9H7DKrtl1JVX8Dgn4D2.46cMWCzizeRDG.Shn+lo.7aU.MNsx211olCZN72Eu20Uu8ODtisaaNdOrowdXyI6gMmtG17x8vledOr4W9r1n+wtVKUx4lqC.igci5.YY00LYVWEh9WHJLQTB
        

        83500976-a6ae-4767-8ac2-bae475d2a15d-image.png

        Develop branch
        Win10 & VS17 / Ventura & Xcode 14. 3

        DanHD 1 Reply Last reply Reply Quote 2
        • DanHD
          DanH @Matt_SF
          last edited by

          @Matt_SF thanks! Would never have got there

          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
          https://dhplugins.com/ | https://dcbreaks.com/
          London, UK

          Christoph HartC 1 Reply Last reply Reply Quote 1
          • Christoph HartC
            Christoph Hart @DanH
            last edited by

            @DanH I've written some helper functions that mimic the juce::Rectangle class:

            Link Preview Image
            JUCE: Rectangle< ValueType > Class Template Reference

            favicon

            (docs.juce.com)

            This offers many helper functions to trim, reduce, slice, translate [x, y, w, h] arrays that represent rectangles in HiseScript (like obj.area). If you learn how they work (look at the JUCE docs for a description), almost every Rectangle operation becomes trivial.

            namespace Rect
            {
            	inline function reduced(area, amount)
            	{
            		return [ area[0] + amount, 
            				 area[1] + amount, 
            				 area[2] - 2 * amount, 
            				 area[3] - 2 * amount];
            	}
            	
            	inline function copy(area)
            	{
            		return [ area[0], area[1], area[2], area[3]];
            	}
            	
            	inline function contains(area, point)
            	{
            		return point[0] >= area[0] && 
            			   point[0] < area[0] + area[2] &&
            			   point[1] >= area[1] && 
            			   point[1] < area[1] + area[3];
            	}
            	
            	inline function withSizeKeepingCentre(area, width, height)
            	{
            		return [ area[0] + (area[2] - width) / 2, 
            				 area[1] + (area[3] - height) / 2, 
            				 width, 
            				 height];
            	}
            	
            	inline function removeFromLeft(area, amount)
            	{
            		area[0] += amount;
            		area[2] -= amount;
            		return [area[0] - amount, area[1], amount, area[3]];
            	}
            	
            	inline function removeFromRight(area, amount)
            	{
            		area[2] -= amount;
            		return [area[0] + area[2], area[1], amount, area[3]];
            	}
            	
            	inline function removeFromTop(area, amount)
            	{
            		area[1] += amount;
            		area[3] -= amount;
            		return [area[0], area[1] - amount, area[2], amount];
            	}
            	
            	inline function scale(area, scaleFactor)
            	{
            		local newArea = [];
            		newArea.reserve(4);
            		
            		for(a in area)
            			newArea.push(a * scaleFactor);
            			
            		return newArea;
            	}
            	
            	inline function removeFromBottom(area, amount)
            	{
            		area[3] -= amount;
            
            		return [area[0], area[1] + area[3], area[2], amount];
            	}
            	
            	inline function translated(area, xDelta, yDelta)
            	{
            		return [area[0] + xDelta, area[1] + yDelta, area[2], area[3]];
            	}
            	
            	inline function withAspectRatioLike(area, otherArea)
            	{
            		local ar = otherArea[3] / otherArea[2];
            		
            		local w = area[2];
            		local h = area[2] * ar;
            		
            		local x = area[0];
            		local y = area[1] + Math.abs(h - ar[3]) / 2.0;
            		
            		if(ar > 1.0)
            		{
            			w = area[3] / ar;
            			h = area[3];
            			x = area[0] + Math.abs(w - ar[2]) / 2.0;
            			y = area[1];
            		}
            		
            		return [x, y, w, h];
            	}
            }
            
            DanHD 1 Reply Last reply Reply Quote 3
            • DanHD
              DanH @Christoph Hart
              last edited by

              @Christoph-Hart Thank you, yep I need to properly get my head around this stuff!

              DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
              https://dhplugins.com/ | https://dcbreaks.com/
              London, UK

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              35

              Online

              1.7k

              Users

              11.9k

              Topics

              103.4k

              Posts