rubysdl-mswin32-1.9 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/NEWS.en +280 -0
- data/NEWS.ja +291 -0
- data/README.en +118 -0
- data/README.en.win32 +77 -0
- data/README.ja +166 -0
- data/README.ja.win32 +80 -0
- data/dll/SDL.dll +0 -0
- data/dll/SDL_image.dll +0 -0
- data/dll/SDL_mixer.dll +0 -0
- data/dll/SDL_ttf.dll +0 -0
- data/dll/SGE.dll +0 -0
- data/dll/jpeg.dll +0 -0
- data/dll/libcharset-1.dll +0 -0
- data/dll/libfreetype-6.dll +0 -0
- data/dll/libiconv-2.dll +0 -0
- data/dll/libogg-0.dll +0 -0
- data/dll/libpng12-0.dll +0 -0
- data/dll/libtiff-3.dll +0 -0
- data/dll/libvorbis-0.dll +0 -0
- data/dll/libvorbisfile-3.dll +0 -0
- data/dll/smpeg.dll +0 -0
- data/dll/zlib1.dll +0 -0
- data/doc/cdrom.rd +305 -0
- data/doc/collision.rd +121 -0
- data/doc/event.rd +1090 -0
- data/doc/font.rd +625 -0
- data/doc/general.rd +60 -0
- data/doc/init.rd +142 -0
- data/doc/joystick.rd +301 -0
- data/doc/mixer.rd +584 -0
- data/doc/mpeg.rd +420 -0
- data/doc/opengl.rd +144 -0
- data/doc/rsd.rb +158 -0
- data/doc/sdlskk.rd +404 -0
- data/doc/time.rd +34 -0
- data/doc/video.rd +2269 -0
- data/doc/wm.rd +78 -0
- data/ext/opengl.so +0 -0
- data/ext/sdl.so +0 -0
- data/install_rubysdl.rb +30 -0
- data/lib/rubysdl_aliases.rb +303 -0
- data/lib/rubysdl_compatible_ver1.rb +243 -0
- data/lib/sdl.rb +224 -0
- data/rubysdl_doc_old.en.rd +2181 -0
- data/rubysdl_doc_old.rd +2402 -0
- data/rubysdl_ref.html +5888 -0
- data/rubysdl_ref.rd +6577 -0
- data/sample/aadraw.rb +24 -0
- data/sample/alpha.rb +26 -0
- data/sample/alphadraw.rb +25 -0
- data/sample/bfont.rb +24 -0
- data/sample/caption.rb +21 -0
- data/sample/cdrom.rb +24 -0
- data/sample/collision.rb +97 -0
- data/sample/cursor.bmp +0 -0
- data/sample/cursor.rb +22 -0
- data/sample/ellipses.rb +39 -0
- data/sample/event2.rb +34 -0
- data/sample/font.bmp +0 -0
- data/sample/font.rb +26 -0
- data/sample/fpstimer.rb +175 -0
- data/sample/icon.bmp +0 -0
- data/sample/icon.bmp.gz +0 -0
- data/sample/icon.png +0 -0
- data/sample/joy2.rb +81 -0
- data/sample/kanji.rb +36 -0
- data/sample/load_from_io.rb +45 -0
- data/sample/movesp.rb +94 -0
- data/sample/playmod.rb +13 -0
- data/sample/plaympeg.rb +44 -0
- data/sample/playwave.rb +15 -0
- data/sample/randrect.rb +40 -0
- data/sample/sample.ttf +0 -0
- data/sample/sdl.rb +33 -0
- data/sample/sdlskk.rb +70 -0
- data/sample/sgetest.rb +33 -0
- data/sample/stetris.rb +274 -0
- data/sample/testgl.rb +165 -0
- data/sample/testsprite.rb +69 -0
- data/sample/transformblit.rb +42 -0
- metadata +134 -0
data/sample/icon.bmp
ADDED
Binary file
|
data/sample/icon.bmp.gz
ADDED
Binary file
|
data/sample/icon.png
ADDED
Binary file
|
data/sample/joy2.rb
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
#
|
2
|
+
# Usage:
|
3
|
+
# ruby joy2.rb [n]
|
4
|
+
# n: if given, use n'th joystick
|
5
|
+
# if not given, show all connected joystick
|
6
|
+
#
|
7
|
+
require 'sdl'
|
8
|
+
|
9
|
+
White = [255,255,255]
|
10
|
+
|
11
|
+
def print_joystick_info
|
12
|
+
for i in 0..SDL::Joystick.num-1
|
13
|
+
print i,":",SDL::Joystick.index_name(0),"\n"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def display_button_state ( screen, joy )
|
18
|
+
for i in 0..joy.num_buttons-1
|
19
|
+
if joy.button(i) then
|
20
|
+
screen.fill_rect( i*30+30, 50, 10, 10, [0,0,128] )
|
21
|
+
else
|
22
|
+
screen.fill_rect( i*30+30, 50, 10, 10, White )
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def display_hat_state ( screen, joy )
|
28
|
+
# display the state of only first hat
|
29
|
+
if joy.num_hats > 0 then
|
30
|
+
x = y = 0
|
31
|
+
x = 1 if ( joy.hat(0) & SDL::Joystick::HAT_RIGHT ) != 0
|
32
|
+
x = -1 if ( joy.hat(0) & SDL::Joystick::HAT_LEFT ) != 0
|
33
|
+
y = 1 if ( joy.hat(0) & SDL::Joystick::HAT_DOWN ) != 0
|
34
|
+
y = -1 if ( joy.hat(0) & SDL::Joystick::HAT_UP ) != 0
|
35
|
+
screen.fill_rect( 450 + x*40, 200 + y*40, 10, 10, White )
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def display_axis_state ( screen, joy )
|
40
|
+
for i in 0..joy.num_axes-1
|
41
|
+
screen.fill_rect( i*30+130, joy.axis(i)*100/32768+200, 20, 20, White )
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
SDL.init( SDL::INIT_VIDEO|SDL::INIT_JOYSTICK )
|
46
|
+
screen = SDL::Screen.open(640, 480, 16, SDL::SWSURFACE)
|
47
|
+
|
48
|
+
if SDL::Joystick.num == 0 then
|
49
|
+
print "No joystick available\n"
|
50
|
+
exit
|
51
|
+
end
|
52
|
+
|
53
|
+
if ARGV.size == 0 then
|
54
|
+
print_joystick_info
|
55
|
+
exit
|
56
|
+
end
|
57
|
+
|
58
|
+
joynum = ARGV[0].to_i
|
59
|
+
|
60
|
+
if SDL::Joystick.num < joynum then
|
61
|
+
print "Joystick No.#{joynum} is not available\n"
|
62
|
+
exit
|
63
|
+
end
|
64
|
+
|
65
|
+
joy=SDL::Joystick.open(joynum)
|
66
|
+
|
67
|
+
while true
|
68
|
+
|
69
|
+
while event = SDL::Event.poll
|
70
|
+
case event
|
71
|
+
when SDL::Event::KeyDown, SDL::Event::Quit
|
72
|
+
exit
|
73
|
+
end
|
74
|
+
end
|
75
|
+
SDL::Joystick.update_all
|
76
|
+
screen.fill_rect(0,0,640,480,[0,0,0])
|
77
|
+
display_button_state screen, joy
|
78
|
+
display_hat_state screen, joy
|
79
|
+
display_axis_state screen, joy
|
80
|
+
screen.update_rect(0, 0, 0, 0)
|
81
|
+
end
|
data/sample/kanji.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/usr/local/bin/ruby -Ke
|
2
|
+
#
|
3
|
+
# This sample needs following two bdf files
|
4
|
+
# 8x16.bdf : alphabets
|
5
|
+
# jiskan16.bdf : chinese characters and kana
|
6
|
+
#
|
7
|
+
require 'sdl'
|
8
|
+
|
9
|
+
SDL.init( SDL::INIT_VIDEO )
|
10
|
+
screen = SDL::Screen.open(640,480,16,SDL::SWSURFACE)
|
11
|
+
|
12
|
+
font = SDL::Kanji.open("8x16.bdf",16)
|
13
|
+
font.add("jiskan16.bdf")
|
14
|
+
font.set_coding_system(SDL::Kanji::EUC)
|
15
|
+
|
16
|
+
y = 0
|
17
|
+
x = 0
|
18
|
+
|
19
|
+
while true
|
20
|
+
while event = SDL::Event.poll
|
21
|
+
case event
|
22
|
+
when SDL::Event::KeyDown, SDL::Event::Quit
|
23
|
+
exit
|
24
|
+
end
|
25
|
+
end
|
26
|
+
screen.fill_rect(0,0,640,480,0)
|
27
|
+
|
28
|
+
y = (y + 1) % 480
|
29
|
+
x = (x + 1) % 640
|
30
|
+
|
31
|
+
font.put(screen,"SDL Kanji�Υƥ�����",40,y,128,128,0)
|
32
|
+
font.put_tate(screen,"�Ľ�Ǥ��ޤ���",x,60,128,128,0)
|
33
|
+
|
34
|
+
screen.update_rect(0,0,0,0)
|
35
|
+
sleep 0.005
|
36
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#
|
2
|
+
# Test for rwops
|
3
|
+
#
|
4
|
+
# This sample needs
|
5
|
+
# track01.ogg: Ogg Vorbis file
|
6
|
+
|
7
|
+
require 'sdl'
|
8
|
+
require 'stringio'
|
9
|
+
require 'zlib'
|
10
|
+
|
11
|
+
SDL.init( SDL::INIT_VIDEO|SDL::INIT_AUDIO )
|
12
|
+
SDL::Mixer.open(22050)
|
13
|
+
|
14
|
+
screen = SDL::setVideoMode(640,480,16,SDL::SWSURFACE)
|
15
|
+
SDL::WM::setCaption('from_str.rb','from_str.rb')
|
16
|
+
|
17
|
+
str = File.read("icon.bmp")
|
18
|
+
img = SDL::Surface.loadBMPFromIO(StringIO.new(str))
|
19
|
+
img2 = File.open("icon.bmp", "rb"){|f| SDL::Surface.loadBMPFromIO(f) }
|
20
|
+
img3 = Zlib::GzipReader.open("icon.bmp.gz"){|f| SDL::Surface.loadBMPFromIO(f) }
|
21
|
+
img4 = File.open("icon.png", "rb"){|f| SDL::Surface.loadFromIO(f) }
|
22
|
+
|
23
|
+
#mus = SDL::Mixer::Music.loadFromString(File.read("track01.ogg"))
|
24
|
+
mus = SDL::Mixer::Music.load("track01.ogg")
|
25
|
+
wav = File.open('sample.wav', "rb"){|f| SDL::Mixer::Wave.loadFromIO(f) }
|
26
|
+
|
27
|
+
SDL.blitSurface(img,0,0,32,32,screen,100,100)
|
28
|
+
SDL.blitSurface(img2,0,0,32,32,screen,200,100)
|
29
|
+
SDL.blitSurface(img3,0,0,32,32,screen,300,100)
|
30
|
+
SDL.blitSurface(img4,0,0,32,32,screen,400,100)
|
31
|
+
screen.updateRect(0, 0, 0, 0)
|
32
|
+
|
33
|
+
SDL::Mixer.playMusic(mus, -1)
|
34
|
+
SDL::Mixer.playChannel(0, wav, 0)
|
35
|
+
|
36
|
+
while true
|
37
|
+
while event = SDL::Event2.poll
|
38
|
+
case event
|
39
|
+
when SDL::Event2::KeyDown, SDL::Event2::Quit
|
40
|
+
exit
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
sleep 0.1
|
45
|
+
end
|
data/sample/movesp.rb
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'sdl'
|
2
|
+
|
3
|
+
SDL.init(SDL::INIT_VIDEO)
|
4
|
+
|
5
|
+
screen = SDL::Screen.open(640,480,16,SDL::SWSURFACE)
|
6
|
+
|
7
|
+
image = SDL::Surface.load_bmp("icon.bmp")
|
8
|
+
image.set_color_key( SDL::SRCCOLORKEY || SDL::RLEACCEL ,0)
|
9
|
+
$image = image.display_format
|
10
|
+
|
11
|
+
|
12
|
+
class Sprite
|
13
|
+
def initialize
|
14
|
+
@x=rand(640)
|
15
|
+
@y=rand(480)
|
16
|
+
@dx=rand(11)-5
|
17
|
+
@dy=rand(11)-5
|
18
|
+
end
|
19
|
+
|
20
|
+
def move
|
21
|
+
@x += @dx
|
22
|
+
if @x >= 640 then
|
23
|
+
@dx *= -1
|
24
|
+
@x = 639
|
25
|
+
end
|
26
|
+
if @x < 0 then
|
27
|
+
@dx *= -1
|
28
|
+
@x = 0
|
29
|
+
end
|
30
|
+
@y += @dy
|
31
|
+
if @y >= 480 then
|
32
|
+
@dy *= -1
|
33
|
+
@y = 479
|
34
|
+
end
|
35
|
+
@y += @dy
|
36
|
+
if @y < 0 then
|
37
|
+
@dy *= -1
|
38
|
+
@y = 0
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def draw(screen)
|
43
|
+
SDL::Surface.blit($image,0,0,32,32,screen,@x,@y)
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
sprites = []
|
49
|
+
for i in 1..5
|
50
|
+
sprites << Sprite.new
|
51
|
+
end
|
52
|
+
|
53
|
+
class MovableSp
|
54
|
+
def initialize()
|
55
|
+
@ud=@lr=0;
|
56
|
+
end
|
57
|
+
|
58
|
+
def move()
|
59
|
+
@ud=@lr=0;
|
60
|
+
@lr=-1 if SDL::Key.press?(SDL::Key::H) or SDL::Key.press?(SDL::Key::LEFT)
|
61
|
+
@lr=1 if SDL::Key.press?(SDL::Key::L) or SDL::Key.press?(SDL::Key::RIGHT)
|
62
|
+
@ud=1 if SDL::Key.press?(SDL::Key::J) or SDL::Key.press?(SDL::Key::DOWN)
|
63
|
+
@ud=-1 if SDL::Key.press?(SDL::Key::K) or SDL::Key.press?(SDL::Key::UP)
|
64
|
+
end
|
65
|
+
|
66
|
+
def draw(screen)
|
67
|
+
SDL::Surface.blit($image,0,0,32,32,screen,300+@lr*50,200+@ud*50)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
sprites << MovableSp.new
|
72
|
+
black = screen.format.map_rgb(0, 0, 0)
|
73
|
+
|
74
|
+
while true
|
75
|
+
while event = SDL::Event.poll
|
76
|
+
case event
|
77
|
+
when SDL::Event::Quit
|
78
|
+
exit
|
79
|
+
when SDL::Event::KeyDown
|
80
|
+
exit if event.sym == SDL::Key::ESCAPE
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
screen.fill_rect(0,0,640,480,black)
|
85
|
+
SDL::Key.scan
|
86
|
+
|
87
|
+
sprites.each {|i|
|
88
|
+
i.move
|
89
|
+
i.draw(screen)
|
90
|
+
}
|
91
|
+
screen.update_rect(0,0,0,0)
|
92
|
+
end
|
93
|
+
|
94
|
+
|
data/sample/playmod.rb
ADDED
data/sample/plaympeg.rb
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# This sample needs a MPEG file `sample.mpg'.
|
2
|
+
require 'sdl'
|
3
|
+
|
4
|
+
SDL.init( SDL::INIT_VIDEO|SDL::INIT_AUDIO )
|
5
|
+
SDL::Mixer.open
|
6
|
+
|
7
|
+
screen = SDL::Screen.open( 320, 240, 16, SDL::SWSURFACE )
|
8
|
+
|
9
|
+
mpeg = SDL::MPEG.load( 'sample.mpg' )
|
10
|
+
|
11
|
+
info = mpeg.info
|
12
|
+
|
13
|
+
p(info)
|
14
|
+
|
15
|
+
mpeg.enable_audio true
|
16
|
+
mpeg.enable_video true
|
17
|
+
|
18
|
+
mpeg.set_display(screen)
|
19
|
+
mpeg.set_display_region( 0, 0, screen.w, screen.h )
|
20
|
+
mpeg.play
|
21
|
+
|
22
|
+
loop do
|
23
|
+
|
24
|
+
case event = SDL::Event.poll
|
25
|
+
when SDL::Event::Quit
|
26
|
+
mpeg.stop
|
27
|
+
exit
|
28
|
+
when SDL::Event::KeyDown
|
29
|
+
case event.sym
|
30
|
+
when SDL::Key::S
|
31
|
+
mpeg.stop
|
32
|
+
when SDL::Key::P
|
33
|
+
mpeg.play
|
34
|
+
when SDL::Key::R
|
35
|
+
mpeg.rewind
|
36
|
+
mpeg.play
|
37
|
+
when SDL::Key::ESCAPE
|
38
|
+
exit
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
sleep 0.1
|
43
|
+
|
44
|
+
end
|
data/sample/playwave.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# This sample needs a wave file `sample.wav', please prepare.
|
2
|
+
require 'sdl'
|
3
|
+
|
4
|
+
SDL::init(SDL::INIT_AUDIO)
|
5
|
+
|
6
|
+
SDL::Mixer.open(22050, SDL::Mixer::DEFAULT_FORMAT, 2, 512)
|
7
|
+
wave = SDL::Mixer::Wave.load("sample.wav")
|
8
|
+
|
9
|
+
SDL::Mixer.play_channel(0, wave, 0)
|
10
|
+
|
11
|
+
while SDL::Mixer.play?(0)
|
12
|
+
sleep 1
|
13
|
+
end
|
14
|
+
|
15
|
+
|
data/sample/randrect.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# SDL random rect sample
|
2
|
+
# original code by adas@geocities.co.jp written by C
|
3
|
+
# auther TAMURA Kenichi <sgs02516@nifty.com>
|
4
|
+
#
|
5
|
+
require 'sdl'
|
6
|
+
|
7
|
+
src_w = 640
|
8
|
+
src_h = 480
|
9
|
+
src_d = 16
|
10
|
+
|
11
|
+
dst_w = 0
|
12
|
+
dst_h = 0
|
13
|
+
|
14
|
+
MAX = 1000
|
15
|
+
RECTSIZE = 400
|
16
|
+
|
17
|
+
SDL.init SDL::INIT_VIDEO
|
18
|
+
screen = SDL::setVideoMode src_w,src_h,src_d, SDL::SWSURFACE|SDL::ANYFORMAT
|
19
|
+
|
20
|
+
srand
|
21
|
+
|
22
|
+
(1 .. MAX).each do |i|
|
23
|
+
color = screen.mapRGB rand(256),rand(256),rand(256)
|
24
|
+
dst_w = rand(RECTSIZE) + 1
|
25
|
+
dst_h = rand(RECTSIZE) + 1
|
26
|
+
screen.fillRect rand(src_w-dst_w), rand(src_h-dst_h), dst_w, dst_h, color
|
27
|
+
screen.updateRect 0,0,0,0
|
28
|
+
|
29
|
+
while event = SDL::Event2.poll
|
30
|
+
case event
|
31
|
+
when SDL::Event2::Quit
|
32
|
+
exit
|
33
|
+
when SDL::Event2::KeyDown
|
34
|
+
exit if event.sym == SDL::Key::ESCAPE
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
SDL::Key.scan
|
39
|
+
end
|
40
|
+
|
data/sample/sample.ttf
ADDED
Binary file
|
data/sample/sdl.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rubysdl'
|
2
|
+
|
3
|
+
printf "%d \n" , SDL::INIT_TIMER | SDL::INIT_VIDEO
|
4
|
+
|
5
|
+
SDL.init(SDL::INIT_TIMER | SDL::INIT_VIDEO )
|
6
|
+
screen = SDL::Screen.setVideoMode(640,480,16,SDL::SWSURFACE)
|
7
|
+
exit if screen == nil
|
8
|
+
|
9
|
+
sprite = SDL::Surface.loadBMP("icon.bmp")
|
10
|
+
sprite.setColorKey( 0x00001000 | 0x00002000 ,0)
|
11
|
+
sprite = sprite.displayFormat
|
12
|
+
|
13
|
+
|
14
|
+
screen.fillRect(100,100,100,100,678432)
|
15
|
+
SDL.blitSurface(sprite,0,0,32,32,screen,0,0)
|
16
|
+
screen.updateRect(0,0,640,480)
|
17
|
+
event = SDL::Event.new
|
18
|
+
|
19
|
+
while true
|
20
|
+
if event.pollEvent != 0 then
|
21
|
+
if event.type==SDL::Event::QUIT then
|
22
|
+
break
|
23
|
+
end
|
24
|
+
if event.type==SDL::Event::KEYDOWN then
|
25
|
+
break
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
data/sample/sdlskk.rb
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
#
|
2
|
+
# SDLSKK from Ruby/SDL
|
3
|
+
#
|
4
|
+
# This sample needs three files.
|
5
|
+
# jisyo : SKK's dictionary
|
6
|
+
# rule_table : SDLSKK's
|
7
|
+
# nihongo.ttf : True Type Font file that has Japanese characters
|
8
|
+
#
|
9
|
+
# Usage:
|
10
|
+
# ruby sdlskk.rb [-m]
|
11
|
+
#
|
12
|
+
# -m Use minibuffer
|
13
|
+
#
|
14
|
+
require 'sdl'
|
15
|
+
|
16
|
+
use_minibuffer = (ARGV[0]=='-m')
|
17
|
+
|
18
|
+
SDL.init( SDL::INIT_VIDEO )
|
19
|
+
SDL::TTF.init
|
20
|
+
SDL::Event.enableUNICODE
|
21
|
+
|
22
|
+
font = SDL::TTF.open( 'nihongo.ttf', 14 )
|
23
|
+
|
24
|
+
dict = SDL::SKK::Dictionary.new
|
25
|
+
dict.load( 'jisyo', false )
|
26
|
+
table = SDL::SKK::RomKanaRuleTable.new( 'rule_table' )
|
27
|
+
bind = SDL::SKK::Keybind.new
|
28
|
+
bind.set_default_key
|
29
|
+
|
30
|
+
context = SDL::SKK::Context.new( dict, table, bind, use_minibuffer )
|
31
|
+
|
32
|
+
screen = SDL::Screen.open( 640, 480, 16, SDL::SWSURFACE )
|
33
|
+
SDL::WM.set_caption( $0, $0 )
|
34
|
+
|
35
|
+
BLACK = screen.format.map_rgb( 0, 0, 0 )
|
36
|
+
loop do
|
37
|
+
|
38
|
+
while event = SDL::Event.poll do
|
39
|
+
case event
|
40
|
+
when SDL::Event::Quit
|
41
|
+
exit
|
42
|
+
when SDL::Event::KeyDown
|
43
|
+
if event.sym == SDL::Key::ESCAPE then
|
44
|
+
exit
|
45
|
+
end
|
46
|
+
if event.sym == SDL::Key::F1
|
47
|
+
dict.save("test_user_dict")
|
48
|
+
end
|
49
|
+
|
50
|
+
context.input( event )
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
text_surface = context.render_str( font, 255, 0, 255 )
|
55
|
+
|
56
|
+
screen.fill_rect( 0, 0, 640, 480, BLACK )
|
57
|
+
SDL::Surface.blit( text_surface, 0, 0, 0, 0, screen, 0, 0 )
|
58
|
+
|
59
|
+
if use_minibuffer then
|
60
|
+
minibuffer_surface = context.render_minibuffer_str( font, 255, 0, 255 )
|
61
|
+
if minibuffer_surface then
|
62
|
+
SDL::Surface.blit( minibuffer_surface, 0, 0, 0, 0, screen, 0, 40 )
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
screen.update_rect( 0, 0, 0, 0 )
|
67
|
+
|
68
|
+
sleep 0.05
|
69
|
+
|
70
|
+
end
|