00001 #include "energizer.h" 00002 00003 Energizer::Energizer(Board *b) 00004 { 00005 board = b; 00006 setOn(); 00007 actualPosition = OUT; 00008 maxPixmaps = 0; 00009 } 00010 00011 void Energizer::setMaxPixmaps(int max) 00012 { 00013 maxPixmaps = max; 00014 } 00015 00016 void Energizer::setOff() 00017 { 00018 actualState = off; 00019 } 00020 00021 void Energizer::setOn() 00022 { 00023 actualState = on; 00024 actualPix = 0; 00025 } 00026 00027 void Energizer::setPosition(int pos) 00028 { 00029 board->reset(actualPosition, energizer); 00030 actualPosition = pos; 00031 board->set(actualPosition, energizer); 00032 } 00033 00034 energizerState Energizer::state() 00035 { 00036 return actualState; 00037 } 00038 00039 int Energizer::position() 00040 { 00041 return actualPosition; 00042 } 00043 00044 bool Energizer::move() 00045 { 00046 if (actualPosition == OUT) 00047 return FALSE; 00048 00049 if (++actualPix >= maxPixmaps) 00050 actualPix = 0; 00051 00052 return TRUE; 00053 } 00054 00055 int Energizer::pix() 00056 { 00057 if (actualPosition == OUT || actualState == off) 00058 return -1; 00059 00060 return actualPix; 00061 }
1.4.2