45 lines
2.2 KiB
Markdown
45 lines
2.2 KiB
Markdown
# API Graphique (CGA Monochrome 640x200)
|
|
|
|
L'accès se fait via la macro
|
|
|
|
|
|
```assember
|
|
GFX [COMMANDE], [ARGS...]
|
|
```
|
|
ou via
|
|
```assembler
|
|
call [graph_driver + ID*2].
|
|
```
|
|
|
|
Les arguments sont empilés selon la convention C (dernier argument poussé en premier).
|
|
|
|
## Liste des fonctions disponibles
|
|
|
|
| Index | Commande | Arguments | Description |
|
|
| - | - | - | - |
|
|
| 00 | INIT | Aucun | "Initialise le mode vidéo 0x06, efface l'écran et installe le motif de fond."|
|
|
| 01 | PUTPIXEL | "x (word), y (word) | color (byte)", "Dessine un pixel aux coordonnées (x, y). 0=Noir , !0=Blanc." |
|
|
| 02 | GETPIXEL | "x (word), y (word)" | Retourne la couleur du pixel dans AL (0 ou 1). |
|
|
| 03 | GOTOXY | "x (word), y (word)" | Positionne le curseur texte interne (en pixels). |
|
|
| 04 | TXT_MODE | mode (word) | "Définit le mode d'écriture texte.Bits :0: Couleur (0=Noir, 1=Blanc)1: Transparence (1=Transparent | 0=Opaque)" |
|
|
| 05 | PUTCH | char (word) | Affiche un caractère ASCII à la position courante et avance le curseur de 8px. |
|
|
| 06 | WRITE | "seg (word) | offset (word)" | Affiche une chaîne de caractères terminée par 0 (ASCIIZ) pointée par seg:offset. |
|
|
| 07 | LINE_VERT | "x, y1, y2, color" | Dessine une ligne verticale de y1 à y2 à la position x. |
|
|
| 08 | LINE_HORIZ | "x1, x2, y, color" | Dessine une ligne horizontale de x1 à x2 à la hauteur y. Optimisé par octet. |
|
|
| 09 | RECTANGLE_DRAW | "x1, y1, x2, y2, color" | Dessine le contour d'un rectangle. |
|
|
| 10 | RECTANGLE_FILL | "x1, y1, x2, y2, color" | Dessine un rectangle plein (rempli). |
|
|
| 11 | MOUSE_HIDE | Aucun | Cache le curseur souris et restaure l'arrière-plan. Gère un compteur interne (récursif). |
|
|
| 12 | MOUSE_SHOW | Aucun | Sauvegarde l'arrière-plan et affiche le curseur souris. Gère un compteur interne. |
|
|
| 13 | MOUSE_MOVE | Aucun | Force le rafraîchissement visuel du curseur souris (Efface -> Sauve fond -> Affiche). |
|
|
|
|
## Constantes Utiles (Texte)
|
|
|
|
Ces constantes sont utilisées avec la commande TXT_MODE.
|
|
|
|
*GFX_TXT_WHITE_TRANSPARENT* (0) : Texte blanc, fond inchangé.
|
|
|
|
*GFX_TXT_BLACK_TRANSPARENT* (1) : Texte noir, fond inchangé.
|
|
|
|
*GFX_TXT_WHITE* (2) : Texte blanc sur fond noir (écrasement).
|
|
|
|
*GFX_TXT_BLACK* (3) : Texte noir sur fond blanc (écrasement).
|