title: Phi::Screen
author: YOSHIDA Kazuhiro
mailto: moriq@moriq.com

1. Phi::Screen

アプリケーションの実行時の画面の状態を表す。

Phi は %c:Phi::SCREEN% ( 定数 ) を用意する。

1.1. attributes

: height : Fixnum
  垂直方向の大きさ

: width : Fixnum
  水平方向の大きさ

: active_form : Form
  現在 focus を持つ form

  %c:active_form% は， application でどの form が入力 focus を持っているかを判別するために使う。 application が現在非 active の場合は， %c:active_form% は application が active になったときに focus を持つ form である。

  %c:active_form% を変更するには， Phi::Form#set_focus を使ってほしい。非 active form の Form#set_focused_control を呼び出してその form に focus を設定した場合にも active_form は変わる。

  focus が別の form に移ると， #on_active_form_change を呼び出す。

: active_control : Control
  現在 focus を持つ control

  active_control は， active form でどの window control が現在 keyboard からの入力を受け取るかを判別するために使う。 active_control を変更するには， Form#set_focused_control を使ってほしい。 focus が別の control に移ると， #on_active_control_change を呼び出す。

: cursor : Fixnum
  global な cursor image

  cursor は，個々の control object に関連付けられた cursor image を override するために使う。 cursor が %c:CR_DEFAULT% ならば，個々の object によって cursor image が決まる。 %c:CR_DEFAULT% 以外の値を指定すると，その application に属するすべての window で mouse cursor の image が設定される。 Phi::Screen#cursor の設定が %c:CR_DEFAULT% に戻されるまで global な cursor image は有効だ。
