wxSplashScreen text + OSX Topic is solved

Do you have a typical platform dependent issue you're battling with ? Ask it here. Make sure you mention your platform, compiler, and wxWidgets version.
Post Reply
gul_garak
Knows some wx things
Knows some wx things
Posts: 26
Joined: Thu Apr 05, 2018 5:19 pm

wxSplashScreen text + OSX

Post by gul_garak »

Hi,

There is an existing topic on this, but it's a few years old so I didn't want to reply there. I'm able to dynamically update the bitmap of my splash screen similarly to how it's described in the topic. However, that seems to work only for Linux and Windows. Under OSX refresh/update doesn't cause the updated splash bitmap to get re painted. That's also what's described by the last comment that didn't get a reply.

I also did drawing tests directly to a splash window's paint DC but it doesn't do anything. Is there something about the way the splash window is created on OSX that makes it so the splash window won't update? Any suggestions on what to do or try?

viewtopic.php?t=34782

Thank you!

- Alejandro
User avatar
doublemax
Moderator
Moderator
Posts: 19115
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: wxSplashScreen text + OSX

Post by doublemax »

I don't work under OSX, so these are just wild guesses:

- try calling ::wxYield() after Refresh()
- try putting the code that uses the wxSplashScreen into wxAppConsole::OnEventLoopEnter() instead of OnInit()
I also did drawing tests directly to a splash window's paint DC but it doesn't do anything.
You can't use a wxPaintDC outside a paint event handler. Try wxClientDC.
Use the source, Luke!
gul_garak
Knows some wx things
Knows some wx things
Posts: 26
Joined: Thu Apr 05, 2018 5:19 pm

Re: wxSplashScreen text + OSX

Post by gul_garak »

doublemax wrote:I don't work under OSX, so these are just wild guesses:

- try calling ::wxYield() after Refresh()
- try putting the code that uses the wxSplashScreen into wxAppConsole::OnEventLoopEnter() instead of OnInit()
I also did drawing tests directly to a splash window's paint DC but it doesn't do anything.
You can't use a wxPaintDC outside a paint event handler. Try wxClientDC.
::wxYield() did it!! Thank you so much!!

- Alejandro
Post Reply