Fenetre resizable à bord arrondis

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Fenetre resizable à bord arrondis

Message par Kwai chang caine »

Bonjour la famille

J'ai créé ce code, oui oui, J'AI créé ce code pour faire une fenetre a bord arrondi que je puisse déplacer et resizer.
Mais evidemment si je vous parle, c'est que pour pas changer une equipe qui perd, il marche pas vraiment bien :?

Je suis quand meme assez content de moi, car si je vais doucement ça fait ce que je veux ou presque, mais pas parfaitement.

Je voudrais que lorsque je clic dans l'angle inferieur droit et que je deplace la souris, la fenetre se resize en suivant le mouvement de la souris (Plus grande et moins grande)
Mais aussi, parce que c'est pas parce que l'on est mauvais que l'on est pas exigeant :oops: , j'aimerais que lorsque l'on clique un peu plus loin au centre de la fenetre elle se deplace, mais ne se resize pas.

ça merdoie, quelqu'un sait il pourquoi ? :cry:

Code : Tout sélectionner

Global Hwnd

Enumeration
 #FormWeb
 #LabelResize
EndEnumeration

Procedure OpenWindowWeb(PbId, PosX, PosY, LargeurInterne, HauteurInterne, Options)
 
 OpenWindow (PbId, PosX, PosY, LargeurInterne, HauteurInterne, "", Options)
 CreateGadgetList(WindowID(PbId))
 Region = CreateRoundRectRgn_(0, 0, WindowWidth(0), WindowHeight(0), 40, 60)  
 SetWindowRgn_(WindowID(0), Region, #True) 
 DeleteObject_(Region) 
 ProcedureReturn WindowID(Pbid)

EndProcedure 

Procedure MyWindowCallback(WindowID, Message, wParam, lParam) 

 Result = #PB_ProcessPureBasicEvents 

 If Message = #WM_MOUSEMOVE
 
  If GetAsyncKeyState_(#VK_LBUTTON) = 32768 
  
   If WindowMouseX(#FormWeb) > WindowX(#FormWeb) - 10 And WindowMouseY(#FormWeb) > WindowY(#FormWeb) - 10
    ResizeWindow(#FormWeb, #PB_Ignore, #PB_Ignore, WindowMouseX(#FormWeb) + 10, WindowMouseY(#FormWeb) + 10)
    Region = CreateRoundRectRgn_(0, 0, WindowWidth(0), WindowHeight(0), 40, 60) 
    SetWindowRgn_(WindowID(0), Region, #True) 
    DeleteObject_(Region) 
   Else
    SendMessage_(Hwnd, #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
   EndIf 
  
  EndIf
 
 EndIf
   
 ProcedureReturn Result 
 
EndProcedure 

Hwnd = OpenWindowWeb(#FormWeb, 0, 0, 700, 500, #PB_Window_BorderLess|#PB_Window_ScreenCentered)
SetWindowCallback(@MyWindowCallback()) 

Repeat 

 Event = WaitWindowEvent() 
    
Until Event = #PB_Event_CloseWindow 

End 
Merci de votre aide
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

bonjour
voila il suffit de modifier le code
WindowWidth(0), WindowHeight(0)
WindowWidth(#FormWeb), WindowHeight(#FormWeb)
et aussi dans la procedure OpenWindowWeb meme chose avec pbid

mais je ne vois pas a quoi sert la fonction resize()

Code : Tout sélectionner

Global hwnd

Enumeration
  #FormWeb
  #LabelResize
EndEnumeration

Procedure OpenWindowWeb(PbId, PosX, PosY, LargeurInterne, HauteurInterne, Options)
  
  OpenWindow (PbId, PosX, PosY, LargeurInterne, HauteurInterne, "", Options)
  CreateGadgetList(WindowID(PbId))
  region = CreateRoundRectRgn_(0, 0, WindowWidth(PbId), WindowHeight(PbId), 50, 50) 
  SetWindowRgn_(WindowID(PbId), region, #True)
  DeleteObject_(region)
  ProcedureReturn WindowID(PbId)
  
EndProcedure

Procedure MyWindowCallback(WindowID, message, wParam, lParam)
  
  Result = #PB_ProcessPureBasicEvents
  
  If message = #WM_MOUSEMOVE
     Debug GetAsyncKeyState_(#VK_LBUTTON)
    If GetAsyncKeyState_(#VK_LBUTTON) = 32768 
      If WindowMouseX(#FormWeb) > WindowX(#FormWeb) - 10 And WindowMouseY(#FormWeb) > WindowY(#FormWeb) - 10
         ResizeWindow(#FormWeb, #PB_Ignore, #PB_Ignore, WindowMouseX(#FormWeb) +10, WindowMouseY(#FormWeb) +10)
        region = CreateRoundRectRgn_(0, 0, WindowWidth(#FormWeb), WindowHeight(#FormWeb), 50, 50)
        SetWindowRgn_(WindowID(#FormWeb), region, #True)
        DeleteObject_(region)
      Else
        SendMessage_(hwnd, #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
      EndIf
      
    EndIf
    
  EndIf
  
  ProcedureReturn Result
  
EndProcedure

hwnd = OpenWindowWeb(#FormWeb, 0, 0, 700, 500, #PB_Window_BorderLess|#PB_Window_ScreenCentered)
SetWindowCallback(@MyWindowCallback())

Repeat
  
  Event =WaitWindowEvent() 
 
  If Event = #WM_KEYDOWN  ;  Commande clavier
    key = EventwParam()
  EndIf
  
Until Event = #PB_Event_CloseWindow  Or key = 27

End 
Dernière modification par kernadec le mer. 03/déc./2008 7:19, modifié 2 fois.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci de ton aide KERNADEC

Comme je l'ai dit au dessus :

Je voudrais que lorsque je clic dans l'angle inferieur droit et que je deplace la souris, la fenetre se resize en suivant le mouvement de la souris (Plus grande et moins grande) :D
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

mais si tu active resize il fonctionne
mais on du mal trouver le point de saisie voila
j'ai essayer avec 20 x 20 pixels
mais il y a encore des blocages
le test de la taille fenêtre avec la position souris reste a mettre au point voila!

j' ai placer un debug dans ton code pour vérifier le clic gauche
GetAsyncKeyState_(#VK_LBUTTON)=32768
et la valeur 32768 n'apparait plus après un déplacement fenêtre
la valeur du clic reste a 0 ou -32767
je ne sais pas pourquoi ?
j'ai aussi mis une sortie ESC dans le code précédent!
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Ouaih c'est bizarre :?

Pour le coin je sais, mais au debut j'avais mis un TextGadget, mais cette fois il detectait pas le clic sur le textgadget dans la callback :?

Y'a surement une solution, mais elle me depasse

Bon en tout cas merci de ton aide 8)
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

bonjour
tu as dit bizarre comme c'est bizarre

je n'ai pas installer LINUX sur mon portable
il serait intéressant avec GTK ou autre bureau d' adapter ce code
et de voir si la gestion des clics souris rencontre le même problème
au revoir
Stefou
Messages : 234
Inscription : jeu. 18/janv./2007 14:08

Message par Stefou »

Halut KCC

Bon voilà une solution, qui devrais te faire avancer. Elle merdouille avec les bords arrondies...elle n'est pas parfaite...
J'ai rajouté un curseur de resize.

J'ouvre une parenthese et je vous fait partager mon experience sur : "faire une fentre personnalisé qui a le même comportemant qu'une fentre classique"
Les problèmes que j'ai rencontré sont :
- le resize de la fenetre (tu es dessus)
- faire apparaitre correctement le programme dans la barre de tache (icone !)
- faire un menu pop up dans la barre de tache qui présente les même fonctions, entre autre :
- fermer : qui permet de fermer lorsque le programme ne répond pas vraiment
- déplacer: lorsque l'on travail avec 2 écrans, ou lorsque l'on change de résolution, il se peut que la fenêtre ne soit plus visible.

a+ et bonne prog à tous 8)

Code : Tout sélectionner

Global hwnd ,x,y,l,h ,cr
cr = LoadCursor_(0, #IDC_SIZENWSE			)


Enumeration 
  #FormWeb 
  #LabelResize 
EndEnumeration 

Procedure OpenWindowWeb(PbId, PosX, PosY, LargeurInterne, HauteurInterne, Options) 
  
  OpenWindow (PbId, PosX, PosY, LargeurInterne, HauteurInterne, "", Options) 
  CreateGadgetList(WindowID(PbId)) 
  region = CreateRoundRectRgn_(0, 0, WindowWidth(PbId), WindowHeight(PbId), 50, 50) 
  SetWindowRgn_(WindowID(PbId), region, #True) 
  DeleteObject_(region) 
  ProcedureReturn WindowID(PbId) 
  
EndProcedure 

Procedure MyWindowCallback(WindowID, message, wParam, lParam) 
  
  result = #PB_ProcessPureBasicEvents 
  
  If message = #WM_MOUSEMOVE 
    ;Debug GetAsyncKeyState_(#VK_LBUTTON) 
    If WindowMouseX(#FormWeb) > WindowWidth(#FormWeb) - 40 And WindowMouseY(#FormWeb) > WindowHeight(#FormWeb) - 40 
      SetCursor_(cr)
    EndIf
    
    If GetAsyncKeyState_(#VK_LBUTTON) = 32768 
      ;Debug "clic"
      If x=-1 And y=-1
        Debug "razXY"
        l=WindowWidth(#FormWeb)
        h=WindowHeight(#FormWeb)
        x=WindowMouseX(#FormWeb)
        y=WindowMouseY(#FormWeb)
      Else
        Debug "resize"
        If WindowMouseX(#FormWeb) > WindowWidth(#FormWeb) - 40 And WindowMouseY(#FormWeb) > WindowHeight(#FormWeb) - 40 
          ResizeWindow(#FormWeb, #PB_Ignore, #PB_Ignore, l+WindowMouseX(#FormWeb)-x, h+WindowMouseY(#FormWeb)-y) 
          region = CreateRoundRectRgn_(0, 0, WindowWidth(#FormWeb), WindowHeight(#FormWeb), 50, 50) 
          SetWindowRgn_(WindowID(#FormWeb), region, #True) 
          DeleteObject_(region) 
        Else 
          SendMessage_(hwnd, #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
        EndIf 
      EndIf
      
    Else
       x=-1
      y=-1
    EndIf 
    
  EndIf 
  
  ProcedureReturn result 
  
EndProcedure 

hwnd = OpenWindowWeb(#FormWeb, 0, 0, 700, 500, #PB_Window_BorderLess|#PB_Window_ScreenCentered) 
SetWindowCallback(@MyWindowCallback()) 

Repeat 
  
  event =WaitWindowEvent() 
  
  If event = #WM_KEYDOWN  ;  Commande clavier 
    key = EventwParam() 
  EndIf 
  
Until event = #PB_Event_CloseWindow  Or key = 27 

End
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci beaucoup STEFOU

Elle marche beaucoup mieux, c'est pas le super top, mais c'est bien mieux que la mienne

J'ai compliqué l'affaire avec un fond.
J'aurais voulu économiser le redessinage du fond a la reduction, mais pour l'instant, je n'y arrive pas :cry:

Voila ton code avec un fond

Code : Tout sélectionner

Global hwnd ,x,y,l,h ,cr, AncienWidth, AncienHeight
cr = LoadCursor_(0, #IDC_SIZENWSE) 

Enumeration 
 #FormWeb 
 #LabelResize 
 #ImageFond
EndEnumeration 

Procedure OpenWindowWeb(PbId, PosX, PosY, LargeurInterne, HauteurInterne, Options) 
  
 OpenWindow (PbId, PosX, PosY, LargeurInterne, HauteurInterne, "", Options) 
 CreateGadgetList(WindowID(PbId)) 
 region = CreateRoundRectRgn_(0, 0, WindowWidth(PbId), WindowHeight(PbId), 50, 50) 
 SetWindowRgn_(WindowID(PbId), region, #True) 
 DeleteObject_(region) 
 ProcedureReturn WindowID(PbId) 
 
EndProcedure 

Procedure MyWindowCallback(WindowID, message, wParam, lParam) 
  
  result = #PB_ProcessPureBasicEvents 
  
  If message = #WM_MOUSEMOVE 
    ;Debug GetAsyncKeyState_(#VK_LBUTTON) 
    If WindowMouseX(#FormWeb) > WindowWidth(#FormWeb) - 40 And WindowMouseY(#FormWeb) > WindowHeight(#FormWeb) - 40 
     SetCursor_(cr) 
    EndIf 
    
    If GetAsyncKeyState_(#VK_LBUTTON) = 32768 
      ;Debug "clic" 
      If x=-1 And y=-1 
     
       ;Debug "razXY" 
       l = WindowWidth(#FormWeb) 
       h = WindowHeight(#FormWeb) 
       x = WindowMouseX(#FormWeb) 
       y = WindowMouseY(#FormWeb) 
     
      Else 
     
       ;Debug "resize" 
     
       If WindowMouseX(#FormWeb) > WindowWidth(#FormWeb) - 40 And WindowMouseY(#FormWeb) > WindowHeight(#FormWeb) - 40 
     
         ResizeWindow(#FormWeb, #PB_Ignore, #PB_Ignore, l+WindowMouseX(#FormWeb)-x, h+WindowMouseY(#FormWeb)-y) 
         region = CreateRoundRectRgn_(0, 0, WindowWidth(#FormWeb), WindowHeight(#FormWeb), 50, 50) 
         SetWindowRgn_(WindowID(#FormWeb), region, #True) 
         DeleteObject_(region) 
;          Debug WindowWidth(#FormWeb)
;          Debug AncienWidth
;          Debug ""
;          Debug WindowHeight(#FormWeb)
;          Debug AncienHeight
;          
         ;If AncienWidth < WindowWidth(#FormWeb) Or AncienHeight < WindowHeight(#FormWeb)
          
          AncienWidth = WindowWidth(#FormWeb)
          AncienHeight = WindowHeight(#FormWeb)
         
          For Colonne = 1 To WindowWidth(#FormWeb) Step 95
           For Ligne = 1 To WindowHeight(#FormWeb) Step 95
            DrawImage(ImageID(#ImageFond),Colonne, Ligne) 
           Next
          Next
          
         ;EndIf 
                  
       Else 
       
        SendMessage_(hwnd, #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
       
       EndIf 
     
     EndIf 
      
    Else 
     
     x = -1 
     y = -1 
    
    EndIf 
    
  EndIf 
  
  ProcedureReturn result 
  
EndProcedure 

hwnd = OpenWindowWeb(#FormWeb, 0, 0, 700, 500, #PB_Window_BorderLess|#PB_Window_ScreenCentered) 
SetWindowCallback(@MyWindowCallback()) 
StartDrawing( WindowOutput(PbId))
SetWindowCallback(@MyWindowCallback()) 
UseJPEGImageDecoder()
CatchImage(#ImageFond, ?FondEcran)

For Colonne = 1 To WindowWidth(#FormWeb) Step 95
 For Ligne = 1 To WindowHeight(#FormWeb) Step 95
  DrawImage(ImageID(#ImageFond),Colonne, Ligne) 
 Next
Next

AncienWidth = WindowWidth(#FormWeb)
AncienHeight = WindowHeight(#FormWeb)

Repeat 
  
  event =WaitWindowEvent() 
  
  If event = #WM_KEYDOWN  ;  Commande clavier 
    key = EventwParam() 
  EndIf 
  
Until event = #PB_Event_CloseWindow  Or key = 27 

StopDrawing() 
End

DataSection
 
 FondEcran :
 ; *********
 
 Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,0,0,1,0,1,0,0,-1,-37,0,67,0,1,1,1,1,1,1,1,1,1,1,1,1,1
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,-1,-37,0,67,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
 Data.b 1,1,1,-1,-64,0,17,8,0,96,0,96,3,1,34,0,2,17,1,3,17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0
 Data.b 0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2
 Data.b 3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63,21,82,-47,-16,36,51,98,114,-126,9,10,22,23
 Data.b 24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105
 Data.b 106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75
 Data.b -74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13,-12,-11,-10
 Data.b -9,-8,-7,-6,-1,-60,0,31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60
 Data.b 0,-75,17,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127
 Data.b 8,20,66,-111,-95,-79,-63,9,35,51,82,-16,21,98,114,-47,10,22,36,52,-31,37,-15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67
 Data.b 68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119
 Data.b -118,-110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45
 Data.b -44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17,3,17,0,63,0
 Data.b -25,-66,32,-8,74,-37,82,-126,95,37,85,-120,82,126,92,122,30,113,-49,78,-8,-19,-98,123,31,-104,101,-8,45,121,-86,-36,59,-92,71,-122,-55,-32,-97
 Data.b 83,-37,30,-98,-25,-100,-41,-43,-102,-114,-80,21,8,124,-28,-28,96,-6,-15,-55,-49,81,-8,-6,-25,-75,105,104,55,-10,-90,38,98,20,18,15,96,8,61
 Data.b -71,-4,15,-25,-58,121,7,-3,46,-87,70,-107,105,-34,91,63,85,-14,-42,-5,-7,-19,-45,93,-1,0,-49,28,-109,-118,120,-117,-122,114,-57,28,36,-27,82
 Data.b -51,70,50,-107,-37,91,95,-67,-11,-12,-20,-103,-14,-19,-121,-62,-59,-46,-121,-109,52,96,55,35,4,15,-21,-41,-4,-29,-38,75,-65,-123,-126,-15,71,-108,-103
 Data.b 56,-22,23,-11,-29,61,-67,-77,-22,61,61,-117,-60,-102,-126,37,-20,-114,8,-64,-50,63,-104,-63,-11,57,31,-32,7,53,-109,109,-82,-56,0,104,-57,-35,62
 Data.b -35,125,-114,15,25,7,3,-81,-81,24,-84,-67,-115,20,-7,109,-24,-74,-45,77,-3,108,-70,-10,62,-98,-97,19,-15,45,120,83,-57,70,-69,-10,-75,34,-89
 Data.b 43,-35,36,-35,-76,-43,-23,125,-105,-82,-89,45,-32,-1,0,-124,-110,89,94,35,-51,24,17,-122,86,57,24,3,-111,-41,-90,1,0,-9,-56,-29,-118,-9,-51
 Data.b 75,85,-48,60,51,-89,71,102,-17,24,96,-118,27,5,71,80,50,115,-100,-1,0,-97,126,124,-97,81,-15,-27,-3,-116,46,17,112,-63,72,82,61,71,4
 Data.b -116,1,-57,3,-21,-98,-125,4,-113,-103,60,101,-30,-19,111,82,-71,-111,-98,121,0,12,112,55,30,-39,-19,-97,-57,56,-49,29,40,117,-87,-31,-95,106,113
 Data.b 110,77,104,-102,-37,94,-106,-3,125,73,-61,-16,-42,125,-57,25,-107,42,-39,-58,54,52,112,-44,109,36,-87,-49,-29,-106,-106,118,90,-23,115,-36,-66,36,-36
 Data.b -40,73,-89,-1,0,106,89,-70,-56,-92,-28,-31,-127,42,72,-35,-48,122,-109,-100,-6,-100,10,-16,-122,-41,-43,-83,36,42,-39,96,-115,-56,36,-14,1,-21,-41
 Data.b -44,-97,90,111,-121,53,-101,-83,82,-54,-29,73,-44,29,-99,88,17,25,98,115,-100,30,48,115,-45,-41,-89,31,-106,79,-4,35,-9,-53,126,44,-19,-29,103
 Data.b -114,73,0,4,46,70,-42,32,122,99,-95,-28,-25,-89,-89,53,-59,57,-70,-113,-98,42,-54,73,38,-106,-74,122,93,109,-41,-41,93,-99,-49,-44,50,92,-105
 Data.b 15,-109,80,-83,-106,99,-15,10,117,48,117,125,-83,42,-45,-110,-116,106,97,-83,25,45,95,85,-86,118,-41,-18,-79,79,-61,126,10,127,19,93,77,123,114
 Data.b -124,-121,102,-38,27,-36,-15,-44,-113,94,-1,0,-41,-114,107,-57,-65,11,-82,116,-94,110,-84,-30,101,-57,-51,-107,83,-114,-68,112,59,96,-13,-57,61,43,-19
 Data.b -81,5,-8,70,45,43,77,-73,19,42,-119,89,3,50,-29,-111,-97,81,-49,61,125,120,-21,-44,87,69,-82,-8,111,77,-43,109,90,9,35,92,-107,-63,37
 Data.b 65,-56,-23,-33,-45,-73,114,107,79,-87,70,116,-75,-46,109,94,-3,110,-46,-1,0,45,-65,30,-34,74,-15,91,19,-105,-25,-4,-40,121,58,-103,109,41,-86
 Data.b 62,-55,107,77,-46,-125,81,-47,55,103,-91,-11,-42,-2,-105,62,93,-3,-97,60,49,127,-85,-50,22,-32,-78,-7,103,105,-49,3,-126,51,-23,-114,-104,0,-29
 Data.b -21,-46,-65,71,52,-97,12,88,-23,-6,108,107,35,43,62,-47,-100,-111,-23,-56,60,-25,39,4,-10,-3,113,95,60,120,67,-61,-87,-31,73,89,-84,23,1
 Data.b -40,-79,61,58,-12,-58,14,123,123,-12,-28,-12,3,-42,71,-120,47,36,-120,36,-127,-113,24,-29,-88,-10,-49,92,-12,-57,60,87,126,18,17,-95,77,70,90
 Data.b -55,43,121,116,-33,117,-73,-4,55,83,-14,47,18,-13,108,111,21,103,117,49,120,10,-54,-122,2,82,-116,-95,78,54,-124,-45,-78,-67,-42,-113,-18,-79,87
 Data.b 90,-16,-39,-44,35,50,89,-115,-56,1,33,-128,60,-116,-5,116,63,-31,-24,120,-30,-91,-118,-29,70,86,89,24,-96,80,71,36,-32,126,63,-3,126,-104,-29
 Data.b 53,-81,-95,-4,87,-47,-19,44,94,43,-90,66,66,-100,2,71,60,28,119,-56,-10,-21,-21,-51,115,122,-57,-120,109,-68,87,28,-81,99,-123,80,9,0,122
 Data.b -10,-23,-21,-125,-33,-95,-6,19,82,-107,54,-108,-93,36,-26,-42,-79,91,-12,111,-18,-33,111,-52,-13,114,-4,30,123,66,-76,-16,121,-114,14,-91,60,-66,-107
 Data.b 72,-59,98,-86,71,77,90,-77,111,102,-11,-1,0,-122,-71,-64,-8,-121,93,-74,47,42,-103,114,-40,35,25,-17,-97,-60,115,-98,49,-116,115,-49,53,-60,-53
 Data.b -29,24,52,-24,-104,41,4,-116,-111,-55,-49,7,-111,-63,-23,-45,-16,-4,-21,-53,-4,111,-87,-35,-23,-6,-52,-42,-5,-50,3,54,57,-9,-58,0,-23,-2,60
 Data.b 117,21,-60,53,-4,-9,78,3,-71,57,35,-95,-49,-87,-25,-45,-65,-90,59,-15,-45,-53,-87,-119,106,78,-41,77,126,122,119,86,-12,-20,-69,117,-2,-123,-55
 Data.b -8,46,-124,-16,56,106,-75,103,-49,-121,-85,78,21,-110,90,93,114,-89,107,122,121,63,-60,-11,123,-1,0,26,-55,125,-68,18,48,73,-38,50,123,-97,127
 Data.b 95,111,78,58,-41,47,32,23,-114,100,101,44,73,36,-116,127,-113,31,-96,-25,-90,42,-98,-97,-92,-49,116,83,98,-109,-72,-114,-57,-16,-28,-1,0,92,103
 Data.b -33,34,-67,103,-61,-2,20,37,64,-102,60,-79,29,72,-18,120,-64,-57,83,-41,63,-113,74,-104,-87,-44,122,-21,-21,-45,107,-33,-91,-2,-18,-121,-95,-118,-85
 Data.b -107,100,52,-33,-80,113,-124,-93,101,-53,23,20,-20,-110,77,-6,95,79,95,67,-51,-84,-57,-10,124,-53,50,14,119,2,70,59,-100,100,115,-36,-15,-19,-125
 Data.b -57,-88,-11,-33,11,107,58,124,-109,-61,44,-48,-87,-107,74,-116,-111,-98,71,30,-97,-48,115,-63,62,-104,26,-65,-122,94,-34,-20,70,23,17,-65,36,99,-36
 Data.b -113,-96,-23,-21,-23,82,88,-23,-29,79,-107,14,7,81,-127,-44,-98,-99,127,-49,78,-43,112,82,-124,-99,-42,-35,29,-98,-87,-82,-1,0,-99,-113,31,51,-60
 Data.b 96,115,108,31,55,60,-99,106,-108,-33,44,-95,59,73,-59,-92,-71,91,91,-12,-67,-1,0,29,79,-90,-84,-18,86,-26,8,-27,-113,-128,64,-58,62,-125,24
 Data.b 3,63,76,127,74,-42,88,85,-58,27,-82,58,-9,25,-19,-23,-8,31,-1,0,87,-104,-40,120,-110,-34,-62,-62,49,35,46,64,28,30,8,-58,79,-74,58
 Data.b -29,-41,-113,-49,-85,-46,124,79,103,124,64,18,32,98,113,-44,31,-61,25,-25,24,-1,0,26,-12,35,56,-74,-109,106,-3,85,-38,-2,-73,63,17,-58,-27
 Data.b 120,-54,46,-91,74,116,42,123,24,84,-110,83,-77,123,61,29,-46,87,90,-21,-90,-23,-99,125,-75,-109,22,-38,-128,-110,72,31,79,78,-125,-48,-12,-19,-24
 Data.b 107,-84,-74,-48,-43,34,-13,-18,88,34,96,-110,88,-29,-7,-15,-33,-3,-82,-4,-127,89,-38,77,-27,-80,-38,-18,-55,-127,-49,85,-17,-49,76,-25,-112,49,-45
 Data.b -97,108,-44,62,44,-15,-91,-123,-106,-100,-15,-92,-119,-111,-111,-44,30,-34,-60,-6,-128,7,39,-91,110,-71,35,30,105,53,-90,-87,121,-69,95,-18,-46,-5,122
 Data.b -93,-29,-21,-1,0,105,-29,49,116,-80,120,90,83,114,-100,-29,25,-50,41,-74,-109,-74,-69,90,-10,-42,-17,127,43,31,-99,22,-102,-37,-110,82,73,72,39
 Data.b -116,22,-49,31,-25,-45,-66,107,-46,-76,127,24,67,-94,-23,-46,-65,-104,50,99,110,115,-113,-31,56,-49,127,-89,113,-114,78,58,-7,-65,-116,124,25,-88,105
 Data.b 12,102,-118,41,20,46,73,-7,88,112,51,-114,-34,-125,-81,94,-68,103,-81,-115,-22,-38,-18,-95,16,22,40,36,105,28,-20,-64,4,-98,-72,28,31,-82,57
 Data.b -56,-29,61,-85,-63,117,103,65,-74,-42,-85,69,-93,-65,79,-47,95,-18,-74,-23,-97,-39,-108,56,127,45,-30,-102,20,-91,-123,-83,74,120,122,-109,-116,-22,-63
 Data.b 53,104,-88,89,-66,102,-102,-78,75,-47,88,-101,-58,94,46,-105,87,-15,19,-70,49,109,-46,-111,-128,9,-32,-74,49,-57,-89,-82,14,14,51,-48,-126,-53,109
 Data.b 81,-30,120,-61,43,19,-111,-4,39,28,114,121,-23,-7,-29,-81,-25,-22,95,14,126,14,-49,-84,-37,-74,-79,-88,68,75,56,46,11,-87,-17,-41,27,-79,-45
 Data.b -66,123,-15,-24,43,-72,-66,-8,115,-91,88,-28,-52,-86,-91,62,-125,-111,-98,-4,-28,-6,-15,-11,21,-100,104,87,-110,-10,-110,-70,-26,-42,-46,-19,-90,-115,95
 Data.b -2,13,-98,-5,-98,-58,39,-118,-8,91,1,82,25,30,27,-9,-13,-64,-46,-114,26,-94,-91,102,-107,72,-92,-100,98,-41,109,-99,-65,11,27,95,12,-83,98
 Data.b -42,82,22,32,2,74,-11,24,-19,-111,-23,-49,25,-28,-12,61,122,-41,-47,-10,-98,29,88,10,16,-71,62,-69,115,-127,-58,125,58,-15,-45,-89,83,95,50
 Data.b 120,123,92,-79,-16,-51,-44,81,91,56,84,12,1,-63,0,96,30,-1,0,-128,-20,8,-20,69,125,53,-94,-8,-58,-58,-14,-34,9,11,-85,110,-37,-109,-111
 Data.b -114,113,-49,95,127,-57,-73,60,87,-87,-122,113,-28,73,-75,-52,-73,127,-122,-97,-105,75,-7,-97,-128,-15,-35,60,-43,-29,101,-117,-62,-47,-83,-11,26,-41,116
 Data.b -94,-45,-68,118,110,-10,93,82,-24,51,88,-16,105,-44,-41,124,67,107,-88,-31,-80,6,113,-40,-100,118,-17,-98,-35,121,-81,-97,-4,103,-85,-38,-8,37,-39
 Data.b 53,4,105,-35,114,6,-64,91,61,125,-79,-48,14,-35,61,9,-59,123,-33,-116,-68,101,37,-88,-73,-45,116,114,36,-68,-69,3,104,83,-110,1,-29,-74,15
 Data.b 94,114,120,-29,-41,-102,-14,-101,-49,13,-38,106,-101,-109,-59,-96,60,-45,-14,-91,-64,114,-124,-12,-63,32,-1,0,60,-15,-33,-116,85,116,-101,-27,-89,110,125
 Data.b -100,-27,-84,86,-85,75,127,-63,-21,-40,-28,-31,42,-43,-24,70,-114,35,61,-25,-98,91,59,-54,-106,6,-117,107,31,86,10,73,74,116,-42,-22,-102,105,-33
 Data.b -66,-74,62,97,-42,-2,46,-117,-46,99,-75,71,-119,57,0,16,65,-19,-49,99,-7,12,-13,-49,60,-42,-121,-123,126,37,-36,69,50,121,-109,55,45,-113,-67
 Data.b -113,-49,61,79,-23,-19,-36,-9,94,44,-8,10,-88,-53,123,-92,-62,94,-38,86,-54,-107,66,-61,4,119,-38,56,61,48,61,-67,43,-58,-75,-81,-122,-102,-50
 Data.b -118,124,-40,-96,-103,66,-14,62,86,32,-6,19,-111,-48,-97,78,-61,-100,117,30,92,-42,46,-100,-36,-91,-86,91,89,116,86,-2,-83,-83,-66,103,-17,-7,109
 Data.b 126,0,-50,112,16,-62,96,-86,82,-91,-19,-94,-41,37,121,71,-38,-58,-94,-78,113,-101,-106,-86,74,86,-70,-35,59,-10,-79,-11,69,-65,-59,49,29,-104,34
 Data.b -29,-26,-40,79,-33,-55,60,113,-49,-89,30,-66,-128,-15,-118,-13,-115,123,-30,4,-6,-95,104,-106,103,101,-55,32,7,36,122,112,71,-95,-4,-59,120,101,-108
 Data.b 26,-28,-82,-74,-91,38,-50,118,-98,27,-98,-36,-15,-100,-29,-16,24,-49,29,-67,-57,-62,-65,14,47,-18,-31,89,-90,-123,-53,50,-125,-54,-79,61,-3,71,3
 Data.b -37,-98,120,7,-80,-46,53,107,87,74,9,59,45,26,119,-41,101,-27,-36,-16,113,60,55,-62,-4,48,-25,-115,-81,87,14,-25,41,-13,83,106,80,-69,-39
 Data.b -90,-70,-82,-1,0,45,15,-71,60,77,-32,-35,19,-60,86,-78,44,38,18,-28,16,6,84,-100,-6,99,35,-82,113,-45,29,-85,-25,-79,-5,58,-61,46,-78
 Data.b -73,-110,-124,-14,82,81,33,36,12,99,32,-12,-36,125,-77,-127,-41,61,-15,94,10,63,104,-3,75,75,-71,101,89,94,64,91,-96,102,57,-57,7,-40,-25
 Data.b -88,32,17,-100,87,79,109,-5,81,106,-105,105,-27,121,82,-88,97,-126,-59,79,124,-25,-100,-15,-58,125,114,63,26,-22,-98,39,5,85,-82,117,-86,-73,116
 Data.b -82,-84,-5,125,-33,-45,95,1,-106,-8,127,-30,-73,14,97,-89,75,43,-60,-89,-123,-81,79,-107,-50,115,74,81,-116,-110,78,-41,119,-70,87,-7,-82,-6,31
 Data.b 97,27,29,23,-61,122,100,90,116,34,53,-40,-118,-116,83,0,-110,23,29,51,-100,113,-113,94,8,-25,-73,19,-87,-8,127,74,-42,81,-64,-101,12,-63,-79
 Data.b -122,-58,56,61,56,35,-98,-99,64,-21,-111,-100,-109,-32,75,-15,54,-25,90,95,62,73,88,22,57,-37,-72,-126,79,-90,61,-121,-29,-8,-13,90,118,-34,53
 Data.b -71,92,109,45,-98,-25,57,-58,51,-23,-49,78,70,115,-114,-34,-121,71,-120,-93,59,37,31,119,68,-107,-74,90,116,-33,78,-53,123,30,77,30,10,-49,-14
 Data.b -7,-54,-76,-15,85,86,97,42,-114,-91,106,-114,87,-67,70,-45,122,-54,-9,-77,-23,-9,45,74,-66,41,-8,98,98,-33,45,-83,-63,-36,50,-54,65,32,-116
 Data.b 100,-16,15,96,123,114,115,-24,14,107,-50,71,-116,-81,124,22,13,-83,-15,-111,-4,-84,-123,35,-111,-98,64,-57,39,-82,51,-36,126,117,-22,-45,-8,-114,-2
 Data.b -12,109,-55,-53,113,-98,114,125,56,-17,-127,-22,122,126,-68,-106,-93,-32,-40,124,65,39,-103,121,-126,79,61,1,61,51,-23,-37,-33,-95,-82,74,-119,95,-102
 Data.b -126,106,78,-37,-34,-33,101,-91,-8,-10,-45,-90,-120,-3,11,40,-58,78,52,97,-123,-30,-103,-45,-59,97,35,111,-122,43,-37,38,-84,-76,-110,87,75,116,-46
 Data.b -69,-12,103,3,-93,-4,88,-44,-82,-4,81,22,-91,-27,-69,67,16,9,26,-80,36,40,-28,113,-100,118,60,-25,-16,-50,57,-6,-69,-61,-78,15,27,75,111
 Data.b 53,-61,99,37,88,-10,-64,36,28,117,-12,-49,-65,4,19,-109,-49,-127,-57,-16,-26,-41,77,-3,-28,42,14,-33,-101,-111,-100,31,-89,29,-1,0,94,-107,-19
 Data.b 63,15,-28,-2,-49,-123,-50,118,-120,-64,7,29,50,14,114,113,-12,-25,-98,-25,-102,-68,50,-86,-101,-115,86,-33,51,-26,105,-9,-9,87,-4,53,-65,77,60
 Data.b -18,55,-87,-110,98,112,81,-58,112,-2,29,97,-85,-31,104,67,13,70,-92,126,40,-62,-23,109,-67,-18,-37,123,93,-65,51,-20,-65,14,-24,122,26,105,80
 Data.b 88,92,-84,110,-86,-85,-121,35,-26,24,3,-71,-25,3,60,-1,0,90,-117,95,-8,103,-31,-83,82,6,30,93,-72,44,-68,18,-87,-12,24,35,-98,-99,51
 Data.b -33,-80,21,-31,13,-15,26,61,60,109,-110,82,2,100,-3,-32,58,118,35,32,-126,120,-21,-116,113,-114,107,-122,-15,71,-19,23,-3,-104,-116,-79,74,73,76
 Data.b -29,4,-111,-64,56,-2,88,30,-97,-114,107,-44,-106,39,15,24,-38,113,-115,-94,-83,119,107,-24,-42,-70,-7,118,-4,79,-25,-84,15,3,113,-74,55,50,85
 Data.b 114,-116,70,50,53,42,-42,117,46,-91,37,79,-102,77,52,-19,-91,-101,-21,-78,-37,-52,-10,91,47,-128,26,36,119,-122,-32,44,5,3,23,-24,-72,-58,78
 Data.b 7,28,-15,-56,-3,58,103,29,-32,-16,-49,-121,-12,24,4,32,-62,10,12,118,3,-65,-41,-81,-79,-57,-21,95,21,89,-2,-42,23,2,23,86,45,-48,-100
 Data.b -32,-6,30,-32,-29,-41,-97,94,-35,107,-105,-44,-65,104,-101,-99,92,73,34,-52,-29,-87,24,99,-41,-100,-13,-21,-48,-25,-116,116,-30,-71,-42,51,5,21,122
 Data.b 105,93,-37,-55,-12,-12,-21,125,63,-32,35,-19,106,120,101,-30,-82,105,-120,-116,51,-116,77,119,-121,-93,-53,24,-75,38,-45,-8,119,119,122,-12,-69,-7,-18
 Data.b -113,12,-16,-49,-61,57,117,41,-124,-41,-85,-2,-45,101,113,-37,29,15,24,-28,-111,-100,-1,0,42,-11,-125,-16,-57,74,75,109,-79,-94,-7,-95,78,62,94
 Data.b -8,-19,-21,-49,108,-11,-59,122,118,-97,96,-111,46,-56,-48,34,-116,103,3,-100,122,103,-71,-29,-16,-92,-68,-107,109,100,10,113,-126,123,-6,96,123,-5,-114
 Data.b -7,-50,56,-82,40,97,-87,66,26,-85,-7,-11,-43,-81,-23,-97,-81,102,60,103,-99,102,88,-49,-36,-30,-86,81,-124,53,-123,26,110,-47,81,77,89,52,-73
 Data.b 91,105,-25,-71,-13,-51,-34,-119,54,-113,49,-119,119,-88,86,-32,-29,-41,-114,-128,14,58,114,61,-1,0,29,-67,43,-19,18,58,-93,3,-100,-15,-127,-111,-20
 Data.b 127,46,-33,-56,87,-85,95,-23,118,-38,-110,-84,-69,85,-101,-114,122,125,115,-24,113,-41,-41,-125,-51,77,-92,120,106,49,62,66,112,8,3,24,36,-5,14
 Data.b -67,79,110,-125,-65,-83,76,104,53,37,-53,-86,122,-83,-38,-23,-45,-65,79,-23,35,106,-36,83,74,-90,9,-53,21,31,-10,-123,27,77,-69,107,53,101,117
 Data.b -41,-17,-13,48,108,-96,-108,-54,-118,20,-126,-59,64,-29,57,-1,0,-11,-6,-5,-41,-70,-8,115,-62,-80,-53,108,-109,-36,32,3,104,60,-3,51,-57,-79,-3
 Data.b 71,-81,74,-81,-91,120,78,22,-110,57,89,23,11,-122,-49,-90,49,-97,-53,-21,-3,49,-48,107,58,-36,26,77,-70,-38,66,-61,42,2,-100,28,115,-8,99
 Data.b -100,-25,-37,60,87,101,42,74,-99,-27,61,122,-69,-7,-38,-6,90,-53,-82,-9,-12,63,45,-49,51,-70,-71,-99,74,88,44,-77,-99,85,109,123,73,70,-21
 Data.b -107,105,-41,-89,94,-65,51,3,-60,30,31,91,120,-52,-48,-82,99,-63,-24,6,48,73,28,122,119,-21,-37,-89,-96,-32,-19,-28,54,41,50,-90,62,114,113
 Data.b -11,-6,122,-14,70,113,-57,95,-81,-84,89,107,22,-102,-90,-103,44,51,21,44,20,-112,127,-3,125,-114,122,-25,61,61,-85,-63,-68,95,-82,91,-23,38,96
 Data.b 25,65,5,-15,-98,61,-70,113,-55,-23,-128,7,57,-94,-85,-116,82,-102,106,-35,59,116,79,-27,-41,-27,115,-89,-121,99,-114,-57,84,-87,-107,-41,-91,82,117
 Data.b -95,82,43,91,-65,104,-82,-100,101,-26,-41,-98,-74,-45,-95,79,88,-67,-127,119,121,-49,-106,110,14,79,-7,-6,-28,-2,99,57,62,83,-83,-39,105,-105,108
 Data.b -51,35,-125,-100,-25,-65,-8,-25,-45,61,71,106,-60,-65,-41,-81,-75,75,-121,16,6,43,-110,6,6,125,125,-113,28,-10,-49,-71,52,-21,109,39,81,-67,117
 Data.b -34,31,4,-11,57,-21,-45,-127,-23,-41,-113,-62,-68,-23,79,-99,-23,22,-18,-19,-2,94,-70,-21,-83,-73,-44,-3,-77,45,-55,-34,83,78,-99,90,-40,-65,-85
 Data.b -44,-27,78,81,-116,-84,-45,-47,-14,-38,-9,91,109,126,-114,-38,-18,91,-8,83,79,-70,-115,-106,-40,2,88,17,-64,4,-25,-90,122,122,125,51,92,-18,-93
 Data.b -31,11,-21,22,100,-73,-120,-123,110,-124,47,24,39,-48,114,7,-89,81,-109,94,-33,-95,104,82,90,34,-110,14,120,-56,-57,78,79,94,-25,-66,125,-113,53
 Data.b -38,54,-103,12,-15,47,-101,10,-79,3,-82,6,127,-82,64,-6,-6,-13,-56,-95,97,-29,52,-81,27,75,-78,-65,100,-70,127,-63,-1,0,60,42,113,-107,124
 Data.b 6,42,74,21,94,46,-125,-107,-102,-88,-18,-12,-75,-97,-11,-70,125,89,-24,-112,-40,121,125,6,58,-112,8,-50,15,-1,0,95,-41,39,-40,102,-68,-33,-58
 Data.b 55,-65,97,-105,-98,57,29,122,14,1,61,15,111,-56,-116,114,56,-81,83,-41,117,21,-47,17,-68,-11,57,0,-28,-112,71,-1,0,91,-41,-100,-97,92,116
 Data.b -49,-52,30,61,-15,76,122,-124,-28,69,-44,28,12,118,-22,58,99,-110,70,71,-31,-100,98,-69,113,18,-116,32,-46,126,-9,85,-67,-75,79,-73,-53,95,-64
 Data.b -4,-37,-125,-16,24,-68,-45,31,78,-77,-89,41,-31,-100,109,-19,62,-50,-100,-67,108,-1,0,-85,-18,117,-70,127,-120,-48,-89,46,58,31,-48,-113,78,125,115
 Data.b -38,-70,-19,7,-60,-48,73,113,-77,120,-32,-113,79,-49,7,62,-100,-15,-17,-42,-66,108,-45,-82,-81,101,13,-27,-121,32,-122,-11,35,-73,-73,-13,-2,67,-101
 Data.b -106,122,-98,-93,-90,-36,-103,88,73,-116,-28,-16,70,59,-116,18,113,-48,-29,-79,30,-75,-55,28,68,-93,109,-12,126,-86,-38,127,77,-38,-6,-3,-1,0,127
 Data.b -113,-31,26,24,-120,-30,41,66,80,85,121,111,8,-13,36,-36,-99,-65,29,63,59,-9,62,-45,62,46,-73,-78,-74,59,-100,15,-108,-114,24,117,-57,-65,62
 Data.b -125,4,15,-64,113,94,99,127,-85,-66,-75,116,-26,6,44,55,30,-121,35,-45,-89,67,-37,-113,64,57,35,21,-25,86,90,-67,-42,-73,18,-60,-116,75,54
 Data.b -43,32,103,63,-113,-96,60,-25,-14,-81,-96,-66,31,-8,19,54,-65,108,-69,82,1,82,-60,-80,-57,108,-6,-113,-90,58,-29,35,32,26,-21,-116,-25,-120,106
 Data.b 49,94,-17,93,-68,-75,-4,-34,-57,-25,56,-52,-69,44,-31,26,21,-15,120,-71,127,-75,-54,92,-112,-123,-18,-37,-70,-8,83,-19,-7,-66,-69,28,-122,-107,-88
 Data.b 75,100,-51,20,-71,25,4,96,-11,-57,124,103,35,56,-56,60,12,-13,-23,92,95,-118,-4,50,-2,34,119,-99,36,-38,11,22,35,60,114,73,-25,63,92
 Data.b 123,-9,25,21,-23,94,50,-80,-73,-79,-67,-3,-55,-64,28,28,112,59,-2,-96,-3,123,119,-82,90,43,-110,-88,65,111,-105,-82,70,58,123,113,-98,61,-79
 Data.b -57,90,83,74,-50,-100,-11,73,-12,123,-20,-41,-90,-97,-94,-46,-57,94,87,-117,-100,101,71,55,-53,-1,0,117,90,-84,99,118,-30,-102,-35,38,-71,109,107
 Data.b -75,-45,-16,-36,-30,116,-97,8,89,105,113,7,-71,100,-56,-29,39,-65,-73,-89,-31,-4,-70,-41,99,-89,105,-74,18,28,67,-79,-80,122,-82,61,9,29,58
 Data.b 99,-33,-114,125,-115,120,-73,-60,95,26,61,-71,54,-106,12,75,-90,115,-77,36,-16,51,-109,-45,0,119,-25,-81,78,-72,-82,103,-64,-1,0,19,-25,-80,-70
 Data.b -14,111,-9,16,-49,-113,-100,-98,61,-7,-21,-12,63,-105,60,114,-86,-76,-87,-51,66,-54,-55,-21,46,-119,-23,-43,-82,-67,108,-19,-13,103,-33,79,-122,120,-117
 Data.b 53,-54,-22,102,-34,-42,115,-85,52,-25,28,61,-7,102,-31,-90,-86,63,-115,-68,-105,99,-21,104,-76,-8,-41,3,3,36,-15,-64,28,-6,-116,-10,-28,103,-42
 Data.b -76,82,-63,24,109,-38,15,76,-32,126,60,-74,71,-72,31,-41,-91,115,90,23,-119,-84,-11,-95,19,-64,-63,-117,0,113,-100,-14,113,-57,83,-113,124,19,-49
 Data.b 29,-85,-43,44,52,-103,-27,-119,100,84,44,15,57,0,-32,-25,-21,-20,56,-19,-36,-114,107,-66,10,51,-42,45,114,-17,117,-3,110,126,69,-102,86,-60,-27
 Data.b -45,-28,-58,55,66,-94,118,113,-88,-20,-7,-76,-47,-21,-39,90,-1,0,113,-1,-39

EndDataSection
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Y'a du neuf pour la KCCWindows :D
IDLE m'a aussi donné un coup de main pour le resizing.
Il a fait un super boulot et alors la elle repond au doigt et à l'oeil :D
J'en ai profité pour rajouter une fonction de transparence (Je sais pas si c'est comme ça qu'il faut faire, mais ça marche...sauf un scintillemnt du bouton) :roll:

Code : Tout sélectionner

; http://www.purebasic.fr/english/viewtopic.php?p=269442#269442

Global hwnd,x,y,l,h,cr,gImgBack,myMouseHook 
cr = LoadCursor_(0, #IDC_SIZENWSE) 

Enumeration 
 #FormWeb 
 #LabelResize 
 #ImageFond 
 #BackGround 
EndEnumeration 

Structure MSLLHOOKSTRUCT 
    pt.POINT; 
    mouseData.l; 
    flags.l; 
    time.l; 
    dwExtraInfo.l; 
EndStructure 

Declare MouseProc(ncode.l,wParam.l,lParam.l) 

Procedure SetHooks() 
    hInstance = GetModuleHandle_(0) 
        
    If hInstance 
       myMouseHook = SetWindowsHookEx_(#WH_MOUSE_LL, @MouseProc(),hInstance,0) 
    Else 
       MessageRequester("hook failed", "can't get module handle") 
    EndIf  

EndProcedure 

Procedure KillHooks() 
   UnhookWindowsHookEx_(myMouseHook) 
   MyMouseHook = 0 
EndProcedure 

Procedure.l MouseProc(ncode.l,wParam.l,lParam.l) 

    Static mMouseInput.MSLLHOOKSTRUCT 
    CopyMemory(lparam,@mMouseInput,SizeOf(MSLLHOOKSTRUCT))  
    Static bResize,bMove,wx,wy 
        
    ret = CallNextHookEx_(myMousehook, nCode, wParam, lParam) 
          
    If ncode = #HC_ACTION 
      If wParam 
          
        TargetX.f=WindowX(#FormWeb)+WindowWidth(#FormWeb) - 50     ;your target region on the window 
        TargetY.f=WindowY(#FormWeb)+WindowHeight(#FormWeb) - 50 
        TargetWidth.f = 50 
        TargetHeight.f = 50 
        
           ;test for hit on the target 
           If mMouseInput\pt\x < TargetX+TargetWidth And mMouseInput\pt\x > TargetX And mMouseInput\pt\y > TargetY And mMouseInput\pt\y < TargetY + TargetHeight 
             SetCursor_(cr) 
             bHit = #True    ;yep it hit 
           EndIf 
          
           Select wParam 
                    
             Case #WM_LBUTTONDOWN 
                 If WindowID(#FormWeb) = GetForegroundWindow_() ;make sure it's your window 
                  If bHit 
                    SetCursor_(cr) 
                    bReSize = #True   ;flagto resize on mouse move                
                  Else 
                    bMove = #True     ;ok we know its our window so flag to move it 
                    wx = WindowX(#formWeb) - mMouseInput\pt\x   ;coordinate offsets to move 
                    wy = WindowY(#formWeb) - mMouseInput\pt\y 
                  EndIf 
                 EndIf  
             Case #WM_LBUTTONUP 
                   bMove = #False              
                   bResize = #False  
             Case #WM_MBUTTONDOWN 
                    
             Case #WM_MBUTTONUP 
                
             Case #WM_RBUTTONDOWN 
                    
             Case #WM_RBUTTONUP 
                    
             Case #WM_MOUSEMOVE 
                  If bResize 
                                    
                    SetCursor_(cr) 
                    SetWindowPos_(WindowID(#FormWeb),#HWND_TOP,WindowX(#FormWeb),WindowY(#FormWeb),mMouseInput\pt\x-WindowX(#FormWeb)+20,mMouseInput\pt\y-WindowY(#FormWeb)+20,#SWP_NOREPOSITION | #SWP_SHOWWINDOW |#SWP_FRAMECHANGED) 
                    region = CreateRoundRectRgn_(0, 0, WindowWidth(#FormWeb), WindowHeight(#FormWeb), 50, 50) 
                    SetWindowRgn_(WindowID(#FormWeb), region, #True) 
                    DeleteObject_(region) 
                        
                  ElseIf bMove 
                    ;cant use send message from here to move the window need to do it manually 
                    SetWindowPos_(WindowID(#FormWeb),#HWND_TOP,(mMouseInput\pt\x+wx),(mMouseInput\pt\y+wy),WindowWidth(#FormWeb),WindowHeight(#FormWeb), #SWP_SHOWWINDOW) 
                                        
                  EndIf    
             Case #WM_MOUSEWHEEL 
                                      
          EndSelect 
                
        EndIf 
      EndIf 
        
    ProcedureReturn ret 
    
EndProcedure 

Procedure OpenWindowWeb(PbId, PosX, PosY, LargeurInterne, HauteurInterne, Options) 
  
 OpenWindow (PbId, PosX, PosY, LargeurInterne, HauteurInterne, "", Options) 
 CreateGadgetList(WindowID(PbId)) 
 ButtonGadget(222, 5, 80, 105, 35, "BUTTON") 
  
 region = CreateRoundRectRgn_(0, 0, WindowWidth(PbId), WindowHeight(PbId), 50, 50) 
 SetWindowRgn_(WindowID(PbId), region, #True) 
 DeleteObject_(region) 
 ProcedureReturn WindowID(PbId) 
  
EndProcedure 

hwnd = OpenWindowWeb(#FormWeb, 0, 0, 700, 500, #PB_Window_BorderLess|#PB_Window_ScreenCentered) 
SetWindowLong_(WindowID(#FormWeb), #GWL_EXSTYLE, $00080000) ; #WS_EX_LAYERED = $00080000 
SetLayeredWindowAttributes_(WindowID(#FormWeb), 0, 100, 2) 
sethooks() 

UseJPEGImageDecoder() 

CatchImage(#ImageFond, ?FondEcran) 

ExamineDesktops() 
ix = DesktopWidth(0) 
iy = DesktopHeight(0) 

gImgBack = CreateImage(#PB_Any,ix,iy)   ;create a background image the width of the screen 

StartDrawing(ImageOutput(gImgBack)) 

For Colonne = 1 To ix Step 95 
 For Ligne = 1 To iy Step 95 
  DrawImage(ImageID(#ImageFond),Colonne, Ligne) 
 Next 
Next 

StopDrawing() 

hB = CreatePatternBrush_(ImageID(gImgBack)) 
SetClassLong_(WindowID(#FormWeb),#GCL_HBRBACKGROUND, hB) 
InvalidateRect_(WindowID(#FormWeb),0, 1) 


Repeat 
  
  event =WaitWindowEvent() 
  
  If event = #WM_KEYDOWN  ;  Commande clavier 
    key = EventwParam() 
  EndIf 
  
Until event = #PB_Event_CloseWindow  Or key = 27 


killhooks() 
End 

DataSection 
  
 FondEcran : 
 ; ********* 
  
 Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,0,0,1,0,1,0,0,-1,-37,0,67,0,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,-1,-37,0,67,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,-1,-64,0,17,8,0,96,0,96,3,1,34,0,2,17,1,3,17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0 
 Data.b 0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2 
 Data.b 3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63,21,82,-47,-16,36,51,98,114,-126,9,10,22,23 
 Data.b 24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105 
 Data.b 106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75 
 Data.b -74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13,-12,-11,-10 
 Data.b -9,-8,-7,-6,-1,-60,0,31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60 
 Data.b 0,-75,17,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127 
 Data.b 8,20,66,-111,-95,-79,-63,9,35,51,82,-16,21,98,114,-47,10,22,36,52,-31,37,-15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67 
 Data.b 68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119 
 Data.b -118,-110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45 
 Data.b -44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17,3,17,0,63,0 
 Data.b -25,-66,32,-8,74,-37,82,-126,95,37,85,-120,82,126,92,122,30,113,-49,78,-8,-19,-98,123,31,-104,101,-8,45,121,-86,-36,59,-92,71,-122,-55,-32,-97 
 Data.b 83,-37,30,-98,-25,-100,-41,-43,-102,-114,-80,21,8,124,-28,-28,96,-6,-15,-55,-49,81,-8,-6,-25,-75,105,104,55,-10,-90,38,98,20,18,15,96,8,61 
 Data.b -71,-4,15,-25,-58,121,7,-3,46,-87,70,-107,105,-34,91,63,85,-14,-42,-5,-7,-19,-45,93,-1,0,-49,28,-109,-118,120,-117,-122,114,-57,28,36,-27,82 
 Data.b -51,70,50,-107,-37,91,95,-67,-11,-12,-20,-103,-14,-19,-121,-62,-59,-46,-121,-109,52,96,55,35,4,15,-21,-41,-4,-29,-38,75,-65,-123,-126,-15,71,-108,-103 
 Data.b 56,-22,23,-11,-29,61,-67,-77,-22,61,61,-117,-60,-102,-126,37,-20,-114,8,-64,-50,63,-104,-63,-11,57,31,-32,7,53,-109,109,-82,-56,0,104,-57,-35,62 
 Data.b -35,125,-114,15,25,7,3,-81,-81,24,-84,-67,-115,20,-7,109,-24,-74,-45,77,-3,108,-70,-10,62,-98,-97,19,-15,45,120,83,-57,70,-69,-10,-75,34,-89 
 Data.b 43,-35,36,-35,-76,-43,-23,125,-105,-82,-89,45,-32,-1,0,-124,-110,89,94,35,-51,24,17,-122,86,57,24,3,-111,-41,-90,1,0,-9,-56,-29,-118,-9,-51 
 Data.b 75,85,-48,60,51,-89,71,102,-17,24,96,-118,27,5,71,80,50,115,-100,-1,0,-97,126,124,-97,81,-15,-27,-3,-116,46,17,112,-63,72,82,61,71,4 
 Data.b -116,1,-57,3,-21,-98,-125,4,-113,-103,60,101,-30,-19,111,82,-71,-111,-98,121,0,12,112,55,30,-39,-19,-97,-57,56,-49,29,40,117,-87,-31,-95,106,113 
 Data.b 110,77,104,-102,-37,94,-106,-3,125,73,-61,-16,-42,125,-57,25,-107,42,-39,-58,54,52,112,-44,109,36,-87,-49,-29,-106,-106,118,90,-23,115,-36,-66,36,-36 
 Data.b -40,73,-89,-1,0,106,89,-70,-56,-92,-28,-31,-127,42,72,-35,-48,122,-109,-100,-6,-100,10,-16,-122,-41,-43,-83,36,42,-39,96,-115,-56,36,-14,1,-21,-41 
 Data.b -44,-97,90,111,-121,53,-101,-83,82,-54,-29,73,-44,29,-99,88,17,25,98,115,-100,30,48,115,-45,-41,-89,31,-106,79,-4,35,-9,-53,126,44,-19,-29,103 
 Data.b -114,73,0,4,46,70,-42,32,122,99,-95,-28,-25,-89,-89,53,-59,57,-70,-113,-98,42,-54,73,38,-106,-74,122,93,109,-41,-41,93,-99,-49,-44,50,92,-105 
 Data.b 15,-109,80,-83,-106,99,-15,10,117,48,117,125,-83,42,-45,-110,-116,106,97,-83,25,45,95,85,-86,118,-41,-18,-79,79,-61,126,10,127,19,93,77,123,114 
 Data.b -124,-121,102,-38,27,-36,-15,-44,-113,94,-1,0,-41,-114,107,-57,-65,11,-82,116,-94,110,-84,-30,101,-57,-51,-107,83,-114,-68,112,59,96,-13,-57,61,43,-19 
 Data.b -81,5,-8,70,45,43,77,-73,19,42,-119,89,3,50,-29,-111,-97,81,-49,61,125,120,-21,-44,87,69,-82,-8,111,77,-43,109,90,9,35,92,-107,-63,37 
 Data.b 65,-56,-23,-33,-45,-73,114,107,79,-87,70,116,-75,-46,109,94,-3,110,-46,-1,0,45,-65,30,-34,74,-15,91,19,-105,-25,-4,-40,121,58,-103,109,41,-86 
 Data.b 62,-55,107,77,-46,-125,81,-47,55,103,-91,-11,-42,-2,-105,62,93,-3,-97,60,49,127,-85,-50,22,-32,-78,-7,103,105,-49,3,-126,51,-23,-114,-104,0,-29 
 Data.b -21,-46,-65,71,52,-97,12,88,-23,-6,108,107,35,43,62,-47,-100,-111,-23,-56,60,-25,39,4,-10,-3,113,95,60,120,67,-61,-87,-31,73,89,-84,23,1 
 Data.b -40,-79,61,58,-12,-58,14,123,123,-12,-28,-12,3,-42,71,-120,47,36,-120,36,-127,-113,24,-29,-88,-10,-49,92,-12,-57,60,87,126,18,17,-95,77,70,90 
 Data.b -55,43,121,116,-33,117,-73,-4,55,83,-14,47,18,-13,108,111,21,103,117,49,120,10,-54,-122,2,82,-116,-95,78,54,-124,-45,-78,-67,-42,-113,-18,-79,87 
 Data.b 90,-16,-39,-44,35,50,89,-115,-56,1,33,-128,60,-116,-5,116,63,-31,-24,120,-30,-91,-118,-29,70,86,89,24,-96,80,71,36,-32,126,63,-3,126,-104,-29 
 Data.b 53,-81,-95,-4,87,-47,-19,44,94,43,-90,66,66,-100,2,71,60,28,119,-56,-10,-21,-21,-51,115,122,-57,-120,109,-68,87,28,-81,99,-123,80,9,0,122 
 Data.b -10,-23,-21,-125,-33,-95,-6,19,82,-107,54,-108,-93,36,-26,-42,-79,91,-12,111,-18,-33,111,-52,-13,114,-4,30,123,66,-76,-16,121,-114,14,-91,60,-66,-107 
 Data.b 72,-59,98,-86,71,77,90,-77,111,102,-11,-1,0,-122,-71,-64,-8,-121,93,-74,47,42,-103,114,-40,35,25,-17,-97,-60,115,-98,49,-116,115,-49,53,-60,-53 
 Data.b -29,24,52,-24,-104,41,4,-116,-111,-55,-49,7,-111,-63,-23,-45,-16,-4,-21,-53,-4,111,-87,-35,-23,-6,-52,-42,-5,-50,3,54,57,-9,-58,0,-23,-2,60 
 Data.b 117,21,-60,53,-4,-9,78,3,-71,57,35,-95,-49,-87,-25,-45,-65,-90,59,-15,-45,-53,-87,-119,106,78,-41,77,126,122,119,86,-12,-20,-69,117,-2,-123,-55 
 Data.b -8,46,-124,-16,56,106,-75,103,-49,-121,-85,78,21,-110,90,93,114,-89,107,122,121,63,-60,-11,123,-1,0,26,-55,125,-68,18,48,73,-38,50,123,-97,127 
 Data.b 95,111,78,58,-41,47,32,23,-114,100,101,44,73,36,-116,127,-113,31,-96,-25,-90,42,-98,-97,-92,-49,116,83,98,-109,-72,-114,-57,-16,-28,-1,0,92,103 
 Data.b -33,34,-67,103,-61,-2,20,37,64,-102,60,-79,29,72,-18,120,-64,-57,83,-41,63,-113,74,-104,-87,-44,122,-21,-21,-45,107,-33,-91,-2,-18,-121,-95,-118,-85 
 Data.b -107,100,52,-33,-80,113,-124,-93,101,-53,23,20,-20,-110,77,-6,95,79,95,67,-51,-84,-57,-10,124,-53,50,14,119,2,70,59,-100,100,115,-36,-15,-19,-125 
 Data.b -57,-88,-11,-33,11,107,58,124,-109,-61,44,-48,-87,-107,74,-116,-111,-98,71,30,-97,-48,115,-63,62,-104,26,-65,-122,94,-34,-20,70,23,17,-65,36,99,-36 
 Data.b -113,-96,-23,-21,-23,82,88,-23,-29,79,-107,14,7,81,-127,-44,-98,-99,127,-49,78,-43,112,82,-124,-99,-42,-35,29,-98,-87,-82,-1,0,-99,-113,31,51,-60 
 Data.b 96,115,108,31,55,60,-99,106,-108,-33,44,-95,59,73,-59,-92,-71,91,91,-12,-67,-1,0,29,79,-90,-84,-18,86,-26,8,-27,-113,-128,64,-58,62,-125,24 
 Data.b 3,63,76,127,74,-42,88,85,-58,27,-82,58,-9,25,-19,-23,-8,31,-1,0,87,-104,-40,120,-110,-34,-62,-62,49,35,46,64,28,30,8,-58,79,-74,58 
 Data.b -29,-41,-113,-49,-85,-46,124,79,103,124,64,18,32,98,113,-44,31,-61,25,-25,24,-1,0,26,-12,35,56,-74,-109,106,-3,85,-38,-2,-73,63,17,-58,-27 
 Data.b 120,-54,46,-91,74,116,42,123,24,84,-110,83,-77,123,61,29,-46,87,90,-21,-90,-23,-99,125,-75,-109,22,-38,-128,-110,72,31,79,78,-125,-48,-12,-19,-24 
 Data.b 107,-84,-74,-48,-43,34,-13,-18,88,34,96,-110,88,-29,-7,-15,-33,-3,-82,-4,-127,89,-38,77,-27,-80,-38,-18,-55,-127,-49,85,-17,-49,76,-25,-112,49,-45 
 Data.b -97,108,-44,62,44,-15,-91,-123,-106,-100,-15,-92,-119,-111,-111,-44,30,-34,-60,-6,-128,7,39,-91,110,-71,35,30,105,53,-90,-87,121,-69,95,-18,-46,-5,122 
 Data.b -93,-29,-21,-1,0,105,-29,49,116,-80,120,90,83,114,-100,-29,25,-50,41,-74,-109,-74,-69,90,-10,-42,-17,127,43,31,-99,22,-102,-37,-110,82,73,72,39 
 Data.b -116,22,-49,31,-25,-45,-66,107,-46,-76,127,24,67,-94,-23,-46,-65,-104,50,99,110,115,-113,-31,56,-49,127,-89,113,-114,78,58,-7,-65,-116,124,25,-88,105 
 Data.b 12,102,-118,41,20,46,73,-7,88,112,51,-114,-34,-125,-81,94,-68,103,-81,-115,-22,-38,-18,-95,16,22,40,36,105,28,-20,-64,4,-98,-72,28,31,-82,57 
 Data.b -56,-29,61,-85,-63,117,103,65,-74,-42,-85,69,-93,-65,79,-47,95,-18,-74,-23,-97,-39,-108,56,127,45,-30,-102,20,-91,-123,-83,74,120,122,-109,-116,-22,-63 
 Data.b 53,104,-88,89,-66,102,-102,-78,75,-47,88,-101,-58,94,46,-105,87,-15,19,-70,49,109,-46,-111,-128,9,-32,-74,49,-57,-89,-82,14,14,51,-48,-126,-53,109 
 Data.b 81,-30,120,-61,43,19,-111,-4,39,28,114,121,-23,-7,-29,-81,-25,-22,95,14,126,14,-49,-84,-37,-74,-79,-88,68,75,56,46,11,-87,-17,-41,27,-79,-45 
 Data.b -66,123,-15,-24,43,-72,-66,-8,115,-91,88,-28,-52,-86,-91,62,-125,-111,-98,-4,-28,-6,-15,-11,21,-100,104,87,-110,-10,-110,-70,-26,-42,-46,-19,-90,-115,95 
 Data.b -2,13,-98,-5,-98,-58,39,-118,-8,91,1,82,25,30,27,-9,-13,-64,-46,-114,26,-94,-91,102,-107,72,-92,-100,98,-41,109,-99,-65,11,27,95,12,-83,98 
 Data.b -42,82,22,32,2,74,-11,24,-19,-111,-23,-49,25,-28,-12,61,122,-41,-47,-10,-98,29,88,10,16,-71,62,-69,115,-127,-58,125,58,-15,-45,-89,83,95,50 
 Data.b 120,123,92,-79,-16,-51,-44,81,91,56,84,12,1,-63,0,96,30,-1,0,-128,-20,8,-20,69,125,53,-94,-8,-58,-58,-14,-34,9,11,-85,110,-37,-109,-111 
 Data.b -114,113,-49,95,127,-57,-73,60,87,-87,-122,113,-28,73,-75,-52,-73,127,-122,-97,-105,75,-7,-97,-128,-15,-35,60,-43,-29,101,-117,-62,-47,-83,-11,26,-41,116 
 Data.b -94,-45,-68,118,110,-10,93,82,-24,51,88,-16,105,-44,-41,124,67,107,-88,-31,-80,6,113,-40,-100,118,-17,-98,-35,121,-81,-97,-4,103,-85,-38,-8,37,-39 
 Data.b 53,4,105,-35,114,6,-64,91,61,125,-79,-48,14,-35,61,9,-59,123,-33,-116,-68,101,37,-88,-73,-45,116,114,36,-68,-69,3,104,83,-110,1,-29,-74,15 
 Data.b 94,114,120,-29,-41,-102,-14,-101,-49,13,-38,106,-101,-109,-59,-96,60,-45,-14,-91,-64,114,-124,-12,-63,32,-1,0,60,-15,-33,-116,85,116,-101,-27,-89,110,125 
 Data.b -100,-27,-84,86,-85,75,127,-63,-21,-40,-28,-31,42,-43,-24,70,-114,35,61,-25,-98,91,59,-54,-106,6,-117,107,31,86,10,73,74,116,-42,-22,-102,105,-33 
 Data.b -66,-74,62,97,-42,-2,46,-117,-46,99,-75,71,-119,57,0,16,65,-19,-49,99,-7,12,-13,-49,60,-42,-121,-123,126,37,-36,69,50,121,-109,55,45,-113,-67 
 Data.b -113,-49,61,79,-23,-19,-36,-9,94,44,-8,10,-88,-53,123,-92,-62,94,-38,86,-54,-107,66,-61,4,119,-38,56,61,48,61,-67,43,-58,-75,-81,-122,-102,-50 
 Data.b -118,124,-40,-96,-103,66,-14,62,86,32,-6,19,-111,-48,-97,78,-61,-100,117,30,92,-42,46,-100,-36,-91,-86,91,89,116,86,-2,-83,-83,-66,103,-17,-7,109 
 Data.b 126,0,-50,112,16,-62,96,-86,82,-91,-19,-94,-41,37,121,71,-38,-58,-94,-78,113,-101,-106,-86,74,86,-70,-35,59,-10,-79,-11,69,-65,-59,49,29,-104,34 
 Data.b -29,-26,-40,79,-33,-55,60,113,-49,-89,30,-66,-128,-15,-118,-13,-115,123,-30,4,-6,-95,104,-106,103,101,-55,32,7,36,122,112,71,-95,-4,-59,120,101,-108 
 Data.b 26,-28,-82,-74,-91,38,-50,118,-98,27,-98,-36,-15,-100,-29,-16,24,-49,29,-67,-57,-62,-65,14,47,-18,-31,89,-90,-123,-53,50,-125,-54,-79,61,-3,71,3 
 Data.b -37,-98,120,7,-80,-46,53,107,87,74,9,59,45,26,119,-41,101,-27,-36,-16,113,60,55,-62,-4,48,-25,-115,-81,87,14,-25,41,-13,83,106,80,-69,-39 
 Data.b -90,-70,-82,-1,0,45,15,-71,60,77,-32,-35,19,-60,86,-78,44,38,18,-28,16,6,84,-100,-6,99,35,-82,113,-45,29,-85,-25,-79,-5,58,-61,46,-78 
 Data.b -73,-110,-124,-14,82,81,33,36,12,99,32,-12,-36,125,-77,-127,-41,61,-15,94,10,63,104,-3,75,75,-71,101,89,94,64,91,-96,102,57,-57,7,-40,-25 
 Data.b -88,32,17,-100,87,79,109,-5,81,106,-105,105,-27,121,82,-88,97,-126,-59,79,124,-25,-100,-15,-58,125,114,63,26,-22,-98,39,5,85,-82,117,-86,-73,116 
 Data.b -82,-84,-5,125,-33,-45,95,1,-106,-8,127,-30,-73,14,97,-89,75,43,-60,-89,-123,-81,79,-107,-50,115,74,81,-116,-110,78,-41,119,-70,87,-7,-82,-6,31 
 Data.b 97,27,29,23,-61,122,100,90,116,34,53,-40,-118,-116,83,0,-110,23,29,51,-100,113,-113,94,8,-25,-73,19,-87,-8,127,74,-42,81,-64,-101,12,-63,-79 
 Data.b -122,-58,56,61,56,35,-98,-99,64,-21,-111,-100,-109,-32,75,-15,54,-25,90,95,62,73,88,22,57,-37,-72,-126,79,-90,61,-121,-29,-8,-13,90,118,-34,53 
 Data.b -71,92,109,45,-98,-25,57,-58,51,-23,-49,78,70,115,-114,-34,-121,71,-120,-93,59,37,31,119,68,-107,-74,90,116,-33,78,-53,123,30,77,30,10,-49,-14 
 Data.b -7,-54,-76,-15,85,86,97,42,-114,-91,106,-114,87,-67,70,-45,122,-54,-9,-77,-23,-9,45,74,-66,41,-8,98,98,-33,45,-83,-63,-36,50,-54,65,32,-116 
 Data.b 100,-16,15,96,123,114,115,-24,14,107,-50,71,-116,-81,124,22,13,-83,-15,-111,-4,-84,-123,35,-111,-98,64,-57,39,-82,51,-36,126,117,-22,-45,-8,-114,-2 
 Data.b -12,109,-55,-53,113,-98,114,125,56,-17,-127,-22,122,126,-68,-106,-93,-32,-40,124,65,39,-103,121,-126,79,61,1,61,51,-23,-37,-33,-95,-82,74,-119,95,-102 
 Data.b -126,106,78,-37,-34,-33,101,-91,-8,-10,-45,-90,-120,-3,11,40,-58,78,52,97,-123,-30,-103,-45,-59,97,35,111,-122,43,-37,38,-84,-76,-110,87,75,116,-46 
 Data.b -69,-12,103,3,-93,-4,88,-44,-82,-4,81,22,-91,-27,-69,67,16,9,26,-80,36,40,-28,113,-100,118,60,-25,-16,-50,57,-6,-69,-61,-78,15,27,75,111 
 Data.b 53,-61,99,37,88,-10,-64,36,28,117,-12,-49,-65,4,19,-109,-49,-127,-57,-16,-26,-41,77,-3,-28,42,14,-33,-101,-111,-100,31,-89,29,-1,0,94,-107,-19 
 Data.b 63,15,-28,-2,-49,-123,-50,118,-120,-64,7,29,50,14,114,113,-12,-25,-98,-25,-102,-68,50,-86,-101,-115,86,-33,51,-26,105,-9,-9,87,-4,53,-65,77,60 
 Data.b -18,55,-87,-110,98,112,81,-58,112,-2,29,97,-85,-31,104,67,13,70,-92,126,40,-62,-23,109,-67,-18,-37,123,93,-65,51,-20,-65,14,-24,122,26,105,80 
 Data.b 88,92,-84,110,-86,-85,-121,35,-26,24,3,-71,-25,3,60,-1,0,90,-117,95,-8,103,-31,-83,82,6,30,93,-72,44,-68,18,-87,-12,24,35,-98,-99,51 
 Data.b -33,-80,21,-31,13,-15,26,61,60,109,-110,82,2,100,-3,-32,58,118,35,32,-126,120,-21,-116,113,-114,107,-122,-15,71,-19,23,-3,-104,-116,-79,74,73,76 
 Data.b -29,4,-111,-64,56,-2,88,30,-97,-114,107,-44,-106,39,15,24,-38,113,-115,-94,-83,119,107,-24,-42,-70,-7,118,-4,79,-25,-84,15,3,113,-74,55,50,85 
 Data.b 114,-116,70,50,53,42,-42,117,46,-91,37,79,-102,77,52,-19,-91,-101,-21,-78,-37,-52,-10,91,47,-128,26,36,119,-122,-32,44,5,3,23,-24,-72,-58,78 
 Data.b 7,28,-15,-56,-3,58,103,29,-32,-16,-49,-121,-12,24,4,32,-62,10,12,118,3,-65,-41,-81,-79,-57,-21,95,21,89,-2,-42,23,2,23,86,45,-48,-100 
 Data.b -32,-6,30,-32,-29,-41,-97,94,-35,107,-105,-44,-65,104,-101,-99,92,73,34,-52,-29,-87,24,99,-41,-100,-13,-21,-48,-25,-116,116,-30,-71,-42,51,5,21,122 
 Data.b 105,93,-37,-55,-12,-12,-21,125,63,-32,35,-19,106,120,101,-30,-82,105,-120,-116,51,-116,77,119,-121,-93,-53,24,-75,38,-45,-8,119,119,122,-12,-69,-7,-18 
 Data.b -113,12,-16,-49,-61,57,117,41,-124,-41,-85,-2,-45,101,113,-37,29,15,24,-28,-111,-100,-1,0,42,-11,-125,-16,-57,74,75,109,-79,-94,-7,-95,78,62,94 
 Data.b -8,-19,-21,-49,108,-11,-59,122,118,-97,96,-111,46,-56,-48,34,-116,103,3,-100,122,103,-71,-29,-16,-92,-68,-107,109,100,10,113,-126,123,-6,96,123,-5,-114 
 Data.b -7,-50,56,-82,40,97,-87,66,26,-85,-7,-11,-43,-81,-23,-97,-81,102,60,103,-99,102,88,-49,-36,-30,-86,81,-124,53,-123,26,110,-47,81,77,89,52,-73 
 Data.b 91,105,-25,-71,-13,-51,-34,-119,54,-113,49,-119,119,-88,86,-32,-29,-41,-114,-128,14,58,114,61,-1,0,29,-67,43,-19,18,58,-93,3,-100,-15,-127,-111,-20 
 Data.b 127,46,-33,-56,87,-85,95,-23,118,-38,-110,-84,-69,85,-101,-114,122,125,115,-24,113,-41,-41,-125,-51,77,-92,120,106,49,62,66,112,8,3,24,36,-5,14 
 Data.b -67,79,110,-125,-65,-83,76,104,53,37,-53,-86,122,-83,-38,-23,-45,-65,79,-23,35,106,-36,83,74,-90,9,-53,21,31,-10,-123,27,77,-69,107,53,101,117 
 Data.b -41,-17,-13,48,108,-96,-108,-54,-118,20,-126,-59,64,-29,57,-1,0,-11,-6,-5,-41,-70,-8,115,-62,-80,-53,108,-109,-36,32,3,104,60,-3,51,-57,-79,-3 
 Data.b 71,-81,74,-81,-91,120,78,22,-110,57,89,23,11,-122,-49,-90,49,-97,-53,-21,-3,49,-48,107,58,-36,26,77,-70,-38,66,-61,42,2,-100,28,115,-8,99 
 Data.b -100,-25,-37,60,87,101,42,74,-99,-27,61,122,-69,-7,-38,-6,90,-53,-82,-9,-12,63,45,-49,51,-70,-71,-99,74,88,44,-77,-99,85,109,123,73,70,-21 
 Data.b -107,105,-41,-89,94,-65,51,3,-60,30,31,91,120,-52,-48,-82,99,-63,-24,6,48,73,28,122,119,-21,-37,-89,-96,-32,-19,-28,54,41,50,-90,62,114,113 
 Data.b -11,-6,122,-14,70,113,-57,95,-81,-84,89,107,22,-102,-90,-103,44,51,21,44,20,-112,127,-3,125,-114,122,-25,61,61,-85,-63,-68,95,-82,91,-23,38,96 
 Data.b 25,65,5,-15,-98,61,-70,113,-55,-23,-128,7,57,-94,-85,-116,82,-102,106,-35,59,116,79,-27,-41,-27,115,-89,-121,99,-114,-57,84,-87,-107,-41,-91,82,117 
 Data.b -95,82,43,91,-65,104,-82,-100,101,-26,-41,-98,-74,-45,-95,79,88,-67,-127,119,121,-49,-106,110,14,79,-7,-6,-28,-2,99,57,62,83,-83,-39,105,-105,108 
 Data.b -51,35,-125,-100,-25,-65,-8,-25,-45,61,71,106,-60,-65,-41,-81,-75,75,-121,16,6,43,-110,6,6,125,125,-113,28,-10,-49,-71,52,-21,109,39,81,-67,117 
 Data.b -34,31,4,-11,57,-21,-45,-127,-23,-41,-113,-62,-68,-23,79,-99,-23,22,-18,-19,-2,94,-70,-21,-83,-73,-44,-3,-77,45,-55,-34,83,78,-99,90,-40,-65,-85 
 Data.b -44,-27,78,81,-116,-84,-45,-47,-14,-38,-9,91,109,126,-114,-38,-18,91,-8,83,79,-70,-115,-106,-40,2,88,17,-64,4,-25,-90,122,122,125,51,92,-18,-93 
 Data.b -31,11,-21,22,100,-73,-120,-123,110,-124,47,24,39,-48,114,7,-89,81,-109,94,-33,-95,104,82,90,34,-110,14,120,-56,-57,78,79,94,-25,-66,125,-113,53 
 Data.b -38,54,-103,12,-15,47,-101,10,-79,3,-82,6,127,-82,64,-6,-6,-13,-56,-95,97,-29,52,-81,27,75,-78,-65,100,-70,127,-63,-1,0,60,42,113,-107,124 
 Data.b 6,42,74,21,94,46,-125,-107,-102,-88,-18,-12,-75,-97,-11,-70,125,89,-24,-112,-40,121,125,6,58,-112,8,-50,15,-1,0,95,-41,39,-40,102,-68,-33,-58 
 Data.b 55,-65,97,-105,-98,57,29,122,14,1,61,15,111,-56,-116,114,56,-81,83,-41,117,21,-47,17,-68,-11,57,0,-28,-112,71,-1,0,91,-41,-100,-97,92,116 
 Data.b -49,-52,30,61,-15,76,122,-124,-28,69,-44,28,12,118,-22,58,99,-110,70,71,-31,-100,98,-69,113,18,-116,32,-46,126,-9,85,-67,-75,79,-73,-53,95,-64 
 Data.b -4,-37,-125,-16,24,-68,-45,31,78,-77,-89,41,-31,-100,109,-19,62,-50,-100,-67,108,-1,0,-85,-18,117,-70,127,-120,-48,-89,46,58,31,-48,-113,78,125,115 
 Data.b -38,-70,-19,7,-60,-48,73,113,-77,120,-32,-113,79,-49,7,62,-100,-15,-17,-42,-66,108,-45,-82,-81,101,13,-27,-121,32,-122,-11,35,-73,-73,-13,-2,67,-101 
 Data.b -106,122,-98,-93,-90,-36,-103,88,73,-116,-28,-16,70,59,-116,18,113,-48,-29,-79,30,-75,-55,28,68,-93,109,-12,126,-86,-38,127,77,-38,-6,-3,-1,0,127 
 Data.b -113,-31,26,24,-120,-30,41,66,80,85,121,111,8,-13,36,-36,-99,-65,29,63,59,-9,62,-45,62,46,-73,-78,-74,59,-100,15,-108,-114,24,117,-57,-65,62 
 Data.b -125,4,15,-64,113,94,99,127,-85,-66,-75,116,-26,6,44,55,30,-121,35,-45,-89,67,-37,-113,64,57,35,21,-25,86,90,-67,-42,-73,18,-60,-116,75,54 
 Data.b -43,32,103,63,-113,-96,60,-25,-14,-81,-96,-66,31,-8,19,54,-65,108,-69,82,1,82,-60,-80,-57,108,-6,-113,-90,58,-29,35,32,26,-21,-116,-25,-120,106 
 Data.b 49,94,-17,93,-68,-75,-4,-34,-57,-25,56,-52,-69,44,-31,26,21,-15,120,-71,127,-75,-54,92,-112,-123,-18,-37,-70,-8,83,-19,-7,-66,-69,28,-122,-107,-88 
 Data.b 75,100,-51,20,-71,25,4,96,-11,-57,124,103,35,56,-56,60,12,-13,-23,92,95,-118,-4,50,-2,34,119,-99,36,-38,11,22,35,60,114,73,-25,63,92 
 Data.b 123,-9,25,21,-23,94,50,-80,-73,-79,-67,-3,-55,-64,28,28,112,59,-2,-96,-3,123,119,-82,90,43,-110,-88,65,111,-105,-82,70,58,123,113,-98,61,-79 
 Data.b -57,90,83,74,-50,-100,-11,73,-12,123,-20,-41,-90,-97,-94,-46,-57,94,87,-117,-100,101,71,55,-53,-1,0,117,90,-84,99,118,-30,-102,-35,38,-71,109,107 
 Data.b -75,-45,-16,-36,-30,116,-97,8,89,105,113,7,-71,100,-56,-29,39,-65,-73,-89,-31,-4,-70,-41,99,-89,105,-74,18,28,67,-79,-80,122,-82,61,9,29,58 
 Data.b 99,-33,-114,125,-115,120,-73,-60,95,26,61,-71,54,-106,12,75,-90,115,-77,36,-16,51,-109,-45,0,119,-25,-81,78,-72,-82,103,-64,-1,0,19,-25,-80,-70 
 Data.b -14,111,-9,16,-49,-113,-100,-98,61,-7,-21,-12,63,-105,60,114,-86,-76,-87,-51,66,-54,-55,-21,46,-119,-23,-43,-82,-67,108,-19,-13,103,-33,79,-122,120,-117 
 Data.b 53,-54,-22,102,-34,-42,115,-85,52,-25,28,61,-7,102,-31,-90,-86,63,-115,-68,-105,99,-21,104,-76,-8,-41,3,3,36,-15,-64,28,-6,-116,-10,-28,103,-42 
 Data.b -76,82,-63,24,109,-38,15,76,-32,126,60,-74,71,-72,31,-41,-91,115,90,23,-119,-84,-11,-95,19,-64,-63,-117,0,113,-100,-14,113,-57,83,-113,124,19,-49 
 Data.b 29,-85,-43,44,52,-103,-27,-119,100,84,44,15,57,0,-32,-25,-21,-20,56,-19,-36,-114,107,-66,10,51,-42,45,114,-17,117,-3,110,126,69,-102,86,-60,-27 
 Data.b -45,-28,-58,55,66,-94,118,113,-88,-20,-7,-76,-47,-21,-39,90,-1,0,113,-1,-39 

EndDataSection 
Dernière modification par Kwai chang caine le jeu. 04/déc./2008 11:43, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

les balises Code s'il te plait !! :wink:
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Oui mon DOBRO, en fait ça a queuter a cause que les deux codes ne rentraient pas dans le meme POST :?
J'etais en train de corriger ........quand j'ai lu ton POST, t'es plus rapide que la lumiere toi :D
Voila le deuxieme ...

Bon apres j'ai rajouté une fonction de hjbremer (Barre de bouton)
Et maintenant j'arrive plus a resizer, si quelqu'un comprend pourquoi ?? :?
Je pense que doit y avoir la meme variable utilisée dans les deux codes :roll:

J'y pense, je vais peut etre mettre des boutons normaux, ou encore mieux ...des boutons images, j'essaye .... :roll:

Moi ce que j'aurais aimé rajouter c'est un cadre autour de la fenetre style bordure, comme une vraie fenetre....
Et pis, aussi comment faire pour que les boutons ne soit pas transparents ??

Code : Tout sélectionner

; http://www.purebasic.fr/english/viewtopic.php?p=269442#269442
; http://www.purebasic.fr/german/viewtopic.php?t=15698&highlight=buttonleiste
; Bad coded by KCC :-(
; But corrected by IDLE (Very good Resizing)
; Also thanks at hjbremer (Gadget button)

Global hwnd,x,y,l,h,cr,gImgBack,myMouseHook 
cr = LoadCursor_(0, #IDC_SIZENWSE) 
Declare MouseProc(ncode.l,wParam.l,lParam.l) 

WindowBreite  = 400                    
WindowHoehe   = 100 

Enumeration 

 #FormWeb 
 #LabelResize 
 #ImageFond 
 #BackGround 

 #mytbar1 
  
 #farbid1 
 #farbid2 
 #farbid3 
 #farbid4 
 #farbid5 
 #farbid6 
  
EndEnumeration 

#mybutmax=10  ;Maximum de boutons

Structure MSLLHOOKSTRUCT 
 pt.POINT; 
 mouseData.l; 
 flags.l; 
 time.l; 
 dwExtraInfo.l; 
EndStructure 

Structure myButtonBar 
              ;i.V.= interne Variable 
 butanz.l      ;Buttonanzahl 
 senkrecht.l   ;Senkrechte Buttonleiste 
 toggle.l      ;keine Gruppe sondern Einzelschalter 
 nobutton.l 
 contflag.l    ;Containerflag z.B. #PB_Container_Single 
 contnr.l      ;i.V.= PB Container Nr. 
 
 fontid.l      ;für Text 
 txtcenter.l   ;wenn 0, Text direkt neben Icon, wenn 1 text mittig, kein Icon text mittig 
 txtcolor1.l   ;Farben für Text 
 txtcolor2.l   ; 
 butcolor1a.l  ;Farbverlauf von 
 butcolor1b.l  ;Farbverlauf bis 
 butcolor2a.l  ; 
 butcolor2b.l  ; 
 extcolor.l    ;wenn 1, dann müssen Farben extern festgelegt werden 
 
 bmp1.l        ;ID vom Hintergrundbild 
 bmp2.l        ; 
 brush1.l      ;i.V.= Brush erstellt aus Hintergrundbild 
 brush2.l      ;i.V.= 
 bitmap1.l     ;i.V.= Image erstellt aus Hintergrundbild 
 bitmap2.l     ;i.V.= 
 
 ico1.l [#mybutmax]  ;Icons im Button 
 ico2.l [#mybutmax]  ; 
 text.s [#mybutmax]  ;Text im Button 
 txt2.s [#mybutmax]  ;Text im Button 
 pbnr.l [#mybutmax]  ;i.V.= PB Button Nummer 
 activ.l[#mybutmax]  ;i.V.= merkt sich zuletzt gedrückten Button 
 
 sp.l[#mybutmax]     ;i.V.= spalte des buttons im container 
 ze.l[#mybutmax]     ;i.V.= 
 br.l[#mybutmax]     ;i.V.= Buttonbreite 
 hh.l[#mybutmax]     ;i.V.= Buttonhöhe 

EndStructure 

Procedure FarbverlaufImage(width,height,color1,color2,type) 
 
 ; von Danilo aus dem Codearchiv, 
 ; angepasst von hjbremer  
 ;type = 
 vertikal = 0 
 horizontal = 1 
 Img = CreateImage(#PB_Any,width,height) 
 
 If Img 
  
  If type=vertikal
   i = width 
  Else 
   i = height 
  EndIf 
  
  sRed.f   = Red(color1)   : r.f = (Red  (color1) - Red  (color2))/i 
  sGreen.f = Green(color1) : g.f = (Green(color1) - Green(color2))/i 
  sBlue.f  = Blue(color1)  : b.f = (Blue (color1) - Blue (color2))/i 
  StartDrawing(ImageOutput(img)) 

  For a = 0 To i-1 
   
   xx.f = sRed   - a*r 
   yy.f = sGreen - a*g 
   z.f = sBlue  - a*b 

   If type=horizontal 
    Line(0,a,width,0,RGB(x,y,z)) 
   Else 
    Line(a,0,0,height,RGB(x,y,z)) 
   EndIf 
   
  Next a 

  StopDrawing() 

 EndIf 
 
 ProcedureReturn ImageID(Img) 
 
EndProcedure 

Procedure myButtonBar(pbnr,sp,ze,br,hh,*myMb.myButtonBar,flag=0) 

 ;bitmap darf kein ICO sein !!! 
   
 ;flag = 0 = Image als Hintergrundbild 
 ;flag = 1 = Image als Brush 
 ;flag = 2 = Farbverlauf 
 ;oder 
 ;flag = 0 + ein bitmap = 0 = Farbverlauf 
     
 senkrecht=*myMb\senkrecht 
 
 If senkrecht  ;1 oder mehrere senkrechte Spalten 
 
  spx=0 
  zex=0 
  brx=(br - 2) / senkrecht 
  
  xyz=*myMb\butanz / senkrecht 
  mod=*myMb\butanz % senkrecht 
  If mod: xyz+1: EndIf 
  
  hhx=hh / xyz 
  
  For j = 1 To *myMb\butanz        
   *myMb\sp[j]=spx 
   *myMb\ze[j]=zex 
   *myMb\br[j]=brx 
   *myMb\hh[j]=hhx   
      
   If j % senkrecht  
    spx+brx 
   Else 
    spx=0 
    zex+hhx 
   EndIf 
   
  Next  
   
 Else   ;Waagerechte Buttonleiste 
 
  spx=0 
  zex=0 
  brx=br / *myMb\butanz 
  hhx=hh - 2 
  
  For j = 1 To *myMb\butanz        
   *myMb\sp[j]=spx 
   *myMb\ze[j]=zex 
   *myMb\br[j]=brx 
   *myMb\hh[j]=hhx      
   spx+brx 
  Next 
 
 EndIf 

 If *myMb\extcolor = 0   ;Farben intern festlegen 

   ;Farbe Text normal+gedrückt 
   *myMb\txtcolor1 = $0 
   *myMb\txtcolor2 = $FE6400 
   ;normal: Farbe von - bis 
   *myMb\butcolor1a= $FFFFFF 
   *myMb\butcolor1b= $DB826E 
   ;gedrückt: Farbe von - bis 
   *myMb\butcolor2a= $E0FBFF 
   *myMb\butcolor2b= $4562FF 

 EndIf 
 
 bitmap1=*myMb\bmp1 
 bitmap2=*myMb\bmp2 
 
 ;make a brush, manchmal besser als das Bild 
 If bitmap1 And bitmap2 And flag=1 
    ;wenn Original nicht mehr gebraucht wird, 
    ;#LR_COPYDELETEORG anstatt der null am Ende. 
    ID = CopyImage_(bitmap1, #IMAGE_BITMAP, brx/4, hhx, 0) 
    *myMb\brush1 = CreatePatternBrush_(ID) 
    DeleteObject_(ID) 
    ID = CopyImage_(bitmap2, #IMAGE_BITMAP, brx/4, hhx, 0) 
    *myMb\brush2 = CreatePatternBrush_(ID) 
    DeleteObject_(ID) 
         
 ;Resize bitmap 
 ElseIf bitmap1 And bitmap2 And flag=0 
    ;erspart br+hh Angabe in myButtonBarInfo() DrawImage 
    ;#LR_COPYDELETEORG anstatt der null eventuell am Ende. 
    *myMb\bitmap1 = CopyImage_(bitmap1, #IMAGE_BITMAP, brx, hhx, 0) 
    *myMb\bitmap2 = CopyImage_(bitmap2, #IMAGE_BITMAP, brx, hhx, 0) 
     
 ;Image mit Farbverlauf erstellen, flag > 1 oder ein Bitmap = 0 
 Else 
    *myMb\bitmap1 = FarbverlaufImage(brx,hhx,*myMb\butcolor1a,*myMb\butcolor1b,1)  ; 1=horizontal  
    *myMb\bitmap2 = FarbverlaufImage(brx,hhx,*myMb\butcolor2a,*myMb\butcolor2b,1)  ; 1=horizontal  
 EndIf 
   
 *myMb\contnr = pbnr ;Container pbnr für OpenGadgetList() 

 
 hh+2 
 If *myMb\nobutton: hh-4:EndIf  
 hdl=ContainerGadget(pbnr,sp,ze,br+1,hh,*myMb\contflag) 
     CloseGadgetList() 

 ProcedureReturn hdl 
 
EndProcedure 

Procedure myButtonBarInfo(nr,pbnr,*myMb.myButtonBar,ea,ico1=0,ico2=0,txt1$="",txt2$="") 

;ico1 + ico2 muß ein ICON sein !!! oder man Tauscht #IMAGE_ICON gegen #IMAGE_BITMAP 

If *myMb\butanz < nr Or nr = 0: MessageRequester("","falsche laufende Nr.: " + Str(nr)): End: EndIf 

 sp=*myMb\sp[nr] 
 ze=*myMb\ze[nr] 
 br=*myMb\br[nr] 
 hh=*myMb\hh[nr] 
 
 ;diese Zeilen wichtig für myButtonBarState() 
 If txt1$="": txt1$=*mymb\text[nr]: Else: *mymb\text[nr]=txt1$: EndIf 
 If txt2$="": txt2$=*mymb\txt2[nr]: Else: *mymb\txt2[nr]=txt2$: EndIf 
 If ico1=0:   ico1=*mymb\ico1[nr]: Else: *mymb\ico1[nr]=ico1: EndIf 
 If ico2=0:   ico2=*mymb\ico2[nr]: Else: *mymb\ico2[nr]=ico2: EndIf 
 
 *myMb\activ[nr]=ea     ;welcher Button soll aktiv sein 
 *myMb\pbnr [nr]=pbnr   ; 
 
 txt$=txt1$ 
 ico=ico1 
 bmp=*myMb\bitmap1 
 brush=*myMb\brush1 
 farbe=*myMb\txtcolor1 
 
 If ea 
 
  If txt2$<>""
   txt$=txt2$
  EndIf 
  
  ico=ico2 
  bmp=*myMb\bitmap2 
  brush=*myMb\brush2 
  farbe=*myMb\txtcolor2 
  
 EndIf 
 
 ;Image neu zeichnen  
 image = CreateImage(pbnr,br,hh)         ;hier wird pbnr 2x benutzt, für Button + Image 
 dc = StartDrawing(ImageOutput(pbnr)) ;das muß so sein und geht auch nicht anders 
                                           ;denn #PB_Any + CreateImage vertragen sich nicht immer 
 ;Hintergrund malen            ;irgendwann kommt es zur Meldung GadgetNr. to high... 
 If brush 
  r.rect 
  r\right=br 
  r\bottom=hh 
  FillRect_(dc,r,brush) 
 ElseIf bmp 
  DrawImage(bmp, 0, 0) 
 Else  ;falls bmp null ist, zur Sicherheit 
  Box(0, 0, br, hh, GetSysColor_(#COLOR_3DLIGHT)) 
 EndIf 
 
 If *myMb\fontid 
  DrawingFont(*myMb\fontid) 
 EndIf 
 
 ;Ico malen 
 If ico 
 
  icohh=16:txtabsp=20 
  
  If hh < 24 
   icohh=12:txtabsp=16 
  EndIf 
  
  ID = CopyImage_(ico, #IMAGE_ICON, icohh, icohh, 0) 
  icoze=(hh-icohh)/2 
  DrawImage(ID,5,icoze) 
  
 EndIf 
 
 ;ist ein #LF$ im Text ? 
 p=FindString(txt$,#LF$,1) 
 
 If p  ;ja 
 
  txt1$=Left(txt$,p-1) 
  txt2$= Mid(txt$,p+1,99) 

  ;Text sp+ze berechnen 
  If ico 
   
   txtbr=br-txtabsp  ;txtabsp für Icobreite berücksichtigen, siehe Ico malen 
   txtsp1=txtabsp+3 
   txtsp2=txtsp1 

   If txtbr > TextWidth(txt1$) 
    If *myMb\txtcenter=1
     txtsp1=txtabsp+((txtbr-TextWidth(txt1$))/2)-3
    EndIf 
   EndIf 

   If txtbr > TextWidth(txt2$) 
    If *myMb\txtcenter=1
     txtsp2=txtabsp+((txtbr-TextWidth(txt2$))/2)-3
    EndIf 
   EndIf 

  Else 

   txtbr=br    
   txtsp1=(txtbr-TextWidth(txt1$))/2 ;kein ico, text immer in die mitte 
   txtsp2=(txtbr-TextWidth(txt2$))/2 ;kein ico, text immer in die mitte 

  EndIf
  
  txtze1=(hh-(2*TextHeight(txt$)))/3 
  txtze2=txtze1+TextHeight(txt$)+3 
  
  DrawingMode(#PB_2DDrawing_Transparent) 
  DrawText(txtsp1,txtze1+2,txt1$,farbe)                        
  DrawText(txtsp2,txtze2+2,txt2$,farbe)                        

 Else  ;nein 
   
  ;Text sp+ze berechnen 
  If ico 
  
   txtbr=br-txtabsp 
   txtsp=txtabsp+3 
   
   If txtbr > TextWidth(txt$) 
    If *myMb\txtcenter=1
     txtsp=txtabsp+((txtbr-TextWidth(txt$))/2)-3
    EndIf 
   EndIf 
   
  Else 
  
   txtbr=br    
   txtsp=(txtbr-TextWidth(txt$))/2 ;kein ico, text immer in die mitte 
   
  EndIf 
  
  txtze=(hh-TextHeight(txt$))/2 
  DrawingMode(#PB_2DDrawing_Transparent) 
  DrawText(txtsp,txtze,txt$,farbe)                        

 EndIf 

 StopDrawing() 
   
 OpenGadgetList(*myMb\contnr) 
 
 If *myMb\nobutton 
  ImageGadget(pbnr,sp,ze,br,hh,image)  
 Else 
  ButtonImageGadget(pbnr,sp,ze,br,hh,image)  
  SetGadgetData(pbnr,ea) 
 EndIf 
   
 CloseGadgetList() 

EndProcedure 

Procedure myButtonBarState(*myMb.myButtonBar,welcherButton=0) 
  
 If *myMb\toggle 

  ;Farbe umschalten 
  For nr = 1 To *myMb\butanz 
   ;gedrückter Button 
   If *myMb\pbnr[nr] = welcherButton        
    lfdnr=nr 
    pbnr=*myMb\pbnr[nr] 
    status=GetGadgetData(pbnr) 
    status = status Not status    
    myButtonBarInfo(nr,pbnr,*myMb,status) 
    SetGadgetData(pbnr,status) 
   EndIf 
  Next 

 Else 

  ;Farbe umschalten 
  For nr = 1 To *myMb\butanz 
   ;aktiver Button wird normal 
   If *myMb\activ[nr] 
    pbnr=*myMb\pbnr[nr] 
    myButtonBarInfo(nr,pbnr,*myMb,0) 
    SetGadgetData(pbnr,0) 
   EndIf 
   ;gedrückter Button wird Highlight 
   If *myMb\pbnr[nr] = welcherButton 
    lfdnr=nr 
    pbnr=*myMb\pbnr[nr] 
    myButtonBarInfo(nr,pbnr,*myMb,1) 
    SetGadgetData(pbnr,1) 
   EndIf 
  Next 

 EndIf 

 ProcedureReturn lfdnr 

EndProcedure 

Procedure SetHooks() 
    hInstance = GetModuleHandle_(0) 
        
    If hInstance 
       myMouseHook = SetWindowsHookEx_(#WH_MOUSE_LL, @MouseProc(),hInstance,0) 
    Else 
       MessageRequester("hook failed", "can't get module handle") 
    EndIf  

EndProcedure 

Procedure KillHooks() 
   UnhookWindowsHookEx_(myMouseHook) 
   MyMouseHook = 0 
EndProcedure 

Procedure.l MouseProc(ncode.l,wParam.l,lParam.l) 

    Static mMouseInput.MSLLHOOKSTRUCT 
    CopyMemory(lparam,@mMouseInput,SizeOf(MSLLHOOKSTRUCT))  
    Static bResize,bMove,wx,wy 
        
    ret = CallNextHookEx_(myMousehook, nCode, wParam, lParam) 
          
    If ncode = #HC_ACTION 
      If wParam 
          
        Targetxx.f=WindowX(#FormWeb)+WindowWidth(#FormWeb) - 50     ;your target region on the window 
        Targetyy.f=WindowY(#FormWeb)+WindowHeight(#FormWeb) - 50 
        TargetWidth.f = 50 
        TargetHeight.f = 50 
        
           ;test for hit on the target 
           If mMouseInput\pt\x < TargetX+TargetWidth And mMouseInput\pt\x > TargetX And mMouseInput\pt\y > TargetY And mMouseInput\pt\y < TargetY + TargetHeight 
             SetCursor_(cr) 
             bHit = #True    ;yep it hit 
           EndIf 
          
           Select wParam 
                    
             Case #WM_LBUTTONDOWN 
                 If WindowID(#FormWeb) = GetForegroundWindow_() ;make sure it's your window 
                  If bHit 
                    SetCursor_(cr) 
                    bReSize = #True   ;flagto resize on mouse move                
                  Else 
                    bMove = #True     ;ok we know its our window so flag to move it 
                    wx = WindowX(#formWeb) - mMouseInput\pt\x   ;coordinate offsets to move 
                    wy = WindowY(#formWeb) - mMouseInput\pt\y 
                  EndIf 
                 EndIf  
             Case #WM_LBUTTONUP 
                   bMove = #False              
                   bResize = #False  
             Case #WM_MBUTTONDOWN 
                    
             Case #WM_MBUTTONUP 
                
             Case #WM_RBUTTONDOWN 
                    
             Case #WM_RBUTTONUP 
                    
             Case #WM_MOUSEMOVE 
                  If bResize 
                                    
                    SetCursor_(cr) 
                    SetWindowPos_(WindowID(#FormWeb),#HWND_TOP,WindowX(#FormWeb),WindowY(#FormWeb),mMouseInput\pt\x-WindowX(#FormWeb)+20,mMouseInput\pt\y-WindowY(#FormWeb)+20,#SWP_NOREPOSITION | #SWP_SHOWWINDOW |#SWP_FRAMECHANGED) 
                    region = CreateRoundRectRgn_(0, 0, WindowWidth(#FormWeb), WindowHeight(#FormWeb), 50, 50) 
                    SetWindowRgn_(WindowID(#FormWeb), region, #True) 
                    DeleteObject_(region) 
                        
                  ElseIf bMove 
                    ;cant use send message from here to move the window need to do it manually 
                    SetWindowPos_(WindowID(#FormWeb),#HWND_TOP,(mMouseInput\pt\x+wx),(mMouseInput\pt\y+wy),WindowWidth(#FormWeb),WindowHeight(#FormWeb), #SWP_SHOWWINDOW) 
                                        
                  EndIf    
             Case #WM_MOUSEWHEEL 
                                      
          EndSelect 
                
        EndIf 
      EndIf 
        
    ProcedureReturn ret 
    
EndProcedure 

Procedure OpenWindowWeb(PbId, PosX, PosY, LargeurInterne, HauteurInterne, Options) 
  
 OpenWindow (PbId, PosX, PosY, LargeurInterne, HauteurInterne, "", Options) 
 CreateGadgetList(WindowID(PbId)) 
  
 region = CreateRoundRectRgn_(0, 0, WindowWidth(PbId), WindowHeight(PbId), 50, 50) 
 SetWindowRgn_(WindowID(PbId), region, #True) 
 DeleteObject_(region) 
 ProcedureReturn WindowID(PbId) 
  
EndProcedure 

hwnd = OpenWindowWeb(#FormWeb, 0, 0, 700, 500, #PB_Window_BorderLess|#PB_Window_ScreenCentered) 
SetWindowLong_(WindowID(#FormWeb), #GWL_EXSTYLE, $00080000) ; #WS_EX_LAYERED = $00080000 
SetLayeredWindowAttributes_(WindowID(#FormWeb), 0, 100, 2) 
sethooks() 

UseJPEGImageDecoder() 
ExamineDesktops() 
ix = DesktopWidth(0) 
iy = DesktopHeight(0) 
CatchImage(#ImageFond, ?FondEcran) 
gImgBack = CreateImage(#PB_Any,ix,iy)   ;create a background image the width of the screen 

StartDrawing(ImageOutput(gImgBack)) 

For Colonne = 1 To ix Step 95 
 For Ligne = 1 To iy Step 95 
  DrawImage(ImageID(#ImageFond),Colonne, Ligne) 
 Next 
Next 

StopDrawing() 

hB = CreatePatternBrush_(ImageID(gImgBack)) 
SetClassLong_(WindowID(#FormWeb),#GCL_HBRBACKGROUND, hB) 
InvalidateRect_(WindowID(#FormWeb),0, 1) 

myMb.myButtonBar 
     
br = 500 ; LargeurGadget
sp = 10 ; x
ze = 10 ; y
hh = 20 ; Hauteur des boutons

myFb.myButtonBar 
myFb\butanz = 6 
myFb\senkrecht = 6

myButtonBar(#mytbar1,sp, ze, br, hh, myFb,0) 
 
myButtonBarInfo(1,#farbid1,myFb,0,0,0,"1") 
myButtonBarInfo(2,#farbid2,myFb,0,0,0,"2") 
myButtonBarInfo(3,#farbid3,myFb,0,0,0,"3") 
myButtonBarInfo(4,#farbid4,myFb,0,0,0,"4") 
myButtonBarInfo(5,#farbid5,myFb,0,0,0,"5") 
myButtonBarInfo(6,#farbid6,myFb,0,0,0,"6") 

Repeat 
  
  Event =WaitWindowEvent() 
  
  Select Event 

   Case #WM_KEYDOWN  ;  Commande clavier 
   
    key = EventwParam() 
   
   Case #PB_Event_Gadget
    
    EvenementGadget = EventGadget() 
    
    Select EvenementGadget
     
     Case #farbid1 To #farbid6 

      Press = myButtonBarState(myFb, EvenementGadget) 
     
      Select Press 
      
       Case 1
         MessageRequester("Essai", "1")                 
       Case 4: 
        MessageRequester("Essai", "4")                                  
       Case 2: 
        MessageRequester("Essai", "2")    
       Case 5: 
        MessageRequester("Essai", "5") 
       Case 3: 
        MessageRequester("Essai", "3")        
       Case 6:          
        MessageRequester("Essai", "6") 
      EndSelect 
      
     lastButton=0 
   
   EndSelect
   
  EndSelect
  
Until event = #PB_Event_CloseWindow  Or key = 27 

killhooks() 

End 

DataSection 
  
 FondEcran : 
 ; ********* 
  
 Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,0,0,1,0,1,0,0,-1,-37,0,67,0,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,-1,-37,0,67,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,-1,-64,0,17,8,0,96,0,96,3,1,34,0,2,17,1,3,17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0 
 Data.b 0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2 
 Data.b 3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63,21,82,-47,-16,36,51,98,114,-126,9,10,22,23 
 Data.b 24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105 
 Data.b 106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75 
 Data.b -74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13,-12,-11,-10 
 Data.b -9,-8,-7,-6,-1,-60,0,31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60 
 Data.b 0,-75,17,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127 
 Data.b 8,20,66,-111,-95,-79,-63,9,35,51,82,-16,21,98,114,-47,10,22,36,52,-31,37,-15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67 
 Data.b 68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119 
 Data.b -118,-110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45 
 Data.b -44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17,3,17,0,63,0 
 Data.b -25,-66,32,-8,74,-37,82,-126,95,37,85,-120,82,126,92,122,30,113,-49,78,-8,-19,-98,123,31,-104,101,-8,45,121,-86,-36,59,-92,71,-122,-55,-32,-97 
 Data.b 83,-37,30,-98,-25,-100,-41,-43,-102,-114,-80,21,8,124,-28,-28,96,-6,-15,-55,-49,81,-8,-6,-25,-75,105,104,55,-10,-90,38,98,20,18,15,96,8,61 
 Data.b -71,-4,15,-25,-58,121,7,-3,46,-87,70,-107,105,-34,91,63,85,-14,-42,-5,-7,-19,-45,93,-1,0,-49,28,-109,-118,120,-117,-122,114,-57,28,36,-27,82 
 Data.b -51,70,50,-107,-37,91,95,-67,-11,-12,-20,-103,-14,-19,-121,-62,-59,-46,-121,-109,52,96,55,35,4,15,-21,-41,-4,-29,-38,75,-65,-123,-126,-15,71,-108,-103 
 Data.b 56,-22,23,-11,-29,61,-67,-77,-22,61,61,-117,-60,-102,-126,37,-20,-114,8,-64,-50,63,-104,-63,-11,57,31,-32,7,53,-109,109,-82,-56,0,104,-57,-35,62 
 Data.b -35,125,-114,15,25,7,3,-81,-81,24,-84,-67,-115,20,-7,109,-24,-74,-45,77,-3,108,-70,-10,62,-98,-97,19,-15,45,120,83,-57,70,-69,-10,-75,34,-89 
 Data.b 43,-35,36,-35,-76,-43,-23,125,-105,-82,-89,45,-32,-1,0,-124,-110,89,94,35,-51,24,17,-122,86,57,24,3,-111,-41,-90,1,0,-9,-56,-29,-118,-9,-51 
 Data.b 75,85,-48,60,51,-89,71,102,-17,24,96,-118,27,5,71,80,50,115,-100,-1,0,-97,126,124,-97,81,-15,-27,-3,-116,46,17,112,-63,72,82,61,71,4 
 Data.b -116,1,-57,3,-21,-98,-125,4,-113,-103,60,101,-30,-19,111,82,-71,-111,-98,121,0,12,112,55,30,-39,-19,-97,-57,56,-49,29,40,117,-87,-31,-95,106,113 
 Data.b 110,77,104,-102,-37,94,-106,-3,125,73,-61,-16,-42,125,-57,25,-107,42,-39,-58,54,52,112,-44,109,36,-87,-49,-29,-106,-106,118,90,-23,115,-36,-66,36,-36 
 Data.b -40,73,-89,-1,0,106,89,-70,-56,-92,-28,-31,-127,42,72,-35,-48,122,-109,-100,-6,-100,10,-16,-122,-41,-43,-83,36,42,-39,96,-115,-56,36,-14,1,-21,-41 
 Data.b -44,-97,90,111,-121,53,-101,-83,82,-54,-29,73,-44,29,-99,88,17,25,98,115,-100,30,48,115,-45,-41,-89,31,-106,79,-4,35,-9,-53,126,44,-19,-29,103 
 Data.b -114,73,0,4,46,70,-42,32,122,99,-95,-28,-25,-89,-89,53,-59,57,-70,-113,-98,42,-54,73,38,-106,-74,122,93,109,-41,-41,93,-99,-49,-44,50,92,-105 
 Data.b 15,-109,80,-83,-106,99,-15,10,117,48,117,125,-83,42,-45,-110,-116,106,97,-83,25,45,95,85,-86,118,-41,-18,-79,79,-61,126,10,127,19,93,77,123,114 
 Data.b -124,-121,102,-38,27,-36,-15,-44,-113,94,-1,0,-41,-114,107,-57,-65,11,-82,116,-94,110,-84,-30,101,-57,-51,-107,83,-114,-68,112,59,96,-13,-57,61,43,-19 
 Data.b -81,5,-8,70,45,43,77,-73,19,42,-119,89,3,50,-29,-111,-97,81,-49,61,125,120,-21,-44,87,69,-82,-8,111,77,-43,109,90,9,35,92,-107,-63,37 
 Data.b 65,-56,-23,-33,-45,-73,114,107,79,-87,70,116,-75,-46,109,94,-3,110,-46,-1,0,45,-65,30,-34,74,-15,91,19,-105,-25,-4,-40,121,58,-103,109,41,-86 
 Data.b 62,-55,107,77,-46,-125,81,-47,55,103,-91,-11,-42,-2,-105,62,93,-3,-97,60,49,127,-85,-50,22,-32,-78,-7,103,105,-49,3,-126,51,-23,-114,-104,0,-29 
 Data.b -21,-46,-65,71,52,-97,12,88,-23,-6,108,107,35,43,62,-47,-100,-111,-23,-56,60,-25,39,4,-10,-3,113,95,60,120,67,-61,-87,-31,73,89,-84,23,1 
 Data.b -40,-79,61,58,-12,-58,14,123,123,-12,-28,-12,3,-42,71,-120,47,36,-120,36,-127,-113,24,-29,-88,-10,-49,92,-12,-57,60,87,126,18,17,-95,77,70,90 
 Data.b -55,43,121,116,-33,117,-73,-4,55,83,-14,47,18,-13,108,111,21,103,117,49,120,10,-54,-122,2,82,-116,-95,78,54,-124,-45,-78,-67,-42,-113,-18,-79,87 
 Data.b 90,-16,-39,-44,35,50,89,-115,-56,1,33,-128,60,-116,-5,116,63,-31,-24,120,-30,-91,-118,-29,70,86,89,24,-96,80,71,36,-32,126,63,-3,126,-104,-29 
 Data.b 53,-81,-95,-4,87,-47,-19,44,94,43,-90,66,66,-100,2,71,60,28,119,-56,-10,-21,-21,-51,115,122,-57,-120,109,-68,87,28,-81,99,-123,80,9,0,122 
 Data.b -10,-23,-21,-125,-33,-95,-6,19,82,-107,54,-108,-93,36,-26,-42,-79,91,-12,111,-18,-33,111,-52,-13,114,-4,30,123,66,-76,-16,121,-114,14,-91,60,-66,-107 
 Data.b 72,-59,98,-86,71,77,90,-77,111,102,-11,-1,0,-122,-71,-64,-8,-121,93,-74,47,42,-103,114,-40,35,25,-17,-97,-60,115,-98,49,-116,115,-49,53,-60,-53 
 Data.b -29,24,52,-24,-104,41,4,-116,-111,-55,-49,7,-111,-63,-23,-45,-16,-4,-21,-53,-4,111,-87,-35,-23,-6,-52,-42,-5,-50,3,54,57,-9,-58,0,-23,-2,60 
 Data.b 117,21,-60,53,-4,-9,78,3,-71,57,35,-95,-49,-87,-25,-45,-65,-90,59,-15,-45,-53,-87,-119,106,78,-41,77,126,122,119,86,-12,-20,-69,117,-2,-123,-55 
 Data.b -8,46,-124,-16,56,106,-75,103,-49,-121,-85,78,21,-110,90,93,114,-89,107,122,121,63,-60,-11,123,-1,0,26,-55,125,-68,18,48,73,-38,50,123,-97,127 
 Data.b 95,111,78,58,-41,47,32,23,-114,100,101,44,73,36,-116,127,-113,31,-96,-25,-90,42,-98,-97,-92,-49,116,83,98,-109,-72,-114,-57,-16,-28,-1,0,92,103 
 Data.b -33,34,-67,103,-61,-2,20,37,64,-102,60,-79,29,72,-18,120,-64,-57,83,-41,63,-113,74,-104,-87,-44,122,-21,-21,-45,107,-33,-91,-2,-18,-121,-95,-118,-85 
 Data.b -107,100,52,-33,-80,113,-124,-93,101,-53,23,20,-20,-110,77,-6,95,79,95,67,-51,-84,-57,-10,124,-53,50,14,119,2,70,59,-100,100,115,-36,-15,-19,-125 
 Data.b -57,-88,-11,-33,11,107,58,124,-109,-61,44,-48,-87,-107,74,-116,-111,-98,71,30,-97,-48,115,-63,62,-104,26,-65,-122,94,-34,-20,70,23,17,-65,36,99,-36 
 Data.b -113,-96,-23,-21,-23,82,88,-23,-29,79,-107,14,7,81,-127,-44,-98,-99,127,-49,78,-43,112,82,-124,-99,-42,-35,29,-98,-87,-82,-1,0,-99,-113,31,51,-60 
 Data.b 96,115,108,31,55,60,-99,106,-108,-33,44,-95,59,73,-59,-92,-71,91,91,-12,-67,-1,0,29,79,-90,-84,-18,86,-26,8,-27,-113,-128,64,-58,62,-125,24 
 Data.b 3,63,76,127,74,-42,88,85,-58,27,-82,58,-9,25,-19,-23,-8,31,-1,0,87,-104,-40,120,-110,-34,-62,-62,49,35,46,64,28,30,8,-58,79,-74,58 
 Data.b -29,-41,-113,-49,-85,-46,124,79,103,124,64,18,32,98,113,-44,31,-61,25,-25,24,-1,0,26,-12,35,56,-74,-109,106,-3,85,-38,-2,-73,63,17,-58,-27 
 Data.b 120,-54,46,-91,74,116,42,123,24,84,-110,83,-77,123,61,29,-46,87,90,-21,-90,-23,-99,125,-75,-109,22,-38,-128,-110,72,31,79,78,-125,-48,-12,-19,-24 
 Data.b 107,-84,-74,-48,-43,34,-13,-18,88,34,96,-110,88,-29,-7,-15,-33,-3,-82,-4,-127,89,-38,77,-27,-80,-38,-18,-55,-127,-49,85,-17,-49,76,-25,-112,49,-45 
 Data.b -97,108,-44,62,44,-15,-91,-123,-106,-100,-15,-92,-119,-111,-111,-44,30,-34,-60,-6,-128,7,39,-91,110,-71,35,30,105,53,-90,-87,121,-69,95,-18,-46,-5,122 
 Data.b -93,-29,-21,-1,0,105,-29,49,116,-80,120,90,83,114,-100,-29,25,-50,41,-74,-109,-74,-69,90,-10,-42,-17,127,43,31,-99,22,-102,-37,-110,82,73,72,39 
 Data.b -116,22,-49,31,-25,-45,-66,107,-46,-76,127,24,67,-94,-23,-46,-65,-104,50,99,110,115,-113,-31,56,-49,127,-89,113,-114,78,58,-7,-65,-116,124,25,-88,105 
 Data.b 12,102,-118,41,20,46,73,-7,88,112,51,-114,-34,-125,-81,94,-68,103,-81,-115,-22,-38,-18,-95,16,22,40,36,105,28,-20,-64,4,-98,-72,28,31,-82,57 
 Data.b -56,-29,61,-85,-63,117,103,65,-74,-42,-85,69,-93,-65,79,-47,95,-18,-74,-23,-97,-39,-108,56,127,45,-30,-102,20,-91,-123,-83,74,120,122,-109,-116,-22,-63 
 Data.b 53,104,-88,89,-66,102,-102,-78,75,-47,88,-101,-58,94,46,-105,87,-15,19,-70,49,109,-46,-111,-128,9,-32,-74,49,-57,-89,-82,14,14,51,-48,-126,-53,109 
 Data.b 81,-30,120,-61,43,19,-111,-4,39,28,114,121,-23,-7,-29,-81,-25,-22,95,14,126,14,-49,-84,-37,-74,-79,-88,68,75,56,46,11,-87,-17,-41,27,-79,-45 
 Data.b -66,123,-15,-24,43,-72,-66,-8,115,-91,88,-28,-52,-86,-91,62,-125,-111,-98,-4,-28,-6,-15,-11,21,-100,104,87,-110,-10,-110,-70,-26,-42,-46,-19,-90,-115,95 
 Data.b -2,13,-98,-5,-98,-58,39,-118,-8,91,1,82,25,30,27,-9,-13,-64,-46,-114,26,-94,-91,102,-107,72,-92,-100,98,-41,109,-99,-65,11,27,95,12,-83,98 
 Data.b -42,82,22,32,2,74,-11,24,-19,-111,-23,-49,25,-28,-12,61,122,-41,-47,-10,-98,29,88,10,16,-71,62,-69,115,-127,-58,125,58,-15,-45,-89,83,95,50 
 Data.b 120,123,92,-79,-16,-51,-44,81,91,56,84,12,1,-63,0,96,30,-1,0,-128,-20,8,-20,69,125,53,-94,-8,-58,-58,-14,-34,9,11,-85,110,-37,-109,-111 
 Data.b -114,113,-49,95,127,-57,-73,60,87,-87,-122,113,-28,73,-75,-52,-73,127,-122,-97,-105,75,-7,-97,-128,-15,-35,60,-43,-29,101,-117,-62,-47,-83,-11,26,-41,116 
 Data.b -94,-45,-68,118,110,-10,93,82,-24,51,88,-16,105,-44,-41,124,67,107,-88,-31,-80,6,113,-40,-100,118,-17,-98,-35,121,-81,-97,-4,103,-85,-38,-8,37,-39 
 Data.b 53,4,105,-35,114,6,-64,91,61,125,-79,-48,14,-35,61,9,-59,123,-33,-116,-68,101,37,-88,-73,-45,116,114,36,-68,-69,3,104,83,-110,1,-29,-74,15 
 Data.b 94,114,120,-29,-41,-102,-14,-101,-49,13,-38,106,-101,-109,-59,-96,60,-45,-14,-91,-64,114,-124,-12,-63,32,-1,0,60,-15,-33,-116,85,116,-101,-27,-89,110,125 
 Data.b -100,-27,-84,86,-85,75,127,-63,-21,-40,-28,-31,42,-43,-24,70,-114,35,61,-25,-98,91,59,-54,-106,6,-117,107,31,86,10,73,74,116,-42,-22,-102,105,-33 
 Data.b -66,-74,62,97,-42,-2,46,-117,-46,99,-75,71,-119,57,0,16,65,-19,-49,99,-7,12,-13,-49,60,-42,-121,-123,126,37,-36,69,50,121,-109,55,45,-113,-67 
 Data.b -113,-49,61,79,-23,-19,-36,-9,94,44,-8,10,-88,-53,123,-92,-62,94,-38,86,-54,-107,66,-61,4,119,-38,56,61,48,61,-67,43,-58,-75,-81,-122,-102,-50 
 Data.b -118,124,-40,-96,-103,66,-14,62,86,32,-6,19,-111,-48,-97,78,-61,-100,117,30,92,-42,46,-100,-36,-91,-86,91,89,116,86,-2,-83,-83,-66,103,-17,-7,109 
 Data.b 126,0,-50,112,16,-62,96,-86,82,-91,-19,-94,-41,37,121,71,-38,-58,-94,-78,113,-101,-106,-86,74,86,-70,-35,59,-10,-79,-11,69,-65,-59,49,29,-104,34 
 Data.b -29,-26,-40,79,-33,-55,60,113,-49,-89,30,-66,-128,-15,-118,-13,-115,123,-30,4,-6,-95,104,-106,103,101,-55,32,7,36,122,112,71,-95,-4,-59,120,101,-108 
 Data.b 26,-28,-82,-74,-91,38,-50,118,-98,27,-98,-36,-15,-100,-29,-16,24,-49,29,-67,-57,-62,-65,14,47,-18,-31,89,-90,-123,-53,50,-125,-54,-79,61,-3,71,3 
 Data.b -37,-98,120,7,-80,-46,53,107,87,74,9,59,45,26,119,-41,101,-27,-36,-16,113,60,55,-62,-4,48,-25,-115,-81,87,14,-25,41,-13,83,106,80,-69,-39 
 Data.b -90,-70,-82,-1,0,45,15,-71,60,77,-32,-35,19,-60,86,-78,44,38,18,-28,16,6,84,-100,-6,99,35,-82,113,-45,29,-85,-25,-79,-5,58,-61,46,-78 
 Data.b -73,-110,-124,-14,82,81,33,36,12,99,32,-12,-36,125,-77,-127,-41,61,-15,94,10,63,104,-3,75,75,-71,101,89,94,64,91,-96,102,57,-57,7,-40,-25 
 Data.b -88,32,17,-100,87,79,109,-5,81,106,-105,105,-27,121,82,-88,97,-126,-59,79,124,-25,-100,-15,-58,125,114,63,26,-22,-98,39,5,85,-82,117,-86,-73,116 
 Data.b -82,-84,-5,125,-33,-45,95,1,-106,-8,127,-30,-73,14,97,-89,75,43,-60,-89,-123,-81,79,-107,-50,115,74,81,-116,-110,78,-41,119,-70,87,-7,-82,-6,31 
 Data.b 97,27,29,23,-61,122,100,90,116,34,53,-40,-118,-116,83,0,-110,23,29,51,-100,113,-113,94,8,-25,-73,19,-87,-8,127,74,-42,81,-64,-101,12,-63,-79 
 Data.b -122,-58,56,61,56,35,-98,-99,64,-21,-111,-100,-109,-32,75,-15,54,-25,90,95,62,73,88,22,57,-37,-72,-126,79,-90,61,-121,-29,-8,-13,90,118,-34,53 
 Data.b -71,92,109,45,-98,-25,57,-58,51,-23,-49,78,70,115,-114,-34,-121,71,-120,-93,59,37,31,119,68,-107,-74,90,116,-33,78,-53,123,30,77,30,10,-49,-14 
 Data.b -7,-54,-76,-15,85,86,97,42,-114,-91,106,-114,87,-67,70,-45,122,-54,-9,-77,-23,-9,45,74,-66,41,-8,98,98,-33,45,-83,-63,-36,50,-54,65,32,-116 
 Data.b 100,-16,15,96,123,114,115,-24,14,107,-50,71,-116,-81,124,22,13,-83,-15,-111,-4,-84,-123,35,-111,-98,64,-57,39,-82,51,-36,126,117,-22,-45,-8,-114,-2 
 Data.b -12,109,-55,-53,113,-98,114,125,56,-17,-127,-22,122,126,-68,-106,-93,-32,-40,124,65,39,-103,121,-126,79,61,1,61,51,-23,-37,-33,-95,-82,74,-119,95,-102 
 Data.b -126,106,78,-37,-34,-33,101,-91,-8,-10,-45,-90,-120,-3,11,40,-58,78,52,97,-123,-30,-103,-45,-59,97,35,111,-122,43,-37,38,-84,-76,-110,87,75,116,-46 
 Data.b -69,-12,103,3,-93,-4,88,-44,-82,-4,81,22,-91,-27,-69,67,16,9,26,-80,36,40,-28,113,-100,118,60,-25,-16,-50,57,-6,-69,-61,-78,15,27,75,111 
 Data.b 53,-61,99,37,88,-10,-64,36,28,117,-12,-49,-65,4,19,-109,-49,-127,-57,-16,-26,-41,77,-3,-28,42,14,-33,-101,-111,-100,31,-89,29,-1,0,94,-107,-19 
 Data.b 63,15,-28,-2,-49,-123,-50,118,-120,-64,7,29,50,14,114,113,-12,-25,-98,-25,-102,-68,50,-86,-101,-115,86,-33,51,-26,105,-9,-9,87,-4,53,-65,77,60 
 Data.b -18,55,-87,-110,98,112,81,-58,112,-2,29,97,-85,-31,104,67,13,70,-92,126,40,-62,-23,109,-67,-18,-37,123,93,-65,51,-20,-65,14,-24,122,26,105,80 
 Data.b 88,92,-84,110,-86,-85,-121,35,-26,24,3,-71,-25,3,60,-1,0,90,-117,95,-8,103,-31,-83,82,6,30,93,-72,44,-68,18,-87,-12,24,35,-98,-99,51 
 Data.b -33,-80,21,-31,13,-15,26,61,60,109,-110,82,2,100,-3,-32,58,118,35,32,-126,120,-21,-116,113,-114,107,-122,-15,71,-19,23,-3,-104,-116,-79,74,73,76 
 Data.b -29,4,-111,-64,56,-2,88,30,-97,-114,107,-44,-106,39,15,24,-38,113,-115,-94,-83,119,107,-24,-42,-70,-7,118,-4,79,-25,-84,15,3,113,-74,55,50,85 
 Data.b 114,-116,70,50,53,42,-42,117,46,-91,37,79,-102,77,52,-19,-91,-101,-21,-78,-37,-52,-10,91,47,-128,26,36,119,-122,-32,44,5,3,23,-24,-72,-58,78 
 Data.b 7,28,-15,-56,-3,58,103,29,-32,-16,-49,-121,-12,24,4,32,-62,10,12,118,3,-65,-41,-81,-79,-57,-21,95,21,89,-2,-42,23,2,23,86,45,-48,-100 
 Data.b -32,-6,30,-32,-29,-41,-97,94,-35,107,-105,-44,-65,104,-101,-99,92,73,34,-52,-29,-87,24,99,-41,-100,-13,-21,-48,-25,-116,116,-30,-71,-42,51,5,21,122 
 Data.b 105,93,-37,-55,-12,-12,-21,125,63,-32,35,-19,106,120,101,-30,-82,105,-120,-116,51,-116,77,119,-121,-93,-53,24,-75,38,-45,-8,119,119,122,-12,-69,-7,-18 
 Data.b -113,12,-16,-49,-61,57,117,41,-124,-41,-85,-2,-45,101,113,-37,29,15,24,-28,-111,-100,-1,0,42,-11,-125,-16,-57,74,75,109,-79,-94,-7,-95,78,62,94 
 Data.b -8,-19,-21,-49,108,-11,-59,122,118,-97,96,-111,46,-56,-48,34,-116,103,3,-100,122,103,-71,-29,-16,-92,-68,-107,109,100,10,113,-126,123,-6,96,123,-5,-114 
 Data.b -7,-50,56,-82,40,97,-87,66,26,-85,-7,-11,-43,-81,-23,-97,-81,102,60,103,-99,102,88,-49,-36,-30,-86,81,-124,53,-123,26,110,-47,81,77,89,52,-73 
 Data.b 91,105,-25,-71,-13,-51,-34,-119,54,-113,49,-119,119,-88,86,-32,-29,-41,-114,-128,14,58,114,61,-1,0,29,-67,43,-19,18,58,-93,3,-100,-15,-127,-111,-20 
 Data.b 127,46,-33,-56,87,-85,95,-23,118,-38,-110,-84,-69,85,-101,-114,122,125,115,-24,113,-41,-41,-125,-51,77,-92,120,106,49,62,66,112,8,3,24,36,-5,14 
 Data.b -67,79,110,-125,-65,-83,76,104,53,37,-53,-86,122,-83,-38,-23,-45,-65,79,-23,35,106,-36,83,74,-90,9,-53,21,31,-10,-123,27,77,-69,107,53,101,117 
 Data.b -41,-17,-13,48,108,-96,-108,-54,-118,20,-126,-59,64,-29,57,-1,0,-11,-6,-5,-41,-70,-8,115,-62,-80,-53,108,-109,-36,32,3,104,60,-3,51,-57,-79,-3 
 Data.b 71,-81,74,-81,-91,120,78,22,-110,57,89,23,11,-122,-49,-90,49,-97,-53,-21,-3,49,-48,107,58,-36,26,77,-70,-38,66,-61,42,2,-100,28,115,-8,99 
 Data.b -100,-25,-37,60,87,101,42,74,-99,-27,61,122,-69,-7,-38,-6,90,-53,-82,-9,-12,63,45,-49,51,-70,-71,-99,74,88,44,-77,-99,85,109,123,73,70,-21 
 Data.b -107,105,-41,-89,94,-65,51,3,-60,30,31,91,120,-52,-48,-82,99,-63,-24,6,48,73,28,122,119,-21,-37,-89,-96,-32,-19,-28,54,41,50,-90,62,114,113 
 Data.b -11,-6,122,-14,70,113,-57,95,-81,-84,89,107,22,-102,-90,-103,44,51,21,44,20,-112,127,-3,125,-114,122,-25,61,61,-85,-63,-68,95,-82,91,-23,38,96 
 Data.b 25,65,5,-15,-98,61,-70,113,-55,-23,-128,7,57,-94,-85,-116,82,-102,106,-35,59,116,79,-27,-41,-27,115,-89,-121,99,-114,-57,84,-87,-107,-41,-91,82,117 
 Data.b -95,82,43,91,-65,104,-82,-100,101,-26,-41,-98,-74,-45,-95,79,88,-67,-127,119,121,-49,-106,110,14,79,-7,-6,-28,-2,99,57,62,83,-83,-39,105,-105,108 
 Data.b -51,35,-125,-100,-25,-65,-8,-25,-45,61,71,106,-60,-65,-41,-81,-75,75,-121,16,6,43,-110,6,6,125,125,-113,28,-10,-49,-71,52,-21,109,39,81,-67,117 
 Data.b -34,31,4,-11,57,-21,-45,-127,-23,-41,-113,-62,-68,-23,79,-99,-23,22,-18,-19,-2,94,-70,-21,-83,-73,-44,-3,-77,45,-55,-34,83,78,-99,90,-40,-65,-85 
 Data.b -44,-27,78,81,-116,-84,-45,-47,-14,-38,-9,91,109,126,-114,-38,-18,91,-8,83,79,-70,-115,-106,-40,2,88,17,-64,4,-25,-90,122,122,125,51,92,-18,-93 
 Data.b -31,11,-21,22,100,-73,-120,-123,110,-124,47,24,39,-48,114,7,-89,81,-109,94,-33,-95,104,82,90,34,-110,14,120,-56,-57,78,79,94,-25,-66,125,-113,53 
 Data.b -38,54,-103,12,-15,47,-101,10,-79,3,-82,6,127,-82,64,-6,-6,-13,-56,-95,97,-29,52,-81,27,75,-78,-65,100,-70,127,-63,-1,0,60,42,113,-107,124 
 Data.b 6,42,74,21,94,46,-125,-107,-102,-88,-18,-12,-75,-97,-11,-70,125,89,-24,-112,-40,121,125,6,58,-112,8,-50,15,-1,0,95,-41,39,-40,102,-68,-33,-58 
 Data.b 55,-65,97,-105,-98,57,29,122,14,1,61,15,111,-56,-116,114,56,-81,83,-41,117,21,-47,17,-68,-11,57,0,-28,-112,71,-1,0,91,-41,-100,-97,92,116 
 Data.b -49,-52,30,61,-15,76,122,-124,-28,69,-44,28,12,118,-22,58,99,-110,70,71,-31,-100,98,-69,113,18,-116,32,-46,126,-9,85,-67,-75,79,-73,-53,95,-64 
 Data.b -4,-37,-125,-16,24,-68,-45,31,78,-77,-89,41,-31,-100,109,-19,62,-50,-100,-67,108,-1,0,-85,-18,117,-70,127,-120,-48,-89,46,58,31,-48,-113,78,125,115 
 Data.b -38,-70,-19,7,-60,-48,73,113,-77,120,-32,-113,79,-49,7,62,-100,-15,-17,-42,-66,108,-45,-82,-81,101,13,-27,-121,32,-122,-11,35,-73,-73,-13,-2,67,-101 
 Data.b -106,122,-98,-93,-90,-36,-103,88,73,-116,-28,-16,70,59,-116,18,113,-48,-29,-79,30,-75,-55,28,68,-93,109,-12,126,-86,-38,127,77,-38,-6,-3,-1,0,127 
 Data.b -113,-31,26,24,-120,-30,41,66,80,85,121,111,8,-13,36,-36,-99,-65,29,63,59,-9,62,-45,62,46,-73,-78,-74,59,-100,15,-108,-114,24,117,-57,-65,62 
 Data.b -125,4,15,-64,113,94,99,127,-85,-66,-75,116,-26,6,44,55,30,-121,35,-45,-89,67,-37,-113,64,57,35,21,-25,86,90,-67,-42,-73,18,-60,-116,75,54 
 Data.b -43,32,103,63,-113,-96,60,-25,-14,-81,-96,-66,31,-8,19,54,-65,108,-69,82,1,82,-60,-80,-57,108,-6,-113,-90,58,-29,35,32,26,-21,-116,-25,-120,106 
 Data.b 49,94,-17,93,-68,-75,-4,-34,-57,-25,56,-52,-69,44,-31,26,21,-15,120,-71,127,-75,-54,92,-112,-123,-18,-37,-70,-8,83,-19,-7,-66,-69,28,-122,-107,-88 
 Data.b 75,100,-51,20,-71,25,4,96,-11,-57,124,103,35,56,-56,60,12,-13,-23,92,95,-118,-4,50,-2,34,119,-99,36,-38,11,22,35,60,114,73,-25,63,92 
 Data.b 123,-9,25,21,-23,94,50,-80,-73,-79,-67,-3,-55,-64,28,28,112,59,-2,-96,-3,123,119,-82,90,43,-110,-88,65,111,-105,-82,70,58,123,113,-98,61,-79 
 Data.b -57,90,83,74,-50,-100,-11,73,-12,123,-20,-41,-90,-97,-94,-46,-57,94,87,-117,-100,101,71,55,-53,-1,0,117,90,-84,99,118,-30,-102,-35,38,-71,109,107 
 Data.b -75,-45,-16,-36,-30,116,-97,8,89,105,113,7,-71,100,-56,-29,39,-65,-73,-89,-31,-4,-70,-41,99,-89,105,-74,18,28,67,-79,-80,122,-82,61,9,29,58 
 Data.b 99,-33,-114,125,-115,120,-73,-60,95,26,61,-71,54,-106,12,75,-90,115,-77,36,-16,51,-109,-45,0,119,-25,-81,78,-72,-82,103,-64,-1,0,19,-25,-80,-70 
 Data.b -14,111,-9,16,-49,-113,-100,-98,61,-7,-21,-12,63,-105,60,114,-86,-76,-87,-51,66,-54,-55,-21,46,-119,-23,-43,-82,-67,108,-19,-13,103,-33,79,-122,120,-117 
 Data.b 53,-54,-22,102,-34,-42,115,-85,52,-25,28,61,-7,102,-31,-90,-86,63,-115,-68,-105,99,-21,104,-76,-8,-41,3,3,36,-15,-64,28,-6,-116,-10,-28,103,-42 
 Data.b -76,82,-63,24,109,-38,15,76,-32,126,60,-74,71,-72,31,-41,-91,115,90,23,-119,-84,-11,-95,19,-64,-63,-117,0,113,-100,-14,113,-57,83,-113,124,19,-49 
 Data.b 29,-85,-43,44,52,-103,-27,-119,100,84,44,15,57,0,-32,-25,-21,-20,56,-19,-36,-114,107,-66,10,51,-42,45,114,-17,117,-3,110,126,69,-102,86,-60,-27 
 Data.b -45,-28,-58,55,66,-94,118,113,-88,-20,-7,-76,-47,-21,-39,90,-1,0,113,-1,-39 

EndDataSection 
 
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

C'est bon j'ai trouvé une combine
Si quelqu'un pourrait par miracle me donner la combine pour que mes boutons ne soit pas transparent et aussi comment faire un cadre autour de ma fenetre, je lui en serait extremement reconnaissant 8)

Code : Tout sélectionner

; http://www.purebasic.fr/english/viewtopic.php?p=269442#269442 
; Bad coded by KCC :-( 
; But corrected by IDLE (Very good Resizing) 
; Also thanks at NETMAESTRO (Button blue) 

Global hwnd,x,y,l,h,cr,gImgBack,myMouseHook 
cr = LoadCursor_(0, #IDC_SIZENWSE) 

Enumeration 
 #FormWeb  = 0
 #LabelResize 
 #ImageFond 
 #BoutonBouleBleue
 #BackGround 
EndEnumeration 

Structure MSLLHOOKSTRUCT 
 pt.POINT; 
 mouseData.l; 
 flags.l; 
 time.l; 
 dwExtraInfo.l; 
EndStructure 

Declare MouseProc(ncode.l,wParam.l,lParam.l) 

Procedure SetHooks() ; IDLE
    hInstance = GetModuleHandle_(0) 
        
    If hInstance 
       myMouseHook = SetWindowsHookEx_(#WH_MOUSE_LL, @MouseProc(),hInstance,0) 
    Else 
       MessageRequester("hook failed", "can't get module handle") 
    EndIf  

EndProcedure 

Procedure KillHooks() ; IDLE 
   UnhookWindowsHookEx_(myMouseHook) 
   MyMouseHook = 0 
EndProcedure 

Procedure.l MouseProc(ncode.l,wParam.l,lParam.l) ; IDLE

    Static mMouseInput.MSLLHOOKSTRUCT 
    CopyMemory(lparam,@mMouseInput,SizeOf(MSLLHOOKSTRUCT))  
    Static bResize,bMove,wx,wy 
        
    ret = CallNextHookEx_(myMousehook, nCode, wParam, lParam) 
          
    If ncode = #HC_ACTION 
      If wParam 
          
        TargetX.f=WindowX(#FormWeb)+WindowWidth(#FormWeb) - 50     ;your target region on the window 
        TargetY.f=WindowY(#FormWeb)+WindowHeight(#FormWeb) - 50 
        TargetWidth.f = 50 
        TargetHeight.f = 50 
        
           ;test for hit on the target 
           If mMouseInput\pt\x < TargetX+TargetWidth And mMouseInput\pt\x > TargetX And mMouseInput\pt\y > TargetY And mMouseInput\pt\y < TargetY + TargetHeight 
             SetCursor_(cr) 
             bHit = #True    ;yep it hit 
           EndIf 
          
           Select wParam 
                    
             Case #WM_LBUTTONDOWN 
                 If WindowID(#FormWeb) = GetForegroundWindow_() ;make sure it's your window 
                  If bHit 
                    SetCursor_(cr) 
                    bReSize = #True   ;flagto resize on mouse move                
                  Else 
                    bMove = #True     ;ok we know its our window so flag to move it 
                    wx = WindowX(#formWeb) - mMouseInput\pt\x   ;coordinate offsets to move 
                    wy = WindowY(#formWeb) - mMouseInput\pt\y 
                  EndIf 
                 EndIf  
             Case #WM_LBUTTONUP 
                   bMove = #False              
                   bResize = #False  
             Case #WM_MBUTTONDOWN 
                    
             Case #WM_MBUTTONUP 
                
             Case #WM_RBUTTONDOWN 
                    
             Case #WM_RBUTTONUP 
                    
             Case #WM_MOUSEMOVE 
                  If bResize 
                                    
                    SetCursor_(cr) 
                    SetWindowPos_(WindowID(#FormWeb),#HWND_TOP,WindowX(#FormWeb),WindowY(#FormWeb),mMouseInput\pt\x-WindowX(#FormWeb)+20,mMouseInput\pt\y-WindowY(#FormWeb)+20,#SWP_NOREPOSITION | #SWP_SHOWWINDOW |#SWP_FRAMECHANGED) 
                    region = CreateRoundRectRgn_(0, 0, WindowWidth(#FormWeb), WindowHeight(#FormWeb), 50, 50) 
                    SetWindowRgn_(WindowID(#FormWeb), region, #True) 
                    DeleteObject_(region) 
                        
                  ElseIf bMove 
                    ;cant use send message from here to move the window need to do it manually 
                    SetWindowPos_(WindowID(#FormWeb),#HWND_TOP,(mMouseInput\pt\x+wx),(mMouseInput\pt\y+wy),WindowWidth(#FormWeb),WindowHeight(#FormWeb), #SWP_SHOWWINDOW) 
                                        
                  EndIf    
             Case #WM_MOUSEWHEEL 
                                      
          EndSelect 
                
        EndIf 
      EndIf 
        
    ProcedureReturn ret 
    
EndProcedure 

Procedure OpenWindowWeb(PbId, PosX, PosY, LargeurInterne, HauteurInterne, Options) ; KCC
  
 OpenWindow (PbId, PosX, PosY, LargeurInterne, HauteurInterne, "", Options) 
 region = CreateRoundRectRgn_(0, 0, WindowWidth(PbId), WindowHeight(PbId), 50, 50) 
 SetWindowRgn_(WindowID(PbId), region, #True) 
 DeleteObject_(region) 
 ProcedureReturn WindowID(PbId) 
  
EndProcedure 

Procedure DrawTransparentBitmap(hdc, hBitmap, xStart, yStart, TransColor) 
  ; by netmaestro based on http://support.microsoft.com/kb/79212/EN-US/ 
  Define.POINT  ptSize 
  hdcTemp = CreateCompatibleDC_(hdc) 
  SelectObject_(hdcTemp, hBitmap) 
  GetObject_(hBitmap, SizeOf(BITMAP), bm.BITMAP) 
  ptSize\x = bm\bmWidth 
  ptSize\y = bm\bmHeight 
  DPtoLP_(hdcTemp, @ptSize, 1) 
  hdcBack   = CreateCompatibleDC_(hdc) 
  hdcObject = CreateCompatibleDC_(hdc) 
  hdcMem    = CreateCompatibleDC_(hdc) 
  hdcSave   = CreateCompatibleDC_(hdc) 
  bmAndBack   = CreateBitmap_(ptSize\x, ptSize\y, 1, 1, #Null) 
  bmAndObject = CreateBitmap_(ptSize\x, ptSize\y, 1, 1, #Null) 
  bmAndMem    = CreateCompatibleBitmap_(hdc, ptSize\x, ptSize\y) 
  bmSave      = CreateCompatibleBitmap_(hdc, ptSize\x, ptSize\y) 
  bmBackOld   = SelectObject_(hdcBack, bmAndBack) 
  bmObjectOld = SelectObject_(hdcObject, bmAndObject) 
  bmMemOld    = SelectObject_(hdcMem, bmAndMem) 
  bmSaveOld   = SelectObject_(hdcSave, bmSave) 
  SetMapMode_(hdcTemp, GetMapMode_(hdc)) 
  BitBlt_(hdcSave, 0, 0, ptSize\x, ptSize\y, hdcTemp, 0, 0, #SRCCOPY) 
  cColor = SetBkColor_(hdcTemp, TransColor) 
  BitBlt_(hdcObject, 0, 0, ptSize\x, ptSize\y, hdcTemp, 0, 0, #SRCCOPY) 
  SetBkColor_(hdcTemp, cColor) 
  BitBlt_(hdcBack, 0, 0, ptSize\x, ptSize\y, hdcObject, 0, 0, #NOTSRCCOPY) 
  BitBlt_(hdcMem, 0, 0, ptSize\x, ptSize\y, hdc, xStart, yStart, #SRCCOPY) 
  BitBlt_(hdcMem, 0, 0, ptSize\x, ptSize\y, hdcObject, 0, 0, #SRCAND) 
  BitBlt_(hdcTemp, 0, 0, ptSize\x, ptSize\y, hdcBack, 0, 0, #SRCAND) 
  BitBlt_(hdcMem, 0, 0, ptSize\x, ptSize\y, hdcTemp, 0, 0, #SRCPAINT) 
  BitBlt_(hdc, xStart, yStart, ptSize\x, ptSize\y, hdcMem, 0, 0, #SRCCOPY) 
  BitBlt_(hdcTemp, 0, 0, ptSize\x, ptSize\y, hdcSave, 0, 0, #SRCCOPY) 
  DeleteObject_(SelectObject_(hdcBack, bmBackOld)) 
  DeleteObject_(SelectObject_(hdcObject, bmObjectOld)) 
  DeleteObject_(SelectObject_(hdcMem, bmMemOld)) 
  DeleteObject_(SelectObject_(hdcSave, bmSaveOld)) 
  DeleteDC_(hdcMem) 
  DeleteDC_(hdcBack) 
  DeleteDC_(hdcObject) 
  DeleteDC_(hdcSave) 
  DeleteDC_(hdcTemp) 
EndProcedure 


UseJPEGImageDecoder() 
ExamineDesktops() 
ix = DesktopWidth(0) 
iy = DesktopHeight(0) 

CatchImage(#ImageFond, ?FondEcran) 
CatchImage(#BoutonBouleBleue, ?BoutonBouleBleue) 

gImgBack = CreateImage(#PB_Any,ix,iy)   ;create a background image the width of the screen 

hwnd = OpenWindowWeb(#FormWeb, 0, 0, 700, 500, #PB_Window_BorderLess|#PB_Window_ScreenCentered) 
SetWindowLong_(WindowID(#FormWeb), #GWL_EXSTYLE, $00080000) ; #WS_EX_LAYERED = $00080000 
SetLayeredWindowAttributes_(WindowID(#FormWeb), 0, 150, 2) 
SetHooks() 

dc = StartDrawing(ImageOutput(gImgBack)) 

For Colonne = 1 To ix Step 95 
 For Ligne = 1 To iy Step 95 
  DrawImage(ImageID(#ImageFond),Colonne, Ligne) 
 Next 
Next 

DrawTransparentBitmap(dc, ImageID(#BoutonBouleBleue), 100, 10, RGB(133,133,133)) 
DrawTransparentBitmap(dc, ImageID(#BoutonBouleBleue), 200, 10, RGB(133,133,133)) 
DrawTransparentBitmap(dc, ImageID(#BoutonBouleBleue), 300, 10, RGB(133,133,133)) 

StopDrawing() 

hB = CreatePatternBrush_(ImageID(gImgBack)) 
SetClassLong_(WindowID(#FormWeb),#GCL_HBRBACKGROUND, hB) 
InvalidateRect_(WindowID(#FormWeb),0, 1) 

Repeat 
  
  Event = WaitWindowEvent() 
  
  If Event = #WM_KEYDOWN  ;  Commande clavier 
    key = EventwParam() 
  EndIf 
  
Until event = #PB_Event_CloseWindow Or key = 27 

killhooks() 
End 

DataSection 
  
 FondEcran : 
 ; ********* 
  
 Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,0,0,1,0,1,0,0,-1,-37,0,67,0,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,-1,-37,0,67,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 
 Data.b 1,1,1,-1,-64,0,17,8,0,96,0,96,3,1,34,0,2,17,1,3,17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0 
 Data.b 0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2 
 Data.b 3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63,21,82,-47,-16,36,51,98,114,-126,9,10,22,23 
 Data.b 24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105 
 Data.b 106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75 
 Data.b -74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13,-12,-11,-10 
 Data.b -9,-8,-7,-6,-1,-60,0,31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60 
 Data.b 0,-75,17,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127 
 Data.b 8,20,66,-111,-95,-79,-63,9,35,51,82,-16,21,98,114,-47,10,22,36,52,-31,37,-15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67 
 Data.b 68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119 
 Data.b -118,-110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45 
 Data.b -44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17,3,17,0,63,0 
 Data.b -25,-66,32,-8,74,-37,82,-126,95,37,85,-120,82,126,92,122,30,113,-49,78,-8,-19,-98,123,31,-104,101,-8,45,121,-86,-36,59,-92,71,-122,-55,-32,-97 
 Data.b 83,-37,30,-98,-25,-100,-41,-43,-102,-114,-80,21,8,124,-28,-28,96,-6,-15,-55,-49,81,-8,-6,-25,-75,105,104,55,-10,-90,38,98,20,18,15,96,8,61 
 Data.b -71,-4,15,-25,-58,121,7,-3,46,-87,70,-107,105,-34,91,63,85,-14,-42,-5,-7,-19,-45,93,-1,0,-49,28,-109,-118,120,-117,-122,114,-57,28,36,-27,82 
 Data.b -51,70,50,-107,-37,91,95,-67,-11,-12,-20,-103,-14,-19,-121,-62,-59,-46,-121,-109,52,96,55,35,4,15,-21,-41,-4,-29,-38,75,-65,-123,-126,-15,71,-108,-103 
 Data.b 56,-22,23,-11,-29,61,-67,-77,-22,61,61,-117,-60,-102,-126,37,-20,-114,8,-64,-50,63,-104,-63,-11,57,31,-32,7,53,-109,109,-82,-56,0,104,-57,-35,62 
 Data.b -35,125,-114,15,25,7,3,-81,-81,24,-84,-67,-115,20,-7,109,-24,-74,-45,77,-3,108,-70,-10,62,-98,-97,19,-15,45,120,83,-57,70,-69,-10,-75,34,-89 
 Data.b 43,-35,36,-35,-76,-43,-23,125,-105,-82,-89,45,-32,-1,0,-124,-110,89,94,35,-51,24,17,-122,86,57,24,3,-111,-41,-90,1,0,-9,-56,-29,-118,-9,-51 
 Data.b 75,85,-48,60,51,-89,71,102,-17,24,96,-118,27,5,71,80,50,115,-100,-1,0,-97,126,124,-97,81,-15,-27,-3,-116,46,17,112,-63,72,82,61,71,4 
 Data.b -116,1,-57,3,-21,-98,-125,4,-113,-103,60,101,-30,-19,111,82,-71,-111,-98,121,0,12,112,55,30,-39,-19,-97,-57,56,-49,29,40,117,-87,-31,-95,106,113 
 Data.b 110,77,104,-102,-37,94,-106,-3,125,73,-61,-16,-42,125,-57,25,-107,42,-39,-58,54,52,112,-44,109,36,-87,-49,-29,-106,-106,118,90,-23,115,-36,-66,36,-36 
 Data.b -40,73,-89,-1,0,106,89,-70,-56,-92,-28,-31,-127,42,72,-35,-48,122,-109,-100,-6,-100,10,-16,-122,-41,-43,-83,36,42,-39,96,-115,-56,36,-14,1,-21,-41 
 Data.b -44,-97,90,111,-121,53,-101,-83,82,-54,-29,73,-44,29,-99,88,17,25,98,115,-100,30,48,115,-45,-41,-89,31,-106,79,-4,35,-9,-53,126,44,-19,-29,103 
 Data.b -114,73,0,4,46,70,-42,32,122,99,-95,-28,-25,-89,-89,53,-59,57,-70,-113,-98,42,-54,73,38,-106,-74,122,93,109,-41,-41,93,-99,-49,-44,50,92,-105 
 Data.b 15,-109,80,-83,-106,99,-15,10,117,48,117,125,-83,42,-45,-110,-116,106,97,-83,25,45,95,85,-86,118,-41,-18,-79,79,-61,126,10,127,19,93,77,123,114 
 Data.b -124,-121,102,-38,27,-36,-15,-44,-113,94,-1,0,-41,-114,107,-57,-65,11,-82,116,-94,110,-84,-30,101,-57,-51,-107,83,-114,-68,112,59,96,-13,-57,61,43,-19 
 Data.b -81,5,-8,70,45,43,77,-73,19,42,-119,89,3,50,-29,-111,-97,81,-49,61,125,120,-21,-44,87,69,-82,-8,111,77,-43,109,90,9,35,92,-107,-63,37 
 Data.b 65,-56,-23,-33,-45,-73,114,107,79,-87,70,116,-75,-46,109,94,-3,110,-46,-1,0,45,-65,30,-34,74,-15,91,19,-105,-25,-4,-40,121,58,-103,109,41,-86 
 Data.b 62,-55,107,77,-46,-125,81,-47,55,103,-91,-11,-42,-2,-105,62,93,-3,-97,60,49,127,-85,-50,22,-32,-78,-7,103,105,-49,3,-126,51,-23,-114,-104,0,-29 
 Data.b -21,-46,-65,71,52,-97,12,88,-23,-6,108,107,35,43,62,-47,-100,-111,-23,-56,60,-25,39,4,-10,-3,113,95,60,120,67,-61,-87,-31,73,89,-84,23,1 
 Data.b -40,-79,61,58,-12,-58,14,123,123,-12,-28,-12,3,-42,71,-120,47,36,-120,36,-127,-113,24,-29,-88,-10,-49,92,-12,-57,60,87,126,18,17,-95,77,70,90 
 Data.b -55,43,121,116,-33,117,-73,-4,55,83,-14,47,18,-13,108,111,21,103,117,49,120,10,-54,-122,2,82,-116,-95,78,54,-124,-45,-78,-67,-42,-113,-18,-79,87 
 Data.b 90,-16,-39,-44,35,50,89,-115,-56,1,33,-128,60,-116,-5,116,63,-31,-24,120,-30,-91,-118,-29,70,86,89,24,-96,80,71,36,-32,126,63,-3,126,-104,-29 
 Data.b 53,-81,-95,-4,87,-47,-19,44,94,43,-90,66,66,-100,2,71,60,28,119,-56,-10,-21,-21,-51,115,122,-57,-120,109,-68,87,28,-81,99,-123,80,9,0,122 
 Data.b -10,-23,-21,-125,-33,-95,-6,19,82,-107,54,-108,-93,36,-26,-42,-79,91,-12,111,-18,-33,111,-52,-13,114,-4,30,123,66,-76,-16,121,-114,14,-91,60,-66,-107 
 Data.b 72,-59,98,-86,71,77,90,-77,111,102,-11,-1,0,-122,-71,-64,-8,-121,93,-74,47,42,-103,114,-40,35,25,-17,-97,-60,115,-98,49,-116,115,-49,53,-60,-53 
 Data.b -29,24,52,-24,-104,41,4,-116,-111,-55,-49,7,-111,-63,-23,-45,-16,-4,-21,-53,-4,111,-87,-35,-23,-6,-52,-42,-5,-50,3,54,57,-9,-58,0,-23,-2,60 
 Data.b 117,21,-60,53,-4,-9,78,3,-71,57,35,-95,-49,-87,-25,-45,-65,-90,59,-15,-45,-53,-87,-119,106,78,-41,77,126,122,119,86,-12,-20,-69,117,-2,-123,-55 
 Data.b -8,46,-124,-16,56,106,-75,103,-49,-121,-85,78,21,-110,90,93,114,-89,107,122,121,63,-60,-11,123,-1,0,26,-55,125,-68,18,48,73,-38,50,123,-97,127 
 Data.b 95,111,78,58,-41,47,32,23,-114,100,101,44,73,36,-116,127,-113,31,-96,-25,-90,42,-98,-97,-92,-49,116,83,98,-109,-72,-114,-57,-16,-28,-1,0,92,103 
 Data.b -33,34,-67,103,-61,-2,20,37,64,-102,60,-79,29,72,-18,120,-64,-57,83,-41,63,-113,74,-104,-87,-44,122,-21,-21,-45,107,-33,-91,-2,-18,-121,-95,-118,-85 
 Data.b -107,100,52,-33,-80,113,-124,-93,101,-53,23,20,-20,-110,77,-6,95,79,95,67,-51,-84,-57,-10,124,-53,50,14,119,2,70,59,-100,100,115,-36,-15,-19,-125 
 Data.b -57,-88,-11,-33,11,107,58,124,-109,-61,44,-48,-87,-107,74,-116,-111,-98,71,30,-97,-48,115,-63,62,-104,26,-65,-122,94,-34,-20,70,23,17,-65,36,99,-36 
 Data.b -113,-96,-23,-21,-23,82,88,-23,-29,79,-107,14,7,81,-127,-44,-98,-99,127,-49,78,-43,112,82,-124,-99,-42,-35,29,-98,-87,-82,-1,0,-99,-113,31,51,-60 
 Data.b 96,115,108,31,55,60,-99,106,-108,-33,44,-95,59,73,-59,-92,-71,91,91,-12,-67,-1,0,29,79,-90,-84,-18,86,-26,8,-27,-113,-128,64,-58,62,-125,24 
 Data.b 3,63,76,127,74,-42,88,85,-58,27,-82,58,-9,25,-19,-23,-8,31,-1,0,87,-104,-40,120,-110,-34,-62,-62,49,35,46,64,28,30,8,-58,79,-74,58 
 Data.b -29,-41,-113,-49,-85,-46,124,79,103,124,64,18,32,98,113,-44,31,-61,25,-25,24,-1,0,26,-12,35,56,-74,-109,106,-3,85,-38,-2,-73,63,17,-58,-27 
 Data.b 120,-54,46,-91,74,116,42,123,24,84,-110,83,-77,123,61,29,-46,87,90,-21,-90,-23,-99,125,-75,-109,22,-38,-128,-110,72,31,79,78,-125,-48,-12,-19,-24 
 Data.b 107,-84,-74,-48,-43,34,-13,-18,88,34,96,-110,88,-29,-7,-15,-33,-3,-82,-4,-127,89,-38,77,-27,-80,-38,-18,-55,-127,-49,85,-17,-49,76,-25,-112,49,-45 
 Data.b -97,108,-44,62,44,-15,-91,-123,-106,-100,-15,-92,-119,-111,-111,-44,30,-34,-60,-6,-128,7,39,-91,110,-71,35,30,105,53,-90,-87,121,-69,95,-18,-46,-5,122 
 Data.b -93,-29,-21,-1,0,105,-29,49,116,-80,120,90,83,114,-100,-29,25,-50,41,-74,-109,-74,-69,90,-10,-42,-17,127,43,31,-99,22,-102,-37,-110,82,73,72,39 
 Data.b -116,22,-49,31,-25,-45,-66,107,-46,-76,127,24,67,-94,-23,-46,-65,-104,50,99,110,115,-113,-31,56,-49,127,-89,113,-114,78,58,-7,-65,-116,124,25,-88,105 
 Data.b 12,102,-118,41,20,46,73,-7,88,112,51,-114,-34,-125,-81,94,-68,103,-81,-115,-22,-38,-18,-95,16,22,40,36,105,28,-20,-64,4,-98,-72,28,31,-82,57 
 Data.b -56,-29,61,-85,-63,117,103,65,-74,-42,-85,69,-93,-65,79,-47,95,-18,-74,-23,-97,-39,-108,56,127,45,-30,-102,20,-91,-123,-83,74,120,122,-109,-116,-22,-63 
 Data.b 53,104,-88,89,-66,102,-102,-78,75,-47,88,-101,-58,94,46,-105,87,-15,19,-70,49,109,-46,-111,-128,9,-32,-74,49,-57,-89,-82,14,14,51,-48,-126,-53,109 
 Data.b 81,-30,120,-61,43,19,-111,-4,39,28,114,121,-23,-7,-29,-81,-25,-22,95,14,126,14,-49,-84,-37,-74,-79,-88,68,75,56,46,11,-87,-17,-41,27,-79,-45 
 Data.b -66,123,-15,-24,43,-72,-66,-8,115,-91,88,-28,-52,-86,-91,62,-125,-111,-98,-4,-28,-6,-15,-11,21,-100,104,87,-110,-10,-110,-70,-26,-42,-46,-19,-90,-115,95 
 Data.b -2,13,-98,-5,-98,-58,39,-118,-8,91,1,82,25,30,27,-9,-13,-64,-46,-114,26,-94,-91,102,-107,72,-92,-100,98,-41,109,-99,-65,11,27,95,12,-83,98 
 Data.b -42,82,22,32,2,74,-11,24,-19,-111,-23,-49,25,-28,-12,61,122,-41,-47,-10,-98,29,88,10,16,-71,62,-69,115,-127,-58,125,58,-15,-45,-89,83,95,50 
 Data.b 120,123,92,-79,-16,-51,-44,81,91,56,84,12,1,-63,0,96,30,-1,0,-128,-20,8,-20,69,125,53,-94,-8,-58,-58,-14,-34,9,11,-85,110,-37,-109,-111 
 Data.b -114,113,-49,95,127,-57,-73,60,87,-87,-122,113,-28,73,-75,-52,-73,127,-122,-97,-105,75,-7,-97,-128,-15,-35,60,-43,-29,101,-117,-62,-47,-83,-11,26,-41,116 
 Data.b -94,-45,-68,118,110,-10,93,82,-24,51,88,-16,105,-44,-41,124,67,107,-88,-31,-80,6,113,-40,-100,118,-17,-98,-35,121,-81,-97,-4,103,-85,-38,-8,37,-39 
 Data.b 53,4,105,-35,114,6,-64,91,61,125,-79,-48,14,-35,61,9,-59,123,-33,-116,-68,101,37,-88,-73,-45,116,114,36,-68,-69,3,104,83,-110,1,-29,-74,15 
 Data.b 94,114,120,-29,-41,-102,-14,-101,-49,13,-38,106,-101,-109,-59,-96,60,-45,-14,-91,-64,114,-124,-12,-63,32,-1,0,60,-15,-33,-116,85,116,-101,-27,-89,110,125 
 Data.b -100,-27,-84,86,-85,75,127,-63,-21,-40,-28,-31,42,-43,-24,70,-114,35,61,-25,-98,91,59,-54,-106,6,-117,107,31,86,10,73,74,116,-42,-22,-102,105,-33 
 Data.b -66,-74,62,97,-42,-2,46,-117,-46,99,-75,71,-119,57,0,16,65,-19,-49,99,-7,12,-13,-49,60,-42,-121,-123,126,37,-36,69,50,121,-109,55,45,-113,-67 
 Data.b -113,-49,61,79,-23,-19,-36,-9,94,44,-8,10,-88,-53,123,-92,-62,94,-38,86,-54,-107,66,-61,4,119,-38,56,61,48,61,-67,43,-58,-75,-81,-122,-102,-50 
 Data.b -118,124,-40,-96,-103,66,-14,62,86,32,-6,19,-111,-48,-97,78,-61,-100,117,30,92,-42,46,-100,-36,-91,-86,91,89,116,86,-2,-83,-83,-66,103,-17,-7,109 
 Data.b 126,0,-50,112,16,-62,96,-86,82,-91,-19,-94,-41,37,121,71,-38,-58,-94,-78,113,-101,-106,-86,74,86,-70,-35,59,-10,-79,-11,69,-65,-59,49,29,-104,34 
 Data.b -29,-26,-40,79,-33,-55,60,113,-49,-89,30,-66,-128,-15,-118,-13,-115,123,-30,4,-6,-95,104,-106,103,101,-55,32,7,36,122,112,71,-95,-4,-59,120,101,-108 
 Data.b 26,-28,-82,-74,-91,38,-50,118,-98,27,-98,-36,-15,-100,-29,-16,24,-49,29,-67,-57,-62,-65,14,47,-18,-31,89,-90,-123,-53,50,-125,-54,-79,61,-3,71,3 
 Data.b -37,-98,120,7,-80,-46,53,107,87,74,9,59,45,26,119,-41,101,-27,-36,-16,113,60,55,-62,-4,48,-25,-115,-81,87,14,-25,41,-13,83,106,80,-69,-39 
 Data.b -90,-70,-82,-1,0,45,15,-71,60,77,-32,-35,19,-60,86,-78,44,38,18,-28,16,6,84,-100,-6,99,35,-82,113,-45,29,-85,-25,-79,-5,58,-61,46,-78 
 Data.b -73,-110,-124,-14,82,81,33,36,12,99,32,-12,-36,125,-77,-127,-41,61,-15,94,10,63,104,-3,75,75,-71,101,89,94,64,91,-96,102,57,-57,7,-40,-25 
 Data.b -88,32,17,-100,87,79,109,-5,81,106,-105,105,-27,121,82,-88,97,-126,-59,79,124,-25,-100,-15,-58,125,114,63,26,-22,-98,39,5,85,-82,117,-86,-73,116 
 Data.b -82,-84,-5,125,-33,-45,95,1,-106,-8,127,-30,-73,14,97,-89,75,43,-60,-89,-123,-81,79,-107,-50,115,74,81,-116,-110,78,-41,119,-70,87,-7,-82,-6,31 
 Data.b 97,27,29,23,-61,122,100,90,116,34,53,-40,-118,-116,83,0,-110,23,29,51,-100,113,-113,94,8,-25,-73,19,-87,-8,127,74,-42,81,-64,-101,12,-63,-79 
 Data.b -122,-58,56,61,56,35,-98,-99,64,-21,-111,-100,-109,-32,75,-15,54,-25,90,95,62,73,88,22,57,-37,-72,-126,79,-90,61,-121,-29,-8,-13,90,118,-34,53 
 Data.b -71,92,109,45,-98,-25,57,-58,51,-23,-49,78,70,115,-114,-34,-121,71,-120,-93,59,37,31,119,68,-107,-74,90,116,-33,78,-53,123,30,77,30,10,-49,-14 
 Data.b -7,-54,-76,-15,85,86,97,42,-114,-91,106,-114,87,-67,70,-45,122,-54,-9,-77,-23,-9,45,74,-66,41,-8,98,98,-33,45,-83,-63,-36,50,-54,65,32,-116 
 Data.b 100,-16,15,96,123,114,115,-24,14,107,-50,71,-116,-81,124,22,13,-83,-15,-111,-4,-84,-123,35,-111,-98,64,-57,39,-82,51,-36,126,117,-22,-45,-8,-114,-2 
 Data.b -12,109,-55,-53,113,-98,114,125,56,-17,-127,-22,122,126,-68,-106,-93,-32,-40,124,65,39,-103,121,-126,79,61,1,61,51,-23,-37,-33,-95,-82,74,-119,95,-102 
 Data.b -126,106,78,-37,-34,-33,101,-91,-8,-10,-45,-90,-120,-3,11,40,-58,78,52,97,-123,-30,-103,-45,-59,97,35,111,-122,43,-37,38,-84,-76,-110,87,75,116,-46 
 Data.b -69,-12,103,3,-93,-4,88,-44,-82,-4,81,22,-91,-27,-69,67,16,9,26,-80,36,40,-28,113,-100,118,60,-25,-16,-50,57,-6,-69,-61,-78,15,27,75,111 
 Data.b 53,-61,99,37,88,-10,-64,36,28,117,-12,-49,-65,4,19,-109,-49,-127,-57,-16,-26,-41,77,-3,-28,42,14,-33,-101,-111,-100,31,-89,29,-1,0,94,-107,-19 
 Data.b 63,15,-28,-2,-49,-123,-50,118,-120,-64,7,29,50,14,114,113,-12,-25,-98,-25,-102,-68,50,-86,-101,-115,86,-33,51,-26,105,-9,-9,87,-4,53,-65,77,60 
 Data.b -18,55,-87,-110,98,112,81,-58,112,-2,29,97,-85,-31,104,67,13,70,-92,126,40,-62,-23,109,-67,-18,-37,123,93,-65,51,-20,-65,14,-24,122,26,105,80 
 Data.b 88,92,-84,110,-86,-85,-121,35,-26,24,3,-71,-25,3,60,-1,0,90,-117,95,-8,103,-31,-83,82,6,30,93,-72,44,-68,18,-87,-12,24,35,-98,-99,51 
 Data.b -33,-80,21,-31,13,-15,26,61,60,109,-110,82,2,100,-3,-32,58,118,35,32,-126,120,-21,-116,113,-114,107,-122,-15,71,-19,23,-3,-104,-116,-79,74,73,76 
 Data.b -29,4,-111,-64,56,-2,88,30,-97,-114,107,-44,-106,39,15,24,-38,113,-115,-94,-83,119,107,-24,-42,-70,-7,118,-4,79,-25,-84,15,3,113,-74,55,50,85 
 Data.b 114,-116,70,50,53,42,-42,117,46,-91,37,79,-102,77,52,-19,-91,-101,-21,-78,-37,-52,-10,91,47,-128,26,36,119,-122,-32,44,5,3,23,-24,-72,-58,78 
 Data.b 7,28,-15,-56,-3,58,103,29,-32,-16,-49,-121,-12,24,4,32,-62,10,12,118,3,-65,-41,-81,-79,-57,-21,95,21,89,-2,-42,23,2,23,86,45,-48,-100 
 Data.b -32,-6,30,-32,-29,-41,-97,94,-35,107,-105,-44,-65,104,-101,-99,92,73,34,-52,-29,-87,24,99,-41,-100,-13,-21,-48,-25,-116,116,-30,-71,-42,51,5,21,122 
 Data.b 105,93,-37,-55,-12,-12,-21,125,63,-32,35,-19,106,120,101,-30,-82,105,-120,-116,51,-116,77,119,-121,-93,-53,24,-75,38,-45,-8,119,119,122,-12,-69,-7,-18 
 Data.b -113,12,-16,-49,-61,57,117,41,-124,-41,-85,-2,-45,101,113,-37,29,15,24,-28,-111,-100,-1,0,42,-11,-125,-16,-57,74,75,109,-79,-94,-7,-95,78,62,94 
 Data.b -8,-19,-21,-49,108,-11,-59,122,118,-97,96,-111,46,-56,-48,34,-116,103,3,-100,122,103,-71,-29,-16,-92,-68,-107,109,100,10,113,-126,123,-6,96,123,-5,-114 
 Data.b -7,-50,56,-82,40,97,-87,66,26,-85,-7,-11,-43,-81,-23,-97,-81,102,60,103,-99,102,88,-49,-36,-30,-86,81,-124,53,-123,26,110,-47,81,77,89,52,-73 
 Data.b 91,105,-25,-71,-13,-51,-34,-119,54,-113,49,-119,119,-88,86,-32,-29,-41,-114,-128,14,58,114,61,-1,0,29,-67,43,-19,18,58,-93,3,-100,-15,-127,-111,-20 
 Data.b 127,46,-33,-56,87,-85,95,-23,118,-38,-110,-84,-69,85,-101,-114,122,125,115,-24,113,-41,-41,-125,-51,77,-92,120,106,49,62,66,112,8,3,24,36,-5,14 
 Data.b -67,79,110,-125,-65,-83,76,104,53,37,-53,-86,122,-83,-38,-23,-45,-65,79,-23,35,106,-36,83,74,-90,9,-53,21,31,-10,-123,27,77,-69,107,53,101,117 
 Data.b -41,-17,-13,48,108,-96,-108,-54,-118,20,-126,-59,64,-29,57,-1,0,-11,-6,-5,-41,-70,-8,115,-62,-80,-53,108,-109,-36,32,3,104,60,-3,51,-57,-79,-3 
 Data.b 71,-81,74,-81,-91,120,78,22,-110,57,89,23,11,-122,-49,-90,49,-97,-53,-21,-3,49,-48,107,58,-36,26,77,-70,-38,66,-61,42,2,-100,28,115,-8,99 
 Data.b -100,-25,-37,60,87,101,42,74,-99,-27,61,122,-69,-7,-38,-6,90,-53,-82,-9,-12,63,45,-49,51,-70,-71,-99,74,88,44,-77,-99,85,109,123,73,70,-21 
 Data.b -107,105,-41,-89,94,-65,51,3,-60,30,31,91,120,-52,-48,-82,99,-63,-24,6,48,73,28,122,119,-21,-37,-89,-96,-32,-19,-28,54,41,50,-90,62,114,113 
 Data.b -11,-6,122,-14,70,113,-57,95,-81,-84,89,107,22,-102,-90,-103,44,51,21,44,20,-112,127,-3,125,-114,122,-25,61,61,-85,-63,-68,95,-82,91,-23,38,96 
 Data.b 25,65,5,-15,-98,61,-70,113,-55,-23,-128,7,57,-94,-85,-116,82,-102,106,-35,59,116,79,-27,-41,-27,115,-89,-121,99,-114,-57,84,-87,-107,-41,-91,82,117 
 Data.b -95,82,43,91,-65,104,-82,-100,101,-26,-41,-98,-74,-45,-95,79,88,-67,-127,119,121,-49,-106,110,14,79,-7,-6,-28,-2,99,57,62,83,-83,-39,105,-105,108 
 Data.b -51,35,-125,-100,-25,-65,-8,-25,-45,61,71,106,-60,-65,-41,-81,-75,75,-121,16,6,43,-110,6,6,125,125,-113,28,-10,-49,-71,52,-21,109,39,81,-67,117 
 Data.b -34,31,4,-11,57,-21,-45,-127,-23,-41,-113,-62,-68,-23,79,-99,-23,22,-18,-19,-2,94,-70,-21,-83,-73,-44,-3,-77,45,-55,-34,83,78,-99,90,-40,-65,-85 
 Data.b -44,-27,78,81,-116,-84,-45,-47,-14,-38,-9,91,109,126,-114,-38,-18,91,-8,83,79,-70,-115,-106,-40,2,88,17,-64,4,-25,-90,122,122,125,51,92,-18,-93 
 Data.b -31,11,-21,22,100,-73,-120,-123,110,-124,47,24,39,-48,114,7,-89,81,-109,94,-33,-95,104,82,90,34,-110,14,120,-56,-57,78,79,94,-25,-66,125,-113,53 
 Data.b -38,54,-103,12,-15,47,-101,10,-79,3,-82,6,127,-82,64,-6,-6,-13,-56,-95,97,-29,52,-81,27,75,-78,-65,100,-70,127,-63,-1,0,60,42,113,-107,124 
 Data.b 6,42,74,21,94,46,-125,-107,-102,-88,-18,-12,-75,-97,-11,-70,125,89,-24,-112,-40,121,125,6,58,-112,8,-50,15,-1,0,95,-41,39,-40,102,-68,-33,-58 
 Data.b 55,-65,97,-105,-98,57,29,122,14,1,61,15,111,-56,-116,114,56,-81,83,-41,117,21,-47,17,-68,-11,57,0,-28,-112,71,-1,0,91,-41,-100,-97,92,116 
 Data.b -49,-52,30,61,-15,76,122,-124,-28,69,-44,28,12,118,-22,58,99,-110,70,71,-31,-100,98,-69,113,18,-116,32,-46,126,-9,85,-67,-75,79,-73,-53,95,-64 
 Data.b -4,-37,-125,-16,24,-68,-45,31,78,-77,-89,41,-31,-100,109,-19,62,-50,-100,-67,108,-1,0,-85,-18,117,-70,127,-120,-48,-89,46,58,31,-48,-113,78,125,115 
 Data.b -38,-70,-19,7,-60,-48,73,113,-77,120,-32,-113,79,-49,7,62,-100,-15,-17,-42,-66,108,-45,-82,-81,101,13,-27,-121,32,-122,-11,35,-73,-73,-13,-2,67,-101 
 Data.b -106,122,-98,-93,-90,-36,-103,88,73,-116,-28,-16,70,59,-116,18,113,-48,-29,-79,30,-75,-55,28,68,-93,109,-12,126,-86,-38,127,77,-38,-6,-3,-1,0,127 
 Data.b -113,-31,26,24,-120,-30,41,66,80,85,121,111,8,-13,36,-36,-99,-65,29,63,59,-9,62,-45,62,46,-73,-78,-74,59,-100,15,-108,-114,24,117,-57,-65,62 
 Data.b -125,4,15,-64,113,94,99,127,-85,-66,-75,116,-26,6,44,55,30,-121,35,-45,-89,67,-37,-113,64,57,35,21,-25,86,90,-67,-42,-73,18,-60,-116,75,54 
 Data.b -43,32,103,63,-113,-96,60,-25,-14,-81,-96,-66,31,-8,19,54,-65,108,-69,82,1,82,-60,-80,-57,108,-6,-113,-90,58,-29,35,32,26,-21,-116,-25,-120,106 
 Data.b 49,94,-17,93,-68,-75,-4,-34,-57,-25,56,-52,-69,44,-31,26,21,-15,120,-71,127,-75,-54,92,-112,-123,-18,-37,-70,-8,83,-19,-7,-66,-69,28,-122,-107,-88 
 Data.b 75,100,-51,20,-71,25,4,96,-11,-57,124,103,35,56,-56,60,12,-13,-23,92,95,-118,-4,50,-2,34,119,-99,36,-38,11,22,35,60,114,73,-25,63,92 
 Data.b 123,-9,25,21,-23,94,50,-80,-73,-79,-67,-3,-55,-64,28,28,112,59,-2,-96,-3,123,119,-82,90,43,-110,-88,65,111,-105,-82,70,58,123,113,-98,61,-79 
 Data.b -57,90,83,74,-50,-100,-11,73,-12,123,-20,-41,-90,-97,-94,-46,-57,94,87,-117,-100,101,71,55,-53,-1,0,117,90,-84,99,118,-30,-102,-35,38,-71,109,107 
 Data.b -75,-45,-16,-36,-30,116,-97,8,89,105,113,7,-71,100,-56,-29,39,-65,-73,-89,-31,-4,-70,-41,99,-89,105,-74,18,28,67,-79,-80,122,-82,61,9,29,58 
 Data.b 99,-33,-114,125,-115,120,-73,-60,95,26,61,-71,54,-106,12,75,-90,115,-77,36,-16,51,-109,-45,0,119,-25,-81,78,-72,-82,103,-64,-1,0,19,-25,-80,-70 
 Data.b -14,111,-9,16,-49,-113,-100,-98,61,-7,-21,-12,63,-105,60,114,-86,-76,-87,-51,66,-54,-55,-21,46,-119,-23,-43,-82,-67,108,-19,-13,103,-33,79,-122,120,-117 
 Data.b 53,-54,-22,102,-34,-42,115,-85,52,-25,28,61,-7,102,-31,-90,-86,63,-115,-68,-105,99,-21,104,-76,-8,-41,3,3,36,-15,-64,28,-6,-116,-10,-28,103,-42 
 Data.b -76,82,-63,24,109,-38,15,76,-32,126,60,-74,71,-72,31,-41,-91,115,90,23,-119,-84,-11,-95,19,-64,-63,-117,0,113,-100,-14,113,-57,83,-113,124,19,-49 
 Data.b 29,-85,-43,44,52,-103,-27,-119,100,84,44,15,57,0,-32,-25,-21,-20,56,-19,-36,-114,107,-66,10,51,-42,45,114,-17,117,-3,110,126,69,-102,86,-60,-27 
 Data.b -45,-28,-58,55,66,-94,118,113,-88,-20,-7,-76,-47,-21,-39,90,-1,0,113,-1,-39 

EndDataSection 

DataSection
 
 BoutonBouleBleue:
 ;****************
 
 Data.b 66,77,26,13,0,0,0,0,0,0,54,0,0,0,40,0,0,0,33,0,0,0,33,0,0,0,1,0,24,0,0,0,0,0,-28,12,0,0,-60,14,0,0,-60,14,0,0,0,0,0,0
 Data.b 0,0,0,0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-124,-125,-120,-117,-113,-120,-114,-104,-117
 Data.b -110,-94,-117,-108,-91,-117,-109,-94,-119,-115,-104,-121,-117,-113,-123,-123,-125,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-118,-111,-101,-118,-114,-99,-118,-99,-65,118,107,97,117
 Data.b 90,54,100,66,0,96,51,0,96,60,0,114,98,54,123,107,103,-120,-103,-68,-116,-110,-99,-117,-114,-106,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-120,-118,-114,-114,-99,-71,99,66,22,110,67,0,113,65,0,113,69,0,117,65,0,118,69,0,118,75,0,120,71,0,117
 Data.b 65,0,123,73,0,108,63,0,98,61,0,95,85,58,-114,-103,-74,-121,-118,-113,-123,-122,-122,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,0,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-114,-106,-87,117,117,123,106,62,0,-108,83,0,112,63,0,99
 Data.b 66,0,85,56,0,85,56,1,93,58,1,92,58,1,92,58,1,93,56,1,84,67,0,93,66,0,114,81,0,114,70,0,125,68,0,116,117,114,-116,-112
 Data.b -94,-123,-122,-122,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,0,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-108,-93,-61,75,47,0,123,81,0,-122
 Data.b 79,0,76,58,0,93,57,0,88,55,0,97,61,4,86,62,0,90,61,0,89,61,0,90,61,0,90,62,0,93,55,0,96,55,0,102,65,11,80,45,2,108,71
 Data.b 0,-114,83,0,69,46,0,-108,-92,-62,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-122,-123,-110,-98,-59,68,36,0,-120,86,0,101
 Data.b 62,0,79,59,8,82,61,0,87,61,0,95,61,0,98,54,0,102,62,2,103,60,0,107,66,5,99,60,3,97,61,0,96,60,0,85,55,0,92,60,0,83,54
 Data.b 0,88,59,4,99,61,0,-122,75,0,78,31,0,-111,-94,-59,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-122,-122,-123,-112,-98,-64,101,61,0,105,56,0,114,63,0,89,62,0,77
 Data.b 59,0,95,59,0,100,64,0,110,71,0,119,77,0,118,77,0,117,80,0,120,82,1,121,79,0,119,81,0,111,73,0,104,66,0,102,65,0,91,57
 Data.b 0,92,66,0,82,56,0,105,61,0,105,57,0,78,33,0,-108,-93,-62,-122,-122,-122,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b 0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-115,-107,-88,60,29,0,-127,86,0,106,61,0,94,48,0,84,60,0,85,72,0,107
 Data.b 68,0,109,77,0,126,78,0,-127,78,0,-126,88,0,-122,90,0,-125,94,0,-118,92,0,-119,80,0,-125,82,0,127,79,0,112,75,0,105,70
 Data.b 0,92,59,0,82,65,0,97,51,4,108,63,0,-120,88,0,64,29,0,-117,-108,-94,-123,-123,-122,-123,-123,-123,-123,-123,-123,0,-123
 Data.b -123,-123,-123,-123,-123,-121,-119,-116,112,120,-121,-98,95,0,95,61,0,81,61,0,81,65,0,98,62,0,116,67,0,118,77,1,126
 Data.b 84,1,-120,90,0,-111,98,0,-107,94,0,-109,93,1,-105,99,5,-107,97,3,-110,94,0,-107,94,0,-120,88,0,122,85,1,114,78,1,110
 Data.b 78,3,100,58,0,80,61,0,86,62,0,100,67,0,-110,87,0,112,115,-122,-121,-118,-115,-123,-123,-123,-123,-123,-123,0,-123,-123
 Data.b -123,-123,-123,-123,-119,-108,-83,-121,68,0,105,64,1,90,67,2,85,62,0,98,66,0,117,73,0,120,80,0,-117,94,0,-120,95,3,-110
 Data.b 96,0,-114,93,0,-104,99,0,-106,98,0,-104,98,0,-106,96,0,-106,97,0,-110,98,0,-114,96,0,-114,98,1,-120,90,0,-124,93,0,109
 Data.b 67,0,97,64,0,94,63,0,94,64,3,-119,93,30,-122,78,0,-120,-108,-85,-123,-123,-123,-123,-123,-123,0,-123,-123,-123,-120
 Data.b -118,-114,100,108,115,-101,90,0,109,79,15,95,76,10,100,68,0,111,75,0,119,78,0,127,82,0,-116,92,0,-121,93,0,-112,95,0
 Data.b -111,98,0,-104,99,0,-106,98,0,-106,98,0,-106,99,0,-105,99,0,-109,96,0,-112,94,0,-108,101,1,-123,89,0,-124,88,0,121,78
 Data.b 0,111,79,0,107,69,3,115,72,10,106,73,22,-115,91,0,106,106,114,-120,-118,-114,-123,-123,-123,0,-123,-123,-123,-123,-116
 Data.b -101,-124,93,7,-109,104,18,122,92,26,117,84,19,115,84,9,116,76,0,-125,87,3,-121,89,0,-114,102,2,-110,95,0,-109,98,0
 Data.b -110,100,0,-101,102,0,-103,101,0,-102,102,0,-103,101,0,-102,101,0,-105,100,0,-107,99,0,-109,98,1,-110,97,0,-115,95,0
 Data.b -118,91,7,124,82,4,126,87,18,122,91,28,-117,102,50,-95,120,30,-115,94,7,-125,-117,-101,-123,-123,-123,0,-123,-123,-124
 Data.b 123,-118,-87,-93,117,10,-104,121,48,-109,115,44,-111,108,47,-114,104,27,-119,92,8,-116,96,0,-109,104,0,-110,93,0,-109
 Data.b 96,0,-104,97,0,-105,100,0,-106,98,0,-104,100,0,-107,97,0,-103,101,0,-104,101,0,-101,99,0,-105,102,0,-111,97,0,-111,95
 Data.b 0,-115,94,0,-117,94,0,-121,94,14,-117,105,24,-110,111,48,-99,117,60,-103,125,48,-94,116,15,121,-116,-91,-123,-124,-124
 Data.b 0,-123,-121,-119,116,121,-124,-60,124,9,-100,-118,70,-91,-118,59,-87,127,61,-107,111,39,-108,104,17,-107,103,2,-108
 Data.b 102,0,-109,100,0,-104,100,0,-106,101,0,-104,104,0,-106,97,0,-104,100,0,-107,97,0,-103,102,0,-104,97,0,-102,98,0,-101
 Data.b 99,0,-105,100,0,-111,97,0,-114,95,0,-104,101,0,-106,105,18,-105,115,43,-97,-125,67,-69,-116,85,-90,-110,66,-69,-125
 Data.b 22,121,120,-123,-123,-121,-120,0,-126,-120,-111,-112,115,75,-96,127,52,-70,-107,72,-87,-112,90,-89,-116,65,-100,121
 Data.b 39,-102,104,12,-102,103,1,-120,91,0,-101,101,0,-104,99,0,-103,102,0,-103,94,0,-103,102,0,-103,101,0,-103,101,0,-103
 Data.b 101,0,-103,102,0,-104,97,0,-104,101,0,-103,101,0,-102,102,0,-104,99,0,-99,108,9,-91,105,20,-100,120,33,-78,-117,67,-78
 Data.b -100,89,-76,-117,90,-68,-119,51,121,112,88,-124,-120,-114,0,127,-120,-104,-100,108,26,-83,-119,67,-62,-99,85,-72,-102
 Data.b 101,-79,-107,74,-89,-128,48,-99,107,12,-103,104,3,-111,97,0,-103,100,0,-105,99,0,-103,101,0,-103,102,0,-103,101,0,-103
 Data.b 101,0,-103,101,0,-103,101,0,-103,101,0,-103,102,0,-103,101,0,-103,101,0,-103,101,0,-106,98,0,-100,106,9,-95,110,17,-91
 Data.b 126,43,-75,-115,77,-64,-93,94,-70,-103,100,-60,-110,56,-124,117,84,-126,-121,-111,0,125,-120,-101,-83,110,1,-69,-102
 Data.b 86,-57,-90,92,-68,-98,104,-79,-107,77,-90,127,46,-96,110,19,-103,103,2,-116,92,0,-101,102,0,-103,101,0,-107,97,0,-106
 Data.b 98,0,-106,98,0,-106,98,0,-106,98,0,-103,101,0,-103,101,0,-107,97,0,-107,97,0,-103,101,0,-103,101,0,-105,99,0,-106,102
 Data.b 2,-95,112,23,-91,126,43,-77,-115,74,-63,-91,98,-65,-101,102,-55,-100,76,-101,105,0,127,-120,-100,0,-128,-121,-109,-111
 Data.b 113,62,-78,-115,67,-62,-96,88,-74,-103,99,-78,-106,76,-89,-128,47,-97,109,17,-106,104,3,-115,93,0,-102,102,0,-103,101
 Data.b 0,-104,100,0,-104,100,0,-103,100,0,-104,100,0,-106,98,0,-103,101,0,-103,101,0,-104,100,0,-104,100,0,-103,101,0,-103
 Data.b 101,0,-106,97,0,-102,104,1,-97,108,16,-92,127,43,-76,-114,76,-63,-92,95,-70,-104,99,-63,-112,55,-120,119,86,-126,-121
 Data.b -112,0,-126,-122,-114,-116,120,89,-71,-110,61,-65,-94,87,-66,-96,105,-71,-101,79,-88,-125,48,-95,110,15,-98,109,7,-106
 Data.b 98,1,-101,101,0,-106,102,0,-109,97,0,-103,98,0,-111,98,0,-106,98,0,-106,98,0,-103,101,0,-103,102,0,-107,97,0,-106,97
 Data.b 0,-102,101,0,-103,102,0,-115,93,0,-97,104,8,-101,115,14,-87,-125,45,-74,-112,79,-65,-88,95,-70,-104,102,-61,-115,50
 Data.b -119,126,101,-126,-122,-115,0,-122,-122,-122,108,124,-103,-59,-125,10,-79,-105,94,-66,-104,114,-68,-104,81,-80,-118
 Data.b 60,-97,116,37,-100,103,7,-111,99,0,-113,100,0,-105,93,0,-100,104,0,-104,103,0,-101,99,0,-103,101,0,-103,101,0,-103,101
 Data.b 0,-103,94,0,-102,106,0,-104,101,0,-109,103,0,-108,96,0,-106,103,2,-100,109,6,-97,115,30,-80,-123,60,-69,-113,82,-51
 Data.b -92,109,-76,-104,97,-69,-119,28,118,119,-125,-123,-122,-120,0,-123,-123,-124,121,-124,-96,-80,-123,23,-71,-105,77,-65
 Data.b -95,112,-65,-96,92,-80,-116,74,-83,126,44,-96,113,19,-102,104,12,-106,100,1,-107,98,0,-107,99,0,-101,103,0,-102,99,0
 Data.b -104,101,0,-103,101,0,-103,101,0,-103,101,0,-105,102,0,-103,99,0,-106,99,0,-111,102,3,-101,103,6,-96,113,22,-89,121
 Data.b 40,-71,-110,73,-62,-95,93,-60,-99,101,-70,-103,85,-85,123,22,120,-121,-92,-123,-123,-124,0,-123,-123,-123,-127,-120
 Data.b -104,-107,106,11,-65,-109,56,-69,-102,94,-66,-93,105,-81,-108,76,-85,-121,52,-94,118,30,-109,102,5,-102,103,6,-106,100
 Data.b 0,-105,99,0,-105,97,0,-103,101,0,-103,101,0,-103,101,0,-103,101,0,-103,101,0,-105,101,0,-107,99,0,-110,99,3,-111,99
 Data.b 0,-106,107,16,-98,116,37,-85,-124,53,-77,-111,77,-67,-98,93,-66,-97,103,-66,-114,63,-96,109,12,127,-120,-104,-123,-123
 Data.b -123,0,-123,-123,-123,-121,-123,-125,99,-128,-69,-47,-114,20,-85,-106,89,-74,-99,104,-67,-97,94,-76,-113,69,-87,127
 Data.b 44,-92,117,24,-96,107,11,-104,102,3,-108,100,2,-103,98,0,-102,101,0,-102,101,0,-102,102,0,-102,101,0,-102,101,0,-110
 Data.b 96,0,-102,100,5,-108,101,4,-106,106,7,-100,112,14,-84,-128,52,-70,-112,70,-59,-97,93,-65,-94,102,-91,-111,90,-54,-122
 Data.b 29,106,123,-108,-122,-122,-120,-123,-123,-123,0,-123,-123,-123,-123,-123,-123,127,-123,-100,-93,-121,0,-51,-116,84,-72
 Data.b -109,103,-75,-96,105,-72,-102,83,-75,-109,66,-96,114,34,-96,119,25,-105,99,13,-105,103,8,-113,95,0,-109,98,0,-111,97
 Data.b 0,-115,93,0,-110,98,0,-107,97,0,-108,101,0,-106,103,2,-116,96,3,-100,109,36,-87,125,45,-76,-116,70,-82,-96,84,-81,-90
 Data.b 98,-80,-103,108,-36,-89,48,-91,114,10,126,-120,-100,-123,-123,-123,-123,-123,-123,0,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-122,110,126,-86,-60,-126,25,-70,-102,75,-58,-97,102,-65,-97,106,-68,-100,88,-69,-111,65,-89,127,40,-96,117,28
 Data.b -98,113,16,-99,108,6,-102,105,4,-105,102,1,-104,102,1,-99,107,5,-99,108,3,-101,105,10,-102,113,19,-90,120,38,-89,-127
 Data.b 48,-76,-121,62,-72,-97,84,-68,-91,99,-67,-94,93,-64,-109,84,-75,-124,6,109,126,-94,-123,-122,-122,-123,-123,-123,-123
 Data.b -123,-123,0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-127,-120,-100,-114,108,0,-76,-109,33,-59,-98,90,-50,-97,-128
 Data.b -68,-99,104,-72,-102,83,-80,-113,70,-84,-123,50,-88,-128,45,-96,114,35,-95,108,15,-95,111,22,-95,111,20,-96,110,16,-93
 Data.b 110,17,-98,113,34,-90,124,39,-89,-128,56,-74,-116,72,-63,-88,88,-76,-93,95,-54,-92,114,-60,-113,83,-56,-106,38,114,104
 Data.b 77,-123,-119,-110,-123,-123,-123,-123,-123,-123,-123,-123,-123,0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,123,-117,-80,-102,104,1,-82,-120,66,-65,-103,85,-63,-94,101,-69,-94,106,-69,-97,93,-75,-110,80,-78,-112,71,-83
 Data.b -118,60,-88,-125,49,-92,126,44,-92,126,45,-90,126,49,-91,-124,46,-78,-121,69,-74,-113,74,-69,-105,82,-63,-97,91,-72
 Data.b -94,97,-74,-101,92,-65,-112,75,-61,-114,74,-120,88,4,-127,-115,-91,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,120,-117,-81,-103,103,0,-67,-101
 Data.b 38,-72,-105,74,-71,-107,107,-73,-99,103,-67,-95,101,-64,-97,95,-68,-107,82,-69,-100,83,-78,-113,79,-72,-102,78,-73,-108
 Data.b 77,-74,-104,81,-63,-109,87,-63,-98,96,-64,-95,100,-70,-93,97,-75,-98,102,-72,-114,90,-54,-107,28,-104,110,0,122,-118
 Data.b -85,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,0,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,124,-117,-79,-118,102,0,-63,-127,23,-51,-116,86,-83,-106,92,-74
 Data.b -101,100,-62,-93,108,-66,-91,98,-68,-98,103,-71,-93,103,-71,-102,101,-76,-96,101,-70,-99,101,-64,-96,98,-58,-94,94,-66
 Data.b -94,101,-78,-110,91,-73,-110,80,-46,-110,18,109,97,55,127,-117,-87,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-126,-119,-100,108,126,-85,-88,-118,0,-48,-117,16,-60,-103,60,-75,-107,74,-80,-101,92
 Data.b -67,-99,86,-63,-100,85,-65,-94,88,-61,-95,89,-60,-97,86,-77,-103,98,-75,-108,82,-65,-110,64,-52,-121,23,-70,124,0,106
 Data.b 124,-92,-123,-118,-107,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,0,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,127,-124,-101,99,-128,-69,-106,107,13,-91,118,22,-46,-117,14,-70,-107,63,-73,-115,66,-72
 Data.b -104,82,-75,-115,70,-92,-122,51,-47,-121,24,-81,124,25,-91,123,27,95,117,-88,125,-121,-101,-123,-122,-122,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,0,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-121,-123,-125,-127,-120,-104,122,-121,-100,108,127,-101,-122,121,100,-113,118,77,-82,104,0
 Data.b -107,116,71,-116,119,87,111,124,-106,120,-121,-98,127,-122,-106,-121,-121,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,0,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-124,-122,-123,-123,-125,-122,-116,-127,-121,-111,125
 Data.b -120,-100,-128,-121,-110,-126,-121,-114,-123,-122,-122,-123,-123,-124,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123
 Data.b -123,-123,0

EndDataSection
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

Bravo KCC,

sa tourne parfaitement bien chez moi bien jouer :wink:
xp pro sp3 pb 4.30

pour les gadgets, le probleme c'est que la fonction que tu utilise pour la transparence elle rend la fenetre ainci que sont contenue en transparent. :?
désol je n'est pas la reponse.



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

bonjour kcc
bravo pour ce projet
il devient top ca donne beaucoup de perspective
pour une utilisation en windows child

tu as mis x simple alors que tu prend
xx pour définir ta couleur

Line(0,a,width,0,RGB(xx,yy,z))

juste au dessus de ce code tu utilise "r.f " et tu l'utilise plus loin "r.RECT"

ps: je disais cela pour l'avant dernier code!

Code : Tout sélectionner

sRed.f   = Red(color1)   : r.f = (Red  (color1) - Red  (color2))/i
  sGreen.f = Green(color1) : g.f = (Green(color1) - Green(color2))/i
  sBlue.f  = Blue(color1)  : b.f = (Blue (color1) - Blue (color2))/i
  StartDrawing(ImageOutput(img))

  For a = 0 To i-1
   
   xx.f = sRed   - a*r
   yy.f = sGreen - a*g
   z.f = sBlue  - a*b

   If type=horizontal
    Line(0,a,width,0,RGB(x,y,z))
   Else
    Line(a,0,0,height,RGB(x,y,z))
   EndIf
   
  Next a 
Dernière modification par kernadec le ven. 05/déc./2008 10:35, modifié 1 fois.
Stefou
Messages : 234
Inscription : jeu. 18/janv./2007 14:08

Message par Stefou »

Trop fort !
Je n'ai jamais réussi a faire un si beau resize !
J'ai beau bouger la souris aussi vite que je le peu je n'arrive pas à sortir du programme sans lacher le bouton !

Bravo
Répondre