1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-13 00:04:19 +00:00
Commit graph

130 commits

Author SHA1 Message Date
reuk
d4e802016a VST3: Fix issue where Ardour would repeatedly try to resize editors
Ardour seems to listen to the bounds of the plugin window, and will call
`onSize` on the plugin editor when move/resize events are sent to the X
window - even if the size of the window didn't really change. This can
result in an infinite resize loop, where calling `onSize` on the VST3
instance sends a resize event to the plugin window, and this event
causes Ardour to call `onSize` on the plugin view.

To get around this, the Linux ComponentPeer will no longer request a
bounds change from the window system if the requested bounds are the
same as the current bounds.
2021-03-11 16:51:35 +00:00
ed
40c86d6b2f Linux: Fail more gracefully on systems which don't support 32-, 24-, or 16-bit RGB displays 2021-03-09 12:11:05 +00:00
reuk
7a0b17c0d3 LinuxComponentPeer: Fix scaling in custom windows created by plugins
Previously, things like PopupMenus which were created in their own
windows were not being scaled correctly on HiDPI displays on Linux.

This patch forces the display scale to 1.0 in plugins, meaning that
the transform applied to the main plugin window is the sole source
of truth for component scaling in plugins.
2021-03-04 13:56:03 +00:00
reuk
d5b55a8474
X11: Make setFullscreen put windows into true maximised mode 2021-02-16 15:39:31 +00:00
reuk
5490003964
LinuxComponentPeer: Dismiss modals more proactively
This patch should resolve an issue where the popupmenu for a combobox
could become 'stranded' if the plugin window was moved while the box was
open.
2021-01-15 12:18:32 +00:00
reuk
55036de873
LinuxComponentPeer: Get rid of unused templating 2021-01-15 12:18:31 +00:00
ed
84d9117054 Linux: Check for valid display in updateScaleFactorFromNewBounds() 2021-01-06 17:16:46 +00:00
ed
3f78998b96 Linux: Fixed semi-transparent windows not rendering correctly
Previously we were choosing a Visual and Colormap on initialisation of the X11 Display which could lead to bugs when opening a window with different visual and colour requirements. This commit makes 16, 24 and 32-bit visuals available and chooses the correct one when opening a window.
2020-11-02 15:46:45 +00:00
ed
bef6a91294 Linux: Made the Desktop singleton usable when running headless 2020-10-27 12:39:16 +00:00
ed
b7e28541ca Replaced deprecated Displays methods 2020-10-27 12:38:59 +00:00
ed
009d685179 Updated all license headers 2020-06-29 08:30:22 +01:00
ed
a8b6066187 Linux: Use host scaling for VST plug-ins on hiDPI screens 2020-05-18 14:05:54 +01:00
reuk
f49b3733ec
Warnings: Silence some GCC warnings 2020-05-05 12:28:47 +01:00
Tom Poole
894e7d2bd2 Updated all license headers 2020-04-23 17:30:39 +01:00
ed
bb28b3413d Updated some copyright headers 2020-04-16 17:28:34 +01:00
ed
74ca3b44c4 Linux: Removed X11-specific code from LinuxComponentPeer 2020-04-16 12:18:49 +01:00
Felipe F. Tonello
c2100022cc Added several linux improvements to the event loop, MIDI and X11 (see commit messsage)
MIDI: Several ALSA Seq improvements
===================================

Many things were done in this patch (I couldn't really split in several
patches):
 * Only one ALSA Sequencer client per application
 * ALSA Sequencer client name is the application's name by default
 * Fixed a bug when getDeivces() would return devices created by the
   application itself
 * Only ports created with createNewDevice() are allowed to be subscribed,
   other ports (created by openDevice()) doesn't allow subscription
 * AlsaPort is now handled by AlsaClient, basically having the proper
 representation such as the ALSA Sequencer has.

Files: Fix default directory paths
==================================

Some information on:
* Linux LSB FHS:
  http://www.linuxfoundation.org/collaborate/workgroups/lsb/fhs-30
* https://wiki.archlinux.org/index.php/Xdg_user_directories

Refactor Event loop to remove X11 dependency
============================================

The goal of this refactor was to remove X11 dependencies on juce_events
to enable non-gui applications (example, Embedded Linux apps) to have no
libx11 dependency.

The side-effect of this refactor is easy implementation of other Linux
graphical back-end, cleanup some code, better handling of X displays and
other benefits.

I removed a lot of the code from juce_linux_Windowing to separate files
for clarity. I also renamed all Linux X11 files to *linux_X11* instead of
just *linux*.

X11: Remove unnecessary XGrabButton call
========================================

