mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Windows: Fix clang/gnu compiler warnings
This commit is contained in:
parent
db2a809832
commit
7ac6911ccc
45 changed files with 955 additions and 844 deletions
|
|
@ -994,7 +994,7 @@ private:
|
|||
|
||||
#if JUCE_WINDOWS && ! JUCE_MINGW
|
||||
#define JUCE_CHECKED_ITERATOR(msg, size) \
|
||||
stdext::checked_array_iterator<typename std::remove_reference<decltype (msg)>::type> ((msg), (size))
|
||||
stdext::checked_array_iterator<typename std::remove_reference<decltype (msg)>::type> ((msg), (size_t) (size))
|
||||
#else
|
||||
#define JUCE_CHECKED_ITERATOR(msg, size) (msg)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -764,7 +764,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
~DSoundAudioIODevice()
|
||||
~DSoundAudioIODevice() override
|
||||
{
|
||||
close();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -396,7 +396,7 @@ private:
|
|||
collector->addClient (this);
|
||||
}
|
||||
|
||||
~Win32InputWrapper()
|
||||
~Win32InputWrapper() override
|
||||
{
|
||||
collector->removeClient (this);
|
||||
}
|
||||
|
|
@ -608,7 +608,7 @@ private:
|
|||
{
|
||||
for (int i = 0; i < 50; ++i)
|
||||
{
|
||||
if (midiOutShortMsg (han->handle, *(unsigned int*) message.getRawData()) != MIDIERR_NOTREADY)
|
||||
if (midiOutShortMsg (han->handle, *unalignedPointerCast<const unsigned int*> (message.getRawData())) != MIDIERR_NOTREADY)
|
||||
break;
|
||||
|
||||
Sleep (1);
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
#ifndef JUCE_WASAPI_LOGGING
|
||||
#define JUCE_WASAPI_LOGGING 0
|
||||
#endif
|
||||
|
|
@ -865,7 +867,7 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
~WASAPIInputDevice()
|
||||
~WASAPIInputDevice() override
|
||||
{
|
||||
close();
|
||||
}
|
||||
|
|
@ -1028,7 +1030,7 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
~WASAPIOutputDevice()
|
||||
~WASAPIOutputDevice() override
|
||||
{
|
||||
close();
|
||||
}
|
||||
|
|
@ -1150,11 +1152,11 @@ class WASAPIAudioIODevice : public AudioIODevice,
|
|||
{
|
||||
public:
|
||||
WASAPIAudioIODevice (const String& deviceName,
|
||||
const String& typeName,
|
||||
const String& typeNameIn,
|
||||
const String& outputDeviceID,
|
||||
const String& inputDeviceID,
|
||||
WASAPIDeviceMode mode)
|
||||
: AudioIODevice (deviceName, typeName),
|
||||
: AudioIODevice (deviceName, typeNameIn),
|
||||
Thread ("JUCE WASAPI"),
|
||||
outputDeviceId (outputDeviceID),
|
||||
inputDeviceId (inputDeviceID),
|
||||
|
|
@ -1162,7 +1164,7 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
~WASAPIAudioIODevice()
|
||||
~WASAPIAudioIODevice() override
|
||||
{
|
||||
cancelPendingUpdate();
|
||||
close();
|
||||
|
|
@ -1659,7 +1661,7 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
~WASAPIAudioIODeviceType()
|
||||
~WASAPIAudioIODeviceType() override
|
||||
{
|
||||
if (notifyClient != nullptr)
|
||||
enumerator->UnregisterEndpointNotificationCallback (notifyClient);
|
||||
|
|
@ -1968,4 +1970,6 @@ bool JUCE_CALLTYPE SystemAudioVolume::setGain (float gain) { return WasapiCla
|
|||
bool JUCE_CALLTYPE SystemAudioVolume::isMuted() { return WasapiClasses::MMDeviceMasterVolume().isMuted(); }
|
||||
bool JUCE_CALLTYPE SystemAudioVolume::setMuted (bool mute) { return WasapiClasses::MMDeviceMasterVolume().setMuted (mute); }
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -118,7 +118,8 @@ namespace FlacNamespace
|
|||
"-Wimplicit-fallthrough",
|
||||
"-Wzero-as-null-pointer-constant",
|
||||
"-Wsign-conversion",
|
||||
"-Wredundant-decls")
|
||||
"-Wredundant-decls",
|
||||
"-Wlanguage-extension-token")
|
||||
|
||||
#if JUCE_INTEL
|
||||
#if JUCE_32BIT
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public:
|
|||
}
|
||||
|
||||
if (resultPosition != nullptr)
|
||||
resultPosition->QuadPart = newPos;
|
||||
resultPosition->QuadPart = (ULONGLONG) newPos;
|
||||
|
||||
return source.setPosition (newPos) ? S_OK : E_NOTIMPL;
|
||||
}
|
||||
|
|
@ -83,7 +83,7 @@ public:
|
|||
ULARGE_INTEGER* bytesRead, ULARGE_INTEGER* bytesWritten)
|
||||
{
|
||||
uint64 totalCopied = 0;
|
||||
int64 numBytes = numBytesToDo.QuadPart;
|
||||
auto numBytes = (int64) numBytesToDo.QuadPart;
|
||||
|
||||
while (numBytes > 0 && ! source.isExhausted())
|
||||
{
|
||||
|
|
@ -95,8 +95,8 @@ public:
|
|||
if (numRead <= 0)
|
||||
break;
|
||||
|
||||
destStream->Write (buffer, numRead, nullptr);
|
||||
totalCopied += numRead;
|
||||
destStream->Write (buffer, (ULONG) numRead, nullptr);
|
||||
totalCopied += (ULONG) numRead;
|
||||
}
|
||||
|
||||
if (bytesRead != nullptr) bytesRead->QuadPart = totalCopied;
|
||||
|
|
@ -112,7 +112,7 @@ public:
|
|||
|
||||
zerostruct (*stat);
|
||||
stat->type = STGTY_STREAM;
|
||||
stat->cbSize.QuadPart = jmax ((int64) 0, source.getTotalLength());
|
||||
stat->cbSize.QuadPart = (ULONGLONG) jmax ((int64) 0, source.getTotalLength());
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ private:
|
|||
|
||||
//==============================================================================
|
||||
static const char* wmFormatName = "Windows Media";
|
||||
static const char* const extensions[] = { ".mp3", ".wmv", ".asf", ".wm", ".wma", 0 };
|
||||
static const char* const extensions[] = { ".mp3", ".wmv", ".asf", ".wm", ".wma", nullptr };
|
||||
|
||||
//==============================================================================
|
||||
class WMAudioReader : public AudioFormatReader
|
||||
|
|
@ -157,7 +157,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
~WMAudioReader()
|
||||
~WMAudioReader() override
|
||||
{
|
||||
if (wmSyncReader != nullptr)
|
||||
wmSyncReader->Close();
|
||||
|
|
@ -174,7 +174,7 @@ public:
|
|||
clearSamplesBeyondAvailableLength (destSamples, numDestChannels, startOffsetInDestBuffer,
|
||||
startSampleInFile, numSamples, lengthInSamples);
|
||||
|
||||
const int stride = numChannels * sizeof (int16);
|
||||
const auto stride = (int) (numChannels * sizeof (int16));
|
||||
|
||||
while (numSamples > 0)
|
||||
{
|
||||
|
|
@ -203,20 +203,20 @@ public:
|
|||
return false;
|
||||
|
||||
if (hasJumped)
|
||||
bufferedRange.setStart ((int64) ((sampleTime * (int64) sampleRate) / 10000000));
|
||||
bufferedRange.setStart ((int64) ((sampleTime * (QWORD) sampleRate) / 10000000));
|
||||
else
|
||||
bufferedRange.setStart (bufferedRange.getEnd()); // (because the positions returned often aren't contiguous)
|
||||
|
||||
bufferedRange.setLength ((int64) (dataLength / stride));
|
||||
bufferedRange.setLength ((int64) dataLength / (int64) stride);
|
||||
|
||||
buffer.ensureSize ((int) dataLength);
|
||||
buffer.ensureSize ((size_t) dataLength);
|
||||
memcpy (buffer.getData(), rawData, (size_t) dataLength);
|
||||
}
|
||||
else if (hr == NS_E_NO_MORE_SAMPLES)
|
||||
{
|
||||
bufferedRange.setStart (startSampleInFile);
|
||||
bufferedRange.setLength (256);
|
||||
buffer.ensureSize (256 * stride);
|
||||
buffer.ensureSize (256 * (size_t) stride);
|
||||
buffer.fillWith (0);
|
||||
}
|
||||
else
|
||||
|
|
@ -240,7 +240,7 @@ public:
|
|||
|
||||
for (int j = 0; j < numToDo; ++j)
|
||||
{
|
||||
dst[j] = ((uint32) *src) << 16;
|
||||
dst[j] = (int) (((uint32) *src) << 16);
|
||||
src += numChannels;
|
||||
}
|
||||
JUCE_END_IGNORE_WARNINGS_MSVC
|
||||
|
|
@ -262,7 +262,7 @@ private:
|
|||
|
||||
void checkCoInitialiseCalled()
|
||||
{
|
||||
ignoreUnused (CoInitialize (0));
|
||||
ignoreUnused (CoInitialize (nullptr));
|
||||
}
|
||||
|
||||
void scanFileForDetails()
|
||||
|
|
@ -286,7 +286,7 @@ private:
|
|||
if (auto wmMediaProperties = wmStreamConfig.getInterface<IWMMediaProps>())
|
||||
{
|
||||
DWORD sizeMediaType;
|
||||
hr = wmMediaProperties->GetMediaType (0, &sizeMediaType);
|
||||
hr = wmMediaProperties->GetMediaType (nullptr, &sizeMediaType);
|
||||
|
||||
HeapBlock<WM_MEDIA_TYPE> mediaType;
|
||||
mediaType.malloc (sizeMediaType, 1);
|
||||
|
|
@ -299,7 +299,7 @@ private:
|
|||
sampleRate = inputFormat->nSamplesPerSec;
|
||||
numChannels = inputFormat->nChannels;
|
||||
bitsPerSample = inputFormat->wBitsPerSample != 0 ? inputFormat->wBitsPerSample : 16;
|
||||
lengthInSamples = (lengthInNanoseconds * (int) sampleRate) / 10000000;
|
||||
lengthInSamples = (lengthInNanoseconds * (QWORD) sampleRate) / 10000000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class WindowsMediaAudioFormat : public AudioFormat
|
|||
public:
|
||||
//==============================================================================
|
||||
WindowsMediaAudioFormat();
|
||||
~WindowsMediaAudioFormat();
|
||||
~WindowsMediaAudioFormat() override;
|
||||
|
||||
//==============================================================================
|
||||
Array<int> getPossibleSampleRates() override;
|
||||
|
|
|
|||
|
|
@ -1615,7 +1615,7 @@ private:
|
|||
|
||||
ScopedThreadDPIAwarenessSetter threadDpiAwarenessSetter { pluginHandle };
|
||||
|
||||
SetWindowPos (pluginHandle, 0,
|
||||
SetWindowPos (pluginHandle, nullptr,
|
||||
pos.x, pos.y,
|
||||
rect.getWidth(), rect.getHeight(),
|
||||
isVisible() ? SWP_SHOWWINDOW : SWP_HIDEWINDOW);
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ namespace juce
|
|||
#define JUCE_COMRESULT HRESULT STDMETHODCALLTYPE
|
||||
#define JUCE_COMCALL virtual HRESULT STDMETHODCALLTYPE
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
inline GUID uuidFromString (const char* s) noexcept
|
||||
{
|
||||
uint32 ints[4] = {};
|
||||
|
|
@ -223,4 +225,6 @@ private:
|
|||
}
|
||||
};
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ namespace WindowsFileHelpers
|
|||
{
|
||||
//==============================================================================
|
||||
#if JUCE_WINDOWS
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wnested-anon-types")
|
||||
|
||||
typedef struct _REPARSE_DATA_BUFFER {
|
||||
ULONG ReparseTag;
|
||||
USHORT ReparseDataLength;
|
||||
|
|
@ -57,6 +59,8 @@ namespace WindowsFileHelpers
|
|||
} GenericReparseBuffer;
|
||||
} DUMMYUNIONNAME;
|
||||
} *PREPARSE_DATA_BUFFER, REPARSE_DATA_BUFFER;
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -874,8 +878,8 @@ bool File::createShortcut (const String& description, const File& linkFileToCrea
|
|||
class DirectoryIterator::NativeIterator::Pimpl
|
||||
{
|
||||
public:
|
||||
Pimpl (const File& directory, const String& wildCard)
|
||||
: directoryWithWildCard (directory.getFullPathName().isNotEmpty() ? File::addTrailingSeparator (directory.getFullPathName()) + wildCard : String()),
|
||||
Pimpl (const File& directory, const String& wildCardIn)
|
||||
: directoryWithWildCard (directory.getFullPathName().isNotEmpty() ? File::addTrailingSeparator (directory.getFullPathName()) + wildCardIn : String()),
|
||||
handle (INVALID_HANDLE_VALUE)
|
||||
{
|
||||
}
|
||||
|
|
@ -925,8 +929,8 @@ private:
|
|||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Pimpl)
|
||||
};
|
||||
|
||||
DirectoryIterator::NativeIterator::NativeIterator (const File& directory, const String& wildCard)
|
||||
: pimpl (new DirectoryIterator::NativeIterator::Pimpl (directory, wildCard))
|
||||
DirectoryIterator::NativeIterator::NativeIterator (const File& directory, const String& wildCardIn)
|
||||
: pimpl (new DirectoryIterator::NativeIterator::Pimpl (directory, wildCardIn))
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -569,9 +569,9 @@ namespace MACAddressHelpers
|
|||
for (auto addr = start; addr != nullptr; addr = addr->Next)
|
||||
{
|
||||
if (addr->Address.lpSockaddr->sa_family == AF_INET)
|
||||
result.addIfNotAlreadyThere (createAddress ((sockaddr_in*) addr->Address.lpSockaddr));
|
||||
result.addIfNotAlreadyThere (createAddress (unalignedPointerCast<sockaddr_in*> (addr->Address.lpSockaddr)));
|
||||
else if (addr->Address.lpSockaddr->sa_family == AF_INET6 && includeIPv6)
|
||||
result.addIfNotAlreadyThere (createAddress ((sockaddr_in6*) addr->Address.lpSockaddr));
|
||||
result.addIfNotAlreadyThere (createAddress (unalignedPointerCast<sockaddr_in6*> (addr->Address.lpSockaddr)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -146,7 +146,10 @@ void CPUInformation::initialise() noexcept
|
|||
hasSSSE3 = (info[2] & (1 << 9)) != 0;
|
||||
hasSSE41 = (info[2] & (1 << 19)) != 0;
|
||||
hasSSE42 = (info[2] & (1 << 20)) != 0;
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wshift-sign-overflow")
|
||||
has3DNow = (info[1] & (1 << 31)) != 0;
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
callCPUID (info, 0x80000001);
|
||||
hasFMA4 = (info[2] & (1 << 16)) != 0;
|
||||
|
|
@ -396,7 +399,7 @@ public:
|
|||
LARGE_INTEGER f;
|
||||
QueryPerformanceFrequency (&f);
|
||||
hiResTicksPerSecond = f.QuadPart;
|
||||
hiResTicksScaleFactor = 1000.0 / hiResTicksPerSecond;
|
||||
hiResTicksScaleFactor = 1000.0 / (double) hiResTicksPerSecond;
|
||||
}
|
||||
|
||||
inline int64 getHighResolutionTicks() noexcept
|
||||
|
|
@ -408,7 +411,7 @@ public:
|
|||
|
||||
inline double getMillisecondCounterHiRes() noexcept
|
||||
{
|
||||
return getHighResolutionTicks() * hiResTicksScaleFactor;
|
||||
return (double) getHighResolutionTicks() * hiResTicksScaleFactor;
|
||||
}
|
||||
|
||||
int64 hiResTicksPerSecond, hiResTicksOffset;
|
||||
|
|
|
|||
|
|
@ -43,13 +43,13 @@ CriticalSection::CriticalSection() noexcept
|
|||
static_assert (sizeof (CRITICAL_SECTION) <= sizeof (lock),
|
||||
"win32 lock array too small to hold CRITICAL_SECTION: please report this JUCE bug!");
|
||||
|
||||
InitializeCriticalSection ((CRITICAL_SECTION*) lock);
|
||||
InitializeCriticalSection ((CRITICAL_SECTION*) &lock);
|
||||
}
|
||||
|
||||
CriticalSection::~CriticalSection() noexcept { DeleteCriticalSection ((CRITICAL_SECTION*) lock); }
|
||||
void CriticalSection::enter() const noexcept { EnterCriticalSection ((CRITICAL_SECTION*) lock); }
|
||||
bool CriticalSection::tryEnter() const noexcept { return TryEnterCriticalSection ((CRITICAL_SECTION*) lock) != FALSE; }
|
||||
void CriticalSection::exit() const noexcept { LeaveCriticalSection ((CRITICAL_SECTION*) lock); }
|
||||
CriticalSection::~CriticalSection() noexcept { DeleteCriticalSection ((CRITICAL_SECTION*) &lock); }
|
||||
void CriticalSection::enter() const noexcept { EnterCriticalSection ((CRITICAL_SECTION*) &lock); }
|
||||
bool CriticalSection::tryEnter() const noexcept { return TryEnterCriticalSection ((CRITICAL_SECTION*) &lock) != FALSE; }
|
||||
void CriticalSection::exit() const noexcept { LeaveCriticalSection ((CRITICAL_SECTION*) &lock); }
|
||||
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -301,17 +301,17 @@ void* DynamicLibrary::getFunction (const String& functionName) noexcept
|
|||
class InterProcessLock::Pimpl
|
||||
{
|
||||
public:
|
||||
Pimpl (String name, const int timeOutMillisecs)
|
||||
Pimpl (String nameIn, const int timeOutMillisecs)
|
||||
: handle (nullptr), refCount (1)
|
||||
{
|
||||
name = name.replaceCharacter ('\\', '/');
|
||||
handle = CreateMutexW (nullptr, TRUE, ("Global\\" + name).toWideCharPointer());
|
||||
nameIn = nameIn.replaceCharacter ('\\', '/');
|
||||
handle = CreateMutexW (nullptr, TRUE, ("Global\\" + nameIn).toWideCharPointer());
|
||||
|
||||
// Not 100% sure why a global mutex sometimes can't be allocated, but if it fails, fall back to
|
||||
// a local one. (A local one also sometimes fails on other machines so neither type appears to be
|
||||
// universally reliable)
|
||||
if (handle == nullptr)
|
||||
handle = CreateMutexW (nullptr, TRUE, ("Local\\" + name).toWideCharPointer());
|
||||
handle = CreateMutexW (nullptr, TRUE, ("Local\\" + nameIn).toWideCharPointer());
|
||||
|
||||
if (handle != nullptr && GetLastError() == ERROR_ALREADY_EXISTS)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -106,9 +106,9 @@ private:
|
|||
// a block of memory here that's big enough to be used internally as a windows
|
||||
// CRITICAL_SECTION structure.
|
||||
#if JUCE_64BIT
|
||||
uint8 lock[44];
|
||||
std::aligned_storage<44, 4>::type lock;
|
||||
#else
|
||||
uint8 lock[24];
|
||||
std::aligned_storage<24, 4>::type lock;
|
||||
#endif
|
||||
#else
|
||||
mutable pthread_mutex_t lock;
|
||||
|
|
|
|||
|
|
@ -97,8 +97,6 @@ public:
|
|||
SetWindowLongPtr (messageWindow.getHWND(), GWLP_USERDATA, (LONG_PTR) this);
|
||||
}
|
||||
|
||||
virtual ~DeviceChangeDetector() {}
|
||||
|
||||
virtual void systemDeviceChanged() = 0;
|
||||
|
||||
void triggerAsyncDeviceChangeCallback()
|
||||
|
|
|
|||
|
|
@ -41,10 +41,14 @@ namespace DirectWriteTypeLayout
|
|||
|
||||
JUCE_COMRESULT QueryInterface (REFIID refId, void** result) override
|
||||
{
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
if (refId == __uuidof (IDWritePixelSnapping))
|
||||
return castToType<IDWritePixelSnapping> (result);
|
||||
|
||||
return ComBaseClassHelper<IDWriteTextRenderer>::QueryInterface (refId, result);
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
}
|
||||
|
||||
JUCE_COMRESULT IsPixelSnappingDisabled (void* /*clientDrawingContext*/, BOOL* isDisabled) noexcept override
|
||||
|
|
@ -114,9 +118,9 @@ namespace DirectWriteTypeLayout
|
|||
glyphLine.ascent = jmax (glyphLine.ascent, scaledFontSize (dwFontMetrics.ascent, dwFontMetrics, *glyphRun));
|
||||
glyphLine.descent = jmax (glyphLine.descent, scaledFontSize (dwFontMetrics.descent, dwFontMetrics, *glyphRun));
|
||||
|
||||
auto glyphRunLayout = new TextLayout::Run (Range<int> (runDescription->textPosition,
|
||||
runDescription->textPosition + runDescription->stringLength),
|
||||
glyphRun->glyphCount);
|
||||
auto glyphRunLayout = new TextLayout::Run (Range<int> ((int) runDescription->textPosition,
|
||||
(int) (runDescription->textPosition + runDescription->stringLength)),
|
||||
(int) glyphRun->glyphCount);
|
||||
glyphLine.runs.add (glyphRunLayout);
|
||||
|
||||
glyphRun->fontFace->GetMetrics (&dwFontMetrics);
|
||||
|
|
@ -256,8 +260,8 @@ namespace DirectWriteTypeLayout
|
|||
const int textLen, ID2D1RenderTarget& renderTarget, IDWriteFontCollection& fontCollection)
|
||||
{
|
||||
DWRITE_TEXT_RANGE range;
|
||||
range.startPosition = attr.range.getStart();
|
||||
range.length = jmin (attr.range.getLength(), textLen - attr.range.getStart());
|
||||
range.startPosition = (UINT32) attr.range.getStart();
|
||||
range.length = (UINT32) jmin (attr.range.getLength(), textLen - attr.range.getStart());
|
||||
|
||||
{
|
||||
auto familyName = FontStyleHelpers::getConcreteFamilyName (attr.font);
|
||||
|
|
@ -276,9 +280,9 @@ namespace DirectWriteTypeLayout
|
|||
uint32 fontFacesCount = 0;
|
||||
fontFacesCount = fontFamily->GetFontCount();
|
||||
|
||||
for (int i = fontFacesCount; --i >= 0;)
|
||||
for (int i = (int) fontFacesCount; --i >= 0;)
|
||||
{
|
||||
hr = fontFamily->GetFont (i, dwFont.resetAndGetPointerAddress());
|
||||
hr = fontFamily->GetFont ((UINT32) i, dwFont.resetAndGetPointerAddress());
|
||||
|
||||
if (attr.font.getTypefaceStyle() == getFontFaceName (dwFont))
|
||||
break;
|
||||
|
|
@ -349,7 +353,7 @@ namespace DirectWriteTypeLayout
|
|||
|
||||
auto textLen = text.getText().length();
|
||||
|
||||
hr = directWriteFactory.CreateTextLayout (text.getText().toWideCharPointer(), textLen, dwTextFormat,
|
||||
hr = directWriteFactory.CreateTextLayout (text.getText().toWideCharPointer(), (UINT32) textLen, dwTextFormat,
|
||||
maxWidth, maxHeight, textLayout.resetAndGetPointerAddress());
|
||||
|
||||
if (FAILED (hr) || textLayout == nullptr)
|
||||
|
|
@ -377,7 +381,7 @@ namespace DirectWriteTypeLayout
|
|||
UINT32 actualLineCount = 0;
|
||||
auto hr = dwTextLayout->GetLineMetrics (nullptr, 0, &actualLineCount);
|
||||
|
||||
layout.ensureStorageAllocated (actualLineCount);
|
||||
layout.ensureStorageAllocated ((int) actualLineCount);
|
||||
|
||||
{
|
||||
ComSmartPtr<CustomDirectWriteTextRenderer> textRenderer (new CustomDirectWriteTextRenderer (fontCollection, text));
|
||||
|
|
@ -394,7 +398,7 @@ namespace DirectWriteTypeLayout
|
|||
for (int i = 0; i < numLines; ++i)
|
||||
{
|
||||
auto& line = layout.getLine (i);
|
||||
line.stringRange = Range<int> (lastLocation, (int) lastLocation + dwLineMetrics[i].length);
|
||||
line.stringRange = Range<int> (lastLocation, lastLocation + (int) dwLineMetrics[i].length);
|
||||
line.lineOrigin.y += yAdjustment;
|
||||
yAdjustment += extraLineSpacing;
|
||||
lastLocation += dwLineMetrics[i].length;
|
||||
|
|
|
|||
|
|
@ -75,6 +75,8 @@ class Direct2DFactories
|
|||
public:
|
||||
Direct2DFactories()
|
||||
{
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
if (direct2dDll.open ("d2d1.dll"))
|
||||
{
|
||||
JUCE_LOAD_WINAPI_FUNCTION (direct2dDll, D2D1CreateFactory, d2d1CreateFactory,
|
||||
|
|
@ -116,6 +118,8 @@ public:
|
|||
d2dFactory->CreateDCRenderTarget (&d2dRTProp, directWriteRenderTarget.resetAndGetPointerAddress());
|
||||
}
|
||||
}
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
}
|
||||
|
||||
~Direct2DFactories()
|
||||
|
|
@ -163,7 +167,7 @@ public:
|
|||
|
||||
for (int i = (int) dwFontFamily->GetFontCount(); --i >= 0;)
|
||||
{
|
||||
hr = dwFontFamily->GetFont (i, dwFont.resetAndGetPointerAddress());
|
||||
hr = dwFontFamily->GetFont ((UINT32) i, dwFont.resetAndGetPointerAddress());
|
||||
|
||||
if (i == 0)
|
||||
break;
|
||||
|
|
@ -191,15 +195,15 @@ public:
|
|||
ascent = std::abs ((float) dwFontMetrics.ascent);
|
||||
auto totalSize = ascent + std::abs ((float) dwFontMetrics.descent);
|
||||
ascent /= totalSize;
|
||||
unitsToHeightScaleFactor = designUnitsPerEm / totalSize;
|
||||
unitsToHeightScaleFactor = (float) designUnitsPerEm / totalSize;
|
||||
|
||||
auto tempDC = GetDC (0);
|
||||
auto dpi = (GetDeviceCaps (tempDC, LOGPIXELSX) + GetDeviceCaps (tempDC, LOGPIXELSY)) / 2.0f;
|
||||
heightToPointsFactor = (dpi / GetDeviceCaps (tempDC, LOGPIXELSY)) * unitsToHeightScaleFactor;
|
||||
ReleaseDC (0, tempDC);
|
||||
auto tempDC = GetDC (nullptr);
|
||||
auto dpi = (float) (GetDeviceCaps (tempDC, LOGPIXELSX) + GetDeviceCaps (tempDC, LOGPIXELSY)) / 2.0f;
|
||||
heightToPointsFactor = (dpi / (float) GetDeviceCaps (tempDC, LOGPIXELSY)) * unitsToHeightScaleFactor;
|
||||
ReleaseDC (nullptr, tempDC);
|
||||
|
||||
auto pathAscent = (1024.0f * dwFontMetrics.ascent) / designUnitsPerEm;
|
||||
auto pathDescent = (1024.0f * dwFontMetrics.descent) / designUnitsPerEm;
|
||||
auto pathAscent = (1024.0f * dwFontMetrics.ascent) / (float) designUnitsPerEm;
|
||||
auto pathDescent = (1024.0f * dwFontMetrics.descent) / (float) designUnitsPerEm;
|
||||
auto pathScale = 1.0f / (std::abs (pathAscent) + std::abs (pathDescent));
|
||||
pathTransform = AffineTransform::scale (pathScale);
|
||||
}
|
||||
|
|
@ -226,7 +230,7 @@ public:
|
|||
float x = 0;
|
||||
|
||||
for (size_t i = 0; i < len; ++i)
|
||||
x += (float) dwGlyphMetrics[i].advanceWidth / designUnitsPerEm;
|
||||
x += (float) dwGlyphMetrics[i].advanceWidth / (float) designUnitsPerEm;
|
||||
|
||||
return x * unitsToHeightScaleFactor;
|
||||
}
|
||||
|
|
@ -247,7 +251,7 @@ public:
|
|||
|
||||
for (size_t i = 0; i < len; ++i)
|
||||
{
|
||||
x += (float) dwGlyphMetrics[i].advanceWidth / designUnitsPerEm;
|
||||
x += (float) dwGlyphMetrics[i].advanceWidth / (float) designUnitsPerEm;
|
||||
xOffsets.add (x * unitsToHeightScaleFactor);
|
||||
resultGlyphs.add (glyphIndices[i]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -409,7 +409,7 @@ public:
|
|||
|
||||
auto pheader = reinterpret_cast<const TTPOLYGONHEADER*> (data.getData());
|
||||
|
||||
auto scaleX = 1.0f / tm.tmHeight;
|
||||
auto scaleX = 1.0f / (float) tm.tmHeight;
|
||||
auto scaleY = -scaleX;
|
||||
|
||||
while ((char*) pheader < data + bufSize)
|
||||
|
|
@ -417,7 +417,7 @@ public:
|
|||
glyphPath.startNewSubPath (scaleX * pheader->pfxStart.x.value,
|
||||
scaleY * pheader->pfxStart.y.value);
|
||||
|
||||
auto curve = (const TTPOLYCURVE*) ((const char*) pheader + sizeof (TTPOLYGONHEADER));
|
||||
auto curve = unalignedPointerCast<const TTPOLYCURVE*> ((const char*) pheader + sizeof (TTPOLYGONHEADER));
|
||||
auto curveEnd = ((const char*) pheader) + pheader->cb;
|
||||
|
||||
while ((const char*) curve < curveEnd)
|
||||
|
|
@ -450,7 +450,7 @@ public:
|
|||
curve = (const TTPOLYCURVE*) &(curve->apfx [curve->cpfx]);
|
||||
}
|
||||
|
||||
pheader = (const TTPOLYGONHEADER*) curve;
|
||||
pheader = unalignedPointerCast<const TTPOLYGONHEADER*> (curve);
|
||||
|
||||
glyphPath.closeSubPath();
|
||||
}
|
||||
|
|
@ -514,9 +514,9 @@ private:
|
|||
|
||||
if (GetTextMetrics (dc, &tm))
|
||||
{
|
||||
auto dpi = (GetDeviceCaps (dc, LOGPIXELSX) + GetDeviceCaps (dc, LOGPIXELSY)) / 2.0f;
|
||||
heightToPointsFactor = (dpi / GetDeviceCaps (dc, LOGPIXELSY)) * heightInPoints / (float) tm.tmHeight;
|
||||
ascent = tm.tmAscent / (float) tm.tmHeight;
|
||||
auto dpi = (float) (GetDeviceCaps (dc, LOGPIXELSX) + GetDeviceCaps (dc, LOGPIXELSY)) / 2.0f;
|
||||
heightToPointsFactor = (dpi / (float) GetDeviceCaps (dc, LOGPIXELSY)) * (float) heightInPoints / (float) tm.tmHeight;
|
||||
ascent = (float) tm.tmAscent / (float) tm.tmHeight;
|
||||
std::unordered_map<int, int> glyphsForChars;
|
||||
defaultGlyph = getGlyphForChar (dc, glyphsForChars, tm.tmDefaultChar);
|
||||
createKerningPairs (dc, glyphsForChars, (float) tm.tmHeight);
|
||||
|
|
@ -538,8 +538,8 @@ private:
|
|||
auto glyph2 = getGlyphForChar (hdc, glyphsForChars, rawKerning[i].wSecond);
|
||||
auto standardWidth = getGlyphWidth (hdc, widthsForGlyphs, glyph1);
|
||||
|
||||
kerningPairs[kerningPairIndex (glyph1, glyph2)] = (standardWidth + rawKerning[i].iKernAmount) / height;
|
||||
kerningPairs[kerningPairIndex (glyph1, -1)] = standardWidth / height;
|
||||
kerningPairs[kerningPairIndex (glyph1, glyph2)] = (float) (standardWidth + rawKerning[i].iKernAmount) / height;
|
||||
kerningPairs[kerningPairIndex (glyph1, -1)] = (float) standardWidth / height;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -593,7 +593,7 @@ private:
|
|||
if (single != kerningPairs.end())
|
||||
return single->second;
|
||||
|
||||
auto width = getGlyphWidth (hdc, glyph1) / (float) tm.tmHeight;
|
||||
auto width = (float) getGlyphWidth (hdc, glyph1) / (float) tm.tmHeight;
|
||||
kerningPairs[kerningPairIndex (glyph1, -1)] = width;
|
||||
return width;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
static bool isStartingUpOrShuttingDown()
|
||||
{
|
||||
if (auto* app = JUCEApplicationBase::getInstance())
|
||||
|
|
@ -272,4 +274,6 @@ namespace WindowsAccessibility
|
|||
|
||||
JUCE_IMPLEMENT_SINGLETON (WindowsUIAWrapper)
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
int AccessibilityNativeHandle::idCounter = 0;
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -100,7 +102,7 @@ JUCE_COMRESULT AccessibilityNativeHandle::QueryInterface (REFIID refId, void** r
|
|||
*result = nullptr;
|
||||
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
if ((refId == __uuidof (IRawElementProviderFragmentRoot) && ! isFragmentRoot()))
|
||||
return E_NOINTERFACE;
|
||||
|
|
@ -403,7 +405,7 @@ JUCE_COMRESULT AccessibilityNativeHandle::GetRuntimeId (SAFEARRAY** pRetVal)
|
|||
|
||||
for (LONG i = 0; i < 2; ++i)
|
||||
{
|
||||
auto hr = SafeArrayPutElement (*pRetVal, &i, &rtid[i]);
|
||||
auto hr = SafeArrayPutElement (*pRetVal, &i, &rtid[(size_t) i]);
|
||||
|
||||
if (FAILED (hr))
|
||||
return E_FAIL;
|
||||
|
|
@ -441,7 +443,7 @@ JUCE_COMRESULT AccessibilityNativeHandle::GetEmbeddedFragmentRoots (SAFEARRAY**
|
|||
JUCE_COMRESULT AccessibilityNativeHandle::SetFocus()
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
const WeakReference<Component> safeComponent (&accessibilityHandler.getComponent());
|
||||
|
||||
|
|
@ -463,8 +465,7 @@ JUCE_COMRESULT AccessibilityNativeHandle::get_FragmentRoot (IRawElementProviderF
|
|||
return &accessibilityHandler;
|
||||
|
||||
if (auto* peer = accessibilityHandler.getComponent().getPeer())
|
||||
if (auto* handler = peer->getComponent().getAccessibilityHandler())
|
||||
return handler;
|
||||
return peer->getComponent().getAccessibilityHandler();
|
||||
|
||||
return nullptr;
|
||||
}();
|
||||
|
|
@ -475,7 +476,7 @@ JUCE_COMRESULT AccessibilityNativeHandle::get_FragmentRoot (IRawElementProviderF
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -552,4 +553,6 @@ String AccessibilityNativeHandle::getElementName() const
|
|||
return name;
|
||||
}
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ private:
|
|||
JUCE_COMRESULT invokeShowMenu()
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
const auto& handler = getHandler();
|
||||
|
||||
|
|
@ -76,7 +76,7 @@ private:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -73,8 +73,12 @@ public:
|
|||
{
|
||||
return withCellInterface (pRetVal, [&] (const AccessibilityCellInterface& cellInterface)
|
||||
{
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
if (auto* handler = cellInterface.getTableHandler())
|
||||
handler->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (pRetVal));
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -90,7 +94,7 @@ private:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,9 +45,13 @@ public:
|
|||
|| ! isPositiveAndBelow (column, tableInterface.getNumColumns()))
|
||||
return E_INVALIDARG;
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
if (auto* handler = tableInterface.getCellHandler (row, column))
|
||||
handler->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (pRetVal));
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
return S_OK;
|
||||
});
|
||||
}
|
||||
|
|
@ -79,7 +83,7 @@ private:
|
|||
if (auto* tableInterface = getHandler().getTableInterface())
|
||||
return callback (*tableInterface);
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -68,13 +68,15 @@ inline JUCE_COMRESULT addHandlersToArray (const std::vector<const AccessibilityH
|
|||
{
|
||||
for (LONG i = 0; i < (LONG) numHandlers; ++i)
|
||||
{
|
||||
auto* handler = handlers[i];
|
||||
auto* handler = handlers[(size_t) i];
|
||||
|
||||
if (handler == nullptr)
|
||||
continue;
|
||||
|
||||
ComSmartPtr<IRawElementProviderSimple> provider;
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
handler->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (provider.resetAndGetPointerAddress()));
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
auto hr = SafeArrayPutElement (*pRetVal, &i, provider);
|
||||
|
||||
|
|
@ -95,7 +97,7 @@ inline JUCE_COMRESULT withCheckedComArgs (Value* pRetVal, Object& handle, Callba
|
|||
*pRetVal = Value{};
|
||||
|
||||
if (! handle.isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
return callback();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public:
|
|||
JUCE_COMRESULT Invoke() override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
const auto& handler = getHandler();
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ public:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public:
|
|||
JUCE_COMRESULT SetValue (double val) override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
const auto& handler = getHandler();
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT get_Value (double* pRetVal) override
|
||||
|
|
@ -129,7 +129,7 @@ private:
|
|||
}
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
JUCE_COMCLASS (ISelectionProvider2, "14f68475-ee1c-44f6-a869-d239381f0fe7") : public ISelectionProvider
|
||||
{
|
||||
JUCE_COMCALL get_FirstSelectedItem (IRawElementProviderSimple** retVal) = 0;
|
||||
|
|
@ -49,7 +51,7 @@ public:
|
|||
JUCE_COMRESULT AddToSelection() override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
const auto& handler = getHandler();
|
||||
|
||||
|
|
@ -92,7 +94,7 @@ public:
|
|||
JUCE_COMRESULT RemoveFromSelection() override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
if (! isRadioButton)
|
||||
{
|
||||
|
|
@ -108,7 +110,7 @@ public:
|
|||
JUCE_COMRESULT Select() override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
AddToSelection();
|
||||
|
||||
|
|
@ -249,4 +251,6 @@ private:
|
|||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (UIASelectionProvider)
|
||||
};
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ public:
|
|||
//==============================================================================
|
||||
JUCE_COMRESULT QueryInterface (REFIID iid, void** result) override
|
||||
{
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
if (iid == _uuidof (IUnknown) || iid == _uuidof (ITextProvider))
|
||||
return castToType<ITextProvider> (result);
|
||||
|
||||
|
|
@ -51,6 +53,8 @@ public:
|
|||
|
||||
*result = nullptr;
|
||||
return E_NOINTERFACE;
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
|
|
@ -188,7 +192,7 @@ private:
|
|||
if (auto* textInterface = getTextInterface())
|
||||
return callback (*textInterface);
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -256,7 +260,7 @@ private:
|
|||
JUCE_COMRESULT ExpandToEnclosingUnit (TextUnit unit) override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
if (auto* textInterface = owner->getTextInterface())
|
||||
{
|
||||
|
|
@ -301,7 +305,7 @@ private:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT FindAttribute (TEXTATTRIBUTEID, VARIANT, BOOL, ITextRangeProvider** pRetVal) override
|
||||
|
|
@ -386,7 +390,7 @@ private:
|
|||
auto rectangleList = textInterface.getTextBounds (selectionRange);
|
||||
auto numRectangles = rectangleList.getNumRectangles();
|
||||
|
||||
*pRetVal = SafeArrayCreateVector (VT_R8, 0, 4 * numRectangles);
|
||||
*pRetVal = SafeArrayCreateVector (VT_R8, 0, 4 * (ULONG) numRectangles);
|
||||
|
||||
if (*pRetVal == nullptr)
|
||||
return E_FAIL;
|
||||
|
|
@ -433,11 +437,15 @@ private:
|
|||
|
||||
JUCE_COMRESULT GetEnclosingElement (IRawElementProviderSimple** pRetVal) override
|
||||
{
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
return withCheckedComArgs (pRetVal, *this, [&]
|
||||
{
|
||||
getHandler().getNativeImplementation()->QueryInterface (IID_PPV_ARGS (pRetVal));
|
||||
return S_OK;
|
||||
});
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
}
|
||||
|
||||
JUCE_COMRESULT GetText (int maxLength, BSTR* pRetVal) override
|
||||
|
|
@ -481,7 +489,7 @@ private:
|
|||
return E_INVALIDARG;
|
||||
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
if (auto* textInterface = owner->getTextInterface())
|
||||
{
|
||||
|
|
@ -493,7 +501,7 @@ private:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT MoveEndpointByUnit (TextPatternRangeEndpoint endpoint,
|
||||
|
|
@ -565,7 +573,7 @@ private:
|
|||
JUCE_COMRESULT RemoveFromSelection() override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
if (auto* textInterface = owner->getTextInterface())
|
||||
{
|
||||
|
|
@ -573,21 +581,21 @@ private:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT ScrollIntoView (BOOL) override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT Select() override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
if (auto* textInterface = owner->getTextInterface())
|
||||
{
|
||||
|
|
@ -597,7 +605,7 @@ private:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
private:
|
||||
|
|
@ -660,7 +668,7 @@ private:
|
|||
}
|
||||
|
||||
bool isDisplayingProtectedText() const override { return false; }
|
||||
int getTotalNumCharacters() const { return text.length(); }
|
||||
int getTotalNumCharacters() const override { return text.length(); }
|
||||
Range<int> getSelection() const override { return selection; }
|
||||
void setSelection (Range<int> s) override { selection = s; }
|
||||
int getTextInsertionOffset() const override { return 0; }
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public:
|
|||
JUCE_COMRESULT Toggle() override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
const auto& handler = getHandler();
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ public:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT get_ToggleState (ToggleState* pRetVal) override
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public:
|
|||
JUCE_COMRESULT Move (double x, double y) override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
if (auto* peer = getPeer())
|
||||
{
|
||||
|
|
@ -62,7 +62,7 @@ public:
|
|||
JUCE_COMRESULT Resize (double width, double height) override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
if (auto* peer = getPeer())
|
||||
{
|
||||
|
|
@ -78,9 +78,9 @@ public:
|
|||
JUCE_COMRESULT Rotate (double) override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT get_CanMove (BOOL* pRetVal) override
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public:
|
|||
JUCE_COMRESULT SetValue (LPCWSTR val) override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
const auto& handler = getHandler();
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT get_Value (BSTR* pRetVal) override
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public:
|
|||
JUCE_COMRESULT SetVisualState (WindowVisualState state) override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
if (auto* peer = getPeer())
|
||||
{
|
||||
|
|
@ -66,13 +66,13 @@ public:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT Close() override
|
||||
{
|
||||
if (! isElementValid())
|
||||
return UIA_E_ELEMENTNOTAVAILABLE;
|
||||
return (HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
|
||||
|
||||
if (auto* peer = getPeer())
|
||||
{
|
||||
|
|
@ -80,14 +80,14 @@ public:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT WaitForInputIdle (int, BOOL* pRetVal) override
|
||||
{
|
||||
return withCheckedComArgs (pRetVal, *this, []
|
||||
{
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ public:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ public:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -129,7 +129,7 @@ public:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -149,7 +149,7 @@ public:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -166,7 +166,7 @@ public:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -180,7 +180,7 @@ public:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,19 +50,19 @@ public:
|
|||
JUCE_COMRESULT hostProviderFromHwnd (HWND hwnd, IRawElementProviderSimple** provider)
|
||||
{
|
||||
return uiaHostProviderFromHwnd != nullptr ? uiaHostProviderFromHwnd (hwnd, provider)
|
||||
: UIA_E_NOTSUPPORTED;
|
||||
: (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT raiseAutomationPropertyChangedEvent (IRawElementProviderSimple* provider, PROPERTYID propID, VARIANT oldValue, VARIANT newValue)
|
||||
{
|
||||
return uiaRaiseAutomationPropertyChangedEvent != nullptr ? uiaRaiseAutomationPropertyChangedEvent (provider, propID, oldValue, newValue)
|
||||
: UIA_E_NOTSUPPORTED;
|
||||
: (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT raiseAutomationEvent (IRawElementProviderSimple* provider, EVENTID eventID)
|
||||
{
|
||||
return uiaRaiseAutomationEvent != nullptr ? uiaRaiseAutomationEvent (provider, eventID)
|
||||
: UIA_E_NOTSUPPORTED;
|
||||
: (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
BOOL clientsAreListening()
|
||||
|
|
@ -79,7 +79,7 @@ public:
|
|||
return uiaDisconnectProvider (provider);
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
JUCE_COMRESULT disconnectAllProviders()
|
||||
|
|
@ -90,7 +90,7 @@ public:
|
|||
return uiaDisconnectAllProviders();
|
||||
}
|
||||
|
||||
return UIA_E_NOTSUPPORTED;
|
||||
return (HRESULT) UIA_E_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -883,7 +883,7 @@ public:
|
|||
imageData = bitmapData - (lineStride * (h - 1));
|
||||
}
|
||||
|
||||
~WindowsBitmapImage()
|
||||
~WindowsBitmapImage() override
|
||||
{
|
||||
SelectObject (hdc, previousBitmap); // Selecting the previous bitmap before deleting the DC avoids a warning in BoundsChecker
|
||||
DeleteDC (hdc);
|
||||
|
|
@ -987,7 +987,7 @@ Image createSnapshotOfNativeWindow (void* nativeWindowHandle)
|
|||
{
|
||||
auto scale = getScaleFactorForWindow (hwnd);
|
||||
auto prevStretchMode = SetStretchBltMode (nativeBitmap->hdc, HALFTONE);
|
||||
SetBrushOrgEx (nativeBitmap->hdc, 0, 0, NULL);
|
||||
SetBrushOrgEx (nativeBitmap->hdc, 0, 0, nullptr);
|
||||
|
||||
StretchBlt (nativeBitmap->hdc, 0, 0, w, h,
|
||||
deviceContext.dc, 0, 0, roundToInt (w * scale), roundToInt (h * scale),
|
||||
|
|
@ -1044,6 +1044,7 @@ namespace IconConverters
|
|||
|
||||
if (auto* dc = ::CreateCompatibleDC (deviceContext.dc))
|
||||
{
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wfour-char-constants")
|
||||
BITMAPV5HEADER header = {};
|
||||
header.bV5Size = sizeof (BITMAPV5HEADER);
|
||||
header.bV5Width = bm.bmWidth;
|
||||
|
|
@ -1057,6 +1058,7 @@ namespace IconConverters
|
|||
header.bV5AlphaMask = 0xFF000000;
|
||||
header.bV5CSType = LCS_WINDOWS_COLOR_SPACE;
|
||||
header.bV5Intent = LCS_GM_IMAGES;
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
uint32* bitmapImageData = nullptr;
|
||||
|
||||
|
|
@ -1170,7 +1172,7 @@ private:
|
|||
tipInvocation.CoCreateInstance (ITipInvocation::getCLSID(), CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER);
|
||||
}
|
||||
|
||||
~OnScreenKeyboard()
|
||||
~OnScreenKeyboard() override
|
||||
{
|
||||
clearSingletonInstance();
|
||||
}
|
||||
|
|
@ -1194,7 +1196,7 @@ private:
|
|||
}
|
||||
else
|
||||
{
|
||||
if (auto hwnd = FindWindow (L"IPTip_Main_Window", NULL))
|
||||
if (auto hwnd = FindWindow (L"IPTip_Main_Window", nullptr))
|
||||
PostMessage (hwnd, WM_SYSCOMMAND, (int) SC_CLOSE, 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -1202,15 +1204,15 @@ private:
|
|||
|
||||
bool isVisible()
|
||||
{
|
||||
if (auto hwnd = FindWindowEx (NULL, NULL, L"ApplicationFrameWindow", NULL))
|
||||
return FindWindowEx (hwnd, NULL, L"Windows.UI.Core.CoreWindow", L"Microsoft Text Input Application") != NULL;
|
||||
if (auto hwnd = FindWindowEx (nullptr, nullptr, L"ApplicationFrameWindow", nullptr))
|
||||
return FindWindowEx (hwnd, nullptr, L"Windows.UI.Core.CoreWindow", L"Microsoft Text Input Application") != nullptr;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool isVisibleLegacy()
|
||||
{
|
||||
if (auto hwnd = FindWindow (L"IPTip_Main_Window", NULL))
|
||||
if (auto hwnd = FindWindow (L"IPTip_Main_Window", nullptr))
|
||||
{
|
||||
auto style = GetWindowLong (hwnd, GWL_STYLE);
|
||||
return (style & WS_DISABLED) == 0 && (style & WS_VISIBLE) != 0;
|
||||
|
|
@ -1291,8 +1293,10 @@ struct UWPUIViewSettings
|
|||
|| uwpClassId == nullptr)
|
||||
return;
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
status = roGetActivationFactory (uwpClassId, __uuidof (IUIViewSettingsInterop),
|
||||
(void**) viewSettingsInterop.resetAndGetPointerAddress());
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
deleteHString (uwpClassId);
|
||||
|
||||
if (status != S_OK || viewSettingsInterop == nullptr)
|
||||
|
|
@ -1310,6 +1314,8 @@ struct UWPUIViewSettings
|
|||
|
||||
ComSmartPtr<IUIViewSettings> viewSettings;
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
if (viewSettingsInterop->GetForWindow (hWnd, __uuidof (IUIViewSettings),
|
||||
(void**) viewSettings.resetAndGetPointerAddress()) == S_OK
|
||||
&& viewSettings != nullptr)
|
||||
|
|
@ -1320,6 +1326,8 @@ struct UWPUIViewSettings
|
|||
return mode == IUIViewSettings::Touch;
|
||||
}
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -1395,7 +1403,7 @@ public:
|
|||
};
|
||||
}
|
||||
|
||||
~HWNDComponentPeer()
|
||||
~HWNDComponentPeer() override
|
||||
{
|
||||
// do this first to avoid messages arriving for this window before it's destroyed
|
||||
JuceWindowIdentifier::setAsJUCEWindow (hwnd, false);
|
||||
|
|
@ -2484,12 +2492,12 @@ private:
|
|||
CombineRgn (rgn, rgn, clipRgn, RGN_AND);
|
||||
DeleteObject (clipRgn);
|
||||
|
||||
char rgnData[8192];
|
||||
const DWORD res = GetRegionData (rgn, sizeof (rgnData), (RGNDATA*) rgnData);
|
||||
std::aligned_storage<8192, alignof (RGNDATA)>::type rgnData;
|
||||
const DWORD res = GetRegionData (rgn, sizeof (rgnData), (RGNDATA*) &rgnData);
|
||||
|
||||
if (res > 0 && res <= sizeof (rgnData))
|
||||
{
|
||||
const RGNDATAHEADER* const hdr = &(((const RGNDATA*) rgnData)->rdh);
|
||||
const RGNDATAHEADER* const hdr = &(((const RGNDATA*) &rgnData)->rdh);
|
||||
|
||||
if (hdr->iType == RDH_RECTANGLES
|
||||
&& hdr->rcBound.right - hdr->rcBound.left >= w
|
||||
|
|
@ -2497,9 +2505,9 @@ private:
|
|||
{
|
||||
needToPaintAll = false;
|
||||
|
||||
auto rects = (const RECT*) (rgnData + sizeof (RGNDATAHEADER));
|
||||
auto rects = unalignedPointerCast<const RECT*> ((char*) &rgnData + sizeof (RGNDATAHEADER));
|
||||
|
||||
for (int i = (int) ((RGNDATA*) rgnData)->rdh.nCount; --i >= 0;)
|
||||
for (int i = (int) ((RGNDATA*) &rgnData)->rdh.nCount; --i >= 0;)
|
||||
{
|
||||
if (rects->right <= x + w && rects->bottom <= y + h)
|
||||
{
|
||||
|
|
@ -2613,7 +2621,7 @@ private:
|
|||
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms703320(v=vs.85).aspx
|
||||
// http://www.petertissen.de/?p=4
|
||||
|
||||
return (GetMessageExtraInfo() & 0xFFFFFF80 /*SIGNATURE_MASK*/) == 0xFF515780 /*MI_WP_SIGNATURE*/;
|
||||
return ((uint32_t) GetMessageExtraInfo() & 0xFFFFFF80 /*SIGNATURE_MASK*/) == 0xFF515780 /*MI_WP_SIGNATURE*/;
|
||||
}
|
||||
|
||||
static bool areOtherTouchSourcesActive()
|
||||
|
|
@ -2759,7 +2767,7 @@ private:
|
|||
|
||||
ComponentPeer* findPeerUnderMouse (Point<float>& localPos)
|
||||
{
|
||||
auto currentMousePos = getPOINTFromLParam (GetMessagePos());
|
||||
auto currentMousePos = getPOINTFromLParam ((LPARAM) GetMessagePos());
|
||||
|
||||
// Because Windows stupidly sends all wheel events to the window with the keyboard
|
||||
// focus, we have to redirect them here according to the mouse pos..
|
||||
|
|
@ -2827,7 +2835,7 @@ private:
|
|||
case 3: /*GID_ZOOM*/
|
||||
if (gi.dwFlags != 1 /*GF_BEGIN*/ && lastMagnifySize > 0)
|
||||
peer->handleMagnifyGesture (MouseInputSource::InputSourceType::touch, localPos, getMouseEventTime(),
|
||||
(float) (gi.ullArguments / (double) lastMagnifySize));
|
||||
(float) ((double) gi.ullArguments / (double) lastMagnifySize));
|
||||
|
||||
lastMagnifySize = gi.ullArguments;
|
||||
return true;
|
||||
|
|
@ -2947,7 +2955,7 @@ private:
|
|||
if (! getPointerTouchInfo (GET_POINTERID_WPARAM (wParam), &touchInfo))
|
||||
return false;
|
||||
|
||||
const auto pressure = touchInfo.touchMask & TOUCH_MASK_PRESSURE ? touchInfo.pressure
|
||||
const auto pressure = touchInfo.touchMask & TOUCH_MASK_PRESSURE ? static_cast<float> (touchInfo.pressure)
|
||||
: MouseInputSource::invalidPressure;
|
||||
const auto orientation = touchInfo.touchMask & TOUCH_MASK_ORIENTATION ? degreesToRadians (static_cast<float> (touchInfo.orientation))
|
||||
: MouseInputSource::invalidOrientation;
|
||||
|
|
@ -2963,7 +2971,7 @@ private:
|
|||
if (! getPointerPenInfo (GET_POINTERID_WPARAM (wParam), &penInfo))
|
||||
return false;
|
||||
|
||||
const auto pressure = (penInfo.penMask & PEN_MASK_PRESSURE) ? penInfo.pressure / 1024.0f : MouseInputSource::invalidPressure;
|
||||
const auto pressure = (penInfo.penMask & PEN_MASK_PRESSURE) ? (float) penInfo.pressure / 1024.0f : MouseInputSource::invalidPressure;
|
||||
|
||||
if (! handlePenInput (penInfo, globalToLocal (convertPhysicalScreenPointToLogical (pointFromPOINT (getPOINTFromLParam (lParam)), hwnd).toFloat()),
|
||||
pressure, isDown, isUp))
|
||||
|
|
@ -2995,8 +3003,8 @@ private:
|
|||
PenDetails penDetails;
|
||||
|
||||
penDetails.rotation = (penInfo.penMask & PEN_MASK_ROTATION) ? degreesToRadians (static_cast<float> (penInfo.rotation)) : MouseInputSource::invalidRotation;
|
||||
penDetails.tiltX = (penInfo.penMask & PEN_MASK_TILT_X) ? penInfo.tiltX / 90.0f : MouseInputSource::invalidTiltX;
|
||||
penDetails.tiltY = (penInfo.penMask & PEN_MASK_TILT_Y) ? penInfo.tiltY / 90.0f : MouseInputSource::invalidTiltY;
|
||||
penDetails.tiltX = (penInfo.penMask & PEN_MASK_TILT_X) ? (float) penInfo.tiltX / 90.0f : MouseInputSource::invalidTiltX;
|
||||
penDetails.tiltY = (penInfo.penMask & PEN_MASK_TILT_Y) ? (float) penInfo.tiltY / 90.0f : MouseInputSource::invalidTiltY;
|
||||
|
||||
auto pInfoFlags = penInfo.pointerInfo.pointerFlags;
|
||||
|
||||
|
|
@ -3302,9 +3310,9 @@ private:
|
|||
|
||||
auto physicalBounds = convertLogicalScreenRectangleToPhysical (ScalingHelpers::scaledScreenPosToUnscaled (component, pos.toFloat()), hwnd);
|
||||
|
||||
auto getNewPositionIfNotRoundingError = [] (int pos, float newPos)
|
||||
auto getNewPositionIfNotRoundingError = [] (int posIn, float newPos)
|
||||
{
|
||||
return (std::abs ((float) pos - newPos) >= 1.0f) ? roundToInt (newPos) : pos;
|
||||
return (std::abs ((float) posIn - newPos) >= 1.0f) ? roundToInt (newPos) : posIn;
|
||||
};
|
||||
|
||||
wp.x = getNewPositionIfNotRoundingError (wp.x, physicalBounds.getX());
|
||||
|
|
@ -3586,7 +3594,7 @@ private:
|
|||
|
||||
Point<float> getCurrentMousePos() noexcept
|
||||
{
|
||||
return globalToLocal (convertPhysicalScreenPointToLogical (pointFromPOINT (getPOINTFromLParam (GetMessagePos())), hwnd).toFloat());
|
||||
return globalToLocal (convertPhysicalScreenPointToLogical (pointFromPOINT (getPOINTFromLParam ((LPARAM) GetMessagePos())), hwnd).toFloat());
|
||||
}
|
||||
|
||||
LRESULT peerWindowProc (HWND h, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public:
|
|||
ActiveXControlComponent();
|
||||
|
||||
/** Destructor. */
|
||||
~ActiveXControlComponent();
|
||||
~ActiveXControlComponent() override;
|
||||
|
||||
/** Tries to create an ActiveX control and embed it in this peer.
|
||||
|
||||
|
|
|
|||
|
|
@ -151,6 +151,8 @@ namespace ActiveXHelpers
|
|||
|
||||
JUCE_COMRESULT QueryInterface (REFIID type, void** result)
|
||||
{
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
if (type == __uuidof (IOleInPlaceSite))
|
||||
{
|
||||
inplaceSite->AddRef();
|
||||
|
|
@ -159,6 +161,8 @@ namespace ActiveXHelpers
|
|||
}
|
||||
|
||||
return ComBaseClassHelper <IOleClientSite>::QueryInterface (type, result);
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
}
|
||||
|
||||
JUCE_COMRESULT SaveObject() { return E_NOTIMPL; }
|
||||
|
|
@ -184,6 +188,8 @@ namespace ActiveXHelpers
|
|||
|
||||
static HWND getHWND (const ActiveXControlComponent* const component)
|
||||
{
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
HWND hwnd = {};
|
||||
const IID iid = __uuidof (IOleWindow);
|
||||
|
||||
|
|
@ -194,6 +200,8 @@ namespace ActiveXHelpers
|
|||
}
|
||||
|
||||
return hwnd;
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
}
|
||||
|
||||
static void offerActiveXMouseEventToPeer (ComponentPeer* peer, HWND hwnd, UINT message, LPARAM lParam)
|
||||
|
|
@ -243,7 +251,7 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
~Pimpl()
|
||||
~Pimpl() override
|
||||
{
|
||||
if (control != nullptr)
|
||||
{
|
||||
|
|
@ -394,10 +402,14 @@ bool ActiveXControlComponent::createControl (const void* controlIID)
|
|||
|
||||
std::unique_ptr<Pimpl> newControl (new Pimpl (hwnd, *this));
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
HRESULT hr = OleCreate (*(const IID*) controlIID, __uuidof (IOleObject), 1 /*OLERENDER_DRAW*/, nullptr,
|
||||
newControl->clientSite, newControl->storage,
|
||||
(void**) &(newControl->control));
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
if (hr == S_OK)
|
||||
{
|
||||
newControl->control->SetHostNames (L"JUCE", nullptr);
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ private:
|
|||
void removeFromParent()
|
||||
{
|
||||
ShowWindow (hwnd, SW_HIDE);
|
||||
SetParent (hwnd, NULL);
|
||||
SetParent (hwnd, nullptr);
|
||||
}
|
||||
|
||||
Component& owner;
|
||||
|
|
|
|||
|
|
@ -82,6 +82,8 @@ public:
|
|||
|
||||
void createBrowser() override
|
||||
{
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
auto webCLSID = __uuidof (WebBrowser);
|
||||
createControl (&webCLSID);
|
||||
|
||||
|
|
@ -104,6 +106,8 @@ public:
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
}
|
||||
|
||||
bool hasBrowserBeenCreated() override
|
||||
|
|
@ -194,6 +198,8 @@ public:
|
|||
|
||||
void focusGained() override
|
||||
{
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
auto iidOleObject = __uuidof (IOleObject);
|
||||
auto iidOleWindow = __uuidof (IOleWindow);
|
||||
|
||||
|
|
@ -216,6 +222,8 @@ public:
|
|||
|
||||
oleObject->Release();
|
||||
}
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
}
|
||||
|
||||
using ActiveXControlComponent::focusGained;
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ class OpenGLContext::NativeContext
|
|||
public:
|
||||
NativeContext (Component& component,
|
||||
const OpenGLPixelFormat& pixelFormat,
|
||||
void* contextToShareWith,
|
||||
void* contextToShareWithIn,
|
||||
bool /*useMultisampling*/,
|
||||
OpenGLVersion)
|
||||
{
|
||||
|
|
@ -77,15 +77,15 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
if (contextToShareWith != nullptr)
|
||||
wglShareLists ((HGLRC) contextToShareWith, renderContext);
|
||||
if (contextToShareWithIn != nullptr)
|
||||
wglShareLists ((HGLRC) contextToShareWithIn, renderContext);
|
||||
|
||||
component.getTopLevelComponent()->repaint();
|
||||
component.repaint();
|
||||
}
|
||||
}
|
||||
|
||||
~NativeContext()
|
||||
~NativeContext() override
|
||||
{
|
||||
deleteRenderContext();
|
||||
releaseDC();
|
||||
|
|
|
|||
|
|
@ -1045,7 +1045,7 @@ struct StateHelpers
|
|||
if (currentActiveTexture != index)
|
||||
{
|
||||
currentActiveTexture = index;
|
||||
context.extensions.glActiveTexture ((GLenum) (GL_TEXTURE0 + index));
|
||||
context.extensions.glActiveTexture (GL_TEXTURE0 + (GLenum) index);
|
||||
JUCE_CHECK_OPENGL_ERROR
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -27,6 +27,8 @@
|
|||
// https://github.com/KhronosGroup/OpenGL-Registry
|
||||
|
||||
#pragma once
|
||||
#include <juce_core/system/juce_CompilerWarnings.h>
|
||||
|
||||
|
||||
|
||||
namespace juce
|
||||
|
|
@ -37,7 +39,7 @@ namespace gl
|
|||
|
||||
// WGL_VERSION_1_0
|
||||
#ifndef WGL_FONT_LINES
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_FONT_LINES = 0,
|
||||
WGL_FONT_POLYGONS = 1,
|
||||
|
|
@ -77,7 +79,7 @@ enum
|
|||
|
||||
// WGL_3DFX_multisample
|
||||
#ifndef WGL_SAMPLE_BUFFERS_3DFX
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_SAMPLE_BUFFERS_3DFX = 0x2060,
|
||||
WGL_SAMPLES_3DFX = 0x2061,
|
||||
|
|
@ -86,7 +88,7 @@ enum
|
|||
|
||||
// WGL_3DL_stereo_control
|
||||
#ifndef WGL_STEREO_EMITTER_ENABLE_3DL
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_STEREO_EMITTER_ENABLE_3DL = 0x2055,
|
||||
WGL_STEREO_EMITTER_DISABLE_3DL = 0x2056,
|
||||
|
|
@ -97,7 +99,7 @@ enum
|
|||
|
||||
// WGL_AMD_gpu_association
|
||||
#ifndef WGL_GPU_VENDOR_AMD
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_GPU_VENDOR_AMD = 0x1F00,
|
||||
WGL_GPU_RENDERER_STRING_AMD = 0x1F01,
|
||||
|
|
@ -114,7 +116,7 @@ enum
|
|||
|
||||
// WGL_ARB_buffer_region
|
||||
#ifndef WGL_FRONT_COLOR_BUFFER_BIT_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_FRONT_COLOR_BUFFER_BIT_ARB = 0x00000001,
|
||||
WGL_BACK_COLOR_BUFFER_BIT_ARB = 0x00000002,
|
||||
|
|
@ -125,7 +127,7 @@ enum
|
|||
|
||||
// WGL_ARB_context_flush_control
|
||||
#ifndef WGL_CONTEXT_RELEASE_BEHAVIOR_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_CONTEXT_RELEASE_BEHAVIOR_ARB = 0x2097,
|
||||
WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB = 0,
|
||||
|
|
@ -135,7 +137,7 @@ enum
|
|||
|
||||
// WGL_ARB_create_context
|
||||
#ifndef WGL_CONTEXT_DEBUG_BIT_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_CONTEXT_DEBUG_BIT_ARB = 0x00000001,
|
||||
WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = 0x00000002,
|
||||
|
|
@ -149,7 +151,7 @@ enum
|
|||
|
||||
// WGL_ARB_create_context_no_error
|
||||
#ifndef WGL_CONTEXT_OPENGL_NO_ERROR_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_CONTEXT_OPENGL_NO_ERROR_ARB = 0x31B3,
|
||||
};
|
||||
|
|
@ -157,7 +159,7 @@ enum
|
|||
|
||||
// WGL_ARB_create_context_profile
|
||||
#ifndef WGL_CONTEXT_PROFILE_MASK_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_CONTEXT_PROFILE_MASK_ARB = 0x9126,
|
||||
WGL_CONTEXT_CORE_PROFILE_BIT_ARB = 0x00000001,
|
||||
|
|
@ -168,7 +170,7 @@ enum
|
|||
|
||||
// WGL_ARB_create_context_robustness
|
||||
#ifndef WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB = 0x00000004,
|
||||
WGL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252,
|
||||
|
|
@ -179,7 +181,7 @@ enum
|
|||
|
||||
// WGL_ARB_framebuffer_sRGB
|
||||
#ifndef WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB = 0x20A9,
|
||||
};
|
||||
|
|
@ -187,7 +189,7 @@ enum
|
|||
|
||||
// WGL_ARB_make_current_read
|
||||
#ifndef ERROR_INVALID_PIXEL_TYPE_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
ERROR_INVALID_PIXEL_TYPE_ARB = 0x2043,
|
||||
ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = 0x2054,
|
||||
|
|
@ -196,7 +198,7 @@ enum
|
|||
|
||||
// WGL_ARB_multisample
|
||||
#ifndef WGL_SAMPLE_BUFFERS_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_SAMPLE_BUFFERS_ARB = 0x2041,
|
||||
WGL_SAMPLES_ARB = 0x2042,
|
||||
|
|
@ -205,7 +207,7 @@ enum
|
|||
|
||||
// WGL_ARB_pbuffer
|
||||
#ifndef WGL_DRAW_TO_PBUFFER_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_DRAW_TO_PBUFFER_ARB = 0x202D,
|
||||
WGL_MAX_PBUFFER_PIXELS_ARB = 0x202E,
|
||||
|
|
@ -220,7 +222,7 @@ enum
|
|||
|
||||
// WGL_ARB_pixel_format
|
||||
#ifndef WGL_NUMBER_PIXEL_FORMATS_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_NUMBER_PIXEL_FORMATS_ARB = 0x2000,
|
||||
WGL_DRAW_TO_WINDOW_ARB = 0x2001,
|
||||
|
|
@ -276,7 +278,7 @@ enum
|
|||
|
||||
// WGL_ARB_pixel_format_float
|
||||
#ifndef WGL_TYPE_RGBA_FLOAT_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_TYPE_RGBA_FLOAT_ARB = 0x21A0,
|
||||
};
|
||||
|
|
@ -284,7 +286,7 @@ enum
|
|||
|
||||
// WGL_ARB_render_texture
|
||||
#ifndef WGL_BIND_TO_TEXTURE_RGB_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_BIND_TO_TEXTURE_RGB_ARB = 0x2070,
|
||||
WGL_BIND_TO_TEXTURE_RGBA_ARB = 0x2071,
|
||||
|
|
@ -324,7 +326,7 @@ enum
|
|||
|
||||
// WGL_ARB_robustness_application_isolation
|
||||
#ifndef WGL_CONTEXT_RESET_ISOLATION_BIT_ARB
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_CONTEXT_RESET_ISOLATION_BIT_ARB = 0x00000008,
|
||||
};
|
||||
|
|
@ -332,7 +334,7 @@ enum
|
|||
|
||||
// WGL_ATI_pixel_format_float
|
||||
#ifndef WGL_TYPE_RGBA_FLOAT_ATI
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_TYPE_RGBA_FLOAT_ATI = 0x21A0,
|
||||
};
|
||||
|
|
@ -340,7 +342,7 @@ enum
|
|||
|
||||
// WGL_ATI_render_texture_rectangle
|
||||
#ifndef WGL_TEXTURE_RECTANGLE_ATI
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_TEXTURE_RECTANGLE_ATI = 0x21A5,
|
||||
};
|
||||
|
|
@ -348,7 +350,7 @@ enum
|
|||
|
||||
// WGL_EXT_colorspace
|
||||
#ifndef WGL_COLORSPACE_EXT
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_COLORSPACE_EXT = 0x309D,
|
||||
WGL_COLORSPACE_SRGB_EXT = 0x3089,
|
||||
|
|
@ -358,7 +360,7 @@ enum
|
|||
|
||||
// WGL_EXT_create_context_es_profile
|
||||
#ifndef WGL_CONTEXT_ES_PROFILE_BIT_EXT
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_CONTEXT_ES_PROFILE_BIT_EXT = 0x00000004,
|
||||
};
|
||||
|
|
@ -366,7 +368,7 @@ enum
|
|||
|
||||
// WGL_EXT_create_context_es2_profile
|
||||
#ifndef WGL_CONTEXT_ES2_PROFILE_BIT_EXT
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_CONTEXT_ES2_PROFILE_BIT_EXT = 0x00000004,
|
||||
};
|
||||
|
|
@ -374,7 +376,7 @@ enum
|
|||
|
||||
// WGL_EXT_depth_float
|
||||
#ifndef WGL_DEPTH_FLOAT_EXT
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_DEPTH_FLOAT_EXT = 0x2040,
|
||||
};
|
||||
|
|
@ -382,7 +384,7 @@ enum
|
|||
|
||||
// WGL_EXT_framebuffer_sRGB
|
||||
#ifndef WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x20A9,
|
||||
};
|
||||
|
|
@ -390,7 +392,7 @@ enum
|
|||
|
||||
// WGL_EXT_make_current_read
|
||||
#ifndef ERROR_INVALID_PIXEL_TYPE_EXT
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
ERROR_INVALID_PIXEL_TYPE_EXT = 0x2043,
|
||||
};
|
||||
|
|
@ -398,7 +400,7 @@ enum
|
|||
|
||||
// WGL_EXT_multisample
|
||||
#ifndef WGL_SAMPLE_BUFFERS_EXT
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_SAMPLE_BUFFERS_EXT = 0x2041,
|
||||
WGL_SAMPLES_EXT = 0x2042,
|
||||
|
|
@ -407,7 +409,7 @@ enum
|
|||
|
||||
// WGL_EXT_pbuffer
|
||||
#ifndef WGL_DRAW_TO_PBUFFER_EXT
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_DRAW_TO_PBUFFER_EXT = 0x202D,
|
||||
WGL_MAX_PBUFFER_PIXELS_EXT = 0x202E,
|
||||
|
|
@ -423,7 +425,7 @@ enum
|
|||
|
||||
// WGL_EXT_pixel_format
|
||||
#ifndef WGL_NUMBER_PIXEL_FORMATS_EXT
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_NUMBER_PIXEL_FORMATS_EXT = 0x2000,
|
||||
WGL_DRAW_TO_WINDOW_EXT = 0x2001,
|
||||
|
|
@ -475,7 +477,7 @@ enum
|
|||
|
||||
// WGL_EXT_pixel_format_packed_float
|
||||
#ifndef WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT = 0x20A8,
|
||||
};
|
||||
|
|
@ -483,7 +485,7 @@ enum
|
|||
|
||||
// WGL_I3D_digital_video_control
|
||||
#ifndef WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = 0x2050,
|
||||
WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = 0x2051,
|
||||
|
|
@ -494,7 +496,7 @@ enum
|
|||
|
||||
// WGL_I3D_gamma
|
||||
#ifndef WGL_GAMMA_TABLE_SIZE_I3D
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_GAMMA_TABLE_SIZE_I3D = 0x204E,
|
||||
WGL_GAMMA_EXCLUDE_DESKTOP_I3D = 0x204F,
|
||||
|
|
@ -503,7 +505,7 @@ enum
|
|||
|
||||
// WGL_I3D_genlock
|
||||
#ifndef WGL_GENLOCK_SOURCE_MULTIVIEW_I3D
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = 0x2044,
|
||||
WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D = 0x2045,
|
||||
|
|
@ -519,7 +521,7 @@ enum
|
|||
|
||||
// WGL_I3D_image_buffer
|
||||
#ifndef WGL_IMAGE_BUFFER_MIN_ACCESS_I3D
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_IMAGE_BUFFER_MIN_ACCESS_I3D = 0x00000001,
|
||||
WGL_IMAGE_BUFFER_LOCK_I3D = 0x00000002,
|
||||
|
|
@ -528,7 +530,7 @@ enum
|
|||
|
||||
// WGL_NV_DX_interop
|
||||
#ifndef WGL_ACCESS_READ_ONLY_NV
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_ACCESS_READ_ONLY_NV = 0x00000000,
|
||||
WGL_ACCESS_READ_WRITE_NV = 0x00000001,
|
||||
|
|
@ -538,7 +540,7 @@ enum
|
|||
|
||||
// WGL_NV_float_buffer
|
||||
#ifndef WGL_FLOAT_COMPONENTS_NV
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_FLOAT_COMPONENTS_NV = 0x20B0,
|
||||
WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = 0x20B1,
|
||||
|
|
@ -554,7 +556,7 @@ enum
|
|||
|
||||
// WGL_NV_gpu_affinity
|
||||
#ifndef ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV = 0x20D0,
|
||||
ERROR_MISSING_AFFINITY_MASK_NV = 0x20D1,
|
||||
|
|
@ -563,7 +565,7 @@ enum
|
|||
|
||||
// WGL_NV_multisample_coverage
|
||||
#ifndef WGL_COVERAGE_SAMPLES_NV
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_COVERAGE_SAMPLES_NV = 0x2042,
|
||||
WGL_COLOR_SAMPLES_NV = 0x20B9,
|
||||
|
|
@ -572,7 +574,7 @@ enum
|
|||
|
||||
// WGL_NV_present_video
|
||||
#ifndef WGL_NUM_VIDEO_SLOTS_NV
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_NUM_VIDEO_SLOTS_NV = 0x20F0,
|
||||
};
|
||||
|
|
@ -580,7 +582,7 @@ enum
|
|||
|
||||
// WGL_NV_render_depth_texture
|
||||
#ifndef WGL_BIND_TO_TEXTURE_DEPTH_NV
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_BIND_TO_TEXTURE_DEPTH_NV = 0x20A3,
|
||||
WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = 0x20A4,
|
||||
|
|
@ -592,7 +594,7 @@ enum
|
|||
|
||||
// WGL_NV_render_texture_rectangle
|
||||
#ifndef WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = 0x20A0,
|
||||
WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = 0x20A1,
|
||||
|
|
@ -602,7 +604,7 @@ enum
|
|||
|
||||
// WGL_NV_video_capture
|
||||
#ifndef WGL_UNIQUE_ID_NV
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_UNIQUE_ID_NV = 0x20CE,
|
||||
WGL_NUM_VIDEO_CAPTURE_SLOTS_NV = 0x20CF,
|
||||
|
|
@ -611,7 +613,7 @@ enum
|
|||
|
||||
// WGL_NV_video_output
|
||||
#ifndef WGL_BIND_TO_VIDEO_RGB_NV
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_BIND_TO_VIDEO_RGB_NV = 0x20C0,
|
||||
WGL_BIND_TO_VIDEO_RGBA_NV = 0x20C1,
|
||||
|
|
@ -631,7 +633,7 @@ enum
|
|||
|
||||
// WGL_NV_multigpu_context
|
||||
#ifndef WGL_CONTEXT_MULTIGPU_ATTRIB_NV
|
||||
enum
|
||||
enum : GLenum
|
||||
{
|
||||
WGL_CONTEXT_MULTIGPU_ATTRIB_NV = 0x20AA,
|
||||
WGL_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV = 0x20AB,
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ struct CameraDevice::Pimpl : public ChangeBroadcaster
|
|||
{
|
||||
ComSmartPtr<IAMStreamConfig> streamConfig;
|
||||
|
||||
hr = captureGraphBuilder->FindInterface (&PIN_CATEGORY_CAPTURE, 0, filter,
|
||||
hr = captureGraphBuilder->FindInterface (&PIN_CATEGORY_CAPTURE, nullptr, filter,
|
||||
IID_IAMStreamConfig, (void**) streamConfig.resetAndGetPointerAddress());
|
||||
|
||||
if (streamConfig != nullptr)
|
||||
|
|
@ -140,7 +140,7 @@ struct CameraDevice::Pimpl : public ChangeBroadcaster
|
|||
AM_MEDIA_TYPE mt = {};
|
||||
hr = sampleGrabber->GetConnectedMediaType (&mt);
|
||||
|
||||
if (auto* pVih = (VIDEOINFOHEADER*) (mt.pbFormat))
|
||||
if (auto* pVih = unalignedPointerCast<VIDEOINFOHEADER*> (mt.pbFormat))
|
||||
{
|
||||
width = pVih->bmiHeader.biWidth;
|
||||
height = pVih->bmiHeader.biHeight;
|
||||
|
|
@ -316,7 +316,7 @@ struct CameraDevice::Pimpl : public ChangeBroadcaster
|
|||
for (int i = 0; i < height; ++i)
|
||||
memcpy (destData.getLinePointer ((height - 1) - i),
|
||||
buffer + lineStride * i,
|
||||
lineStride);
|
||||
(size_t) lineStride);
|
||||
}
|
||||
|
||||
imageNeedsFlipping = true;
|
||||
|
|
@ -366,7 +366,7 @@ struct CameraDevice::Pimpl : public ChangeBroadcaster
|
|||
{
|
||||
if (auto fileSink = asfWriter.getInterface<IFileSinkFilter>())
|
||||
{
|
||||
hr = fileSink->SetFileName (file.getFullPathName().toWideCharPointer(), 0);
|
||||
hr = fileSink->SetFileName (file.getFullPathName().toWideCharPointer(), nullptr);
|
||||
|
||||
if (SUCCEEDED (hr))
|
||||
{
|
||||
|
|
@ -402,7 +402,7 @@ struct CameraDevice::Pimpl : public ChangeBroadcaster
|
|||
const int fps[] = { 10, 15, 30 };
|
||||
int maxFramesPerSecond = fps[jlimit (0, numElementsInArray (fps) - 1, quality & 0xff)];
|
||||
|
||||
if ((quality & 0xff000000) != 0) // (internal hacky way to pass explicit frame rates for testing)
|
||||
if (((uint32_t) quality & 0xff000000) != 0) // (internal hacky way to pass explicit frame rates for testing)
|
||||
maxFramesPerSecond = (quality >> 24) & 0xff;
|
||||
|
||||
prof = prof.replace ("$WIDTH", String (width))
|
||||
|
|
@ -495,19 +495,19 @@ struct CameraDevice::Pimpl : public ChangeBroadcaster
|
|||
}();
|
||||
|
||||
ComSmartPtr<IBaseFilter> captureFilter;
|
||||
hr = moniker->BindToObject (context.get(), 0, IID_IBaseFilter, (void**) captureFilter.resetAndGetPointerAddress());
|
||||
hr = moniker->BindToObject (context.get(), nullptr, IID_IBaseFilter, (void**) captureFilter.resetAndGetPointerAddress());
|
||||
|
||||
if (SUCCEEDED (hr))
|
||||
{
|
||||
ComSmartPtr<IPropertyBag> propertyBag;
|
||||
hr = moniker->BindToStorage (context.get(), 0, IID_IPropertyBag, (void**) propertyBag.resetAndGetPointerAddress());
|
||||
hr = moniker->BindToStorage (context.get(), nullptr, IID_IPropertyBag, (void**) propertyBag.resetAndGetPointerAddress());
|
||||
|
||||
if (SUCCEEDED (hr))
|
||||
{
|
||||
VARIANT var;
|
||||
var.vt = VT_BSTR;
|
||||
|
||||
hr = propertyBag->Read (_T("FriendlyName"), &var, 0);
|
||||
hr = propertyBag->Read (_T("FriendlyName"), &var, nullptr);
|
||||
propertyBag = nullptr;
|
||||
|
||||
if (SUCCEEDED (hr))
|
||||
|
|
@ -699,7 +699,7 @@ private:
|
|||
|
||||
filter->EnumPins (enumerator.resetAndGetPointerAddress());
|
||||
|
||||
while (enumerator->Next (1, pin.resetAndGetPointerAddress(), 0) == S_OK)
|
||||
while (enumerator->Next (1, pin.resetAndGetPointerAddress(), nullptr) == S_OK)
|
||||
{
|
||||
PIN_DIRECTION dir;
|
||||
pin->QueryDirection (&dir);
|
||||
|
|
@ -783,7 +783,7 @@ struct CameraDevice::ViewerComponent : public Component,
|
|||
setSize (owner->width, owner->height);
|
||||
}
|
||||
|
||||
~ViewerComponent()
|
||||
~ViewerComponent() override
|
||||
{
|
||||
if (owner != nullptr)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ namespace VideoRenderers
|
|||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EVR)
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
struct VideoComponent::Pimpl : public Component
|
||||
|
|
@ -172,7 +172,7 @@ struct VideoComponent::Pimpl : public Component
|
|||
componentWatcher.reset (new ComponentWatcher (*this));
|
||||
}
|
||||
|
||||
~Pimpl()
|
||||
~Pimpl() override
|
||||
{
|
||||
close();
|
||||
context = nullptr;
|
||||
|
|
@ -394,10 +394,10 @@ private:
|
|||
{
|
||||
DirectShowContext (Pimpl& c) : component (c)
|
||||
{
|
||||
ignoreUnused (CoInitialize (0));
|
||||
ignoreUnused (CoInitialize (nullptr));
|
||||
}
|
||||
|
||||
~DirectShowContext()
|
||||
~DirectShowContext() override
|
||||
{
|
||||
release();
|
||||
CoUninitialize();
|
||||
|
|
@ -454,7 +454,7 @@ private:
|
|||
|
||||
void handleAsyncUpdate() override
|
||||
{
|
||||
if (hwnd != 0)
|
||||
if (hwnd != nullptr)
|
||||
{
|
||||
if (needToRecreateNativeWindow)
|
||||
{
|
||||
|
|
@ -606,7 +606,7 @@ private:
|
|||
mediaEvent->SetNotifyWindow (0, 0, 0);
|
||||
|
||||
if (videoRenderer != nullptr)
|
||||
videoRenderer->setVideoWindow (0);
|
||||
videoRenderer->setVideoWindow (nullptr);
|
||||
|
||||
hasVideo = false;
|
||||
videoRenderer = nullptr;
|
||||
|
|
@ -736,7 +736,7 @@ private:
|
|||
{
|
||||
long volume;
|
||||
basicAudio->get_Volume (&volume);
|
||||
return (volume + 10000) / 10000.0f;
|
||||
return (float) (volume + 10000) / 10000.0f;
|
||||
}
|
||||
|
||||
enum State { uninitializedState, runningState, pausedState, stoppedState };
|
||||
|
|
@ -776,7 +776,7 @@ private:
|
|||
topLevelPeer->addScaleFactorListener (&component);
|
||||
#endif
|
||||
|
||||
if (hwnd != 0)
|
||||
if (hwnd != nullptr)
|
||||
{
|
||||
hdc = GetDC (hwnd);
|
||||
component.updateContextPosition();
|
||||
|
|
@ -911,22 +911,22 @@ private:
|
|||
DWORD type = WS_CHILD;
|
||||
|
||||
hwnd = CreateWindowEx (exstyle, wc->getWindowClassName(),
|
||||
L"", type, 0, 0, 0, 0, parentToAddTo, 0,
|
||||
(HINSTANCE) Process::getCurrentModuleInstanceHandle(), 0);
|
||||
L"", type, 0, 0, 0, 0, parentToAddTo, nullptr,
|
||||
(HINSTANCE) Process::getCurrentModuleInstanceHandle(), nullptr);
|
||||
|
||||
if (hwnd != 0)
|
||||
if (hwnd != nullptr)
|
||||
{
|
||||
hdc = GetDC (hwnd);
|
||||
SetWindowLongPtr (hwnd, GWLP_USERDATA, (LONG_PTR) userData);
|
||||
}
|
||||
}
|
||||
|
||||
jassert (hwnd != 0);
|
||||
jassert (hwnd != nullptr);
|
||||
}
|
||||
|
||||
~NativeWindow()
|
||||
{
|
||||
if (hwnd != 0)
|
||||
if (hwnd != nullptr)
|
||||
{
|
||||
SetWindowLongPtr (hwnd, GWLP_USERDATA, (LONG_PTR) 0);
|
||||
DestroyWindow (hwnd);
|
||||
|
|
@ -935,7 +935,7 @@ private:
|
|||
|
||||
void setWindowPosition (Rectangle<int> newBounds)
|
||||
{
|
||||
SetWindowPos (hwnd, 0, newBounds.getX(), newBounds.getY(),
|
||||
SetWindowPos (hwnd, nullptr, newBounds.getX(), newBounds.getY(),
|
||||
newBounds.getWidth(), newBounds.getHeight(),
|
||||
SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOOWNERZORDER);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue