Class: RbSDL2::PowerInfo
- Inherits:
-
Object
- Object
- RbSDL2::PowerInfo
- Defined in:
- lib/rb_sdl2/power_info.rb
Instance Attribute Summary collapse
-
#state ⇒ Object
readonly
Returns the value of attribute state.
Instance Method Summary collapse
-
#battery? ⇒ Boolean
バッテリーが搭載されているか?.
-
#battery_percentage ⇒ Object
バッテリーの残り容量(パーセント)を戻します。 残り容量を特定できない, またはバッテリーで動作していない場合 nil を戻します。.
-
#battery_time ⇒ Object
バッテリーの残り時間(秒)を戻します。 残り時間を特定できない、またはバッテリーで動作していない場合は nil を戻します。.
-
#charged? ⇒ Boolean
電源あり、バッテリー満充電.
-
#charging? ⇒ Boolean
電源あり、バッテリー充電中.
-
#initialize ⇒ PowerInfo
constructor
A new instance of PowerInfo.
-
#no_battery? ⇒ Boolean
電源あり、バッテリー非搭載(デスクトップパソコンなど).
-
#on_battery? ⇒ Boolean
電源なし、バッテリー使用中.
-
#plugged_in? ⇒ Boolean
電源に接続されているか?.
-
#unknown? ⇒ Boolean
電源、バッテリーの情報なし.
- #update ⇒ Object
Constructor Details
#initialize ⇒ PowerInfo
Returns a new instance of PowerInfo.
3 4 5 6 7 |
# File 'lib/rb_sdl2/power_info.rb', line 3 def initialize @battery_time = ::FFI::MemoryPointer.new(:int) @battery_percentage = ::FFI::MemoryPointer.new(:int) update end |
Instance Attribute Details
#state ⇒ Object (readonly)
Returns the value of attribute state.
37 38 39 |
# File 'lib/rb_sdl2/power_info.rb', line 37 def state @state end |
Instance Method Details
#battery? ⇒ Boolean
バッテリーが搭載されているか?
18 19 20 |
# File 'lib/rb_sdl2/power_info.rb', line 18 def battery? = [::SDL::POWERSTATE_CHARGING, ::SDL::POWERSTATE_CHARGED, ::SDL::POWERSTATE_ON_BATTERY].include?(state) |
#battery_percentage ⇒ Object
バッテリーの残り容量(パーセント)を戻します。 残り容量を特定できない, またはバッテリーで動作していない場合 nil を戻します。
11 |
# File 'lib/rb_sdl2/power_info.rb', line 11 def battery_percentage = (num = @battery_percentage.read_int) >= 0 ? num : nil |
#battery_time ⇒ Object
バッテリーの残り時間(秒)を戻します。 残り時間を特定できない、またはバッテリーで動作していない場合は nil を戻します。
15 |
# File 'lib/rb_sdl2/power_info.rb', line 15 def battery_time = (num = @battery_time.read_int) >= 0 ? num : nil |
#charged? ⇒ Boolean
電源あり、バッテリー満充電
23 |
# File 'lib/rb_sdl2/power_info.rb', line 23 def charged? = ::SDL::POWERSTATE_CHARGED == state |
#charging? ⇒ Boolean
電源あり、バッテリー充電中
26 |
# File 'lib/rb_sdl2/power_info.rb', line 26 def charging? = ::SDL::POWERSTATE_CHARGING == state |
#no_battery? ⇒ Boolean
電源あり、バッテリー非搭載(デスクトップパソコンなど)
29 |
# File 'lib/rb_sdl2/power_info.rb', line 29 def no_battery? = ::SDL::POWERSTATE_NO_BATTERY == state |
#on_battery? ⇒ Boolean
電源なし、バッテリー使用中
32 |
# File 'lib/rb_sdl2/power_info.rb', line 32 def on_battery? = ::SDL::POWERSTATE_ON_BATTERY == state |
#plugged_in? ⇒ Boolean
電源に接続されているか?
35 |
# File 'lib/rb_sdl2/power_info.rb', line 35 def plugged_in? = !on_battery? |
#unknown? ⇒ Boolean
電源、バッテリーの情報なし
40 |
# File 'lib/rb_sdl2/power_info.rb', line 40 def unknown? = ::SDL::POWERSTATE_UNKNOWN == state |
#update ⇒ Object
42 43 44 45 |
# File 'lib/rb_sdl2/power_info.rb', line 42 def update @state = ::SDL.GetPowerInfo(@battery_time, @battery_percentage) self end |