124
« on: July 23, 2014, 04:32 AM »
I know about this problem and will fix that soon.. (a few weeks though... same for the Calendar problems)
And it's not entirely true that black produces nothing.. well in fact it produces pure transparency xD Everything else is also a bit transparent.. (that's why colors aren't bright), only white might be fully opaque.
The problem isn't an easy fix though... if T-Clock were to use the Windows theme font and color... it would be fine, but no way to adjust the font or color... it will render the same as the original clock then...
The current function used to render text needs to be replaced completely.. GDI doesn't handle transparency well :P So we might have to use GDI+
So I guess I will add a new option... to use theme settings using DrawThemeText or use our custom stuff via GDI+ functions or something like that... Default would be to use DrawThemeText then...
Technical stuff about it:
Windows Vista+ supports the use of full transparency without using layered windows. For this a Windows needs to be a WS_POPUP window... you can then draw in WM_PAINT with full transparency... while GDI doesn't know about transparency and sets the alpha bit to 0 (full transparent)... For compatibility reasons, Windows handles the fact and sometimes still shows stuff when alpha is set to 0 but color isn't black... GDI+ what so ever supports the alpha bit and could be used... same for functions like DrawThemeText which is used by Microsoft on the original clock.
Win < 8 seems to handle it slightly different than 8... while WS_POPUP works the same.. Anyway, 8 got some improvements on handling drawing and that like, that's one reasons why you can't disable aero anymore. It's not necessary :P