#ifndef _GRAFF_LETTER_H
#define _GRAFF_LETTER_H

#include "ofMain.h"
#include "ofAddons.h"
#include "ofVec3f.h"

//--------------------------
// constants
#include "ofCvConstants.h"
#include "ofCvGrayscaleImage.h"


class graffLetter{
	
	public:
		
		graffLetter(){};
		
		
		void keyPressed  (int key);
		void mouseMoved(int x, int y );
		void mouseDragged(int x, int y, int button);
		void mousePressed(int x, int y, int button);
		void mouseReleased();
		
		void setup(int w, int h);
		void clear();
		void newLetter();
		
		void setBrushSize(int bSize);
		int  getBrushSize();
		
		int borderSize;
		int blackSize;
		int offsetx;	// 3d yo ! (-15, 15);
		int offsety;	// 3d yo ! (-15, 15)
		void addLine(float x1, float y1, float x2, float y2);
		void update();
		unsigned char * getImageAsPixels();
		void draw();
		
		
		int 				width, height, brushsize;
		
		void 				setupBrush(ofCvGrayscaleImage &brush, int width);
		void 				setupShadowBrush(ofCvGrayscaleImage &brush, int width);
		
		ofCvGrayscaleImage	cvImgWhite;
		ofCvGrayscaleImage	cvImgBlack;
		ofCvGrayscaleImage	cvImgBottom;
		ofCvGrayscaleImage	cvImgTop;
		ofCvGrayscaleImage	cvImgMix;
		
		
		ofCvGrayscaleImage	cvWhiteBrush;
		ofCvGrayscaleImage	cvBlackBrush;
		ofCvGrayscaleImage	cvDropShadowBrush;
		
		ofCvGrayscaleImage	cvTopLayerMask;
		ofCvGrayscaleImage  cvBottomLayerMask;
				

};

#endif	
