Class: Jpmobile::Mobile::Terminfo
- Inherits:
-
Object
- Object
- Jpmobile::Mobile::Terminfo
- Defined in:
- lib/jpmobile/mobile/terminfo.rb
Defined Under Namespace
Modules: Docomo
Instance Method Summary collapse
-
#browser_height ⇒ Object
ブラウザの画面高さを返す。不明の場合は
nil
。. -
#browser_width ⇒ Object
ブラウザの画面幅を返す。不明の場合は
nil
。. -
#color? ⇒ Boolean
画面がカラーならば
true
、白黒ならばfalse
を返す。不明の場合はnil
。. -
#colors ⇒ Object
画面の色数を返す。不明の場合は
nil
。. -
#height ⇒ Object
画面の高さを返す。ブラウザ画面の高さがわかる場合はそれを優先する。不明の場合は
nil
。. -
#initialize(carrier, env) ⇒ Terminfo
constructor
A new instance of Terminfo.
-
#physical_height ⇒ Object
ディスプレイの画面高さを返す。不明の場合は
nil
。. -
#physical_width ⇒ Object
ディスプレイの画面幅を返す。不明の場合は
nil
。. -
#width ⇒ Object
画面の幅を返す。ブラウザ画面の幅がわかる場合はそれを優先する。不明の場合は
nil
。.
Constructor Details
#initialize(carrier, env) ⇒ Terminfo
Returns a new instance of Terminfo.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/jpmobile/mobile/terminfo.rb', line 7 def initialize(carrier, env) case carrier.class.name when /Docomo/ display_info = Docomo::DISPLAY_INFO[carrier.model_name] || {} @browser_width = display_info[:browser_width] @browser_height = display_info[:browser_height] @color_p = display_info[:color_p] @colors = display_info[:colors] when /Au/ if r = env['HTTP_X_UP_DEVCAP_SCREENPIXELS'] @physical_width, @physical_height = r.split(/,/,2).map {|x| x.to_i} end if r = env['HTTP_X_UP_DEVCAP_ISCOLOR'] @color_p = (r == '1') end if r = env['HTTP_X_UP_DEVCAP_SCREENDEPTH'] a = r.split(/,/) @colors = 2 ** a[0].to_i end when /Softbank/, /Vodafone/ if r = env['HTTP_X_JPHONE_DISPLAY'] @physical_width, @physical_height = r.split(/\*/,2).map {|x| x.to_i} end if r = env['HTTP_X_JPHONE_COLOR'] case r when /^C/ @color_p = true when /^G/ @color_p = false end if r =~ /^.(\d+)$/ @colors = $1.to_i end end end end |
Instance Method Details
#browser_height ⇒ Object
ブラウザの画面高さを返す。不明の場合は nil
。
55 |
# File 'lib/jpmobile/mobile/terminfo.rb', line 55 def browser_height; @browser_height; end |
#browser_width ⇒ Object
ブラウザの画面幅を返す。不明の場合は nil
。
53 |
# File 'lib/jpmobile/mobile/terminfo.rb', line 53 def browser_width; @browser_width; end |
#color? ⇒ Boolean
画面がカラーならば true
、白黒ならば false
を返す。不明の場合は nil
。
45 |
# File 'lib/jpmobile/mobile/terminfo.rb', line 45 def color?; @color_p; end |
#colors ⇒ Object
画面の色数を返す。不明の場合は nil
。
47 |
# File 'lib/jpmobile/mobile/terminfo.rb', line 47 def colors; @colors; end |
#height ⇒ Object
画面の高さを返す。ブラウザ画面の高さがわかる場合はそれを優先する。不明の場合は nil
。
59 |
# File 'lib/jpmobile/mobile/terminfo.rb', line 59 def height; browser_height || physical_height; end |
#physical_height ⇒ Object
ディスプレイの画面高さを返す。不明の場合は nil
。
51 |
# File 'lib/jpmobile/mobile/terminfo.rb', line 51 def physical_height; @physical_height; end |
#physical_width ⇒ Object
ディスプレイの画面幅を返す。不明の場合は nil
。
49 |
# File 'lib/jpmobile/mobile/terminfo.rb', line 49 def physical_width; @physical_width; end |
#width ⇒ Object
画面の幅を返す。ブラウザ画面の幅がわかる場合はそれを優先する。不明の場合は nil
。
57 |
# File 'lib/jpmobile/mobile/terminfo.rb', line 57 def width; browser_width || physical_width; end |