This call is made unnecessary if used proper window flags when a window
is created.
2017-02-13 17:14:34 +00:00
hogliux
a6d3d19832 Fixed a few minor bugs in X11 windowing code 2016-12-19 12:20:05 +00:00
jules
9fa0d49be7 Added an option JUCE_ALLOW_STATIC_NULL_VARIABLES that can be used to turn off dangerous statics like String::empty, var::null, etc. 2016-09-16 12:03:02 +01:00
jules
31f935cc60 Added a new Graphics::drawImage method that takes a Rectangle<float> 2016-07-01 15:35:04 +01:00
jules
021209e216 Changed ImagePixelData::clone to return a smart pointer rather than a raw one, to avoid a reference-count leak 2016-06-22 16:33:09 +01:00
hogliux
1a973a2faa Ignore linux scale factor if it is ten or larger 2016-05-13 13:25:24 +01:00
Timur Doumler
70949aa0c6 Added several new features: support for AudioUnit v3, new simplified JUCE module format, deleted the Introjucer and replaced it by the Projucer, various improvements for exporting of iOS and Android projects. 2016-04-06 18:31:24 +01:00
jules
189853720a Cleaned up a few uses of Image::null 2016-03-10 17:20:15 +00:00
hogliux
688969da20 Fix missing window decorations in KDE 2016-02-22 16:39:44 +00:00
jules
b5907fa90d Normalised some divider comments 2016-02-20 09:45:43 +00:00
jules
50af60fa81 Simplified some linux X11 code involving atoms 2016-01-28 15:28:35 +00:00
jules
99052af8bc Added Android support for screen orientation control 2016-01-13 12:05:29 +00:00
jules
a3426aae10 Added support for iOS force-touch 2015-11-02 11:51:16 +00:00
jules
5fc2f24c97 Fix for linux windows that don't respond to mouse events 2015-10-01 11:36:19 +01:00
hogliux
e881711f2a Fix crash on linux when temporary window is ordered to the back 2015-09-04 12:25:20 +01:00
hogliux
27273730b4 Fix re-ordering of alwaysOnTop windows on Linux 2015-09-04 12:04:33 +01:00
hogliux
c7b8e77031 Update copyright notice 2015-07-22 15:59:34 +01:00
hogliux
effdc661ca Fix correct repainting of OpenGLContexts if a non-compositing window manager is used on linux 2015-07-08 17:09:59 +01:00
jules
9b79610cb0 Added a flag MouseWheelEvent::isInertial (currently only implemented for OSX 10.7 or later), and used this to replace some clunky behaviour in the Viewport class that was there to avoid inertial wheel movements triggering nested scrollable components. 2015-06-22 20:28:15 +01:00
hogliux
661533c85d Fix clang warnings on linux 2015-06-22 00:43:01 +02:00
hogliux
44a5a93444 Fix typo 2015-05-27 16:00:56 +01:00
hogliux
4ca4ae6be8 Remove code that was used for testing 2015-05-27 15:53:37 +01:00
hogliux
2fcabaec10 Fix bug when the first display is not the main display on linux 2015-05-27 15:50:12 +01:00
jules
0c99e8e068 Minor cleanups 2015-05-25 10:05:33 +01:00
jules
40b13a692e Fix for resize behaviour of linux windows without titlebars 2015-05-25 09:44:43 +01:00
jules
ff99c6dbc1 Fix to linux modifier key change reporting. 2015-05-22 10:04:39 +01:00
hogliux
7d14a1010d Fix edge-case where no main display would be found on the raspberry pi 2015-05-18 13:07:06 +01:00
hogliux
3ed50c3f09 Fix divide-by-zero issue in screen dpi calculation on raspberry pi 2015-05-18 13:05:14 +01:00
hogliux
c76876d388 Adds proper per-monitor scaling support on linux 2015-05-13 10:35:19 +01:00
jules
1952ed195e Whitespace 2015-05-05 12:19:52 +01:00
hogliux
8c242b7547 Fix warnings on linux
Linux now compiles (clang++-3.5) without warnings when the following is enabled (these flags are identical to equator mac warnings):
-Wreorder -Wconstant-conversion -Wint-conversion -Woverloaded-virtual -Wuninitialized -Wunused-parameter -Wshorten-64-to-32 -Wstrict-aliasing -Wshadow -Wconversion -Wsign-compare -Werror -Wsign-conversion
2015-05-05 10:57:50 +01:00
jules
f6395d4cda Raised the warnings level in the introjucer, and fixed a few warnings that were thrown up by this. 2015-03-31 11:44:10 +01:00
jules
dd249faae4 Fix for linux desktop scale on hi-res displays. 2015-03-27 12:18:58 +00:00
jules
8ce3099d93 Reverted a recent linux sub-window event change. 2015-03-23 12:18:22 +00:00