Class: Tea::Screen
- Inherits:
-
Object
- Object
- Tea::Screen
- Extended by:
- Blitting, Clipping, Grabbing, ImageSaving, Primitive
- Defined in:
- lib/tea/o_screen.rb
Overview
A Bitmap-like object that displays its contents on the screen when drawn to and updated.
Constant Summary collapse
- BITS_PER_PIXEL =
Video buffer depth.
32
Constants included from Primitive
Primitive::BLEND_MIXER, Primitive::REPLACE_MIXER
Class Method Summary collapse
- .blitting_buffer ⇒ Object
- .clipping_buffer ⇒ Object
- .grabbing_buffer ⇒ Object
-
.h ⇒ Object
Get the screen height in pixels.
- .image_saving_buffer ⇒ Object
-
.mode_set? ⇒ Boolean
Check if Screen.set_mode has been called yet.
- .primitive_buffer ⇒ Object
-
.register_bitmap_for_optimizing(bitmap) ⇒ Object
Register a Bitmap object to be optimised to the Screen’s format when a screen mode is set.
-
.set_mode(width, height) ⇒ Object
Set or change the screen video mode, giving a width * height screen buffer.
-
.update ⇒ Object
Update the screen so that things drawn on it are displayed.
-
.w ⇒ Object
Get the screen width in pixels.
Methods included from Blitting
Methods included from Clipping
Methods included from Grabbing
Methods included from ImageSaving
Methods included from Primitive
[], []=, circle, clear, line, rect
Class Method Details
.blitting_buffer ⇒ Object
68 69 70 |
# File 'lib/tea/o_screen.rb', line 68 def Screen.blitting_buffer @screen end |
.clipping_buffer ⇒ Object
73 74 75 |
# File 'lib/tea/o_screen.rb', line 73 def Screen.clipping_buffer @screen end |
.grabbing_buffer ⇒ Object
78 79 80 |
# File 'lib/tea/o_screen.rb', line 78 def Screen.grabbing_buffer @screen end |
.h ⇒ Object
Get the screen height in pixels.
58 59 60 |
# File 'lib/tea/o_screen.rb', line 58 def Screen.h @screen.h end |
.image_saving_buffer ⇒ Object
83 84 85 |
# File 'lib/tea/o_screen.rb', line 83 def Screen.image_saving_buffer @screen end |
.mode_set? ⇒ Boolean
Check if Screen.set_mode has been called yet.
41 42 43 |
# File 'lib/tea/o_screen.rb', line 41 def Screen.mode_set? @screen ? true : false end |
.primitive_buffer ⇒ Object
88 89 90 |
# File 'lib/tea/o_screen.rb', line 88 def Screen.primitive_buffer @screen end |
.register_bitmap_for_optimizing(bitmap) ⇒ Object
Register a Bitmap object to be optimised to the Screen’s format when a screen mode is set.
47 48 49 |
# File 'lib/tea/o_screen.rb', line 47 def Screen.register_bitmap_for_optimizing(bitmap) @bitmaps_to_optimize << WeakRef.new(bitmap) end |
.set_mode(width, height) ⇒ Object
Set or change the screen video mode, giving a width * height screen buffer.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/tea/o_screen.rb', line 25 def Screen.set_mode(width, height) @screen = SDL::Screen.open(width, height, BITS_PER_PIXEL, SDL::SWSURFACE) # Optimize Bitmaps that registered for it. (0...(@bitmaps_to_optimize.length)).to_a.reverse.each do |opt_index| begin @bitmaps_to_optimize[opt_index].optimize_for_screen rescue WeakRef::RefError @bitmaps_to_optimize.delete_at opt_index end end rescue SDL::Error => e raise Tea::Error, e., e.backtrace end |
.update ⇒ Object
Update the screen so that things drawn on it are displayed.
63 64 65 |
# File 'lib/tea/o_screen.rb', line 63 def Screen.update @screen.flip end |
.w ⇒ Object
Get the screen width in pixels.
53 54 55 |
# File 'lib/tea/o_screen.rb', line 53 def Screen.w @screen.w end |