| @@ -506,7 +506,10 @@ private: | |||||
| } | } | ||||
| s.add ("ZERO_LINK = NO"); | s.add ("ZERO_LINK = NO"); | ||||
| s.add ("DEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\""); | |||||
| if (! isRTAS()) // (dwarf seems to be incompatible with the RTAS libs) | |||||
| s.add ("DEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\""); | |||||
| s.add ("PRODUCT_NAME = \"" + config.getTargetBinaryName().toString() + "\""); | s.add ("PRODUCT_NAME = \"" + config.getTargetBinaryName().toString() + "\""); | ||||
| return s; | return s; | ||||
| } | } | ||||
| @@ -222,18 +222,21 @@ public: | |||||
| jassert (editorComp != 0); | jassert (editorComp != 0); | ||||
| } | } | ||||
| Rect oldRect; | |||||
| GetRect (&oldRect); | |||||
| Rect r; | |||||
| r.left = 0; | |||||
| r.top = 0; | |||||
| r.right = editorComp->getWidth(); | |||||
| r.bottom = editorComp->getHeight(); | |||||
| SetRect (&r); | |||||
| if ((oldRect.right != r.right) || (oldRect.bottom != r.bottom)) | |||||
| startTimer (50); | |||||
| if (editorComp->getWidth() != 0 && editorComp->getHeight() != 0) | |||||
| { | |||||
| Rect oldRect; | |||||
| GetRect (&oldRect); | |||||
| Rect r; | |||||
| r.left = 0; | |||||
| r.top = 0; | |||||
| r.right = editorComp->getWidth(); | |||||
| r.bottom = editorComp->getHeight(); | |||||
| SetRect (&r); | |||||
| if ((oldRect.right != r.right) || (oldRect.bottom != r.bottom)) | |||||
| startTimer (50); | |||||
| } | |||||
| } | } | ||||
| void timerCallback() | void timerCallback() | ||||
| @@ -241804,7 +241804,8 @@ public: | |||||
| }; | }; | ||||
| Win32ComponentPeer (Component* const component, | Win32ComponentPeer (Component* const component, | ||||
| const int windowStyleFlags) | |||||
| const int windowStyleFlags, | |||||
| HWND parentToAddTo_) | |||||
| : ComponentPeer (component, windowStyleFlags), | : ComponentPeer (component, windowStyleFlags), | ||||
| dontRepaint (false), | dontRepaint (false), | ||||
| #if JUCE_DIRECT2D | #if JUCE_DIRECT2D | ||||
| @@ -241817,7 +241818,8 @@ public: | |||||
| isMouseOver (false), | isMouseOver (false), | ||||
| hasCreatedCaret (false), | hasCreatedCaret (false), | ||||
| currentWindowIcon (0), | currentWindowIcon (0), | ||||
| dropTarget (0) | |||||
| dropTarget (0), | |||||
| parentToAddTo (parentToAddTo_) | |||||
| { | { | ||||
| callFunctionIfNotLocked (&createWindowCallback, this); | callFunctionIfNotLocked (&createWindowCallback, this); | ||||
| @@ -242269,7 +242271,7 @@ public: | |||||
| static ModifierKeys modifiersAtLastCallback; | static ModifierKeys modifiersAtLastCallback; | ||||
| private: | private: | ||||
| HWND hwnd; | |||||
| HWND hwnd, parentToAddTo; | |||||
| ScopedPointer<DropShadower> shadower; | ScopedPointer<DropShadower> shadower; | ||||
| RenderingEngineType currentRenderingEngine; | RenderingEngineType currentRenderingEngine; | ||||
| #if JUCE_DIRECT2D | #if JUCE_DIRECT2D | ||||
| @@ -242371,7 +242373,7 @@ private: | |||||
| void createWindow() | void createWindow() | ||||
| { | { | ||||
| DWORD exstyle = WS_EX_ACCEPTFILES; // | WS_EX_NOACTIVATE; | |||||
| DWORD exstyle = WS_EX_ACCEPTFILES; | |||||
| DWORD type = WS_CLIPSIBLINGS | WS_CLIPCHILDREN; | DWORD type = WS_CLIPSIBLINGS | WS_CLIPCHILDREN; | ||||
| if (hasTitleBar()) | if (hasTitleBar()) | ||||
| @@ -242391,6 +242393,10 @@ private: | |||||
| if ((styleFlags & windowIsResizable) != 0) | if ((styleFlags & windowIsResizable) != 0) | ||||
| type |= WS_THICKFRAME; | type |= WS_THICKFRAME; | ||||
| } | } | ||||
| else if (parentToAddTo != 0) | |||||
| { | |||||
| type |= WS_CHILD; | |||||
| } | |||||
| else | else | ||||
| { | { | ||||
| type |= WS_POPUP | WS_SYSMENU; | type |= WS_POPUP | WS_SYSMENU; | ||||
| @@ -242414,7 +242420,8 @@ private: | |||||
| && Desktop::canUseSemiTransparentWindows()) | && Desktop::canUseSemiTransparentWindows()) | ||||
| exstyle |= WS_EX_LAYERED; | exstyle |= WS_EX_LAYERED; | ||||
| hwnd = CreateWindowEx (exstyle, WindowClassHolder::getInstance()->windowClassName, L"", type, 0, 0, 0, 0, 0, 0, 0, 0); | |||||
| hwnd = CreateWindowEx (exstyle, WindowClassHolder::getInstance()->windowClassName, L"", type, 0, 0, 0, 0, | |||||
| parentToAddTo, 0, (HINSTANCE) PlatformUtilities::getCurrentModuleInstanceHandle(), 0); | |||||
| #if JUCE_DIRECT2D | #if JUCE_DIRECT2D | ||||
| updateDirect2DContext(); | updateDirect2DContext(); | ||||
| @@ -243571,9 +243578,9 @@ private: | |||||
| ModifierKeys Win32ComponentPeer::currentModifiers; | ModifierKeys Win32ComponentPeer::currentModifiers; | ||||
| ModifierKeys Win32ComponentPeer::modifiersAtLastCallback; | ModifierKeys Win32ComponentPeer::modifiersAtLastCallback; | ||||
| ComponentPeer* Component::createNewPeer (int styleFlags, void* /*nativeWindowToAttachTo*/) | |||||
| ComponentPeer* Component::createNewPeer (int styleFlags, void* nativeWindowToAttachTo) | |||||
| { | { | ||||
| return new Win32ComponentPeer (this, styleFlags); | |||||
| return new Win32ComponentPeer (this, styleFlags, (HWND) nativeWindowToAttachTo); | |||||
| } | } | ||||
| juce_ImplementSingleton_SingleThreaded (Win32ComponentPeer::WindowClassHolder); | juce_ImplementSingleton_SingleThreaded (Win32ComponentPeer::WindowClassHolder); | ||||
| @@ -246203,7 +246210,7 @@ private: | |||||
| void createNativeWindow() | void createNativeWindow() | ||||
| { | { | ||||
| nativeWindow = new Win32ComponentPeer (component, 0); | |||||
| nativeWindow = new Win32ComponentPeer (component, 0, 0); | |||||
| nativeWindow->dontRepaint = true; | nativeWindow->dontRepaint = true; | ||||
| nativeWindow->setVisible (true); | nativeWindow->setVisible (true); | ||||
| @@ -64,7 +64,7 @@ | |||||
| */ | */ | ||||
| #define JUCE_MAJOR_VERSION 1 | #define JUCE_MAJOR_VERSION 1 | ||||
| #define JUCE_MINOR_VERSION 52 | #define JUCE_MINOR_VERSION 52 | ||||
| #define JUCE_BUILDNUMBER 61 | |||||
| #define JUCE_BUILDNUMBER 62 | |||||
| /** Current Juce version number. | /** Current Juce version number. | ||||
| @@ -33,7 +33,7 @@ | |||||
| */ | */ | ||||
| #define JUCE_MAJOR_VERSION 1 | #define JUCE_MAJOR_VERSION 1 | ||||
| #define JUCE_MINOR_VERSION 52 | #define JUCE_MINOR_VERSION 52 | ||||
| #define JUCE_BUILDNUMBER 61 | |||||
| #define JUCE_BUILDNUMBER 62 | |||||
| /** Current Juce version number. | /** Current Juce version number. | ||||
| @@ -391,7 +391,7 @@ private: | |||||
| //============================================================================== | //============================================================================== | ||||
| void createNativeWindow() | void createNativeWindow() | ||||
| { | { | ||||
| nativeWindow = new Win32ComponentPeer (component, 0); | |||||
| nativeWindow = new Win32ComponentPeer (component, 0, 0); | |||||
| nativeWindow->dontRepaint = true; | nativeWindow->dontRepaint = true; | ||||
| nativeWindow->setVisible (true); | nativeWindow->setVisible (true); | ||||
| @@ -390,7 +390,8 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| Win32ComponentPeer (Component* const component, | Win32ComponentPeer (Component* const component, | ||||
| const int windowStyleFlags) | |||||
| const int windowStyleFlags, | |||||
| HWND parentToAddTo_) | |||||
| : ComponentPeer (component, windowStyleFlags), | : ComponentPeer (component, windowStyleFlags), | ||||
| dontRepaint (false), | dontRepaint (false), | ||||
| #if JUCE_DIRECT2D | #if JUCE_DIRECT2D | ||||
| @@ -403,7 +404,8 @@ public: | |||||
| isMouseOver (false), | isMouseOver (false), | ||||
| hasCreatedCaret (false), | hasCreatedCaret (false), | ||||
| currentWindowIcon (0), | currentWindowIcon (0), | ||||
| dropTarget (0) | |||||
| dropTarget (0), | |||||
| parentToAddTo (parentToAddTo_) | |||||
| { | { | ||||
| callFunctionIfNotLocked (&createWindowCallback, this); | callFunctionIfNotLocked (&createWindowCallback, this); | ||||
| @@ -860,7 +862,7 @@ public: | |||||
| static ModifierKeys modifiersAtLastCallback; | static ModifierKeys modifiersAtLastCallback; | ||||
| private: | private: | ||||
| HWND hwnd; | |||||
| HWND hwnd, parentToAddTo; | |||||
| ScopedPointer<DropShadower> shadower; | ScopedPointer<DropShadower> shadower; | ||||
| RenderingEngineType currentRenderingEngine; | RenderingEngineType currentRenderingEngine; | ||||
| #if JUCE_DIRECT2D | #if JUCE_DIRECT2D | ||||
| @@ -967,7 +969,7 @@ private: | |||||
| void createWindow() | void createWindow() | ||||
| { | { | ||||
| DWORD exstyle = WS_EX_ACCEPTFILES; // | WS_EX_NOACTIVATE; | |||||
| DWORD exstyle = WS_EX_ACCEPTFILES; | |||||
| DWORD type = WS_CLIPSIBLINGS | WS_CLIPCHILDREN; | DWORD type = WS_CLIPSIBLINGS | WS_CLIPCHILDREN; | ||||
| if (hasTitleBar()) | if (hasTitleBar()) | ||||
| @@ -987,6 +989,10 @@ private: | |||||
| if ((styleFlags & windowIsResizable) != 0) | if ((styleFlags & windowIsResizable) != 0) | ||||
| type |= WS_THICKFRAME; | type |= WS_THICKFRAME; | ||||
| } | } | ||||
| else if (parentToAddTo != 0) | |||||
| { | |||||
| type |= WS_CHILD; | |||||
| } | |||||
| else | else | ||||
| { | { | ||||
| type |= WS_POPUP | WS_SYSMENU; | type |= WS_POPUP | WS_SYSMENU; | ||||
| @@ -1010,7 +1016,8 @@ private: | |||||
| && Desktop::canUseSemiTransparentWindows()) | && Desktop::canUseSemiTransparentWindows()) | ||||
| exstyle |= WS_EX_LAYERED; | exstyle |= WS_EX_LAYERED; | ||||
| hwnd = CreateWindowEx (exstyle, WindowClassHolder::getInstance()->windowClassName, L"", type, 0, 0, 0, 0, 0, 0, 0, 0); | |||||
| hwnd = CreateWindowEx (exstyle, WindowClassHolder::getInstance()->windowClassName, L"", type, 0, 0, 0, 0, | |||||
| parentToAddTo, 0, (HINSTANCE) PlatformUtilities::getCurrentModuleInstanceHandle(), 0); | |||||
| #if JUCE_DIRECT2D | #if JUCE_DIRECT2D | ||||
| updateDirect2DContext(); | updateDirect2DContext(); | ||||
| @@ -2180,9 +2187,9 @@ private: | |||||
| ModifierKeys Win32ComponentPeer::currentModifiers; | ModifierKeys Win32ComponentPeer::currentModifiers; | ||||
| ModifierKeys Win32ComponentPeer::modifiersAtLastCallback; | ModifierKeys Win32ComponentPeer::modifiersAtLastCallback; | ||||
| ComponentPeer* Component::createNewPeer (int styleFlags, void* /*nativeWindowToAttachTo*/) | |||||
| ComponentPeer* Component::createNewPeer (int styleFlags, void* nativeWindowToAttachTo) | |||||
| { | { | ||||
| return new Win32ComponentPeer (this, styleFlags); | |||||
| return new Win32ComponentPeer (this, styleFlags, (HWND) nativeWindowToAttachTo); | |||||
| } | } | ||||
| juce_ImplementSingleton_SingleThreaded (Win32ComponentPeer::WindowClassHolder); | juce_ImplementSingleton_SingleThreaded (Win32ComponentPeer::WindowClassHolder); | ||||