Questo è l'insieme delle funzioni messe a disposizione dalla libreria. Il loro utilizzo è vincolato al caricamento della libreria midres. Alcune di queste funzioni sono disponibili per tutte le piattaforme (alcune richiedono l'attivazione di overlay). Altre, tuttavia, sono disponibili solo per quelle configurazioni che dispongono di sufficiente memoria contigua.
Queste funzioni si occupano di inizializzare e deinizializzare il sottosistema grafico per le varie piattaforme. La funzione mr_init
deve essere sempre chiamata, prima di ogni chiamata. La chiamata a mr_cleanup
è facoltativa, e necessaria solo se si desidera lasciare il sistema “pulito” dopo l'esecuzione.
mr_init
- inizializza il sottosistema grafico mr_cleanup
- rilascia il sottosistema grafico Queste funzioni sono necessarie solo se si desidera garantire il supporto alla programmazione overlay. Devono essere utilizzate prima di chiamare le funzioni della libreria.
mr_use_screen
- abilita le funzioni di gestione schermo e caricamento mr_use_screen2
- abilita le funzioni di gestione schermo e salvataggiomr_use_drawing
- abilita le funzioni di disegno (v1.0)mr_use_drawing2
- abilita le funzioni di disegno (v1.1)mr_use_bitblit
- abilita le funzioni “bit blit” (v1.2)Queste funzioni sono necessarie per manipolare intere schermate midres. Si occupano di caricare, salvare, comprimere e decomprimere le immagini dai file verso o da determinate schermate. Consentono inoltre di indicare quale schermata deve essere visualizzata e su quale si dovrà scrivere (se l'hardware dispone di più di una schermata).
mr_clear
- cancella la schermata midresmr_show
- mostra la schermata midresmr_enable
- imposta la schermata midres come outputmr_load
- carica una schermata midres (solo luminanza/mixel)mr_save
- salva una schermata midres (solo luminanza/mixel)mr_load_color
- carica una schermata midres (solo colore)mr_save_color
- salva una schermata midres (solo colore)mr_compress
- comprimi una schermata midresmr_uncompress
- decomprimi una schermata midresmr_pack
- compatta una schermata midresmr_unpack
- scompatta una schermata midres
Queste funzioni si occupano di disegnare e colorare i mixel sullo schermo. La versione 1.0 è adatta per sistemi con poca memoria e per l'integrazione con altri ambienti (vedi img2midres utility). Le due versioni sono compatibili, nel senso che agiscono sugli stessi schermi e possono, quindi, essere mescolate.
mr_psetop
- setta/cancella/inverti un mixel alle date coordinatemr_pcolorop
- setta il colore alle date coordinatemr_ink
- setta il colore implicito per quello schermomr_pset
- setta un mixel alle date coordinatemr_pclear
- cancella un mixel alle date coordinatemr_pinvert
- inverti un mixel alle date coordinatemr_pcolor
- setta un mixel alle date coordinate con un colore mr_psetc
- setta un mixel alle date coordinate con il colore dello schermomr_clear_bitmap
- cancella la bitmap al NEROmr_clear_to_color
- riempie la bitmap con un dato coloremr_putpixel
- imposta un mixel al dato coloremr_getpixel
- recupera il colore di un mixelmr_vline
- disegna una linea verticale di un dato coloremr_hline
- disegna una linea orizzontale di un dato coloremr_line
- disegna una linea di un dato coloremr_triangle
- disegna un triangolo di un dato coloremr_polygon
- disegna un poligono di un dato coloremr_rect
- disegna un rettangolo di un dato coloremr_circle
- disegna un cerchio di un dato coloreQueste funzioni si occupano delle operazioni di copia di aree rettangolari di schermo della medesima dimensione. Le aree possono essere due schermi oppure un'area di memoria verso uno schermo. La copia può avvenire anche con l'applicazione di una operazione logica (AND, OR oppure XOR) ovvero con l'effetto di trasparenza (i mixel spenti sono considerati trasparenti). Queste funzioni possono essere usate per implementare una forma rudimentale di “sprite” software.
mr_copy
- copia generica di due aree (mixels e colori)mr_blit_from_screen
- copia (blit) un'area dallo schermo alla memoriamr_blit_to_screen
- copia (blit) un'area dalla memoria allo schermoQueste funzioni implementano un meccanismo di double buffering: si tratta di un modo per evitare il flickering durante le animazioni, e consiste nel disegnare su una schermata mentra l'altra viene mostrata all'utente. Le schermate sono scambiate tra loro solo quando si deve procedere ad aggiornare il frame.
mr_doublebuffer_init
- abilita il suporto per il double bufferingmr_doublebuffer_switch
- scambia la schermata visibile con quella abilitataQueste funzioni si occupano di definire, disegnare e modificare i “tile”.
mr_tileset_visible
- imposta il tileset visibilemr_tileset_load
- carica un tilesetmr_tileset_copy
- copia un tileset su un altromr_tile_redefine
- ridefinisce un singolo tile con dati graficimr_tile_prepare_horizontal
- ridefinisce un insieme di tile per permettere il movimento orizzontalemr_tile_moveto_horizontal
- disegna un tile con precisione al pixel (eventualmente) muovendolo orizzontalmentemr_tile_prepare_vertical
- ridefinisce un insieme di tile per permettere il movimento verticalemr_tile_moveto_vertical
- disegna un tile con precisione al pixel (eventualmente) muovendolo verticalmentemr_puttile
- disegna un tile sullo schermomr_cleartile
- cancella un tile dallo schermo mr_gettile
- recupera un tile dallo schermo