Sha256: 5ac1044b2277ac953c8e917da0457a11307f10fdda5505cbcb85ebd568058986
Contents?: true
Size: 1.09 KB
Versions: 3
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true module Engine # https://www.glfw.org/docs/latest/struct_g_l_f_wvidmode.html # https://www.glfw.org/docs/latest/monitor_guide.html#monitor_modes class VideoMode class << self def current_video_mode(monitor: Window.primary_monitor) video_mode_helper(GLFW.GetVideoMode(monitor), 0) end # Returns an array of video modes def get_video_modes(monitor: Window.primary_monitor) count_pointer = ' ' * Fiddle::SIZEOF_INT modes_pointer = GLFW.GetVideoModes(monitor, count_pointer) count = count_pointer.unpack1('L') supported_video_modes = [] count.times do |i| supported_video_modes << video_mode_helper(modes_pointer, i) end supported_video_modes end def print_video_mode(mode) GLFW::GLFWvidmode.members.map(&:to_sym).map do |attr| puts "#{attr}: #{mode.send(attr)}" end puts end def video_mode_helper(mode_pointer, index) GLFW::GLFWvidmode.new(mode_pointer + index * GLFW::GLFWvidmode.size) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ruby_rpg-0.0.4 | lib/engine/video_mode.rb |
ruby_rpg-0.0.3 | lib/engine/video_mode.rb |
ruby_rpg-0.0.2 | lib/engine/video_mode.rb |