#ifndef HELPBOX_H
#define HELPBOX_H

#include <stdint.h>
#include "SDL.h"

#include "Button.h"
#include "FormattedText.h"
#include "../graphics/GraphicTransformation.h"

#include <vector>
#include <string>
using namespace std;

class HelpBox : public Button{
 public:
  HelpBox();
  ~HelpBox();

  const string & getGraphicFrame();
  void setGraphicFrame (const string &);

  void pushFormattedText (FormattedText &);
  vector <FormattedText> & getFormattedText();

  const string & getHelpReference ();
  void setHelpReference (const string &);

  void setGraphicHighlightFontColor (uint8_t, uint8_t, uint8_t);
  uint8_t getGraphicHighlightFontColorR();
  uint8_t getGraphicHighlightFontColorG();
  uint8_t getGraphicHighlightFontColorB();

  void setGraphicTransformation (GraphicTransformation & gt);
  GraphicTransformation & getGraphicTransformation ();

  void setPosition (int, int);
  int getPositionX();
  int getPositionY();
  void setDimensions (int, int);
  int getWidth();
  int getHeight();

 private:
  int x, y, w, h;
  GraphicTransformation gt;
  string helpReference;
  string graphicFrame;
  vector <FormattedText> fmt;
  uint8_t colR, colG, colB;
};
#endif
