]> git.eshelyaron.com Git - emacs.git/commit
Rewrite Haiku frame geometry code to handle decorator frames
authorPo Lu <luangruo@yahoo.com>
Tue, 17 May 2022 09:40:57 +0000 (09:40 +0000)
committerPo Lu <luangruo@yahoo.com>
Tue, 17 May 2022 09:59:20 +0000 (09:59 +0000)
commite9ad64ef92e7e8292ba596a97e114cbc91c6faa3
treece3845fc02a66a005da8f654cc55009c2d79a974
parentdc239872cc248414f121e0455d447ef00f9b4cc4
Rewrite Haiku frame geometry code to handle decorator frames

* doc/lispref/frames.texi (Frame Layout): Document changes to
Haiku frame layout.

* src/haiku_support.cc (class EmacsWindow, MoveToIncludingFrame)
(EmacsMoveTo, MakeFullscreen): Move to an offset including the
decorator frames.
(be_get_window_decorator_dimensions):
(be_get_window_decorator_frame): New functions.

* src/haiku_support.h: Update prototypes.

* src/haikufns.c (haiku_update_after_decoration_change): New
function.
(haiku_create_frame, haiku_set_undecorated)
(haiku_set_override_redirect): Call that function.
(frame_geometry): Actually calculate frame geometry based on
decorator and frame sizes.

* src/haikuterm.c (haiku_coords_from_parent): Use frame width
instead.
(haiku_read_socket): Set left and top positions based on
decorator width and height.
* src/haikuterm.h (struct haiku_output): New field `frame_x' and
`frame_y'.
doc/lispref/frames.texi
src/haiku_support.cc
src/haiku_support.h
src/haikufns.c
src/haikuterm.c
src/haikuterm.h