css-le-botlan/Y/Ada-S1/acteur-gada/gada-graphics.ads.html
2021-02-10 22:10:02 +01:00

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 =&gt; true) ou enlève (Flag =&gt; 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>