Sha256: 8ea7338903375d0425c56493f9fea62c93690fcb4516b13f8b4b6595e9d33440

Contents?: true

Size: 1.75 KB

Versions: 7

Compression:

Stored size: 1.75 KB

Contents

# -*- coding: utf-8 -*-


require 'forwardable'
require 'xot/setter'
require 'xot/universal_accessor'
require 'xot/block_util'
require 'reflex/ext'
require 'reflex/helper'


module Reflex


  class Window

    include Xot::Setter
    include Hookable
    include HasFrame

    extend Forwardable

    def_delegators :root,
      :timeout, :delay, :interval,
      :add_child,     :add,
      :remove_child,  :remove,
      :find_child,    :find, :find_children,
      :style, :styles, :scroll_to, :scroll_by, :scroll,
      :meter2pixel, :meter, :wall,
      :zoom=,              :zoom,
      :clip=,              :clip,  :clip?,
      :cache=,             :cache, :cache?,
      :flow=,              :flow,
      :fill=,              :fill,
      :stroke=,            :stroke,
      :foreground=,        :foreground,
      :background=,        :background,
      :foreground_fill=,   :foreground_fill,
      :foreground_stroke=, :foreground_stroke,
      :background_fill=,   :background_fill,
      :background_stroke=, :background_stroke,
      :image=,             :image,
      :gravity=,           :gravity,
      :time_scale=,        :time_scale,
      :debug=,             :debug, :debug?

    def_delegators :wall,
      :friction=,    :friction,
      :restitution=, :restitution

    universal_accessor :title, :frame

    def initialize (options = nil, &block)
      super()
      set options if options
      @show_block = block
    end

    def paint (&block)
      painter.begin &block
    end

    def self.show (*args, &block)
      new(*args, &block).show
    end

    private

      def call_show_block ()
        return unless @show_block
        Xot::BlockUtil.instance_eval_or_block_call self, &@show_block
        @show_block = nil
      end

  end# Window


end# Reflex

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
reflexion-0.1.20 lib/reflex/window.rb
reflexion-0.1.19 lib/reflex/window.rb
reflexion-0.1.17 lib/reflex/window.rb
reflexion-0.1.16 lib/reflex/window.rb
reflexion-0.1.15 lib/reflex/window.rb
reflexion-0.1.14 lib/reflex/window.rb
reflexion-0.1.13 lib/reflex/window.rb