From 2c9c89e16b241eebbc54fc9208feef8931a104e0 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sun, 12 May 2013 20:21:08 -0400 Subject: [PATCH] create example --- example.rb | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 example.rb diff --git a/example.rb b/example.rb new file mode 100755 index 0000000..bfad3ea --- /dev/null +++ b/example.rb @@ -0,0 +1,53 @@ +#!/usr/bin/env ruby + +require 'sfml/all' +require 'opengl' + +class Example + include SFML + + TITLE = "Josh's Ruby SFML/OpenGL Example" + + def initialize + @fullscreen = false + @window = Window.new + create_window + end + + def create_window + if @fullscreen + @window.create(VideoMode.get_desktop_mode, TITLE, Style::Fullscreen) + else + @window.create([1200, 900], TITLE) + end + + glClearColor(1, 0.5, 0, 0) + end + + def run + while @window.open? + @window.each_event do |event| + case event.type + when Event::Closed + @window.close + when Event::KeyPressed + case event.key.code + when Keyboard::Escape + @window.close + when Keyboard::F + @fullscreen = !@fullscreen + create_window + end + when Event::Resized # Resize event : adjust viewport + glViewport(0, 0, event.size.width, event.size.height) + end + end + + glClear(GL_COLOR_BUFFER_BIT) + + @window.display + end + end +end + +Example.new.run