Treegadget et icone

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Treegadget et icone

Message par blendman »

salut

Comment puis-je avoir de la transparence sur le premier GadgetItem du treegadget ?

J'ai besoin d'afficher une image, même si elle est complètement transparente (pour l'updater ensuite si elle change).

Code : Tout sélectionner

If OpenWindow(0,0,0,300,200,"treegadget icone",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
  
  If CreateImage(0,32,32,32)
    If StartDrawing(ImageOutput(0))
      ; on efface l'image
      DrawingMode(#PB_2DDrawing_AlphaChannel)
      Box(0,0,32,32,RGBA(0,0,0,0))
      ;DrawingMode(#PB_2DDrawing_AlphaBlend) ; decommenter pour voir la différence
      ;Circle(16,16,5,RGBA(Random(255),Random(255),Random(255),255)) ; decommenter pour voir la différence
      StopDrawing()
    EndIf        
  EndIf
  
  If CreateImage(1,32,32,32)
    If StartDrawing(ImageOutput(1))
      DrawingMode(#PB_2DDrawing_AlphaChannel)
      Box(0,0,32,32,RGBA(0,0,0,0))
      DrawingMode(#PB_2DDrawing_AlphaBlend) 
      Circle(16,16,10,RGBA(Random(255),Random(255),Random(255),255)) 
      StopDrawing()
    EndIf        
  EndIf

  TreeGadget(0,10,10,100,150)
  AddGadgetItem(0, 0, "test1", ImageID(0), 0) ; gros carré noir 
  AddGadgetItem(0, 1, "test2", ImageID(1), 0)  
  
  Repeat    
    event = WaitWindowEvent()    
  Until  event = #PB_Event_CloseWindow  
  
EndIf
Au passage, vous savez s'il est possible de garder le pliage du treegadget ?
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Treegadget et icone

Message par G-Rom »

sur linux , ca à l'air de marché , au pire , tu pourrais définir le transparent à rgba(1,1,1,1) , on ne verrais pas la différence.
pour le gardé déployer regarde du coté de SetGadgetItemState()
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Treegadget et icone

Message par blendman »

G-Rom a écrit :sur linux , ca à l'air de marché
ah, ça doit être un bug windows alors.
Je vais le poster sur le forum Anglais, mais j'attends qu'on me confirme que c'est bien un bug et pas une boulette de ma part ^^.
au pire , tu pourrais définir le transparent à rgba(1,1,1,1) , on ne verrais pas la différence.
yep, je pourrais faire ça.
Le problème c'est que l'image de base pour l'icone peut être un sprite ou une image qui doit être avec transparence pour les pixels transparents, pour gérer le spritepixelcollision() ou ce genre de chose ^^.
Pour le gardé déployer regarde du coté de SetGadgetItemState()
merci, je vais regarder ça.
Répondre