HISE Logo Forum
    • Categories
    • Register
    • Login

    Scrolling Text using Paint Routine

    Scheduled Pinned Locked Moved General Questions
    5 Posts 2 Posters 330 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.
    • Tania GhoshT
      Tania Ghosh
      last edited by

      How can I make a scrolling text using Paint Routine? I would like to display Artist credits by it.

      Content.makeFrontInterface(500, 400);
      
      const var Panel1 = Content.getComponent("Panel1");
      
      Panel1.setPaintRoutine(function(g)
      {
      	g.setColour(Colours.peru);
      	g.drawAlignedText("CREDITS",[0,0,100,10],"centred");
      	g.setColour(Colours.whitesmoke);
      	g.drawAlignedText("Ramu",[0,0,100,40],"centred");
      	g.drawAlignedText("Panchu",[0,0,100,70],"centred");
      	g.drawAlignedText("Hari",[0,0,100,100],"centred");
      });
      
      Panel1.setTimerCallback(function()
      {
      	// How to scroll text?
      });
      
      

      Tania Ghosh

      1 Reply Last reply Reply Quote 0
      • ?
        A Former User
        last edited by

        You can just adjust the Y position of each line every time the timer updates. Unless you want it to loop back around, in which case that's a bit harder :)

        var textYPosition = 0;
        
        Panel1.setPaintRoutine(function(g)
        {
        	g.setColour(Colours.peru);
        	g.drawAlignedText("CREDITS",[0,textYPosition,100,10],"centred");
        	g.setColour(Colours.whitesmoke);
        	g.drawAlignedText("Ramu",[0,textYPosition + 20,100,40],"centred");
        	g.drawAlignedText("Panchu",[0,textYPosition + 40,100,70],"centred");
        	g.drawAlignedText("Hari",[0,textYPosition + 60,100,100],"centred");
        });
        
        Panel1.setTimerCallback(function()
        {
        	textYPosition += 20;
        });
        

        I'm not sure if you'll need to use the Panel1 timer callback or make a generic timer.

        Tania GhoshT 1 Reply Last reply Reply Quote 0
        • Tania GhoshT
          Tania Ghosh @A Former User
          last edited by

          @iamlamprey Anim.gif

          Actually I am trying to make this type of scrolling text....

          Tania Ghosh

          ? 1 Reply Last reply Reply Quote 0
          • ?
            A Former User @Tania Ghosh
            last edited by A Former User

            @Tania-Ghosh Yes:

            Content.makeFrontInterface(600, 500);
            
            const var Panel1 = Content.getComponent("Panel1");
            
            var yOffset = 0;
            
            const var names = ["D. Healey", "iamlamprey", "Tania Ghosh", "Rudra Ghosh", "dustbro", "Christoph Hart", "ulrik", "Orange", "etc"];
            
            Panel1.setPaintRoutine(function(g)
            {
                g.setColour(Colours.lightgrey);
                g.drawRoundedRectangle([0, 0, this.getWidth(), this.getHeight()], 6.0, 2.0);
                g.setFont("Arial", 14.0);
                for (n=0; n<names.length; n++)
                    g.drawAlignedText(names[n], [0, (this.getHeight() / names.length * n) + yOffset, this.getWidth(), 20], "centred");
            });
            
            const var textTimer = Engine.createTimerObject();
            
            
            textTimer.setTimerCallback(function()
            {
                yOffset -= 1;
                Panel1.repaint();
            });
            
            textTimer.startTimer(100);
            
            HiseSnippet 1103.3ocsV81SaaDF+b.OURWjVk161aNkW4LfL6LJqRcnADHPzFPDg0NMTU0g8E6qb9tnymKDUUo8QYR6Kx9HsuAaOmujXCjV0FoYEobO+0+tm+5AJYHMKSpPNqcwjwTjyW5NbhPmzMgvDn9Gfb9FWMQvHGgo2RRGyo3.+M82dyN9cBP6OYLIKiFgbbV4HiANqsJp34e9o8IbhHjVxBgdgjER+EVJSWxcvt+Liy6QhnWvRqn8V61OTJ5J4xb.bq35iFSBulDSOkXTqlKx4KNLhokpgZhllA5ruLZxvD4MBq9ufkwthSMDAngfirrQcSX7nAyt3YHjypCJCCqXCCes6IrH1b9kgiupP.tzhpw.mZ2ERqdGHE7gfTOIOx3fO.7bp.uUsv6ItCCUrw5RIFr8X29BMUMh.g8pvxpKp1eshaWIngP2NkbMsmBHlag2199afepueqm2ndi5PvOSieKQgGPDTd.dG7Laio5txzwRAP30zJto0Ji9SNaznLpFLv+ddR.otLf+kMOnM9XJgSmzbCbSFIkCkVJK0ElpM7QIxrDC444QpJjQ4Y5qTRywtIJVlVNNAeLQoMbx4J10lCmoHhXp4DUG17UEvvhy1.xF.4R84xbMSP8FkKB0LovKtUi5uqQcL7DazxV54Y+KqMmEmniALZtnVk.fcC3FAj6NmFBcIwbp2kPPD9oSXYl.0KYQ5DuVkLNlZbjWqWsAd61fhcZ6W5Q301SZBp6oXDNf+fsJEORpvdhc7eNV7iEQx1bpHVm.zqudKqNk.aO.vBZzEza0dEZeo.dkFz4cenf+NbU+g+VrnEd8Y4wEbW53CtpYHj9UzHHyW+82ulQCuVS+rBx1GJhg.c6PEEZJJXd1UuAhWdViZTetxl6ewgtDN+JncuL6TlblUds4N3foQlooVEcrIy5UBnJdVC0HEG8BLk3ybLVJNUpomAug5uq9Z0eec78EMZzBkY5FTRNG73hDaeWeDC8D4oWQUa.wKdNcthPK9cmg73OsYHg1lyJJJE8EL8YioSoKmxXjYu0yj5ileYqxp7NVkqMG9P0JY8vgXnoCOfS+Z+CHZhYt1TdfdioJMybacNf9VXIgcJ2ZtGPytFZwKzc5DGXtutPZiYy.MYeDCtYOx0VIftc9dj+9k6NYNwe766dioFF435bgCBkTz.Xn9yhUQOXLKLrWFkyI56tAvrpap.HkdmQslwohLldR0UgeFqE7W3ZgfEEQ+Dg6SbGvzgIKFu0V.dgLy+23c5R1FtGNZDLInDrq5162V1MpeFPwN7O9DhVwfZE2SySGBS4Co.RDPETlolnlop0R6anMQlgTQTAw+BOSEFXnclJLXlPTJITIecns0vrF+QEb.LIJ9Bl0bOwPiCPEC..6b8a6iRgut30gglPwl.1WrMcVBa99kvlsVBad5RXy1KgM+vRXyy9n1X9vt8x0xTaaBvXvgEipbbNTPfprhJRz+EIBWzD
            
            Tania GhoshT 1 Reply Last reply Reply Quote 2
            • Tania GhoshT
              Tania Ghosh @A Former User
              last edited by

              @iamlamprey Wow... Superb (y) .. That's what I was looking for. Thank you :)

              Tania Ghosh

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

              47

              Online

              1.7k

              Users

              11.7k

              Topics

              101.9k

              Posts