examplesにObserverの反対の従来の呼び方をする例追加

diff --git a/examples/0780_observer_その1_直接.rb b/examples/0780_observer_その1_直接.rb
index 3c9bd19..60bb2ed 100644
--- a/examples/0780_observer_その1_直接.rb
+++ b/examples/0780_observer_その1_直接.rb
@@ -16,7 +16,7 @@ def initialize
     sdl_initialize
   end

-  def scene_update(player)
+  def scene_update(player)      # Stylet::Base#update はすでにあるため別メソッドにする必要がある
     next_frame do
       vputs player
     end
diff --git a/examples/0790_observer_その2_普通にSingleton版.rb b/examples/0790_observer_その2_普通にSingleton版.rb
index 6e0256e..c53edeb 100644
--- a/examples/0790_observer_その2_普通にSingleton版.rb
+++ b/examples/0790_observer_その2_普通にSingleton版.rb
@@ -16,7 +16,7 @@ def initialize(player)
     player.add_observer(self)
   end

-  def update(player)
+  def update(player)            # Stylet::Base を継承してないのでデフォルトの update で受けられる
     Stylet::Base.instance.next_frame do
       vputs player
     end
diff --git a/examples/0800_observer_その3_SimpleDelegator版.rb b/examples/0800_observer_その3_SimpleDelegator版.rb
index 1b73dc2..a179fa5 100644
--- a/examples/0800_observer_その3_SimpleDelegator版.rb
+++ b/examples/0800_observer_その3_SimpleDelegator版.rb
@@ -17,8 +17,8 @@ def initialize(player)
     player.add_observer(self)
   end

-  def update(player)
-    next_frame do
+  def update(player)            # observer として呼ばれる update
+    next_frame do               # Stylet::Base#update を呼ぶ。干渉しない。
       vputs player
     end
   end
