Library for 3.2'' uLcd Picaso Display4D system Picaso Serial Environment Command Set web: http://www.4dsystems.com.au/product/20/67/Processors_Graphics/PICASO/
Diff: Segment.cpp
- Revision:
- 1:a74e42cf52b2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Segment.cpp Sun Apr 05 13:54:48 2015 +0000 @@ -0,0 +1,74 @@ +#include "Segment.h" + +Segment::Segment(Screen* mScreen,UINT16 _x1,UINT16 _y1,UINT16 _x2,UINT16 _y2,Color _color): + Widget(mScreen,0,_x1,_y1,0,0,_color) +{ + myX1=_x1; + myY1=_y1; + myX2=_x2; + myY2=_y2; + + myType=OBJ_SEGMENT; + + myScreen->addWidget((Widget*)this); +} +//------------------------------------------ +void Segment::draw(void) +{ + if(myIsVisible==false) + return; + + // + PicasoSerial* ps=0; + ps=myScreen->getPicasoSerial(); + + if(ps!=0) { + ps->draw_line(myX1,myY1,myX2,myY2,myColor); + } + ps=0; +} +//------------------------------------------ +Segment::~Segment(void) +{ +} +//------------------------------------------- +void Segment::setInvisible(bool _state) +{ + if(_state==true) { + if(myIsVisible==false) + return; + // + myIsVisible=false; + Color c=myScreen->getColorBkg(); + + PicasoSerial* ps=0; + ps=myScreen->getPicasoSerial(); + + if(ps!=0) + ps->draw_line(myX1,myY1,myX2,myY2,c); + ps=0; + } + // + else { + myIsVisible=true; + this->draw(); + } +} +//--------------------------------------------- +void Segment::setNewCoord(UINT16 _x1,UINT16 _y1,UINT16 _x2,UINT16 _y2) +{ + if(myIsVisible==false) + return; + + if(myX1==_x1 && myY1==_y1 && myX2==_x2 && myY2==_y2) + return; + + this->setInvisible(true); + + myX1=_x1; + myY1=_y1; + myX2=_x2; + myY2=_y2; + + this->setInvisible(false); +} \ No newline at end of file