@@ -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); | ||||