(index ("anti-alias?" 0) ("anti-alias?" 0) ("max-vertex-buffer" 185) ("max-vertex-buffer" 185) ("max-element-buffer" 384) ("max-element-buffer" 384) ("init!" 587) ("init-font!" 1032) ("new-frame" 1377) ("render!" 1470) ("shutdown!" 1572) ("make-panel" 1734) ("panel-bounds" 1824) ("make-rect" 1946) ("rect-x" 2185) ("rect-x-set!" 2185) ("set!" 2185) ("rect-y" 2394) ("rect-y-set!" 2394) ("set!" 2394) ("rect-w" 2603) ("rect-w-set!" 2603) ("set!" 2603) ("rect-h" 2812) ("rect-h-set!" 2812) ("set!" 2812) ("make-vec2" 3021) ("vec2-x" 3203) ("vec2-x-set!" 3203) ("set!" 3203) ("vec2-y" 3419) ("vec2-y-set!" 3419) ("set!" 3419) ("make-color" 3635) ("color-r" 3862) ("color-r-set!" 3862) ("set!" 3862) ("color-g" 4081) ("color-g-set!" 4081) ("set!" 4081) ("color-b" 4302) ("color-b-set!" 4302) ("set!" 4302) ("color-a" 4522) ("color-a-set!" 4522) ("set!" 4522) ("rgb->color" 4743) ("color->rgba-floats" 4942) ("hsva->color" 5108) ("color->hsva-ints" 5324) ("window-bounds" 5496) ("window-content-region" 5649) ("window-canvas" 5822) ("window-closed?" 5967) ("layout-row-dynamic" 6162) ("layout-row-static" 6426) ("layout-row-begin" 6749) ("layout-row-push" 7036) ("layout-row-end" 7267) ("layout-row" 7371) ("layout-space-begin" 7848) ("layout-space-push" 8182) ("layout-space-end" 8322) ("layout-space-bounds" 8432) ("layout-space-to-screen" 8590) ("layout-space-rect-to-screen" 8753) ("layout-space-rect-to-local" 8922) ("spacing" 9089) ("window-begin" 9196) ("window-end" 9648) ("group-begin" 9843) ("group-end" 10227) ("tree-push" 10367) ("tree-pop" 10725) ("chart-begin" 10862) ("chart-begin-colored" 11215) ("chart-push" 11705) ("chart-push-slot" 11960) ("chart-add-slot" 12246) ("chart-add-slot-colored" 12610) ("chart-end" 13069) ("popup-begin" 13162) ("popup-close" 13666) ("popup-end" 13791) ("combo-begin-label" 13927) ("combo-begin-color" 14232) ("combo-items-height" 14539) ("combo-item-label" 14780) ("combo-close" 15012) ("combo-end" 15143) ("contextual-begin" 15285) ("contextual-item-label" 15827) ("contextual-end" 16162) ("menubar-begin" 16320) ("menubar-end" 16419) ("menu-begin-label" 16518) ("menu-item-label" 16861) ("menu-end" 17152) ("label" 17290) ("label-colored" 17526) ("label-wrap" 17822) ("button-label" 17958) ("button-color" 18263) ("button-symbol" 18577) ("button-symbol-label" 19049) ("checkbox-label" 19684) ("option-label" 19887) ("selectable-label" 20084) ("slider-float" 20430) ("slider-int" 20796) ("progressbar" 21162) ("color-picker" 21570) ("property-float" 21855) ("property-int" 22321) ("edit-string" 22787) ("tooltip" 23704) ("context-input" 23823) ("context-style" 23966) ("stroke-line" 24103) ("stroke-curve" 24385) ("fill-circle" 24789) ("style-window-border" 24954) ("style-window-header-align-set!" 25105) ("input-mouse" 25366) ("mouse-delta" 25481) ("mouse-position" 25674) ("input-mouse-click-down-in-rect?" 25836) ("input-mouse-hovering-in-rect?" 26197) ("input-mouse-previously-hovering-in-rect?" 26426) ("input-mouse-clicked?" 26699) ("input-mouse-down?" 26994) ("input-mouse-released?" 27258))
(def (sig (parameter "(anti-alias?)" (id anti-alias?)) (parameter "(anti-alias? FLAG)" (id anti-alias?))) (p "Controls whether anti-aliasing is enabled, defaulting to " (tt "#t") "."))
(def (sig (parameter "(max-vertex-buffer)" (id max-vertex-buffer)) (parameter "(max-vertex-buffer N)" (id max-vertex-buffer))) (p "Controls the maximum amount of vertices, defaulting to 512*1024."))
(def (sig (parameter "(max-element-buffer)" (id max-element-buffer)) (parameter "(max-element-buffer N)" (id max-element-buffer))) (p "Controls the maximum amount of elements, defaulting to 128*1024."))
(def (sig (procedure "(init! window install-callbacks?)" (id init!))) (p "Initializes the backend and returns a context to be used in all GUI procedures.  " (tt "WINDOW") " must be a GLFW3 window and can be obtained with its " (tt "(window)") " parameter after successful setup.  If " (tt "INSTALL-CALLBACKS?") " is " (tt "#t") ", input and scrolling callbacks are set up, otherwise the created context can only be used for visualizing data."))
(def (sig (procedure "(init-font! [context path size])" (id init-font!))) (p "Initializes either the default font or a custom one if " (tt "CONTEXT") ", " (tt "PATH") " and " (tt "SIZE") " are provided.  The optional arguments need to be a previously obtained context, a string specifying the path to the font and a number for the font size."))
(def (sig (procedure "(new-frame)" (id new-frame))) (p "Starts a new frame to operate on."))
(def (sig (procedure "(render!)" (id render!))) (p "Commits all changes done to the current frame."))
(def (sig (procedure "(shutdown!)" (id shutdown!))) (p "Shuts down the backend.  This must be called after exiting the main loop and before terminating GLFW3."))
(def (sig (procedure "(make-panel)" (id make-panel))) (p "Creates and returns a panel."))
(def (sig (procedure "(panel-bounds PANEL)" (id panel-bounds))) (p "Returns a rectangle describing the panel's bounds."))
(def (sig (procedure "(make-rect X Y W H)" (id make-rect))) (p "Creates and returns a rectangle at the coordinates " (tt "X") " and " (tt "Y") " with the dimensions " (tt "W") " and " (tt "H") ".  Note that all arguments can be floats."))
(def (sig (procedure "(rect-x RECT)" (id rect-x)) (procedure "(rect-x-set! RECT X)" (id rect-x-set!)) (setter "(set! (rect-x RECT) X)" (id set!))) (p "Retrieves or sets the x coordinate of " (tt "RECT") "."))
(def (sig (procedure "(rect-y RECT)" (id rect-y)) (procedure "(rect-y-set! RECT Y)" (id rect-y-set!)) (setter "(set! (rect-y RECT) Y)" (id set!))) (p "Retrieves or sets the y coordinate of " (tt "RECT") "."))
(def (sig (procedure "(rect-w RECT)" (id rect-w)) (procedure "(rect-w-set! RECT W)" (id rect-w-set!)) (setter "(set! (rect-w RECT) W)" (id set!))) (p "Retrieves or sets the w coordinate of " (tt "RECT") "."))
(def (sig (procedure "(rect-h RECT)" (id rect-h)) (procedure "(rect-h-set! RECT H)" (id rect-h-set!)) (setter "(set! (rect-h RECT) H)" (id set!))) (p "Retrieves or sets the h coordinate of " (tt "RECT") "."))
(def (sig (procedure "(make-vec2 X Y)" (id make-vec2))) (p "Creates and returns a vector with the components " (tt "X") " and " (tt "Y") ". Note that all arguments can be floats."))
(def (sig (procedure "(vec2-x VECTOR)" (id vec2-x)) (procedure "(vec2-x-set! VECTOR X)" (id vec2-x-set!)) (setter "(set! (vec2-x VECTOR) X)" (id set!))) (p "Retrieves or sets the x component of " (tt "VECTOR") "."))
(def (sig (procedure "(vec2-y VECTOR)" (id vec2-y)) (procedure "(vec2-y-set! VECTOR Y)" (id vec2-y-set!)) (setter "(set! (vec2-y VECTOR) Y)" (id set!))) (p "Retrieves or sets the y component of " (tt "VECTOR") "."))
(def (sig (procedure "(make-color R G B A)" (id make-color))) (p "Creates and returns a color with the components " (tt "R") ", " (tt "G") ", " (tt "B") " and " (tt "A") ".  All arguments must be integers between 0 and 255."))
(def (sig (procedure "(color-r COLOR)" (id color-r)) (procedure "(color-r-set! COLOR R)" (id color-r-set!)) (setter "(set! (color-r COLOR) R)" (id set!))) (p "Retrieves or sets the red component of " (tt "COLOR") "."))
(def (sig (procedure "(color-g COLOR)" (id color-g)) (procedure "(color-g-set! COLOR G)" (id color-g-set!)) (setter "(set! (color-g COLOR) G)" (id set!))) (p "Retrieves or sets the green component of " (tt "COLOR") "."))
(def (sig (procedure "(color-b COLOR)" (id color-b)) (procedure "(color-b-set! COLOR B)" (id color-b-set!)) (setter "(set! (color-b COLOR) B)" (id set!))) (p "Retrieves or sets the blue component of " (tt "COLOR") "."))
(def (sig (procedure "(color-a COLOR)" (id color-a)) (procedure "(color-a-set! COLOR A)" (id color-a-set!)) (setter "(set! (color-a COLOR) A)" (id set!))) (p "Retrieves or sets the alpha component of " (tt "COLOR") "."))
(def (sig (procedure "(rgb->color R G B)" (id rgb->color))) (p "Returns a color with the components " (tt "R") ", " (tt "G") " and " (tt "B") ".  All arguments must be integers between 0 and 255."))
(def (sig (procedure "(color->rgba-floats COLOR)" (id color->rgba-floats))) (p "Returns a list of red, green, blue and alpha components as floats between 0 and 1."))
(def (sig (procedure "(hsva->color H S V A)" (id hsva->color))) (p "Returns a color with the components " (tt "H") ", " (tt "S") ", " (tt "V") " and " (tt "A") ". All arguments must be integers between 0 and 255."))
(def (sig (procedure "(color->hsva-ints COLOR)" (id color->hsva-ints))) (p "Returns a list of hue, saturation, value and alpha components as integers between 0 and 255."))
(def (sig (procedure "(window-bounds CONTEXT)" (id window-bounds))) (p "Returns a rectangle describing the boundaries of the currently active window."))
(def (sig (procedure "(window-content-region CONTEXT)" (id window-content-region))) (p "Returns a rectangle describing the content region of the currently active window."))
(def (sig (procedure "(window-canvas CONTEXT)" (id window-canvas))) (p "Returns a canvas suitable for drawing on the currently active window."))
(def (sig (procedure "(window-closed? CONTEXT TITLE)" (id window-closed?))) (p "Returns " (tt "#t") " if a window as identified by " (tt "TITLE") " is no longer open, otherwise " (tt "#f") "."))
(def (sig (procedure "(layout-row-dynamic CONTEXT HEIGHT COLUMNS)" (id layout-row-dynamic))) (p "Sets up the following widgets to be positioned dynamically into rows. " (tt "HEIGHT") " is the height of the row, " (tt "COLUMNS") " the amount of widgets per row."))
(def (sig (procedure "(layout-row-static CONTEXT HEIGHT ITEM-WIDTH COLUMNS)" (id layout-row-static))) (p "Sets up the following widgets to be positioned statically into rows. " (tt "HEIGHT") " is the height of the row, " (tt "ITEM-WIDTH") " the width of each widget and " (tt "COLUMNS") " the amount of widgets per row."))
(def (sig (procedure "(layout-row-begin CONTEXT DYNAMIC? HEIGHT COLUMNS)" (id layout-row-begin))) (p "Sets up the following widgets to be positioned dynamically or statically into a row, depending on " (tt "DYNAMIC?") ".  " (tt "COLUMNS") " is the amount of widgets to be positioned."))
(def (sig (procedure "(layout-row-push CONTEXT RATIO-OR-WIDTH)" (id layout-row-push))) (p "Adds a widget to a row.  If the positioning is dynamic, " (tt "RATIO-OR-WIDTH") " is interpreted as ratio, otherwise as width in pixels."))
(def (sig (procedure "(layout-row-end CONTEXT)" (id layout-row-end))) (p "Terminates a layouted row."))
(def (sig (procedure "(layout-row CONTEXT DYNAMIC? HEIGHT RATIOS-OR-WIDTHS)" (id layout-row))) (p "Sets up the following widgets to be positioned dynamically or statically into a row, depending on " (tt "DYNAMIC?") ".  " (tt "HEIGHT") " is the height of the row.  " (tt "RATIONS-OR-WIDTHS") " is a list of ratios or widths, depending on " (tt "DYNAMIC?") ".  This is equivalent to using " (tt "layout-row-begin") ", " (tt "layout-row-push") " and " (tt "layout-row-end") "."))
(def (sig (procedure "(layout-space-begin CONTEXT DYNAMIC? HEIGHT WIDGET-COUNT)" (id layout-space-begin))) (p "Sets up the following widgets to be positioned freely.  If " (tt "DYNAMIC?") " is " (tt "#t") ", widgets are scaled.  " (tt "HEIGHT") " is the total height of all widgets,  " (tt "WIDGET-COUNT") " the number of widgets."))
(def (sig (procedure "(layout-space-push CONTEXT RECT)" (id layout-space-push))) (p "Adds a freely positioned widget at " (tt "RECT") "."))
(def (sig (procedure "(layout-space-end CONTEXT)" (id layout-space-end))) (p "Terminates free positioning."))
(def (sig (procedure "(layout-space-bounds CONTEXT)" (id layout-space-bounds))) (p "Returns a rectangle describing the inner bounds of the current widget."))
(def (sig (procedure "(layout-space-to-screen CONTEXT VECTOR)" (id layout-space-to-screen))) (p "Returns a copy of " (tt "VECTOR") " with absolute coordinates."))
(def (sig (procedure "(layout-space-rect-to-screen CONTEXT RECT)" (id layout-space-rect-to-screen))) (p "Returns a copy of " (tt "RECT") " with absolute coordinates."))
(def (sig (procedure "(layout-space-rect-to-local CONTEXT RECT)" (id layout-space-rect-to-local))) (p "Returns a copy of " (tt "RECT") " with relative coordinates."))
(def (sig (procedure "(spacing CONTEXT COLUMNS)" (id spacing))) (p "Adds " (tt "COLUMNS") " of spacing."))
(def (sig (procedure "(window-begin CONTEXT PANEL TITLE RECT FLAG-OR-FLAGS)" (id window-begin))) (p "Starts a window block with " (tt "TITLE") " as window title.  " (tt "RECT") " specifies the window boundaries.  " (tt "FLAG-OR-FLAGS") " is a symbol or a list of symbols, each of which must be one of " (tt "(border border-header movable scalable closable minimizable dynamic no-scrollbar title)") ". Returns " (tt "#t") " if the window is visible."))
(def (sig (procedure "(window-end CONTEXT)" (id window-end))) (p "Terminates the window block.  Must be used after starting a window block, regardless of whether the window is visible or not."))
(def (sig (procedure "(group-begin CONTEXT PANEL TITLE FLAG-OR-FLAGS)" (id group-begin))) (p "Starts a group block with " (tt "TEXT") " as title.  " (tt "FLAG-OR-FLAGS") " is a symbol or list of symbols, each of which must be one of " (tt "(border border-header movable scalable closable minimizable dynamic no-scrollbar title)") ".  Returns " (tt "#t") " if the group is visible."))
(def (sig (procedure "(group-end CONTEXT)" (id group-end))) (p "Terminates the group block.  May only be used when the group is visible."))
(def (sig (procedure "(tree-push CONTEXT TAB? TEXT MAXIMIZED?)" (id tree-push))) (p "Starts a tree block with " (tt "TEXT") " as label.  If " (tt "TAB?") " is " (tt "#t") ", the tree header is highlighted specially.  If " (tt "MAXIMIZED?") " is " (tt "#t") ", the tree starts expanded, otherwise minimized.  Returns " (tt "#t") " if the tree is expanded."))
(def (sig (procedure "(tree-pop CONTEXT)" (id tree-pop))) (p "Terminates the tree block.  May only be used when the tree is expanded."))
(def (sig (procedure "(chart-begin CONTEXT LINES? COUNT MIN-VALUE MAX-VALUE)" (id chart-begin))) (p "Starts a chart block.  If " (tt "LINES?") " is " (tt "#t") ", draw lines, otherwise columns.  " (tt "COUNT") " is the number of data points, " (tt "MIN-VALUE") " and " (tt "MAX-VALUE") " the extremes.  Returns " (tt "#t") " if the chart is visible."))
(def (sig (procedure "(chart-begin-colored CONTEXT LINES? COLOR HIGHLIGHT COUNT MIN-VALUE MAX-VALUE)" (id chart-begin-colored))) (p "Starts a colored chart block.  If " (tt "LINES?") " if " (tt "#t") ", draw lines, otherwise columns.  " (tt "COLOR") " is used for the chart itself and " (tt "HIGHLIGHT") " for values hovered over.  " (tt "COUNT") " is the number of data points, " (tt "MIN-VALUE") " and " (tt "MAX-VALUE") " the extremes.  Returns " (tt "#t") " if the chart is visible."))
(def (sig (procedure "(chart-push CONTEXT VALUE)" (id chart-push))) (p "Adds " (tt "VALUE") " to the data points in the chart.  Returns either " (tt "#f") " or a list of events for the data point, each of which is one of " (tt "(hovering clicked)") "."))
(def (sig (procedure "(chart-push-slot CONTEXT VALUE SLOT)" (id chart-push-slot))) (p "Adds " (tt "VALUE") " to the data points in the chart " (tt "SLOT") ".  Returns either " (tt "#f") " or a list of events for the data point, each of which is one of " (tt "(hovering clicked)") "."))
(def (sig (procedure "(chart-add-slot CONTEXT LINES? COUNT MIN-VALUE MAX-VALUE)" (id chart-add-slot))) (p "Adds an extra slot to the chart.  Slots are integer values starting from 0.  If " (tt "LINES?") " is " (tt "#t") ", draw lines, otherwise columns. " (tt "COUNT") " is the number of data points, " (tt "MIN-VALUE") " and " (tt "MAX-VALUE") " the extremes."))
(def (sig (procedure "(chart-add-slot-colored CONTEXT LINES? COLOR HIGHLIGHT COUNT MIN-VALUE MAX-VALUE)" (id chart-add-slot-colored))) (p "Adds an extra colored slot to the chart.  If " (tt "LINES?") " is " (tt "#t") ", draw lines, otherwise columns.  " (tt "COLOR") " is used for the chart itself and " (tt "HIGHLIGHT") " for values hovered over.  " (tt "COUNT") " is the number of data points, " (tt "MIN-VALUE") " and " (tt "MAX-VALUE") " the extremes."))
(def (sig (procedure "(chart-end CONTEXT)" (id chart-end))) (p "Terminates a chart block."))
(def (sig (procedure "(popup-begin CONTEXT PANEL DYNAMIC? FLAG-OR-FLAGS RECT)" (id popup-begin))) (p "Starts a popup block.  If " (tt "DYNAMIC?") " is " (tt "#t") ", the popup uses the " (tt "dynamic") " flag.  " (tt "FLAG-OR-FLAGS") " is a symbol or list of symbols, each of which must be one of " (tt "(border border-header movable scalable closable minimizable dynamic no-scrollbar title)") ".  " (tt "RECT") " specifies the boundaries of the popup.  Returns " (tt "#t") " if the popup is visible."))
(def (sig (procedure "(popup-close CONTEXT)" (id popup-close))) (p "Closes the popup.  Must be used inside a popup block."))
(def (sig (procedure "(popup-end CONTEXT)" (id popup-end))) (p "Terminates a popup block.  May only be used if the popup is visible."))
(def (sig (procedure "(combo-begin-label CONTEXT PANEL TEXT MAX-HEIGHT)" (id combo-begin-label))) (p "Starts a combo block with " (tt "TEXT") " as displayed item.  " (tt "MAX-HEIGHT") " specifies the maximum height the opened combo block may occupy. Returns " (tt "#t") " if the combo block is opened."))
(def (sig (procedure "(combo-begin-color CONTEXT PANEL COLOR MAX-HEIGHT)" (id combo-begin-color))) (p "Starts a combo block with " (tt "COLOR") " as displayed item.  " (tt "MAX-HEIGHT") " specifies the maximum height the opened combo block may occupy. Returns " (tt "#t") " if the combo block is opened."))
(def (sig (procedure "(combo-items-height CONTEXT COUNT ITEM-HEIGHT)" (id combo-items-height))) (p "Returns the height " (tt "COUNT") " labels each of which is " (tt "ITEM-HEIGHT") " tall would occupy.  This includes padding and borders."))
(def (sig (procedure "(combo-item-label CONTEXT TEXT ALIGNMENT)" (id combo-item-label))) (p "Adds a combo item with " (tt "TEXT") " as label.  " (tt "ALIGNMENT") " is a symbol and must be one of " (tt "(left centered right)") "."))
(def (sig (procedure "(combo-close CONTEXT)" (id combo-close))) (p "Closes the combo block.  Must be used inside a combo block."))
(def (sig (procedure "(combo-end CONTEXT)" (id combo-end))) (p "Terminates a combo block.  May only be used if the combo block is visible."))
(def (sig (procedure "(contextual-begin CONTEXT PANEL FLAG-OR-FLAGS SIZE TRIGGER-BOUNDS)" (id contextual-begin))) (p "Starts a context block.  " (tt "SIZE") " is a vector describing its size. " (tt "TRIGGER-BOUNDS") " is a rectangle specifying where it can be triggered with a right mouse click.  " (tt "FLAG-OR-FLAGS") " is a symbol or list of symbols, each of which must be one of " (tt "(border border-header movable scalable closable minimizable dynamic no-scrollbar title)") ".  Returns " (tt "#t") " if the context block is visible."))
(def (sig (procedure "(contextual-item-label CONTEXT TEXT ALIGNMENT)" (id contextual-item-label))) (p "Adds a context item to the current context block with " (tt "TEXT") " as label.  " (tt "ALIGNMENT") " is a symbol and must be one of " (tt "(left centered right)") ".  Returns " (tt "#t") " when clicked, otherwise " (tt "#f") "."))
(def (sig (procedure "(contextual-end CONTEXT)" (id contextual-end))) (p "Terminates the context block.  May only be used if the context block is visible."))
(def (sig (procedure "(menubar-begin CONTEXT)" (id menubar-begin))) (p "Starts a menubar block."))
(def (sig (procedure "(menubar-end CONTEXT)" (id menubar-end))) (p "Terminates a menubar block."))
(def (sig (procedure "(menu-begin-label CONTEXT PANEL TEXT ALIGNMENT WIDTH)" (id menu-begin-label))) (p "Starts a menu block with " (tt "TEXT") " as label.  " (tt "ALIGNMENT") " is a symbol and must be one of " (tt "(left centered right)") ".  " (tt "WIDTH") " specifies the menu width.  Returns " (tt "#t") " if the menu block is visible."))
(def (sig (procedure "(menu-item-label CONTEXT TEXT ALIGNMENT)" (id menu-item-label))) (p "Adds a menu item to the current menu block with " (tt "TEXT") " as label. " (tt "ALIGNMENT") " is a symbol and must be one of " (tt "(left centered right)") ".  Returns " (tt "#t") " when clicked."))
(def (sig (procedure "(menu-end CONTEXT)" (id menu-end))) (p "Terminates a menu block.  May only be used if the menu block is visible."))
(def (sig (procedure "(label CONTEXT TEXT ALIGNMENT)" (id label))) (p "Creates a label widget with " (tt "TEXT") " as label.  " (tt "ALIGNMENT") " controls how the text is aligned and must be one of " (tt "(left centered right)") "."))
(def (sig (procedure "(label-colored CONTEXT TEXT ALIGNMENT COLOR)" (id label-colored))) (p "Creates a colored label widget with " (tt "TEXT") " as label painted with " (tt "COLOR") ".  " (tt "ALIGNMENT") " controls how the text is aligned and must be one of " (tt "(left centered right)") "."))
(def (sig (procedure "(label-wrap CONTEXT TEXT)" (id label-wrap))) (p "Creates a label widget with wrapped " (tt "TEXT") " as label."))
(def (sig (procedure "(button-label CONTEXT TEXT [REPEATER?])" (id button-label))) (p "Creates a button widget with " (tt "TEXT") " as label.  If " (tt "REPEATER?") " is " (tt "#t") ", the button fires as long as it's clicked, otherwise only once. Returns " (tt "#t") " if the button has been clicked."))
(def (sig (procedure "(button-color CONTEXT COLOR [REPEATER?])" (id button-color))) (p "Creates a color button widget with " (tt "COLOR") " as value.  If " (tt "REPEATER?") " is " (tt "#t") ", the button fires as long as it's clicked, otherwise only once.  Returns " (tt "#t") " if the button has been clicked."))
(def (sig (procedure "(button-symbol CONTEXT SYMBOL [REPEATER?])" (id button-symbol))) (p "Creates a button with " (tt "SYMBOL") " on it.  " (tt "SYMBOL") " must be one of " (tt "(none x underscore circle circle-filled rect rect-filled triangle-up triangle-down triangle-left triangle-right plus minus)") ".  If " (tt "REPEATER?") " is " (tt "#t") ", the button fires as long as it's clicked, otherwise only once.  Returns " (tt "#t") " if the button has been clicked."))
(def (sig (procedure "(button-symbol-label CONTEXT SYMBOL TEXT ALIGNMENT [REPEATER?])" (id button-symbol-label))) (p "Creates a button with " (tt "SYMBOL") " and " (tt "TEXT") " as label on it. " (tt "SYMBOL") " must be one of " (tt "(none x underscore circle circle-filled rect rect-filled triangle-up triangle-down triangle-left triangle-right plus minus)") ".  " (tt "ALIGNMENT") " controls how the text is aligned and must be one of " (tt "(left centered right)") ".  If " (tt "REPEATER?") " is " (tt "#t") ", the button fires as long as it's clicked, otherwise only once.  Returns " (tt "#t") " if the button has been clicked."))
(def (sig (procedure "(checkbox-label CONTEXT TEXT ACTIVE?)" (id checkbox-label))) (p "Creates a checkbox widget with " (tt "TEXT") " as label and " (tt "ACTIVE?") " as value.  Returns the new value."))
(def (sig (procedure "(option-label CONTEXT TEXT ACTIVE?)" (id option-label))) (p "Creates an option widget with " (tt "TEXT") " as label and " (tt "ACTIVE?") " as value. Returns the new value."))
(def (sig (procedure "(selectable-label CONTEXT TEXT ALIGNMENT ACTIVE?)" (id selectable-label))) (p "Creates a selectable widget with " (tt "TEXT") " as label and " (tt "ACTIVE?") " as value.  " (tt "ALIGNMENT") " must be one of " (tt "(left centered right)") ". Returns two values, the new value and whether it is different from the old one."))
(def (sig (procedure "(slider-float CONTEXT MIN VALUE MAX STEP)" (id slider-float))) (p "Creates a slider widget with " (tt "VALUE") " as initial float value and " (tt "MIN") " and " (tt "MAX") " as boundaries.  " (tt "STEP") " determines how much the value changes per step.  Returns two values, the new float value and whether it is different from the old one."))
(def (sig (procedure "(slider-int CONTEXT MIN VALUE MAX STEP)" (id slider-int))) (p "Creates a slider widget with " (tt "VALUE") " as initial integer value and " (tt "MIN") " and " (tt "MAX") " as boundaries.  " (tt "STEP") " determines how much the value changes per step.  Returns two values, the new integer value and whether it is different from the old one."))
(def (sig (procedure "(progressbar CONTEXT VALUE MAX MODIFIABLE?)" (id progressbar))) (p "Creates a progressbar widget with " (tt "VALUE") " as initial value.  " (tt "MAX") " specifies the maximum value that can be displayed.  If " (tt "MODIFIABLE?") " is " (tt "#t") ", the value of the widget can be changed interactively. Returns two values, the new value and whether it is different from the old one."))
(def (sig (procedure "(color-picker CONTEXT COLOR [RGB?])" (id color-picker))) (p "Creates a color picker widget with " (tt "COLOR") " as initially picked color.  If the optional " (tt "RGB?") " argument is " (tt "#t") ", use a RGB instead of a RGBA picker.  Returns the new color."))
(def (sig (procedure "(property-float CONTEXT TEXT MIN VALUE MAX STEP PIXEL-STEP)" (id property-float))) (p "Creates a property widget with " (tt "VALUE") " as initial float value and " (tt "MIN") " and " (tt "MAX") " as boundaries.  " (tt "TEXT") " specifies the widget label, " (tt "STEP") " controls the change in value for each step, " (tt "PIXEL-STEP") " the travel in pixels necessary to change the widget value when dragging.  Returns the new float value."))
(def (sig (procedure "(property-int CONTEXT TEXT MIN VALUE MAX STEP PIXEL-STEP)" (id property-int))) (p "Creates a property widget with " (tt "VALUE") " as initial integer value and " (tt "MIN") " and " (tt "MAX") " as boundaries.  " (tt "TEXT") " specifies the widget label, " (tt "STEP") " controls the change in value for each step, " (tt "PIXEL-STEP") " the travel in pixels necessary to change the widget value when dragging.  Returns the new integer value."))
(def (sig (procedure "(edit-string CONTEXT EDIT-FLAG-OR-FLAGS TEXT MAX [FILTER-FLAG])" (id edit-string))) (p "Creates an text editing widget with " (tt "TEXT") " for its initial contents and a maximum length of " (tt "MAX") ".  " (tt "EDIT-FLAG-OR-FLAGS") " must be a symbol or list of symbols specifying the general widget behaviour, with the permitted symbols being " (tt "(simple field box editor)") " for predefined behavior and " (tt "(default read-only auto-select sig-enter allow-tab no-cursor selectable clipboard ctrl-enter-newline no-horizontal-scroll always-insert-mode multiline)") " for finer-grained control over it.  " (tt "FILTER-FLAG") " restricts chars that can be entered and must be one of " (tt "(default ascii float decimal hex oct binary)") ". Returns two values, the new text and a list of edit events, each of which are one of " (tt "(active inactive activated deactivated committed)") "."))
(def (sig (procedure "(tooltip CONTEXT TEXT)" (id tooltip))) (p "Creates a tooltip with " (tt "TEXT") " as content."))
(def (sig (procedure "(context-input CONTEXT)" (id context-input))) (p "Returns the current input state associated with " (tt "CONTEXT") "."))
(def (sig (procedure "(context-style CONTEXT)" (id context-style))) (p "Returns the current style associated with " (tt "CONTEXT") "."))
(def (sig (procedure "(stroke-line CANVAS X0 Y0 X1 Y1 LINE-THICKNESS COLOR)" (id stroke-line))) (p "Draw a line between the coordinates " (tt "X0") ", " (tt "Y0") ", " (tt "X1") ", " (tt "Y1") " with the width " (tt "LINE-THICKNESS") " and " (tt "COLOR") " on " (tt "CANVAS") "."))
(def (sig (procedure "(stroke-curve CANVAS AX AY CTRL0X CTRL0Y CTRL1X CTRL1Y BX BY LINE-THICKNESS COLOR)" (id stroke-curve))) (p "Draw a curve between the coordinates " (tt "AX") ", " (tt "AY") ", " (tt "BX") ", " (tt "BY") " with control points " (tt "CTRL0X") ", " (tt "CTRL0Y") ", " (tt "CTRL1X") ", " (tt "CTRL1Y") ", the width " (tt "LINE-THICKNESS") " and " (tt "COLOR") " on " (tt "CANVAS") "."))
(def (sig (procedure "(fill-circle CANVAS RECT COLOR)" (id fill-circle))) (p "Draw a filled circle in " (tt "RECT") " with " (tt "COLOR") " on " (tt "CANVAS") "."))
(def (sig (procedure "(style-window-border STYLE)" (id style-window-border))) (p "Returns the window border width associated with " (tt "STYLE") "."))
(def (sig (procedure "(style-window-header-align-set! STYLE RIGHT?)" (id style-window-header-align-set!))) (p "Sets the window header alignment for " (tt "STYLE") ".  If " (tt "RIGHT?") " is " (tt "#t") ", it is set to right-aligned, otherwise left-aligned."))
(def (sig (procedure "(input-mouse INPUT)" (id input-mouse))) (p "Returns the mouse state for " (tt "INPUT") "."))
(def (sig (procedure "(mouse-delta MOUSE)" (id mouse-delta))) (p "Returns a vector describing the relative change in pixels between the current and last mouse position for " (tt "MOUSE") "."))
(def (sig (procedure "(mouse-position MOUSE)" (id mouse-position))) (p "Returns a vector describing the current mouse position in pixels for " (tt "MOUSE") "."))
(def (sig (procedure "(input-mouse-click-down-in-rect? INPUT BUTTON RECT DOWN?)" (id input-mouse-click-down-in-rect?))) (p "Returns " (tt "#t") " if the " (tt "BUTTON") " has been clicked in " (tt "RECT") " for " (tt "INPUT") " and its clicked state is equal to the " (tt "DOWN?") " argument. " (tt "BUTTON") " must be one of " (tt "(left middle right)") "."))
(def (sig (procedure "(input-mouse-hovering-in-rect? INPUT RECT)" (id input-mouse-hovering-in-rect?))) (p "Returns " (tt "#t") " if the mouse has been hovering in " (tt "RECT") " for " (tt "INPUT") ", otherwise " (tt "#f") "."))
(def (sig (procedure "(input-mouse-previously-hovering-in-rect? INPUT RECT)" (id input-mouse-previously-hovering-in-rect?))) (p "Returns " (tt "#t") " if the mouse has been hovering in the previous frame in " (tt "RECT") " for " (tt "INPUT") ", otherwise " (tt "#f") "."))
(def (sig (procedure "(input-mouse-clicked? INPUT BUTTON RECT)" (id input-mouse-clicked?))) (p "Returns " (tt "#t") " if the " (tt "BUTTON") " has been clicked in " (tt "RECT") " for " (tt "INPUT") ", otherwise " (tt "#f") ".  " (tt "BUTTON") " must be one of " (tt "(left middle right)") "."))
(def (sig (procedure "(input-mouse-down? INPUT BUTTON)" (id input-mouse-down?))) (p "Returns " (tt "#t") " if the " (tt "BUTTON") " is pressed down for " (tt "INPUT") ", otherwise " (tt "#f") ".  " (tt "BUTTON") " must be one of " (tt "(left middle right)") "."))
(def (sig (procedure "(input-mouse-released? INPUT BUTTON)" (id input-mouse-released?))) (p "Returns " (tt "#t") " if the " (tt "BUTTON") " is released for " (tt "INPUT") ", otherwise " (tt "#f") ".  " (tt "BUTTON") " must be one of " (tt "(left middle right)") "."))
