{"size": 2046, "ext": "scrbl", "max_stars_repo_path": "pkgs/racket-doc/scribblings/guide/graphics.scrbl", "max_stars_repo_name": "lkh01/racket", "max_stars_repo_stars_event_min_datetime": "2018-07-29T04:13:52.000Z", "max_stars_repo_stars_event_max_datetime": "2022-02-14T16:11:17.000Z", "max_issues_repo_path": "pkgs/racket-doc/scribblings/guide/graphics.scrbl", "max_issues_repo_name": "lkh01/racket", "max_issues_repo_issues_event_min_datetime": "2017-08-25T20:26:37.000Z", "max_issues_repo_issues_event_max_datetime": "2022-02-26T17:48:40.000Z", "max_forks_repo_path": "pkgs/racket-doc/scribblings/guide/graphics.scrbl", "max_forks_repo_name": "lkh01/racket", "max_forks_repo_forks_event_min_datetime": "2016-04-25T11:47:57.000Z", "max_forks_repo_forks_event_max_datetime": "2017-05-09T14:52:48.000Z"}
{"max_stars_count": 10, "max_issues_count": 15, "max_forks_count": 3, "avg_line_length": 37.2, "max_line_length": 83, "alphanum_fraction": 0.7052785924}
#lang scribble/doc
@(require scribble/manual "guide-utils.rkt")

@title[#:tag "graphics"]{Graphics and GUIs}

Racket provides many libraries for graphics and graphical user
interfaces (GUIs):

@itemlist[

 @item{The @racketmodname[racket/draw] library provides basic drawing
       tools, including drawing contexts such as bitmaps and
       PostScript files.

       See @other-doc['(lib "scribblings/draw/draw.scrbl")]
       for more information.}

 @item{The @racketmodname[racket/gui] library provides GUI widgets
       such as windows, buttons, checkboxes, and text fields. The
       library also includes a sophisticated and extensible text
       editor.

       See @other-doc['(lib "scribblings/gui/gui.scrbl")]
       for more information.}

 @item{The @racketmodname[pict] library provides a more
       functional abstraction layer over @racketmodname[racket/draw].
       This layer is especially useful for creating slide
       presentations with @seclink[#:doc '(lib
       "scribblings/slideshow/slideshow.scrbl") "top"]{Slideshow}, but
       it is also useful for creating images for @seclink[#:doc '(lib
       "scribblings/scribble/scribble.scrbl") "top"]{Scribble}
       documents or other drawing tasks. Pictures created with the
       @racketmodname[pict] library can be rendered to any
       drawing context.

       See @other-doc['(lib "scribblings/slideshow/slideshow.scrbl")]
       for more information.}

 @item{The @racketmodname[2htdp/image #:indirect] library is similar to
       @racketmodname[pict]. It is more streamlined for
       pedagogical use, but also slightly more specific to screen and
       bitmap drawing.

       See @racketmodname[2htdp/image #:indirect] for more information.}

 @item{The @racketmodname[sgl #:indirect] library provides OpenGL for 3-D
       graphics. The context for rendering OpenGL can be a window or
       bitmap created with @racketmodname[racket/gui].

       See @other-doc['(lib "sgl/scribblings/sgl.scrbl") #:indirect "SGL"] for more
       information.}

]
