Module: RbSDL2::Window::Display

Included in:
RbSDL2::Window
Defined in:
lib/rb_sdl2/window/display.rb

Defined Under Namespace

Classes: GammaRamp

Instance Method Summary collapse

Instance Method Details

#brightnessObject

Brightness はウィンドウ単体ではなくウインドウの中心があるディスプレイの輝度の取得、変更を行う。 対象となるディスプレイの取得は Window#display メソッドを呼び出す。



6
# File 'lib/rb_sdl2/window/display.rb', line 6

def brightness = ::SDL.GetWindowBrightness(self)

#brightness=(float) ⇒ Object

Raises:



8
9
10
11
# File 'lib/rb_sdl2/window/display.rb', line 8

def brightness=(float)
  err = ::SDL.SetWindowBrightness(self, float)
  raise RbSDL2Error if err < 0
end

#displayObject



15
# File 'lib/rb_sdl2/window/display.rb', line 15

def display = Display.new(display_index)

#display_indexObject

Raises:



17
18
19
20
21
# File 'lib/rb_sdl2/window/display.rb', line 17

def display_index
  index = ::SDL.GetWindowDisplayIndex(to_ptr)
  raise RbSDL2Error if index < 0
  index
end

#fullscreen_display_modeObject

Raises:



24
25
26
27
28
29
# File 'lib/rb_sdl2/window/display.rb', line 24

def fullscreen_display_mode
  obj = DisplayMode.new
  err = ::SDL.GetWindowDisplayMode(self, obj)
  raise RbSDL2Error if err < 0
  obj
end

#fullscreen_display_mode=(display_mode) ⇒ Object

Raises:



31
32
33
34
# File 'lib/rb_sdl2/window/display.rb', line 31

def fullscreen_display_mode=(display_mode)
  err = ::SDL.SetWindowDisplayMode(self, display_mode)
  raise RbSDL2Error if err < 0
end

#gamma=(rgb) ⇒ Object

r_gamma, g_gamma, b_gamma

| gamma



64
65
66
67
# File 'lib/rb_sdl2/window/display.rb', line 64

def gamma=(rgb)
  r, g, b = *rgb
  self.gamma_ramp = (!g && !b ? [r, r, r] : [r, g, b]).map { |f| GammaRamp.new(f) }
end

#gamma_rampObject

Raises:



69
70
71
72
73
74
# File 'lib/rb_sdl2/window/display.rb', line 69

def gamma_ramp
  rgb = Array.new(3) { GammaRamp.new }
  err = ::SDL.GetWindowGammaRamp(self, *rgb)
  raise RbSDL2Error if err < 0
  rgb.map(&:to_a)
end

#gamma_ramp=(r_g_b) ⇒ Object

r_g_b: [[r,…],,[b,…]] 画面全体に影響を与える。OSからリセットされることもある。 アプリケーションが終了しても永続的に影響をあたえる。ユーザにとって望ましくないだろう。

Raises:



79
80
81
82
# File 'lib/rb_sdl2/window/display.rb', line 79

def gamma_ramp=(r_g_b)
  err = ::SDL.SetWindowGammaRamp(self, *r_g_b.map { |a| GammaRamp[*a] })
  raise RbSDL2Error if err < 0
end