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/
Slider.cpp
- Committer:
- adelino
- Date:
- 2015-04-05
- Revision:
- 1:a74e42cf52b2
File content as of revision 1:a74e42cf52b2:
#include "Slider.h" Slider::Slider(Screen* mScreen,UINT16 _id,UINT16 _x,UINT16 _y,UINT16 _width,UINT16 _height,int _valMax,int _value, Color _colorBkg): Widget(mScreen,_id,_x,_y,_width,_height,_colorBkg) { myValueMax=_valMax; myValue=_value; myType=OBJ_SLIDER; myState=SLIDER_STATE_RELEASED; myScreen->addWidget((Widget*) this); } //--------------------------------------- Slider::~Slider(void) { } //--------------------------------------- void Slider::draw(void) { if(myIsVisible==false) return; PicasoSerial* ps=0; ps=myScreen->getPicasoSerial(); if(ps!=0) { ps->draw_slider(0x0000,myX,myY,myX+myWidth,myY+myHeight,myColor,myValueMax,myValue); } ps=0; } //-------------------------------------- void Slider::setInvisible(bool _state) { // element devient invisible if(_state==true) { if(myIsVisible==false) return; myIsVisible=false; Color c= myScreen->getColorBkg(); PicasoSerial* ps=0; ps=myScreen->getPicasoSerial(); if(ps!=0) { ps->draw_filled_rectangle(myX,myY,myX+myWidth,myY+myHeight,c); } ps=0; } // element devient visible else { myIsVisible=true; this->draw(); } } //------------------------------------- int Slider::getValue(GraphicMessage* pmsg) { TouchEvent msgEvent=pmsg->event; UINT16 xn=pmsg->posiX; if(myIsVisible==false) return 0; // if(msgEvent==EVENT_RELEASE) { myState=SLIDER_STATE_RELEASED; } // if(msgEvent==EVENT_MOVE) { myState=SLIDER_STATE_MOVE; UINT16 dis=xn-myX; UINT16 a=dis*myValueMax; myValue=(a/myWidth); this->draw(); } return myValue; }