#ifndef _GRAPHICS_LINE_MODULE
#define _GRAPHICS_LINE_MODULE

#include "simpleLineModule.h"
#include "ofMain.h"
#include "ofVec3f.h"
#include "timeStroke.h"
#include "lineTexture.h"
#include "graphicsModuleBase.h"

class graphicsLineModule : public simpleLineModule {
	
	public:
		
		graphicsLineModule();
		
		void 		setup();
		void 		update();
		void 		reset();
		void 		draw(float offsetx, float offsety);
		
		void 		matchMyStartToPointAngle(ofVec3f point, float angle){
											
											// (a) the module could, hypothetically use this info
											module->endPos = point;
											module->endAngle = angle;
											
											// (b) to change this info (which is called at "setup" and "reset") 
											box->setStartPointAngle(module->getStartPosition(), module->getStartAngle());	
											
											// (c) finally, what we wanted to do:
											box->matchMyStartToPointAngle(point, angle);
										}
		
		
		
		
		bool 		bAmIDone();
		
		bool 		bHaveNewPoint();
		ofVec3f 	getNewPoint();
		
		bool 		bNeedToDrawOffscreen() { return true; };
		void		drawOffscreen();
		
		graphicsModuleBase	* module;		// must be allocated!!
		int 				myTextureNum;
	
};

#endif	