Bonjour,
j'essaye depuis un moment de réaliser un truc tout simple mais je ne parviens pas à trouver la solution.
je souhaite en utilisant la bibliothèque SDL et VC++ 2008 pour créer une fenêtre non pas carré comme d'habitude mais de forme personnalisé. J'ai donc pensé en 1er à créer une fenêtre transparente, à utiliser la transparence sur la sdl surface principal seulement cela ne fonctionne pas.
en cherchant, il se trouve qu'en SDL il est impossible d'utiliser la transparence sur la fenêtre principale.
Je cherche donc une autre solution, quelqu'un m'a suggéré de faire une capture d'écran du bureau, copier la partie de la capture ou se trouve ma fenêtre , la coller dans ma fenêtre et coller par dessus mon contenu, répéter l'opération à chaque fois que l'utilisateur déplace la fenêtre. L'idée semble intéressante mais c'est quand même une usine à gaz, seulement en cherchant, impossible de trouver quoi que ce soit qui explique comment capturer l'écran entier du bureau windows en excluant notre propre fenêtre en SDL.
j'ai trouvé des explications pour Win32API mais ce n'est pas SDL et de plus le code fourni en exemple ne compile pas sur vc++ 2008.
on m'a enfin donné une piste avec SDL_GetWMInfo, j'ai vaguement compris qu'il fallait récupérer le handle de la fenêtre, coder en autre chose que sdl pour y parvenir
bref à la base je veux créer une fenêtre de forme personnalisé non carré (sans les boutons de windows fermer/réduire/agrandir) genre je fourni une image qui sert de support et donc les parties noires (par exemple) deviennent transparente (et en ayant désactivé la bordure windows) cela donne l'effet d'une fenêtre non carré personnalisée, bien sure dans les parties transparente on doit voir ce qu'il y a sur le bureau de ms windows.
si quelqu'un a une idée de comment accomplir cette prouesse avec SDL, explications ou éventuellement un bout de codes exemple, merci d'avance
Partager