progetto Agar produce un sistema grafico indipendente toolkit portatile e finestra per SDL e OpenGL.
Oltre a una GUI toolkit completamente funzionale, un insieme di grafici di livello superiore librerie relative sono inclusi anche Agar. Per un elenco completo, vedere la pagina librerie Agar.
Agar è un software gratuito. Il codice sorgente Agar è liberamente utilizzabile e riutilizzabile da chiunque sotto la licenza BSD.
Agar è scritto in ANSI C ed è portabile su tutte le piattaforme supportate dalla libreria SDL. La biblioteca ei suoi progetti correlati è stato in fase di sviluppo attivo dal 2001. Il progetto è sponsorizzato da csoft.net di hosting
Cosa c'è di nuovo in questa versione:.
< p>- Port per Xbox (grazie Michael J. Wood!).
- codice widget possono ora utilizzare le interfacce AG_Redraw () per attivare il rendering. Il ciclo degli eventi generico utilizza queste informazioni per evitare inutili aggiornamenti video - cicli di eventi personalizzati devono essere modificati per verificare la finestra & quot; dirty & quot; bandiera per sfruttare questa funzione.
- compilation fisso con opzione --disable-legacy.
- Implementata AG_SurfaceFromPNG () e AG_SurfaceFromJPEG ().
- Risolto bug crash AG_SurfaceFromSDL (); grazie botola!
- Aggiunto AG_SetJPEGQuality (), per impostare la qualità usata da AG_SurfaceExportJPEG ().
- Unisci --enable-foodebug in --enable-objdebug; rimuovere lockdebug.
- Aggiornamento sistema di compilazione per BSDBuild 2.8. Si noti che ./agar-config/ stantio e directory ./agar-foo-config/ possono rompere la build e devono essere rimosse prima di ./configure viene eseguito.
- Fix condizione di deadlock con il AG_Timeout (3) interfaccia quando i timer sono in programma in ordine inverso; grazie a Jakob Reschke per la correzione!
- Risolto bug conversione UTF8 con sequenze di 3 byte; grazie Jerry Huang!
- coordinate fisse compensate per i menu a comparsa sotto i driver singolo-finestra.
- Numerosi miglioramenti al riferimento API. Aggiunto AG_DriverGLX (3), AG_DriverWGL (3), AG_DriverSDLFB (3), AG_DriverSDLGL (3), AG_DriverMw (3) e AG_DriverSw (3), AG_InitGraphics () pagine di manuale.
- Risolto bug di scontro con AG_TEXTBOX_STATIC e AG_EDITABLE_STATIC.
- aggiunto & quot; STRUTTURA DEI DATI & quot; sezione per AG_Window (3).
- Aggiunto SDL_LockSurface mancante () chiama in drivers sdlfb / sdlgl.
- AG_InitGraphics () ora può accettare argomenti di inizializzazione dei driver.
- Evitare l'uso di gettimeofday () su piattaforma Cygwin.
- MATH:. Avvertimenti di tipo fisso di conversione
- Implementata AG_DirDlg (3) del widget di selezione della directory.
- (3) Interfaccia AG_Anim Implementato.
- WGL:. Terminare l'applicazione uscendo dal ciclo degli eventi invece di utilizzare exit ()
- In AG_Scrollbar (3), implementare l'opzione AG_SCROLLBAR_AUTOHIDE.
- questioni Fix compilazione sotto MinGW / MSYS (grazie Joergen!)
- WGL Posta un & quot; finestra gainfocus & quot; evento quando una finestra viene focalizzata per la prima volta sulla creazione.
Cosa c'è di nuovo nella versione 1.4.0:
- Aggiunto il supporto per più & quot; nativo & quot; finestre; rielaborare della grafica di basso livello e le interfacce dei dispositivi di input. A partire da questa versione, i driver disponibili sono:
- o glx (rendering OpenGL con X Window System, più finestre)
- o wgl (rendering OpenGL in ambiente Windows; finestre multiple)
- o sdlfb (rendering framebuffer tramite SDL; interno WM)
- o sdlgl (rendering GL via SDL; interno WM).
- I nuovi driver possono anche essere implementate come parte di un'applicazione, il driver API è documentata in AG_Driver (3).
- Le applicazioni dovrebbero ora utilizzare AG_InitGraphics () per inizializzare l'interfaccia grafica. La retrocompatibilità è conservato, ma AG_InitVideo () seleziona solo tra i driver grafici a finestra singola.
- Agar può essere costruita senza la libreria SDL, dove non è necessario il driver grafico SDL.
- Molti miglioramenti al (3) interfaccia AG_Surface, più contare su SDL.
- Implementare AG_Keyboard generico e interfacce AG_Mouse; consentire per più dispositivi di input.
- Implementazione del widget di & quot; & quot azioni; come un metodo generico di gestire azioni del mouse e della tastiera per le preferenze dell'utente (vedi AG_Widget (WIDGET_ACTIONS)).
- Finestre Agar ora sono attaccati e staccati utilizzando AG_ObjectAttach () e AG_ObjectDetach () nei confronti di un genitore AG_Driver (3); la funzione AG_ViewDetach () è ormai obsoleta.
- Aggiunto AG_Tbl (3), AG_Tree (3) interfacce per ag_core.
- gestione Fix di stringhe dinamicamente assegnati nel AG_CopyVariable ().
- Implementare AG_TlistUniq (), AG_TlistAddHead ().
- ottimizzazioni importanti a AG_LookupClass ().
- Coerentemente fornire varianti stringa normali per ogni funzione di accettare argomenti di stringa di formato. Questo permette di codice più efficiente, ed evita le complicazioni con attacchi di lingua.
- Come i prefissi delle finestre * in eventi come finestra-mousemotion non è più pertinente, contrassegnare le deprecate in favore di mouse- * e la chiave -. *
- Il numero intero typedef Uint8, Sint8, Uint16, Sint16, ecc non sono resi pubblici a meno che non sia esplicitamente definito _USE_AGAR_TYPES.
- Widget come AG_Textbox (3) ora incorporare AG_Label (3) i widget per visualizzare le etichette di testo associati.
- Aggiunto AG_TextboxSetFont (), AG_EditableSetFont (), AG_ConsoleSetFont ().
- Varie aggiunte AG_Console (3).
- E 'ora possibile avere la (3) formato controllo AG_Scrollbar scalato automaticamente dal & quot; visibile & quot; vincolante, consentendo AG_SCROLLBAR_AUTOSIZE.
- rappresentare Coerentemente valori di colore utilizzando AG_Color (3) in tutta l'API.
- Molti aggiunte e aggiornamenti riferimento API.
- Aggiunte varie routine dimensione suggerimento: AG_ProgressBarSetLength (), AG_ScrollbarSizeHint () .
- Corretti alcuni problemi di memoria su AG_Destroy (); aggiunto demo / reinit / test.
- modifiche cursore non vengono eseguite direttamente dal codice del widget. Invece, widget ora registrano & quot; Zone Cambia cursore & quot; tramite il AG_Cursor (3) interfaccia.
- Introdurre struttura AG_EventQ,
- Aggiunto AG_ObjectSetAttachFn (), AG_ObjectSetDetachFn (), AG_ObjectMoveToHead () e AG_ObjectMoveToTail (), che consente l'ordine di oggetti figlio da controllare. Questo è usato da AG_Window (3) in cui l'ordine è importante.
- Implementata AG_ShortFilename () utilità di routine.
- VG: Implementato VG_Status (), VG_TextString (). VG_View (3) utilizza ora le azioni di widget.
- Il tema predefinito consente ora la trasparenza nella combinazione di colori.
Funzioni
Cosa c'è di nuovo nella versione 1.3.4:.
- I miglioramenti, correzioni di bug e nuove caratteristiche
Cosa c'è di nuovo nella versione 1.3.3:.
- sono stati aggiunti binding per Ada
- È stata aggiunta una libreria matematica. Sono state fatte portabilità e compilazione correzioni.
- Molti miglioramenti sono stati apportati al sistema di AG_Object; classi di oggetti sono ora caricabile dinamicamente.
- La gestione degli errori è stata migliorata.
- La libreria VG è stato per lo più reimplementata ed è ora documentata ufficialmente.
- dimensionamento importanti, ritaglio / abbattimento, e correzioni di rendering relativi sono stati effettuati nella biblioteca GUI.
- Nuovi widget includono Slider e Scrollview.
I commenti non trovato