|
|
|
@@ -633,7 +633,7 @@ |
|
|
|
#include <dshowasf.h> |
|
|
|
#endif |
|
|
|
|
|
|
|
#if JUCE_MEDIAFOUNDATION && JUCE_BUILD_NATIVE |
|
|
|
#if JUCE_DIRECTSHOW && JUCE_MEDIAFOUNDATION && JUCE_BUILD_NATIVE |
|
|
|
#include <evr.h> |
|
|
|
#endif |
|
|
|
|
|
|
|
@@ -88166,11 +88166,17 @@ public: |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
SoftwareRendererClasses::ClipRegionBase::Ptr c (new SoftwareRendererClasses::ClipRegion_EdgeTable (Rectangle<int> (tx, ty, sourceImage.getWidth(), sourceImage.getHeight()).getIntersection (image.getBounds()))); |
|
|
|
c = clip->applyClipTo (c); |
|
|
|
Rectangle<int> area (tx, ty, sourceImage.getWidth(), sourceImage.getHeight()); |
|
|
|
area = area.getIntersection (image.getBounds()); |
|
|
|
|
|
|
|
if (c != nullptr) |
|
|
|
c->renderImageUntransformed (destData, srcData, alpha, tx, ty, false); |
|
|
|
if (! area.isEmpty()) |
|
|
|
{ |
|
|
|
SoftwareRendererClasses::ClipRegionBase::Ptr c (new SoftwareRendererClasses::ClipRegion_EdgeTable (area)); |
|
|
|
c = clip->applyClipTo (c); |
|
|
|
|
|
|
|
if (c != nullptr) |
|
|
|
c->renderImageUntransformed (destData, srcData, alpha, tx, ty, false); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return; |
|
|
|
@@ -252879,7 +252885,7 @@ void QuickTimeMovieComponent::setBoundsWithCorrectAspectRatio (const Rectangle<i |
|
|
|
|
|
|
|
|
|
|
|
/*** Start of inlined file: juce_win32_DirectShowComponent.cpp ***/ |
|
|
|
#if JUCE_INCLUDED_FILE |
|
|
|
#if JUCE_INCLUDED_FILE && JUCE_DIRECTSHOW |
|
|
|
|
|
|
|
namespace DirectShowHelpers |
|
|
|
{ |
|
|
|
@@ -283463,10 +283469,16 @@ public: |
|
|
|
commandManager->invoke (info, true); |
|
|
|
} |
|
|
|
|
|
|
|
currentModel->menuItemSelected (commandId, topLevelIndex); |
|
|
|
(new AsyncCommandInvoker (commandId, topLevelIndex))->post(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void invokeDirectly (const int commandId, const int topLevelIndex) |
|
|
|
{ |
|
|
|
if (currentModel != nullptr) |
|
|
|
currentModel->menuItemSelected (commandId, topLevelIndex); |
|
|
|
} |
|
|
|
|
|
|
|
void addMenuItem (PopupMenu::MenuItemIterator& iter, NSMenu* menuToAddTo, |
|
|
|
const int topLevelMenuId, const int topLevelIndex) |
|
|
|
{ |
|
|
|
@@ -283649,6 +283661,25 @@ private: |
|
|
|
private: |
|
|
|
JUCE_DECLARE_NON_COPYABLE (AsyncMenuUpdater); |
|
|
|
}; |
|
|
|
|
|
|
|
class AsyncCommandInvoker : public CallbackMessage |
|
|
|
{ |
|
|
|
public: |
|
|
|
AsyncCommandInvoker (const int commandId_, const int topLevelIndex_) |
|
|
|
: commandId (commandId_), topLevelIndex (topLevelIndex_) |
|
|
|
{} |
|
|
|
|
|
|
|
void messageCallback() |
|
|
|
{ |
|
|
|
if (JuceMainMenuHandler::instance != nullptr) |
|
|
|
JuceMainMenuHandler::instance->invokeDirectly (commandId, topLevelIndex); |
|
|
|
} |
|
|
|
|
|
|
|
private: |
|
|
|
const int commandId, topLevelIndex; |
|
|
|
|
|
|
|
JUCE_DECLARE_NON_COPYABLE (AsyncCommandInvoker); |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
JuceMainMenuHandler* JuceMainMenuHandler::instance = nullptr; |
|
|
|
|