= 初期化
  * ((<SDL.init>)) -- SDLを初期化します。
  * ((<SDL.quit>)) -- SDLをシャットダウンします。
  * ((<SDL.inited_system>)) -- サブシステムが初期化されているかどうかをチェックします。
  * ((<SDL.getenv>)) -- 環境変数を得ます。
  * ((<SDL.putenv>)) -- 環境変数を変更します。

Ruby/SDLを使う前には必ず((<SDL.init>))で初期化する必要があります。((<SDL.init>))は、
ユーザの指定したすべてのサブシステム(ビデオ、オーディオ、ジョイスティック、
タイマー、CD-ROMのいずれかあるいは全部)を初期化することができます。

== Methods

--- SDL.init(flags)

    SDLを初期化します。
    すべてのRuby/SDLのメソッドを呼び出す前にこの関数が呼ばれなければいけません。
    ((|flags|))にはSDLのどの部分を初期化するかを指定します。
    :SDL::INIT_AUDIO
      オーディオサブシステム(音声出力機能)を初期化
    :SDL::INIT_VIDEO
       ビデオサブシステム(画像出力機能とキーボード、マウス入力機能)を初期化
    :SDL::INIT_CDROM
      CDROMサブシステム(CD再生機能)を初期化
    :SDL::INIT_JOYSTICK
      ジョイスティックサブシステム(ジョイスティック入力機能)を初期化
    :SDL::INIT_EVERYTHING
      上に挙げた機能を全て初期化します。

    失敗すると例外((<SDL::Error>))が発生します。

--- SDL.quit

    全てのSDLサブシステムをシャットダウンし、それらが確保したリソースをすべて解
    放します。通常は自動で呼ばれるためユーザが明示的に呼びだす必要はありません。
    
    SDLおよびRuby/SDLの仕様を理解した上で必要な場合のみ使ってください。

--- SDL.inited_system(flags)
--- SDL.initedSystem(flags)

    これは、どのSDLサブシステムが((<初期化されているか|SDL.init>))を報告します。
    ((|flags|))には、調べたいサブシステムの論理和を指定します
    (指定できるサブシステムのフラグについては((<SDL.init>))の項を参照してください)。

    初期化されているサブシステムの論理和を返します。


    EXAMPLE
      # SDL.inited_systemの使いかた
      
      # 全てのサブシステムの初期化状態を得ます
      subsystem_init = SDL.inited_system(SDL::INIT_EVERYTHING)
      
      if subsystem_init & SDL::INIT_VIDEO
        puts "ビデオは初期化されています。"
      else
        puts "ビデオは初期化されていません。"
      end
      
      
      
      # 1つのサブシステムだけをチェックします
      
      if SDL.inited_system(SDL::INIT_VIDEO) != 0
        puts "ビデオは初期化されています。"
      else
        puts "ビデオは初期化されていません。"
      end
      
      
      
      # 2つのサブシステムをチェックします
      
      subsystem_mask = SDL::INIT_VIDEO|SDL::INIT_AUDIO;
      
      if SDL.inited_system(subsystem_mask) == subsystem_mask
        puts "ビデオとオーディオはどちらも初期化されています。"
      else
        puts "ビデオとオーディオのどちらか、または両方が初期化されていません。"
      end

    * See Also
      
      ((<SDL.init>))

--- SDL.getenv(var)

    ((|var|))で指定した環境変数を得ます。

    環境変数の値を文字列で返します。

--- SDL.putenv(string)

    環境変数の追加または値の変更を行います。((|string|)) は "name=value"
    という形式を取ります。
    
    Windows上でSDL_WINDOWIDやSDL_VIDEODRIVERといった環境変数を使って
    SDLの実行に影響を与えたいときに利用します。
    SDLの仕様によりWindowsでは ENV を直接変更してもこれらの機能が使え
    ないためこのような関数が存在しま。Unix上では ENV を使うのと同じ
    効果があります。

    失敗時には例外((<SDL::Error>))を発生させます。


    EXAMPLE
      # http://moriq.tdiary.net/20051006.html より
      # Ruby/SDL と Apolloの併用
      require 'phi'
      require 'sdl'
      
      # フォームの生成
      form = Phi::Form.new
      $terminated = false
      form.on_close{ $terminated = true }
      form.caption = "Ruby/SDL on Phi::Form"
      # パネルをフォームの上に作る
      panel = Phi::Panel.new(form)
      panel.align = Phi::AL_LEFT
      
      # WINDOWID hackを使い、パネルにSDLのウインドウをのせる
      SDL.putenv("SDL_VIDEODRIVER=windib")
      SDL.putenv("SDL_WINDOWID=#{panel.handle}")
      form.show
      
      # SDL本体の初期化など
      SDL.init(SDL::INIT_VIDEO)
      screen = SDL.setVideoMode(640, 480, 16, SDL::SWSURFACE)
      
      # メインループ、とりあえず何もしない
      unless $terminated
        while event = SDL::Event.poll
          case event
          when SDL::Event::KeyDown, SDL::Event::Quit
            exit
          end
        end
      
        sleep 0.05
      end

