From: Adam Sanderson Date: 2006-07-17T02:10:11+09:00 Subject: Re: [ANN][SoC] GlimR 0.1.0 This seems pretty neat, I snagged the gem and ran the little sample form below. It seemed a little slugish to respond, but on the otherhand it handles resizing and such well from what I could tell. So yeah, neat :) Want to post some more examples? Thanks for your project, .adam Ilmari Heikkinen wrote: > == 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