Commit graph

85 commits

Author SHA1 Message Date
Robin Gareus
62d47d63a6
Hide irrelevant gtk messages from casual users 2025-03-21 23:16:18 +01:00
Robin Gareus
7f6f3d64f1
macOS/YDK: Fix crash when resizing windows
_gdk_window_process_updates_recurse() may recurse (duh),
and reenter drawRect. So `needs_display_region` needs
to be unset immediately, not at the end of the method.
2025-03-16 01:57:16 +01:00
Robin Gareus
a76acf34f8
Fix ATK builds c813ba2b03
extern here is literally C `extern`, not DLL exported functions,
see libs/tk/ztk/ztk/atkversion.h
```
#ifndef _ATK_EXTERN
#define _ATK_EXTERN extern
#endif
```
2025-02-28 21:19:52 +01:00
John Emmas
c813ba2b03 Ensure that 'ztk' will build a working DLL when built with MSVC 2025-02-28 14:36:18 +00:00
Robin Gareus
978495c4f9
Update macOS codenames 2025-02-24 19:32:16 +01:00
John Emmas
8d7fc15917 Fix an issue where 'ytkmm' wouldn't run properly if built with MSVC 2025-02-24 12:42:53 +00:00
John Emmas
046623df59 Correct a mistyped include path 2025-02-20 09:15:49 +00:00
Paul Davis
36fb75690d macOS/YDK: various changes in invalidation debugging 2025-02-13 20:32:28 -07:00
Paul Davis
45e2555988 macOS/YDK: when a full-draw is needed, use the GdkQuartzView bounds as the rect, not the drawRect:rect 2025-02-13 20:31:50 -07:00
Paul Davis
499389d7b5 we do not use clear_region() on macOS and never have 2025-02-13 20:29:54 -07:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Robin Gareus
233fc890de
Update gdkmm -> ydkmm header location (omnibus commit) 2025-02-01 15:01:52 +01:00
Robin Gareus
ab41165854
Update gdk-pixbuf -> ydk header location 2025-02-01 14:24:41 +01:00
Robin Gareus
f1e0f4b1ea
Update gtk -> ytk header location (omnibus commit) 2025-02-01 13:53:21 +01:00
Robin Gareus
07866caf1e
Update gdk -> ydk header location (omnibus commit) 2025-02-01 13:37:48 +01:00
Robin Gareus
eff811d437
Update atkmm -> ztkmm header location 2025-02-01 12:44:12 +01:00
Robin Gareus
f9a92e7872
Update atk->ztk header location 2025-02-01 12:22:32 +01:00
Robin Gareus
1e28ee9cc9
YTK is no longer optional
Since the addition of the touch-API, Ardour is no longer compatible
with upstream gtk2.
2025-02-01 11:57:35 +01:00
Robin Gareus
728e0c0144
Build fixes for NetBSD from pkgsrc (#9886) 2025-02-01 11:25:42 +01:00
Robin Gareus
9e164bf0cf
Further reduce debug output 2025-01-23 03:55:09 +01:00
Robin Gareus
631cda9fc8
Fix mac/Quartz drawRect full exposure
When full-draw is set, use the `rect` passed as argument
to `drawRect` and ignore `drawn_rects` invalidation.

This may fix some missing redraws when switching tabs.
2025-01-17 18:26:50 +01:00
Robin Gareus
4e34c0a0e3
Remove redundant gdk_region_destroy 2025-01-17 18:26:50 +01:00
Robin Gareus
462c5ad400
Windows multitouch fixes and notes
Properly special case first single touch; fall
back to allow windows to emulate mouse events for it.
Yet let gdk handle any multi-touch events, not allowing gestures.
2025-01-16 18:46:27 +01:00
Robin Gareus
90755045f5
Windows multitouch tweaks
* Fix special case of first single touch. While another touch
is active, any new touch must not get the ID of the (ignored)
first touch.

* reset "last-touch" coordinate on touch-begin.
Previously it was possible that the first motion event was
ignored.

NB: This does not fix missing events when the first touch
coincides with any other finger (gesture?).
2025-01-15 03:32:17 +01:00
Robin Gareus
91fe10165e Linux/X11 grab window when emulating touch button events
The first touch moves the mouse cursor, but X motion events
for the first touch are only sent after a XGrabPointer.
2025-01-15 02:06:45 +01:00
luzpaz
f4562a9b4c
fix various typos throughout codebase
Found via `codespell -q 3 -S "*.pdf,*.po,./.git,*.tosc,./waf,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch" -L acount,addin,ane,ba,buss,busses,caf,capela,devine,disconnectin,discreet,doubleclick,envolution,filetest,fo,ghandi,homs,hsi,layed,maschine,mis,nd,ontop,pass-thru,removeable,retrn,ro,scrollin,sectionin,seh,siz,sord,sur,te,trough,ue,wth`
2025-01-12 21:08:42 +01:00
John Emmas
7a5fe4c5a1 ytk: some #defines need to be different when building with MSVC 2024-12-02 10:55:02 +00:00
Paul Davis
0132a0b8ad amend GdkQuartzView:drawRect to be able to show both the exposed and "leftover" areas
To activate, run a debug build with ARDOUR_SHOW_QUARTZ_INVALIDATION set in the environment
2024-11-26 19:02:42 -07:00
Paul Davis
4fbdf0d680 macOS: catch spurious full redraw calls to NSView:drawRect and act appropriately 2024-11-21 14:07:31 -07:00
Robin Gareus
efbc8b4390
Turn touchscreen debug prints into gdk-debug messages 2024-11-07 06:13:12 +01:00
John Emmas
3933fc2db7 Oops, missed one... 2024-11-03 13:33:57 +00:00
John Emmas
44068a63f5 Guard some pragmas which aren't understood by MSVC 2024-11-03 11:50:44 +00:00
Robin Gareus
37b0910d80
Windows Multitouch: disable gestures
Gestures may prevent a 2nd touch from being registered as
such (and instead report a zoom/pinch gesture).

At least that is my best guess, why Nathan needs 3 fingers
to move 2 Faders :)
2024-11-02 04:54:28 +01:00
Robin Gareus
0e4dcb231f
Amend previous commit (fix Windows builds) 2024-11-02 00:12:53 +01:00
Robin Gareus
e63693fb1c
Fix Windows debug builds
There's no such thing as GDK_TOUCH_CANCEL. The idea was dropped.
2024-11-01 22:21:25 +01:00
Robin Gareus
c88d370136
Implement Windows multitouch support 2024-10-31 02:02:20 +01:00
Robin Gareus
952ec57a26 Special case first touch-event: grab and emulate mouse button 2024-10-30 19:19:30 +01:00
Robin Gareus
23d5dcd080 Fix touch event propagation (custom grab)
See also 79dae5f2b4
2024-10-30 19:13:24 +01:00
Robin Gareus
8f32862e58
Humble beginnings of implementing Touch API for YDK/Windows 2024-10-26 14:55:35 +02:00
Robin Gareus
79dae5f2b4
Implement multitouch grab 2024-10-24 23:33:31 +02:00
Robin Gareus
5cf392b17a
Implement YDK Touch API for Linux/X11 2024-10-24 23:33:31 +02:00
Robin Gareus
89da2f2c87
Define YDK/YTKMM Touch Event API 2024-10-24 23:33:28 +02:00
Mads Kiilerich
e520cf6bac
wscript: Actually invoke autowaf.build_i18n_pot in i18n_pot_func 2024-10-22 00:37:39 +02:00
Mads Kiilerich
8e2a9dfd91
wscript: Fix i18n names for tk 2024-10-22 00:37:39 +02:00
Mads Kiilerich
48fcb30608 wscript: fix whitespace formatting
No tabs and no trailing spaces.
2024-10-20 19:52:14 -06:00
Paul Davis
1f70d54989 avoid call of a null function pointer 2024-09-13 08:24:04 -06:00
Paul Davis
79e78394c2 track modal window show/hide, not realize/finalize 2024-09-13 16:02:59 +02:00
Robin Gareus
267cddfb05
Fix stuck insensitive macOS main menu
Popup Dialog Windows never unset the modal flag.
e.g. Session > Save Snapshot & switch.

Furthermore a 2nd dialog was able to get the menu stuck
forever (e.g. Snapshot & Switch .. -> Replace existing?
2024-09-05 18:27:44 +02:00
Robin Gareus
3acc8c76ca
Handle Filechooser Location entry
In order for the Filechooser Location widget to work two
things need to be setup, which only the FileChooserDialog
does:
 * subscribe to Widget's "response-requested" signal
 * call should_respond () hook from top-level window's
   default handler.

The Location Entry emits "activates-default". In case of
the Dialog, that calls the dialogs response callback,
which then calls ` _gtk_file_chooser_embed_should_respond`.

That handles changes made by the user to the location entry.

-=-

Gtk::FileChooserWidget does not handle this, "response-requested"
signal is not exposed, nor is _gtk_file_chooser_embed_should_respond
available outside Gtk.

This change at least selects the file in the treeview, which
allows further handling, without interfering with FileChooserDialog's
behavior.
2024-09-04 22:29:24 +02:00
Paul Davis
b544ac832c move gdk global for modal notification to be with other gdk globals 2024-08-19 15:15:45 -06:00