private void AnimateTimer_OnTick(object sender, EventArgs e)
 {
     if (this.MarqueeTimer.Interval != base.MarqueeAnimationSpeed)
     {
         this.MarqueeTimer.Interval = base.MarqueeAnimationSpeed;
     }
     if (base.Style == ProgressBarStyle.Marquee)
     {
         ProgressBarMarqueeEventArgs args = new ProgressBarMarqueeEventArgs(this, this.MarqueeTag);
         if (this.FRenderer.UpdateMarquee(args))
         {
             base.Invalidate();
         }
         this.MarqueeTag = args.MarqueeTag;
     }
 }
 public bool UpdateMarquee(ProgressBarMarqueeEventArgs e)
 {
     if (e.MarqueeTag is int)
     {
         int marqueeTag = (int) e.MarqueeTag;
         marqueeTag += 4;
         if (marqueeTag > e.Bounds.Width)
         {
             marqueeTag = -120;
         }
         e.MarqueeTag = marqueeTag;
     }
     else
     {
         e.MarqueeTag = -120;
     }
     return true;
 }
 public bool UpdateMarquee(ProgressBarMarqueeEventArgs e)
 {
     MarqueeData marqueeData = this.GetMarqueeData(e.MarqueeTag);
     int num = (e.Bounds.Width - 7) / this.ChunkWidth;
     if (this.MarqueeStyle == Nomad.Controls.MarqueeStyle.LeftRight)
     {
         marqueeData.StartChunk += marqueeData.Reverse ? -1 : 1;
         if (marqueeData.StartChunk > num)
         {
             marqueeData.Reverse = true;
         }
         else if (marqueeData.StartChunk < -this.MarqueeChunks)
         {
             marqueeData.Reverse = false;
         }
     }
     else
     {
         marqueeData.StartChunk++;
         if (marqueeData.StartChunk > num)
         {
             marqueeData.StartChunk = -this.MarqueeChunks;
         }
     }
     e.MarqueeTag = marqueeData;
     return true;
 }