diff --git a/examples/0801_observer_その4_逆にループ主導.rb b/examples/0801_observer_その4_逆にループ主導.rb
new file mode 100644
index 0000000..d338c80
--- /dev/null
+++ b/examples/0801_observer_その4_逆にループ主導.rb
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+# Stylet::Base 側のループで描画されるのではなくPlayer側のタイミングで描画するとみせかけて、やっぱり Stylet::Base 側のループで描画する
+require_relative "helper"
+
+class Player
+  include Observable
+  def render
+    changed
+    notify_observers(self)
+  end
+end
+
+class Window < SimpleDelegator
+  def initialize(player)
+    super(Stylet::Base.instance)
+    sdl_initialize
+    player.add_observer(self)
+  end
+
+  def update(player)
+    next_frame do
+      vputs player
+    end
+  end
+end
+
+player = Player.new
+Window.new(player)
+(60*3).times do
+  player.render
+end
+
+Stylet::Base.run do
+  vputs player
+  vputs count
+end
diff --git a/images/ss.png b/images/ss.png
new file mode 100644
index 0000000..3d782bf
--- /dev/null
+++ b/images/ss.png
@@ -0,0 +1,74 @@
+ExifTool Version Number         : 8.94
+File Name                       : ss.png
+Directory                       : images
+File Size                       : 360 kB
+File Modification Date/Time     : 2014:01:11 23:04:53+09:00
+File Permissions                : rw-r--r--
+File Type                       : PNG
+MIME Type                       : image/png
+Image Width                     : 640
+Image Height                    : 502
+Bit Depth                       : 8
+Color Type                      : RGB with Alpha
+Compression                     : Deflate/Inflate
+Filter                          : Adaptive
+Interlace                       : Noninterlaced
+Profile CMM Type                : appl
+Profile Version                 : 2.1.0
+Profile Class                   : Display Device Profile
+Color Space Data                : RGB
+Profile Connection Space        : XYZ
+Profile Date Time               : 2014:01:01 21:06:43
+Profile File Signature          : acsp
+Primary Platform                : Apple Computer Inc.
+CMM Flags                       : Not Embedded, Independent
+Device Manufacturer             :
+Device Model                    :
+Device Attributes               : Reflective, Glossy, Positive, Color
+Rendering Intent                : Perceptual
+Connection Space Illuminant     : 0.9642 1 0.82491
+Profile Creator                 : appl
+Profile ID                      : 0
+Profile Description             : Display
+Profile Description ML (sk-SK)  : Farebný LCD
+Profile Description ML (ca-ES)  : LCD en color
+Profile Description ML (he-IL)  : ‏LCD צבעוני
+Profile Description ML (pt-BR)  : LCD Colorido
+Profile Description ML (it-IT)  : LCD colori
+Profile Description ML (hu-HU)  : Színes LCD
+Profile Description ML (uk-UA)  : Кольоровий LCD
+Profile Description ML (ko-KR)  : 컬러 LCD
+Profile Description ML (nb-NO)  : Farge-LCD
+Profile Description ML (cs-CZ)  : Barevný LCD
+Profile Description ML (zh-TW)  : 彩色 LCD
+Profile Description ML (de-DE)  : Farb-LCD
+Profile Description ML (ro-RO)  : LCD color
+Profile Description ML (sv-SE)  : Färg-LCD
+Profile Description ML (zh-CN)  : 彩色 LCD
+Profile Description ML (ja-JP)  : カラー LCD
+Profile Description ML (el-GR)  : Έγχρωμη οθόνη LCD
+Profile Description ML (pt-PT)  : LCD a Cores
+Profile Description ML (nl-NL)  : Kleuren-LCD
+Profile Description ML (fr-FR)  : LCD couleur
+Profile Description ML (es-ES)  : LCD color
+Profile Description ML (th-TH)  : LCD สี
+Profile Description ML (tr-TR)  : Renkli LCD
+Profile Description ML (fi-FI)  : Väri-LCD
+Profile Description ML (hr-HR)  : LCD u boji
+Profile Description ML (pl-PL)  : Kolor LCD
+Profile Description ML (ru-RU)  : Цветной ЖК-дисплей
+Profile Description ML          : Color LCD
+Profile Description ML (da-DK)  : LCD-farveskærm
+Profile Copyright               : Copyright Apple, Inc., 2014
+Media White Point               : 0.95047 1 1.0891
+Red Matrix Column               : 0.41594 0.21532 0.00688
+Green Matrix Column             : 0.3978 0.72993 0.0314
+Blue Matrix Column              : 0.15047 0.05475 0.78662
+Red Tone Reproduction Curve     : (Binary data 2060 bytes, use -b option to extract)
+Video Card Gamma                : (Binary data 1554 bytes, use -b option to extract)
+Native Display Info             : (Binary data 1598 bytes, use -b option to extract)
+Chromatic Adaptation            : 1.04788 0.02292 -0.0502 0.02957 0.99049 -0.01706 -0.00923 0.01508 0.75165
+Make And Model                  : (Binary data 40 bytes, use -b option to extract)
+Blue Tone Reproduction Curve    : (Binary data 2060 bytes, use -b option to extract)
+Green Tone Reproduction Curve   : (Binary data 2060 bytes, use -b option to extract)
+Image Size                      : 640x502
diff --git a/spec/check_fps_spec.rb b/spec/check_fps_spec.rb
index 430905d..15642ff 100644
--- a/spec/check_fps_spec.rb
+++ b/spec/check_fps_spec.rb
@@ -3,7 +3,7 @@

 module Stylet
   describe CheckFPS do
-    it "0.5ずつフレームが切り替わっているということは2フレーム" do
+    it "0.5秒ずつフレームが切り替わっているということは2フレーム" do
       obj = CheckFPS.new
       sleep(0.5)
       obj.update
diff --git a/spec/vector_spec.rb b/spec/vector_spec.rb
deleted file mode 100644
index 09479e9..0000000
--- a/spec/vector_spec.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- coding: utf-8 -*-
-require "spec_helper"
-
-module Stylet
-  describe Vector do
-    it do
-      (Vector.new(1, 2) + Vector.new(3, 4)).should == Vector.new(4, 6)
-    end
-  end
-end