Robin Gareus
e29523ab52
Update YTK unistd.h checks
2025-11-09 20:51:51 +01:00
Robin Gareus
d8a379bc6d
Prepare for MSVC support in y[dt]k
2025-10-22 15:34:37 +02:00
Robin Gareus
f12a521a94
Allow builds with recent msys2/mingw
...
Thanks to EZ4Stephen
https://discourse.ardour.org/t/show-32-tracks-while-recording/112102/7
2025-10-11 15:02:57 +02:00
Paul Davis
ea4616913c
cocoa: experimentally, redraw entire window after deminimization
2025-07-05 08:34:08 -06:00
Robin Gareus
2a9776de5a
Revert "Linux/X11/touch: don't send duplicate mouse-up events for first touch"
...
This reverts commit 8eab71fef4 .
2025-04-15 21:48:55 +02:00
Robin Gareus
8eab71fef4
Linux/X11/touch: don't send duplicate mouse-up events for first touch
2025-04-10 18:25:58 +02: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
978495c4f9
Update macOS codenames
2025-02-24 19:32:16 +01: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
ab41165854
Update gdk-pixbuf -> ydk header location
2025-02-01 14:24:41 +01:00
Robin Gareus
07866caf1e
Update gdk -> ydk header location (omnibus commit)
2025-02-01 13:37:48 +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
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
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
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
Paul Davis
b544ac832c
move gdk global for modal notification to be with other gdk globals
2024-08-19 15:15:45 -06:00
Paul Davis
0901b239c1
fix spelling error
2024-08-19 15:15:45 -06:00
Paul Davis
4ad332ae50
fix initial commit
2024-08-19 15:15:45 -06:00
Paul Davis
221fd82d59
initial infrastructure for handling modal dialogs on macOS
2024-08-19 15:15:45 -06:00
Robin Gareus
2cdfdc9212
Prevent minimizing Dialog Windows on macOS
...
This works around an issue with some embedded plugin windows not being
properly restored when the window is restored after being minimized. It
also prevents zooming (full-screen) display of dialog windows.
Also recent macOS allows to maximize Windows even if they are not
supposed to be resizable (also causing issues with some plugins).
2024-07-18 17:57:52 +02:00
Robin Gareus
fd96694a21
Fix various doxgen errors in YTK
...
This is about half of the reported errors, then my patience
ran out. More later
2024-05-27 00:43:04 +02:00
Robin Gareus
5a52b66dfa
Remove unsupported xml/html tag <inlinegraphic>
2024-05-26 23:45:31 +02:00
Paul Davis
894e6d27a4
NOOP: whitespace cleanup
2024-04-19 10:43:10 -06:00
Paul Davis
c96e12ba58
expand null/destroyed tests for gdk objects in NSView methods
2024-04-19 10:42:59 -06:00
Robin Gareus
e64a071e39
(YDK) amend previous commit, call parent method
2024-04-19 16:46:49 +02:00
Robin Gareus
08e394f681
(YDK) possible fix for Catalina event loop crashes
...
```
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libydk.dylib 0x0000000110d8942d -[GdkQuartzView setNeedsDisplay:] + 93
1 com.apple.AppKit 0x00007fff34af6848 -[NSView(NSViewContentStyle) _recursivelyInvalidateCachedContentStyle] + 120
2 com.apple.AppKit 0x00007fff34af60fb -[NSView _setSuperview:] + 521
3 com.apple.AppKit 0x00007fff34b200a6 -[NSView removeFromSuperview] + 140
4 com.apple.AppKit 0x00007fff34ba882f -[NSView removeFromSuperviewWithoutNeedingDisplay] + 36
5 com.apple.AppKit 0x00007fff34b27168 -[NSView _finalize] + 977
6 com.apple.AppKit 0x00007fff34b26c0c -[NSView dealloc] + 121
7 com.apple.AppKit 0x00007fff34e30db4 -[NSFrameView dealloc] + 119
8 com.apple.AppKit 0x00007fff34e30d36 -[NSTitledFrame dealloc] + 62
9 com.apple.AppKit 0x00007fff34e30ce9 -[NSThemeFrame dealloc] + 603
10 com.apple.Foundation 0x00007fff39ed5992 NSKVODeallocate + 172
11 com.apple.AppKit 0x00007fff34d85884 -[NSWindow dealloc] + 1083
12 com.apple.AppKit 0x00007fff34d85442 -[NSWindow _dealloc] + 76
13 libobjc.A.dylib 0x00007fff6f6f3054 AutoreleasePoolPage::releaseUntil(objc_object**) + 134
14 libobjc.A.dylib 0x00007fff6f6d7dba objc_autoreleasePoolPop + 175
15 com.apple.CoreFoundation 0x00007fff377c9cb5 _CFAutoreleasePoolPop + 22
16 com.apple.Foundation 0x00007fff39e7d04e -[NSAutoreleasePool drain] + 126
17 libydk.dylib 0x0000000110d8ef29 gdk_event_prepare + 73
18 libglib-2.0.0.dylib 0x00000001110ded45 g_main_context_prepare + 533
19 libglib-2.0.0.dylib 0x00000001110df800 g_main_context_iterate + 128
20 libglib-2.0.0.dylib 0x00000001110dfcc2 g_main_loop_run + 210
21 libytk.dylib 0x0000000110a4f11f gtk_main + 191
22 libgtkmm2ext.dylib 0x00000001104cef1e Gtkmm2ext::UI::run(Receiver&) + 318
23 com.harrisonconsoles.Mixbus10 0x000000010dc6fb9c main + 2652
```
2024-04-19 15:38:12 +02:00