64 lines
No EOL
6.9 KiB
HTML
64 lines
No EOL
6.9 KiB
HTML
<!DOCTYPE html>
|
|
<!-- Page generated by OCaml with Ocsigen.
|
|
See http://ocsigen.org/ and http://caml.inria.fr/ for information -->
|
|
<html class="ada2" lang="fr" id="h" xmlns="http://www.w3.org/1999/xhtml"><head><title>gada-graphics.ads</title><meta content="text/html; charset=utf-8" http-equiv="content-type"/><link media="all" href="../../ystyle.css" rel="stylesheet"/><script src="../../Scripts/yfold.js"></script></head><body><div class="header" id="header"><h1 id="title">gada-graphics.ads</h1></div><main><code class="page block"><span class="kw">package</span> <span class="fname">GAda.Graphics</span> <span class="kw">is</span><span class="eols">
|
|
|
|
</span> <span class="comment">--
|
|
</span> <span class="comment">-- Attention, l'axe des Y est vers le haut.
|
|
</span> <span class="comment">--
|
|
</span><span class="eols">
|
|
|
|
</span> <span class="comment">-- Trace un point noir aux coordonnées X,Y
|
|
</span> <span class="kw">procedure</span> <span class="fname">BlackPoint</span>(<span class="ident">X</span>, <span class="ident">Y</span> : <span class="type">Integer</span>) ;<span class="eols">
|
|
|
|
</span> <span class="comment">-- Redimensionne la fenêtre graphique, et efface l'image courante.
|
|
</span> <span class="comment">-- Largeur et hauteur sont en pixels (points)
|
|
</span> <span class="kw">procedure</span> <span class="fname">Resize</span>(<span class="ident">Largeur</span> : <span class="type">Integer</span> ; <span class="ident">Hauteur</span> : <span class="type">Integer</span>) ;<span class="eols">
|
|
|
|
|
|
</span> <span class="comment">-- Une couleur est caractérisée par trois composantes
|
|
</span> <span class="comment">-- rouge, vert, bleu, dont la valeur va de 0 (pas de couleur) à 255 (couleur vive).
|
|
</span> <span class="comment">-- Une couleur est donc un triplet de trois entiers entre 0 et 255.
|
|
</span> <span class="comment">--
|
|
</span> <span class="comment">-- Par exemple, le blanc correspond à (255,255,255), le rouge à (255,0,0)
|
|
</span> <span class="comment">-- et le violet à (255,0,255) car c'est un mélange de rouge et de bleu.
|
|
</span> <span class="comment">--
|
|
</span> <span class="kw">type</span> <span class="type">T_Couleur</span> <span class="kw">is</span> <span class="kw">record</span>
|
|
<span class="ident">Rouge</span> : <span class="type">Integer</span> <span class="kw">range</span> <span class="number">0</span>..<span class="number">255</span> ;
|
|
<span class="ident">Vert</span> : <span class="type">Integer</span> <span class="kw">range</span> <span class="number">0</span>..<span class="number">255</span> ;
|
|
<span class="ident">Bleu</span> : <span class="type">Integer</span> <span class="kw">range</span> <span class="number">0</span>..<span class="number">255</span> ;
|
|
<span class="kw">end</span> <span class="kw">record</span> ;<span class="eols">
|
|
|
|
|
|
</span> <span class="comment">-- Trace un point de la couleur indiquée
|
|
</span> <span class="kw">procedure</span> <span class="fname">ColorPoint</span>(<span class="ident">X</span>, <span class="ident">Y</span> : <span class="type">Integer</span> ; <span class="ident">Coul</span> : <span class="type">T_Couleur</span>) ;<span class="eols">
|
|
|
|
</span> <span class="comment">-- Trace une ligne entres les points (X1,Y1) et (X2,Y2)
|
|
</span> <span class="kw">procedure</span> <span class="fname">ColorLine</span>(<span class="ident">X1</span>, <span class="ident">Y1</span>, <span class="ident">X2</span>, <span class="ident">Y2</span> : <span class="type">Integer</span> ; <span class="ident">Coul</span> : <span class="type">T_Couleur</span>) ;<span class="eols">
|
|
|
|
</span> <span class="comment">-- Idem, mais la ligne est noire
|
|
</span> <span class="kw">procedure</span> <span class="fname">BlackLine</span>(<span class="ident">X1</span>, <span class="ident">Y1</span>, <span class="ident">X2</span>, <span class="ident">Y2</span> : <span class="type">Integer</span>) ;<span class="eols">
|
|
|
|
</span> <span class="comment">-- Trace un cercle (vide) ou un disque (plein) centré en (X, Y) et du rayon indiqué.
|
|
</span> <span class="kw">procedure</span> <span class="fname">Cercle</span>(<span class="ident">X</span>, <span class="ident">Y</span>, <span class="ident">Rayon</span> : <span class="type">Integer</span> ; <span class="ident">Coul</span> : <span class="type">T_Couleur</span>) ;
|
|
<span class="kw">procedure</span> <span class="fname">Disque</span>(<span class="ident">X</span>, <span class="ident">Y</span>, <span class="ident">Rayon</span> : <span class="type">Integer</span> ; <span class="ident">Coul</span> : <span class="type">T_Couleur</span>) ;<span class="eols">
|
|
|
|
</span> <span class="comment">-- Trace un rectangle coloré
|
|
</span> <span class="kw">procedure</span> <span class="fname">ColorRectangle</span>(<span class="ident">X</span>, <span class="ident">Y</span>, <span class="ident">Largeur</span>, <span class="ident">Hauteur</span> : <span class="type">Integer</span> ; <span class="ident">Coul</span> : <span class="type">T_Couleur</span>) ;<span class="eols">
|
|
|
|
|
|
</span> <span class="comment">-- Met (Flag => true) ou enlève (Flag => false) la marge grise.
|
|
</span> <span class="kw">procedure</span> <span class="fname">Avec_Marge</span>(<span class="ident">Flag</span> : <span class="type">Boolean</span>) ;<span class="eols">
|
|
|
|
</span> <span class="comment">--
|
|
</span> <span class="comment">-- Ignorez cette partie
|
|
</span> <span class="comment">-- qui sert à optimiser la mémoire
|
|
</span> <span class="comment">--
|
|
</span> <span class="kw">for</span> <span class="ident">T_Couleur</span> <span class="kw">use</span> <span class="kw">record</span>
|
|
<span class="ident">Rouge</span> <span class="kw">at</span> <span class="number">0</span> <span class="kw">range</span> <span class="number">0</span>..<span class="number">7</span>;
|
|
<span class="ident">Vert</span> <span class="kw">at</span> <span class="number">0</span> <span class="kw">range</span> <span class="number">8</span>..<span class="number">15</span>;
|
|
<span class="ident">Bleu</span> <span class="kw">at</span> <span class="number">0</span> <span class="kw">range</span> <span class="number">16</span>..<span class="number">23</span>;
|
|
<span class="kw">end</span> <span class="kw">record</span>;<span class="eols">
|
|
|
|
</span><span class="kw">end</span> <span class="fname">GAda.Graphics</span> ;
|
|
</code></main><footer><small class="pcom"><a class="caml_c" href="../../yversion.html" data-eliom-c-onclick="WL9oinEbtDi9">Version information</a></small><a target="_blank" href="http://www.insa-toulouse.fr"><img title="INSA Toulouse" style="width:73px;height:28px;" alt="INSA logo" src="../../Images/logo-insa-light.jpg"/></a><a target="_blank" href="http://jigsaw.w3.org/css-validator/check/referer"><img title="Validate css stylesheet" style="width:28px;height:32px;" alt="CSS3 logo" src="../../Images/css3.png"/></a><a target="_blank" href="http://validator.w3.org/check/referer"><img title="Validate html5 content" style="width:32px;height:32px;" alt="HTML5 logo" src="../../Images/html5.png"/></a></footer></body></html> |