Hi Jules and everybody,
I just started evaluating the framework, very, very, impressive so far.
We need to build a UI (for now Windows), which looks always the same, regardless of screen resolution (and partly of screen ratio). I did this sucessfully some years ago with C++Builder/VCL/Win32 but now looking for somthing else :-). So I thought this vector based framework would just come in quite handy (the SVG capabilities are also great).
Regarding the great transformation feature (as seen in JuceDemo/Components: Transforms, testet with Win7/VS 2012/latest tip), I would like to ask (as a JUCE newbie) the following for informations or hints on how to
- have the combo box dropdown to scale accordingly (no shearing/turning needed)?
- have the button tooltips scale accordingly (slider popup seems to work, but draws a small vertical line near tip of popup if scaled)?
- how / where to apply a transform to popup menues / bubble messages?
- how to keep the/a top level windows aspect ratio constant when sizing with the mouse the JUCE way?
The user will also be able to switch to kioskMode. Unfortunatly (at least in our case) the App gets restored from kioskMode when loosing focus (other App forces itself to front, or keyboard actions like <alt+tab> or <ctrl-esc>, etc.), although the user does not want this.
Jules, would it be possible to add a third parameter like e.g. "allowRestoreOnTaskSwitch" to
Desktop::setKioskModeComponent (Component* componentToUse, bool allowMenusAndBars = true, bool allowRestoreOnTaskSwitch = true);
so that "if (allowRestoreOnTaskSwitch == false)" it does not get restored inside juce_win32_Windowing.cpp, around line 2482, snip:
case WM_ACTIVATEAPP: // Windows does weird things to process priority when you swap apps, // so this forces an update when the app is brought to the front if (wParam != FALSE) juce_repeatLastProcessPriority(); else Desktop::getInstance().setKioskModeComponent (nullptr); // turn kiosk mode off if we lose focus
This is just a "quick wild guess" on how it could eventually be done, but it would not break existing code and would allow us developers to have more control over the behavior.
I also noticed that (in the demo on Windows) if you switch away from "Use native window title bar" with <ctrl +N> and then toggle to "Show full-screen kiosk mode" with <ctrl + F> and back again <ctrl + F> you end up having the native title bar again. Calling
mainWindow->setUsingNativeTitleBar (false); after desktop.setKioskModeComponent (nullptr); causes flicker from the native title bar window, which is visible during the transition.
Any thoughts and hints are higly apreciated, thanks for commenting.