SnoopyDog Posted February 21, 2010 Share Posted February 21, 2010 Hi Currently i'm trying to create an own OSD window. Basically i succeeded, but there is a big problem for me: My new window has a transparent background. If i show it in the OSD, it is not only rendered the first time it shows up on the OSD - no, there seems to be a timer running which renders it on and on. And with the time, the transparent background gets black! If i open a standard OSD window like the "dialogInfo.xml" this does not happen! How can i prevent my own window from getting rendered on and on automatically? This is how i create the window: VAR Something: IUnknown; .... OSDWindowManager.NewWindow(MY_WIN_ID,'myWin.xml',Self,-1,'','','','-','','','',0,FALSE,Something); And this is how i show it on the OSD: OSDWindowManager.ActivateWindow(MY_WIN_ID); Any help or hints would be VERY welcome! Quote Link to comment
Lars_MQ Posted February 21, 2010 Share Posted February 21, 2010 You mean to say: the OSD does not get cleared before rendering. Please show the myWin.xml Quote Link to comment
SnoopyDog Posted February 21, 2010 Author Share Posted February 21, 2010 First i've made a copy from the original "dialogInfo.xml" and used it. When i open this xml file with the standard Info dialog in (e.g.) the channel list (myChannels.xml) it also does not seem to clear the OSD (?) because it overlays the previous OSD screen. But it does not get rendered on and on. I attached the xml and pics that i'm trying to use. It's 1:1 the same like the standard info dialog that i use in my skin SkinTest.zip Quote Link to comment
Lars_MQ Posted February 21, 2010 Share Posted February 21, 2010 In the plugininterface please check if the following is there: function TBaseOSDPlugin.OnDoesRender(const Window : IOSDPlgWindow;Layer : Integer): HRESULT; begin if (Window.RenderLayer = Layer) and Window.visible then result:=s_OK else Result:=E_FAIL; end; If not please add it. Quote Link to comment
Lars_MQ Posted February 21, 2010 Share Posted February 21, 2010 Your doing a overlay window (like a dialog) or a standalone window (which doesn't gets rendered on top of another window)? Quote Link to comment
SnoopyDog Posted February 21, 2010 Author Share Posted February 21, 2010 Yes, i try to. And i will add the code fragment that you've posted cause it's missing currently. Maybe this helps already Quote Link to comment
Lars_MQ Posted February 21, 2010 Share Posted February 21, 2010 allowoverlay="true" Make it a false. Otherwise it means: this window uses a small TV window. Quote Link to comment
Lars_MQ Posted February 21, 2010 Share Posted February 21, 2010 Yes, i try to. Well my question was not a True/False question. So: Dialog or Standalone? Quote Link to comment
SnoopyDog Posted February 21, 2010 Author Share Posted February 21, 2010 (edited) The code (OnDoesRender) does not help. If i set "allowoverlay" to false the the screen gets totally black. I want to use the overlay from the previous screen, this is why i set it to "true". And with the normal "info" dialog, the same XML file works without any problem. Don't know what goes wrong. Edit: Uuups - i'm trying to create an overlay window that should be used like a dialog Edited February 21, 2010 by SnoopyDog Quote Link to comment
Lars_MQ Posted February 21, 2010 Share Posted February 21, 2010 Oh you can't do real dialog windows, only an overlay (like the volume display, not selectable and non blocking). Own Dialogs are not covered by the PluginSDK. Sorry my last question was misleading, I should have asked Overlay or standalone... Quote Link to comment
SnoopyDog Posted February 21, 2010 Author Share Posted February 21, 2010 (edited) O.k. thank you for the answer. No problem - i'll try a "trick" to get something similar work... Will see... Edited February 21, 2010 by SnoopyDog Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.