useBottomRightCornerResizer


#1

I have a resizable window with a native titlebar and i want to paint the bottom right resize handle myself but setting the useBottomRightCornerResizer to false in the setResizable function does not remove it on the mac. It is showing a standard osx handle. Is this a bug or is there another method to disable the built in resize handler?

setUsingNativeTitleBar(true); setResizable (true, false); //setting useBottomRightCornerResizer to false does not work on the mac when using a native titlebar [/code]


#2

Well no, it’s not a bug - on the mac the only kind of native resizable border is the one with the corner resizer, so that’s what you’re getting when you set the window to be resizable.

If you want a custom resizer the only way to get rid of the OSX one is to make the window non-resizable. Then you could add a juce one.


#3

So if i want my own windows resize handler on the mac i also have to write all the window resizing code myself?


#4

Well yes. Unless you use the Juce frame instead of a native one.


#5

I’m trying to set the native OSX resize handle to transparent in my HIViews but I don’t know where to implant the following carbon method so that it works…

HIGrowBoxViewSetTransparent (HIView, bool);

if anyone has an idea :wink:


#6

If it can be made transparent then that would also help me a lot.


#7

I never knew that function existed - I prefer it transparent too, so will probably change to code to use it by default.

In the meantime you can call it by getting the window handle and finding the root HIView from that.


#8

The HIViewComponentPeer() constructor of juce_macWindowing.cpp just need this few lines :

		HIViewRef growBox;
		HIViewFindByID (HIViewGetSuperview (viewToAttachTo), kHIViewWindowGrowBoxID, &growBox);
		HIGrowBoxViewSetTransparent (growBox, true); 

#9