This is sx.egg.info, produced by makeinfo version 4.7 from
eggdoc-output.texi.

INFO-DIR-SECTION The Algorithmic Language Scheme
START-INFO-DIR-ENTRY
* sx.egg: (sx.egg).		Simple X library
END-INFO-DIR-ENTRY


File: sx.egg.info,  Node: Top,  Next: About this egg,  Up: (dir)

sx egg
******

Simple X library

Written by felix (mailto:felix@call-with-current-continuation.org)

   This manual corresponds to version 1.1 of the sx extension library
for Chicken Scheme.

* Menu:

* About this egg::
* Documentation::
* Examples::
* License::
* Index::


File: sx.egg.info,  Node: About this egg,  Next: Documentation,  Prev: Top,  Up: Top

1 About this egg
****************

* Menu:

* Version history::
* Usage::


File: sx.egg.info,  Node: Version history,  Next: Usage,  Up: About this egg

1.1 Version history
===================

`1.1'
     Adapted to SRFI-69 compatible hash-tables

`1.0'
     Initial release


File: sx.egg.info,  Node: Usage,  Prev: Version history,  Up: About this egg

1.2 Usage
=========

Load this egg like so:

   `(require-extension sx)'


File: sx.egg.info,  Node: Documentation,  Next: Examples,  Prev: About this egg,  Up: Top

2 Documentation
***************

A wrapper for `The Simple X library' by Dominic Giampaolo. You must
have the libsx (http://freshmeat.net/projects/libsx/) library installed
in order to build and use this extension.

* Menu:

* Procedures::
* Callback signatures::
* Flags::


File: sx.egg.info,  Node: Procedures,  Next: Callback signatures,  Up: Documentation

2.1 Procedures
==============


(sx:add-time-out UNSIGNED-LONG TOPROC)
(sx:attach-edge SXWIDGET INT INT)
(sx:author) -> C-STRING
(sx:beep)
(sx:change-scroll-list SXWIDGET STRINGLIST)
(sx:check-for-event)
(sx:clear-draw-area)
(sx:close-window)
(sx:draw-arc INT INT INT INT INT INT)
(sx:draw-bitmap (POINTER VOID) INT INT INT INT)
(sx:draw-box INT INT INT INT)
(sx:draw-filled-arc INT INT INT INT INT INT)
(sx:draw-filled-box INT INT INT INT)
(sx:draw-filled-polygon S16VECTOR INT)
(sx:draw-image (POINTER VOID) INT INT INT INT)
(sx:draw-line INT INT INT INT)
(sx:draw-pixel INT INT)
(sx:draw-polyline S16VECTOR INT)
(sx:draw-text C-STRING INT INT)
(sx:exit-main-loop)
(sx:font-height (POINTER "XFONTSTRUCT")) -> INT
(sx:free-all-colors)
(sx:free-font SXFONT)
(sx:free-private-color INT)
(sx:free-standard-colors)
(sx:get-all-colors) -> BOOL
(sx:get-bg-color SXWIDGET) -> INT
(sx:get-current-list-item SXWIDGET) -> INT
(sx:get-draw-area-size S32VECTOR S32VECTOR)
(sx:get-fg-color SXWIDGET) -> INT
(sx:get-file C-STRING C-STRING FREQPROC) -> C-STRING
(sx:get-font C-STRING) -> SXFONT
(sx:get-form) -> SXWIDGET
(sx:get-image (POINTER VOID) INT INT INT INT)
(sx:get-long-string C-STRING C-STRING INT) -> C-STRING
(sx:get-menu-item-checked SXWIDGET) -> BOOL
(sx:get-named-color C-STRING) -> INT
(sx:get-okay C-STRING) -> BOOL
(sx:get-pixel INT INT) -> INT
(sx:get-private-color) -> INT
(sx:get-rgbcolor INT INT INT) -> INT
(sx:get-standard-colors)
(sx:get-string C-STRING C-STRING) -> C-STRING
(sx:get-string-entry SXWIDGET) -> C-STRING
(sx:get-text C-STRING C-STRING INT INT) -> C-STRING
(sx:get-text-widget-text SXWIDGET) -> C-STRING
(sx:get-toggle-state SXWIDGET) -> BOOL
(sx:get-top-widget SXWIDGET) -> SXWIDGET
(sx:get-tri-state C-STRING) -> INT
(sx:get-widget-font SXWIDGET) -> SXFONT
(sx:get-widget-state SXWIDGET) -> BOOL
(sx:get-yes-no C-STRING) -> BOOL
(sx:grab-pixel C-STRING) -> C-STRING
(sx:lib-version) -> C-STRING
(sx:main-loop)
(sx:make-button C-STRING BUTTONPROC) -> SXWIDGET
(sx:make-draw-area INT INT REDISPLAYPROC) -> SXWIDGET
(sx:make-form SXWIDGET) -> SXWIDGET
(sx:make-horiz-scrollbar INT SCROLLPROC) -> SXWIDGET
(sx:make-label C-STRING) -> SXWIDGET
(sx:make-menu C-STRING) -> SXWIDGET
(sx:make-menu-item SXWIDGET C-STRING BUTTONPROC) -> SXWIDGET
(sx:make-scroll-list STRINGLIST INT INT SCROLLPROC) -> SXWIDGET
(sx:make-string-entry C-STRING INT STRINGPROC) -> SXWIDGET
(sx:make-stringlist SCHEME-OBJECT) -> (POINTER (POINTER CHAR))
(sx:make-text-widget C-STRING BOOL BOOL INT INT) -> SXWIDGET
(sx:make-toggle C-STRING BOOL SXWIDGET BUTTONPROC) -> SXWIDGET
(sx:make-vert-scrollbar INT SCROLLPROC) -> SXWIDGET
(sx:make-window C-STRING C-STRING BOOL) -> SXWIDGET
(sx:open-display INT (POINTER (POINTER CHAR))) -> INT
(sx:read-locale C-STRING)
(sx:scroll-draw-area INT INT INT INT INT INT)
(sx:set-bg-color SXWIDGET INT)
(sx:set-border-color SXWIDGET INT)
(sx:set-button-down-cb SXWIDGET BUTTONPROC)
(sx:set-button-up-cb SXWIDGET BUTTONPROC)
(sx:set-color INT)
(sx:set-color-map INT)
(sx:set-current-list-item SXWIDGET INT)
(sx:set-current-window SXWIDGET)
(sx:set-draw-area SXWIDGET)
(sx:set-draw-mode INT)
(sx:set-enter-cb SXWIDGET ENTERPROC)
(sx:set-fg-color SXWIDGET INT)
(sx:set-form SXWIDGET)
(sx:set-freq-filter C-STRING)
(sx:set-icon-title C-STRING)
(sx:set-keypress-cb SXWIDGET KEYPROC)
(sx:set-label SXWIDGET C-STRING)
(sx:set-leave-cb SXWIDGET LEAVEPROC)
(sx:set-line-style INT)
(sx:set-line-width INT)
(sx:set-menu-item-checked SXWIDGET BOOL)
(sx:set-mouse-motion-cb SXWIDGET MOTIONPROC)
(sx:set-my-color-map INT U8VECTOR U8VECTOR U8VECTOR)
(sx:set-private-color INT INT INT INT)
(sx:set-scrollbar SXWIDGET FLOAT FLOAT FLOAT)
(sx:set-scrollbar-direction FLOAT)
(sx:set-scrollbar-step SXWIDGET FLOAT)
(sx:set-string-entry SXWIDGET C-STRING)
(sx:set-text-editable SXWIDGET BOOL)
(sx:set-text-widget-position SXWIDGET INT)
(sx:set-text-widget-text SXWIDGET C-STRING BOOL)
(sx:set-thumb-bitmap SXWIDGET C-STRING INT INT)
(sx:set-toggle-state SXWIDGET BOOL)
(sx:set-widget-bitmap SXWIDGET (POINTER VOID) INT INT)
(sx:set-widget-font SXWIDGET SXFONT)
(sx:set-widget-pixmap SXWIDGET (POINTER (POINTER VOID)))
(sx:set-widget-pos SXWIDGET INT SXWIDGET [INT SXWIDGET])
(sx:set-widget-size SXWIDGET INT INT)
(sx:set-widget-state SXWIDGET BOOL)
(sx:set-window-title C-STRING)
(sx:show-display)
(sx:sync-display)
(sx:text-width SXFONT C-STRING) -> INT
(sx:turn-on-backing-store SXWIDGET) -> INT


File: sx.egg.info,  Node: Callback signatures,  Next: Flags,  Prev: Procedures,  Up: Documentation

2.2 Callback signatures
=======================


TOPROC =        (lambda () ...)
FREQPROC =      (lambda (directory file) ...)
BUTTONPROC =    (lambda () ...)
REDISPLAYPROC = (lambda (width height) ...)
STRINGPROC =    (lambda (string) ...)
SCROLLPROC =    (lambda (float-val) ...)
ENTERPPROC =    (lambda (x y) ...)
LEAVEPROC =     (lambda (x y) ...)
KEYPROC =       (lambda (inputstring up?) ...)


File: sx.egg.info,  Node: Flags,  Prev: Callback signatures,  Up: Documentation

2.3 Flags
=========


sx:attach-bottom
sx:attach-left
sx:attach-right
sx:attach-top
sx:black
sx:blue
sx:bottom-edge
sx:buttonbg
sx:can-modify
sx:colsel-dial
sx:edit-file
sx:edit-string
sx:exclusive-window
sx:freq-dial
sx:green
sx:grey-scale-1
sx:grey-scale-2
sx:hilight
sx:inputbg
sx:left-edge
sx:main-dial
sx:no-care
sx:no-modify
sx:nonexclusive-window
sx:num-dial
sx:place-right
sx:place-under
sx:popup-dial
sx:rainbow-1
sx:rainbow-2
sx:red
sx:right-edge
sx:sane-xor
sx:top-edge
sx:white
sx:yellow


File: sx.egg.info,  Node: Examples,  Next: License,  Prev: Documentation,  Up: Top

3 Examples
**********

A simple `Hello world' example:


(require-extension sx)

(sx:make-label "Hello, world!")
(sx:main-loop)

   Show current directory in scroll-list:


(require-extension sx posix (srfi 1))

(define (button)
  (sx:change-scroll-list sl (directory ".")) )

(define (scroll s i)
  (print "current: " s " \t" i) )

(define b (sx:make-button "Update" button))
(define sl (sx:make-scroll-list (directory ".") 200 300 scroll))

(sx:set-widget-pos sl sx:place-under b)

(sx:main-loop)


File: sx.egg.info,  Node: License,  Next: Index,  Prev: Examples,  Up: Top

4 License
*********


Copyright (c) 2005, Felix L. Winkelmann
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
conditions are met:

  Redistributions of source code must retain the above copyright notice, this list of conditions and the following
    disclaimer.
  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
    disclaimer in the documentation and/or other materials provided with the distribution.
  Neither the name of the author nor the names of its contributors may be used to endorse or promote
    products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.


File: sx.egg.info,  Node: Index,  Prev: License,  Up: Top

Index
*****

 [index ]
* Menu:


Tag Table:
Node: Top208
Node: About this egg550
Node: Version history713
Node: Usage916
Node: Documentation1070
Node: Procedures1438
Node: Callback signatures5935
Node: Flags6438
Node: Examples7022
Node: License7608
Node: Index9197

End Tag Table
