Page 1 sur 1

Treegadget et icone

Publié : jeu. 05/sept./2013 13:49
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 ?

Re: Treegadget et icone

Publié : jeu. 05/sept./2013 14:14
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()

Re: Treegadget et icone

Publié : jeu. 05/sept./2013 14:23
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.