]> code.delx.au - gnu-emacs/commit
Implement horizontal scroll bars on NS
authorAlan Third <alan@idiocy.org>
Sun, 1 May 2016 11:04:07 +0000 (13:04 +0200)
committerMartin Rudalics <rudalics@gmx.at>
Sun, 1 May 2016 11:04:07 +0000 (13:04 +0200)
commite683a2570be6f2e4f8defa4e7ee35a7d87f18918
tree0b749572bb70a6222d333d932bda7a29b18e5729
parent80a1e3b9b58aaeb71913737e07bb305d9eb54437
Implement horizontal scroll bars on NS

* lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
check.
* lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
scroll-bar mouse clicks to standard handlers.
* src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
pixel_height to pixel_length.
* src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
caused scroll-bars to be over-drawn and the best working solution
appears to be complete removal.
(ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
correctly.
(ns_set_vertical_scroll_bar): Set width to actual scroller width.
(setFrame): Handle horizontal case.
(dealloc): Handle horizontal case.
(judge): Handle horizontal case.
(setPosition): Rename pixel_height to pixel_length.
(sendScrollEventAtLoc): Handle horizontal case.
(mouseDown): Handle horizontal case and general tidy up of code.
(mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
absolute pixel size instead of ratio.
* src/window.h: Remove NS check.
lisp/scroll-bar.el
lisp/term/ns-win.el
src/nsterm.h
src/nsterm.m
src/window.h