== GlimR 0.1.0 - Ruby OpenGL GUI Widget Kit ==

Homepage: http://glimr.rubyforge.org/
Download: http://rubyforge.org/frs/?group_id=1736
Blog: http://glimr.blogspot.com/

This is one of Ruby Central Inc.'s
Google Summer of Code 2006 projects.


== What is it? ==

A GUI toolkit written in Ruby, using OpenGL for
drawing and SDL for text and loading images.

Intended for being embedded in other OpenGL
applications and for stand-alone apps that don't
need complex widgets.

See the README in the tarball or at
http://glimr.blogspot.com/2006/07/glimr-010.html
for more.

Take it for a spin if you like, there are small
example programs focusing on different
aspects of the toolkit in
tests/integration_tests/


== Requirements ==

Ruby >= 1.8.1, tested to run on YARV (but encountered some segfaults)
ruby-opengl
Ruby/SDL with TTF support ( http://www.kmc.gr.jp/~ohai/rubysdl.en.html )

Tested to run on Linux and Windows,
should work on OS X too if you
get SDL_ttf installed.

Perceptibly faster on Linux than Windows (go figure.)


== Currently implemented widgets ==

* Horizontal and vertical layout
* Buttons, radio buttons, checkboxes
* Scrollbars
* Resizable scrollable container
* Image, strechable image
* Text labels, single-line text input
* Simple theme system


== Example code ==

require 'glimr'
include GlimR

form = VLayout.new(
  :expand_height => true, :expand_width => true,
  :align => :center, :valign => :middle)

label = Label.new(:text => "Enter your name:")
name_input = TextInput.new(:text => ""){|o,e|
  form.attach Label.new(:text => "Hi, #{e.text}!")
}
submit = Button.new(:label => "OK"){|o,e|
  name_input.submit
}
form.attach label, name_input, submit

window = GLUTWindow.new(400, 200, "Greeter")
window.attach form
window.run
# Ctrl-Q to quit


== Features in development ==

* menus, lists, tables
* multi-line text editor
* keyboard focus management
* clipboard integration
* second theme



P.S.
Anyone have ideas on what's causing segfaults on Windows
when using OpenGL and SDL? Now I'm using a GC.disabled
critical section to work around them.

--
Ilmari