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.
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:
Qualcuno di voi ha riscontrato questo tipo di problema o ha provato a realizzare un toolkit grafico utilizzando xlib?
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