class AlphaDemo
Public Class Methods
new()
click to toggle source
Calls superclass method
Gtk::Window::new
# File gtk2/sample/misc/alpha-demo.rb, line 22 def initialize() super() set_app_paintable(true) set_title("AlphaDemo") set_decorated(false) set_default_size(200, 220) signal_connect("delete_event") do Gtk.main_quit end set_double_buffered(false) signal_connect('expose-event') do |widget, event| cr = widget.window.create_cairo_context rgba = [1.0, 1.0, 1.0] rgba << 0.0 if @supports_alpha cr.set_source_rgba(rgba) cr.set_operator(Cairo::OPERATOR_SOURCE) cr.paint twidth, theight = widget.size cr.set_source_rgba(1.0, 0.2, 0.2, 0.6) radius = [twidth, theight].min.to_f / 2 - 0.8 cr.arc(twidth.to_f / 2, theight.to_f / 2, radius, 0, 2.0 * Math::PI) cr.fill_preserve cr.stroke end signal_connect('screen-changed') do |widget, old_screen| screen_changed(widget, old_screen) end screen_changed(self) end
Public Instance Methods
screen_changed(widget,old_screen=nil)
click to toggle source
# File gtk2/sample/misc/alpha-demo.rb, line 59 def screen_changed(widget,old_screen=nil) tcolormap = widget.screen.rgba_colormap @supports_alpha = !tcolormap.nil? tcolormap ||= widget.screen.rgb_colormap widget.set_colormap(tcolormap) end