John Ralls 345bfb494a Use consistent coordinates in get_toplevel_from_ns_event.
[NSView frame] returns a rectangle in the superview's coordinates, and the
superview of an NSWindow's content view (which is the only NSView that
GdkQuartz instantiates) is an undocumented NSThemeFrame. While it happens
to have the same origin as the content view and the same size as the
window's frame this isn't documented and so could change without notice.
Convert the window frame coordinates to the view's coordinate system to
ensure consistency.

Use the view's bounds instead of its frame: The bounds rectangle is in the
view's coordinate system. Use the parent NSWindow's frame instead of the
private NSThemeFrame's. This ensures that all coordinate comparisons have
the same reference.

Finally, the macOS coordinate systems origin is at the bottom left, so the
title bar is between the content view's height and the window's height,
not in negative y in the view's coordinates. Adjust the y comparisons
accordingly.

Fixes #6297
2023-12-25 11:10:12 -08:00
2022-12-08 11:57:39 +00:00
2022-12-08 17:58:29 +00:00
2023-12-22 10:40:22 -05:00
2023-12-23 21:10:05 +00:00
2023-05-21 22:22:08 -04:00
2012-02-27 17:06:11 +00:00
2011-02-10 14:41:02 -05:00
2011-12-05 20:58:21 -05:00
2014-07-30 15:53:33 +02:00
2015-03-03 15:01:15 -05:00
2023-12-19 13:27:28 -05:00
2022-12-08 17:58:29 +00:00

General Information

GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites.

GTK is free software and part of the GNU Project. However, the licensing terms for GTK, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties.

The official download locations are:

The official web site is:

Installation

See the file INSTALL.md

How to report bugs

Bugs should be reported to the GTK issue tracker. You will need to create an account for yourself.

In the bug report please include:

  • Information about your system. For instance:

    • What operating system and version
    • For Linux, what version of the C library

    And anything else you think is relevant.

  • How to reproduce the bug.

    If you can reproduce it with one of the test programs that are built in the tests/ subdirectory, that will be most convenient. Otherwise, please include a short test program that exhibits the behavior. As a last resort, you can also provide a pointer to a larger piece of software that can be downloaded.

  • If the bug was a crash, the exact text that was printed out when the crash occurred.

  • Further information such as stack traces may be useful, but is not necessary.

Bug fixes and improvements

Changes should be submitted as merge request to the GTK project. If a merge request fixes an issue, the description should mention the issue number.

Release notes

Release notes for releases of GTK 3.x are part of the migration guide in the GTK documentation. See

Description
No description provided
Readme 363 MiB
Languages
C 88.6%
CSS 10.1%
Meson 0.4%
SCSS 0.4%
JavaScript 0.2%
Other 0.1%