Oppure

Loading
10/08/11 17:13
popp109
Salve sto realizzando un toolkit grafico multipiattaforma.
Con le api di window fila tutto liscio ma con le xlib riscontro delle anomalie sulla grafica, esattamente un rallentamento nel disegnare i vari oggetti.Se passo una finestra sopra la mia applicazione, risulta ancora più evidente.(I vari oggetti diventano prima neri e poi man mano vengono disegnati.Tranne per lo sfondo standard di ogni window che non ha questo problema).
Nel ciclo degli eventi non faccio altro che cercare il mio controllo e lanciare il metodo disegna che per esempio dovrebbe creare un rettangolo.

Siccome questa è la sintassi utilizzata da quasi tutti i toolkit grafici non riesco a capire dove si trova il mio problema.


    XEvent xevent;

    while(1)
    {
          XNextEvent( display, &xevent );
          Oggetto* fn = (Oggetto*)cercaOggetto(xevent.xany.window);
          switch(xevent.type)
          {
              case Expose:
                 if(xevent.xexpose.count > 0)
                 {
                     break;
                 }
                 fn->Disegna();
              break;
              ...
              ...
          }
    }



Quando viene aggiunto un oggetto in una finestra, non faccio altro che aggiungere l'oggetto in un vector e in un altro vector il window di riferimento.

Nella funzione 'cercaOggetto' cerca la posizione di window nel primo vector e quindi restituisce l'oggetto di riferimento dal secondo vector nella posizione del primo vector.

la funzione' Disegna', non fa altro che richiamare:

XSetForeground(display, gc, ROSSO);
XFillRectangle(display, window, gc, x, y, larghezza, altezza);


Qualcuno di voi ha riscontrato questo tipo di problema o ha provato a realizzare un toolkit grafico utilizzando xlib?
Ultima modifica effettuata da popp109 10/08/11 17:16
aaa