Exemple #1
0
// Show the boot message
void showBootMessage() 
{
  addWordToFrame(w_boot_josep);
  addWordToFrame(w_boot_i);
  addWordToFrame(w_boot_ana);

  updateDisplay();     
  delay(1000);
  
  addWordToFrame(w_boot_12);
  addWordToFrame(w_boot_set);
  addWordToFrame(w_boot_2015);
  
  updateDisplay();      
  delay(2000);

  //setAllLeds(false);
  clearFrame();
  addWordToFrame(w_boot_dels);
  addWordToFrame(w_boot_de);
  addWordToFrame(w_boot_la);
  addWordToFrame(w_boot_uni);
  updateDisplay();
  delay(2000);
  
  clearFrame();
  updateDisplay();
}
void QTextDocumentPrivate::clearFrame(QTextFrame *f)
{
    for (int i = 0; i < f->d_func()->childFrames.count(); ++i)
        clearFrame(f->d_func()->childFrames.at(i));
    f->d_func()->childFrames.clear();
    f->d_func()->parentFrame = 0;
}
void WidgetRenderer::handleMediaNodeEvent(const MediaNodeEvent *event)
{
    switch (event->type()) {
    case MediaNodeEvent::SourceChanged:
    {
        clearFrame();
        break;
    }
    default:
        break;
    }
}
Exemple #4
0
void setupCreditsNames()
{
  clearFrame(); 
  updateDisplay();

  setAllLeds(false);
  
  currentLetterOfName = 0;
  currentName = 0;
  currentNameOffset = 0;
  currentDelay = DELAY_AFTER_LETTER;
}
Exemple #5
0
void drawFrame(struct Context *context, cairo_t *cr) {
	struct Atom *newcoords;

	if (context->config->erasePreviousFrame) {
		clearFrame(context, cr);
	}

	newcoords = rotateAtoms(context);

	drawAtoms(cr, context->currentFrame, newcoords, context->currentFrame->numAtoms,
			context->config);

	g_free(newcoords);
}
Exemple #6
0
rhkbool deAllocFrame(page_t *pg)
{
	if(!pg->frame)
	{
		//Page is not allocated
		return FALSE;
	}
	else
	{
		clearFrame(pg->frame);
		pg->frame = 0x0;
		
	}
}
void FrameView::setFrame( const Frame& FrameRef )
{
  clearFrame();
  Images.append(FrameRef);
  if (FrameRef.isNull())
    return;
  QGraphicsPixmapItem* pixMapPtr(Scene->addPixmap(FrameRef));
  if ((width() < Images.first().width()) || (height() < FrameRef.height()))
  {
    qreal widthScale(static_cast<qreal>(width()) / static_cast<qreal>(FrameRef.width()));
    qreal heightScale(static_cast<qreal>(height()) / static_cast<qreal>(FrameRef.height()));
    Scale = qMin(widthScale, heightScale) * 0.98;
    pixMapPtr->setScale(Scale);
  }
}
void QTextDocumentPrivate::scan_frames(int pos, int charsRemoved, int charsAdded)
{
    // ###### optimise
    Q_UNUSED(pos);
    Q_UNUSED(charsRemoved);
    Q_UNUSED(charsAdded);

    QTextFrame *f = rootFrame();
    clearFrame(f);

    for (FragmentIterator it = begin(); it != end(); ++it) {
        // QTextFormat fmt = formats.format(it->format);
        QTextFrame *frame = qobject_cast<QTextFrame *>(objectForFormat(it->format));
        if (!frame)
            continue;

        Q_ASSERT(it.size() == 1);
        QChar ch = text.at(it->stringPosition);

        if (ch == QTextBeginningOfFrame) {
            if (f != frame) {
                // f == frame happens for tables
                Q_ASSERT(frame->d_func()->fragment_start == it.n || frame->d_func()->fragment_start == 0);
                frame->d_func()->parentFrame = f;
                f->d_func()->childFrames.append(frame);
                f = frame;
            }
        } else if (ch == QTextEndOfFrame) {
            Q_ASSERT(f == frame);
            Q_ASSERT(frame->d_func()->fragment_end == it.n || frame->d_func()->fragment_end == 0);
            f = frame->d_func()->parentFrame;
        } else if (ch == QChar::ObjectReplacementCharacter) {
            Q_ASSERT(f != frame);
            Q_ASSERT(frame->d_func()->fragment_start == it.n || frame->d_func()->fragment_start == 0);
            Q_ASSERT(frame->d_func()->fragment_end == it.n || frame->d_func()->fragment_end == 0);
            frame->d_func()->parentFrame = f;
            f->d_func()->childFrames.append(frame);
        } else {
            Q_ASSERT(false);
        }
    }
    Q_ASSERT(f == rtFrame);
    framesDirty = false;
}
Exemple #9
0
DWORD WINAPI waiting_for(LPVOID p)
{            
      int ret,first = 1;
      int i=0;
      unsigned char c;
      int flag;
      unsigned short crc;
      int u;
      
      struct Frame *f;
      
      f = (struct Frame*) p;
   
      f->length =0; 
      f->type = 0; 
      
      if(side == 0)//LADO IZQUIERDO (EMISOR)
      {
          while(1)
          {                    
              flag = 0;
              
              while(flag ==0)
              {
                 if(first == 1)//es el primer caracter, por tanto esperamos hasta que exista uno en el buffer que poder leer
                  {
                    f_esperar_leer(INFINITE);
                    clearFrame(f);//aprovechamos para limpiar la trama
                    i=0;    
                  }
                  else
                  {
                    f_esperar_leer(800);//este ya no es el primer caracter
                  }
                  
                  ret=f_leer(&c);                
                  first= 0;
                  		
                  switch (ret)
                  {               
                     case 0://sin problemas al leer                   
                        fI->body[i] = c;
                        fI->length++;
            				i++;          				 
                     break;
           				
            			case -1://sobreescritura
            				if(mode == 1){fprintf(stderr,"Error de sobrescritura al leer\n");}		
           				break;
           				
            			case -2://no queda nada que leer
                                          
            			   //evaluamos la trama
                        fI->type = evaluateFrame(fI);  
                                 
            			   if(mode == 1)
                        { 
               			   printf("\n-------------------------------RECEIVED------------------------------------\n");                                                                        			   
               			   if(fI->type != -1)
               			   {
                           	SetConsoleTextAttribute(hstdoutI, FOREGROUND_GREEN); //Letra verde para trama correcta
                           }
                           else
                           {
                              SetConsoleTextAttribute(hstdoutI, FOREGROUND_RED); //Letra roja para trama incorrecta
                           }
               			   for(u=0;u<fI->length;u++)
                           {
                              printData(fI->body[u]);
                              printf(" ");
                           }
                           
                           printf("\n");
                           SetConsoleTextAttribute(hstdoutI, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE); //Letra blanca
                        }
                        
            			   //indicamos que hay una trama lista
                        ReleaseSemaphore(side_I_data_ready,1,NULL);
                        
                        //reiniciamos los valores de control
                        first=1;
                        flag = 1;
           				break;
           				
            			case -3:
                        fprintf(stderr,"\nComunication off\n");
                        conexionOK = 0;
                        ExitThread(1);
           				break;
           			} 
               } 
          } 
       }
       else//LADO DERECHO (RECEPTOR)
       { 
          while(1)
          {       
            flag = 0;
             
              while(flag ==0)
              {
                  if(first == 1)//es el primer caracter, por tanto esperamos hasta que exista uno en el buffer que poder leer
                  {
                     f_esperar_leer(INFINITE);
                     clearFrame(f);//aprovechamos para limpiar la trama
                     i=0;   
                  }
                  else
                  {
                      f_esperar_leer(800);//no es el primera caracter
                  }
                  
                  ret=f_leer(&c);                
                  first = 0;
                
                  switch (ret)
                  {
                	    case 0://sin problemas al leer
                           fD->body[i] = c;
                           fD->length++;
                				i++;
                		break;
               				
                		case -1://sobreescritura
                			if(mode == 1){fprintf(stderr,"Read overrrun error\n");}		
               		break;
               				
                		case -2://no queda nada que leer
                        
                        //evaluamos la trama
                        fD->type = evaluateFrame(fD);
                        
                        if(mode == 1)
                        {
                           printf("\n-------------------------------RECEIVED------------------------------------\n");
                                                 			                   			                 			    
                   			if(fD->type != -1)
               			   {                         
                           	SetConsoleTextAttribute(hstdoutD, FOREGROUND_GREEN); //Letra verde para trama correcta         
                           }
                           else
                           {
                              SetConsoleTextAttribute(hstdoutD, FOREGROUND_RED); //Letra roja para trama incorrecta
       
                           }
                   			for(u=0;u<fD->length;u++)
                           {
                              printData(fD->body[u]);
                              printf(" ");
                           }                                            
                           printf("\n");
                           SetConsoleTextAttribute(hstdoutD, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE); //Letra blanca
                        }
                        else
                        {
                           //para que cuando no este en modo debug muestre los datos que recibe
                           if(fD->type == dataFrame)
                           {
                              catchData(fD);
                              printf("\nReceived: %s",fD->data);
                           }
                           
                        }
                        
                        //indicamos que hay una trama lista
                			ReleaseSemaphore(side_D_data_ready,1,NULL);
                			
                			//reiniciamos los valores de control
                			first=1;
                		   flag = 1;                                     
               		 break;
               				
                		case -3://la comunicacion se ha cortado
                			fprintf(stderr,"\nComunication offn\n");
                			conexionOK = 0;
                			fD->type = -5;
                			ExitThread(1);
               		break;
               	} 
               }  
            } 
      }       
}