This orders existing files into a new directory structure, to
group related elements together. The Xcode project is adapted
as well and reflects the same structure under macosx.
All includes include the subfolders now and are reordered and
cleaned up. Existing structure and alphabetic ordering shall be
kept.
@available is advocated now since Xcode 9, it does both a runtime
check for a minimal required OS version, as well as it guards
for partial availability warnings.
This adds a swaputOverride function, which swaps out the implementation
of a overridden method of a Class with its base implementation from the
superclass.
This fixes several cases where OSX_SIERRA was forgotten.
This seems to be a recurring problem and there is no need to limit
the constants to a specific macOS version. Usually, a feature
introduced in one version as also available on the subsequent ones.
NSWindowStyleMask was introduced in 10.12 SDK, and used for methods like
`initWithContentRect:styleMask:` which before 10.12 used NSUInteger.
Continuing to use NSUInteger works but causes a warning when compiling
with 10.12 SDK.
This will add a fallback mechanism that uses a
normal layer-backed NSView with a dark but still
slightly transparent background on macOS versions
that do not support NSVisualEffectView.
Additionally it will allow compilation with older
SDK's that have no NSVisualEffectView defined.
If compiled with such an SDK, support for
NSVisualEffectView is disabled completely, so
even when running the compiled VLC version
on 10.10 or higher it will use the old fallback
view, as the SDK it was compiled with had not the
necessary definitions.
This adds support for Sierra's new possibility to hide or move VLCs
status bar. It is synced with the VLC config setting.
Code also works if it gets compiled with a <10.12 SDK and it runs
on Sierra.