//---------------------------------------------------//
/*
 *Copyright Bryce Thorup, William Thorup, BitJag 2014
 *
 * Contact: contact@bitjag.com
 *
 *All content developed by BitJag (graphics & Code) is
 *for your personal use only.  Feel free to burn it to a CD, 
 *flash to a SkunkBoard, or use in an emulator.  We 
 *hope you also take the chance to learn from it if needed.
 * 
 *Do not redistribute, duplicate, charge for "handling" 
 *or cost to print, or charge for profit.
 * 
 *If there is someone you know who wants a copy,
 *physical or digital, please direct them to our website.
 *Any other questions about the use of the demo, please
 *shoot us an email.  We will be liberal, promise.
 *
 * http://bitjag.com/
 * 
 *This demo was developed with the Removers Library,
 *which is used under the LGPL licence 2.1, included
 *with the source.  The Removers library is free to 
 *download and use at this location.
 * 
 * http://removers.free.fr/softs/download.php?lang=en
 *
//---------------------------------------------------*/

#ifndef BJ_SCROLL
#define BJ_SCROLL

#include <stdlib.h>
#include <screen.h>
#include <fb2d.h>
#include <sprite.h>

#include "bj_text.h"

typedef struct{
  
  screen* draw_box;
  
  screen* copy_box;
  
  sprite* move_box;
  
  Font* font;
  
  int rate;
  
  char* text;
  
  int text_len;
  
  int text_idx;
  
  int char_width;
  
  int char_offset;
  
  int loop_count;
  
  int loop_done;
  
}Scroll;

Scroll* newScroll(Font* font, char* text, int text_len);

void initScroll(Scroll* s);

void updateScroll(Scroll* s);

#endif