зеркало из https://github.com/github/ruby.git
[ruby/reline] Support hide/show cursor on Windows
https://github.com/ruby/reline/commit/0c870813bd
This commit is contained in:
Родитель
02a61fe33f
Коммит
d768eeeddb
|
@ -133,6 +133,7 @@ class Reline::Windows
|
|||
@@GetFileType = Win32API.new('kernel32', 'GetFileType', ['L'], 'L')
|
||||
@@GetFileInformationByHandleEx = Win32API.new('kernel32', 'GetFileInformationByHandleEx', ['L', 'I', 'P', 'L'], 'I')
|
||||
@@FillConsoleOutputAttribute = Win32API.new('kernel32', 'FillConsoleOutputAttribute', ['L', 'L', 'L', 'L', 'P'], 'L')
|
||||
@@SetConsoleCursorInfo = Win32API.new('kernel32', 'SetConsoleCursorInfo', ['L', 'P'], 'L')
|
||||
|
||||
@@GetConsoleMode = Win32API.new('kernel32', 'GetConsoleMode', ['L', 'P'], 'L')
|
||||
@@SetConsoleMode = Win32API.new('kernel32', 'SetConsoleMode', ['L', 'L'], 'L')
|
||||
|
@ -344,11 +345,17 @@ class Reline::Windows
|
|||
end
|
||||
|
||||
def self.hide_cursor
|
||||
# ignored
|
||||
size = 100
|
||||
visible = 0 # 0 means false
|
||||
cursor_info = [size, visible].pack('Li')
|
||||
@@SetConsoleCursorInfo.call(@@hConsoleHandle, cursor_info)
|
||||
end
|
||||
|
||||
def self.show_cursor
|
||||
# ignored
|
||||
size = 100
|
||||
visible = 1 # 1 means true
|
||||
cursor_info = [size, visible].pack('Li')
|
||||
@@SetConsoleCursorInfo.call(@@hConsoleHandle, cursor_info)
|
||||
end
|
||||
|
||||
def self.set_winch_handler(&handler)
|
||||
|
|
Загрузка…
Ссылка в новой задаче