|
|
@@ -163,8 +163,17 @@ using namespace juce; |
|
|
|
namespace juce
|
|
|
|
{
|
|
|
|
|
|
|
|
struct UIViewPeerControllerReceiver
|
|
|
|
{
|
|
|
|
virtual ~UIViewPeerControllerReceiver();
|
|
|
|
virtual void setViewController (UIViewController*) = 0;
|
|
|
|
};
|
|
|
|
|
|
|
|
UIViewPeerControllerReceiver::~UIViewPeerControllerReceiver() {}
|
|
|
|
|
|
|
|
class UIViewComponentPeer : public ComponentPeer,
|
|
|
|
public FocusChangeListener
|
|
|
|
public FocusChangeListener,
|
|
|
|
public UIViewPeerControllerReceiver
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
UIViewComponentPeer (Component&, int windowStyleFlags, UIView* viewToAttachTo);
|
|
|
@@ -176,6 +185,12 @@ public: |
|
|
|
void setTitle (const String& title) override;
|
|
|
|
void setBounds (const Rectangle<int>&, bool isNowFullScreen) override;
|
|
|
|
|
|
|
|
void setViewController (UIViewController* newController) override
|
|
|
|
{
|
|
|
|
jassert (controller == nullptr);
|
|
|
|
controller = [newController retain];
|
|
|
|
}
|
|
|
|
|
|
|
|
Rectangle<int> getBounds() const override { return getBounds (! isSharedWindow); }
|
|
|
|
Rectangle<int> getBounds (bool global) const;
|
|
|
|
Point<float> localToGlobal (Point<float> relativePosition) override;
|
|
|
@@ -218,7 +233,7 @@ public: |
|
|
|
//==============================================================================
|
|
|
|
UIWindow* window;
|
|
|
|
JuceUIView* view;
|
|
|
|
JuceUIViewController* controller;
|
|
|
|
UIViewController* controller;
|
|
|
|
bool isSharedWindow, fullScreen, insideDrawRect, isAppex;
|
|
|
|
|
|
|
|
static int64 getMouseTime (UIEvent* e) noexcept
|
|
|
|