Zoeken…


Gloss installeren

Gloss is eenvoudig te installeren met de Cabal-tool. Nadat Cabal is geïnstalleerd, kan men cabal install gloss om Gloss te installeren.

Als alternatief kan het pakket vanaf de bron worden gebouwd, door de bron van Hackage of GitHub te downloaden en het volgende te doen:

  1. Voer de gloss/gloss-rendering/ map in en cabal install
  2. Voer de gloss/gloss/ map in en cabal install

Iets op het scherm krijgen

In Gloss kan men de display gebruiken om zeer eenvoudige statische afbeeldingen te maken.

Om dit te gebruiken moet je eerst import Graphics.Gloss . Dan zou in de code het volgende moeten zijn:

main :: IO ()
main = display window background drawing

window is van het type Display dat op twee manieren kan worden opgebouwd:

-- Defines window as an actual window with a given name and size
window = InWindow name (width, height) (0,0)

-- Defines window as a fullscreen window
window = FullScreen

Hier markeert het laatste argument (0,0) in InWindow de locatie van de linkerbovenhoek.

Voor versies ouder dan 1.11: in oudere versies van Gloss neemt FullScreen een ander argument dat bedoeld is als de grootte van het frame dat wordt getekend en op zijn beurt wordt uitgerekt tot volledig scherm, bijvoorbeeld: FullScreen (1024,768)

background is van het type Color . Het definieert de achtergrondkleur, dus het is zo eenvoudig als:

background = white

Dan komen we bij de tekening zelf. Tekeningen kunnen erg complex zijn. Hoe u deze kunt specificeren, wordt elders behandeld ([hier kan momenteel naar worden verwezen] [1]), maar het kan zo simpel zijn als de volgende cirkel met een straal van 80:

drawing = Circle 80

Samenvattend voorbeeld

Zoals min of meer vermeld in de documentatie over Hackage, is het krijgen van iets op het scherm net zo eenvoudig als:

import Graphics.Gloss

main :: IO ()
main = display window background drawing
    where
      window = InWindow "Nice Window" (200, 200) (0, 0) 
      background = white 
      drawing = Circle 80


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow