Page 1 sur 1

OpenGLGadget + Plot [Résolu]

Publié : sam. 28/nov./2020 15:29
par SPH
Re salut,

J'utilise un OpenGLGadget(1,0,0,1920,1080). Je voudrais faire un Plot(1,1,rgb(255,255,255)) mais je n'y arrive pas.
Egalement : comment cacher la souris ?
Merci a l'avance...

Code : Tout sélectionner

InitSprite()
InitKeyboard()
InitMouse()



If OpenWindow(0, 0, 0, 0,0, " Polygons_Maker",#PB_Window_Maximize|#PB_Window_BorderLess)=0
  Beep_(500,250) : Delay(150) : Beep_(500,250)
  Debug ("OpenWindow() impossible")
  End
EndIf

If OpenGLGadget(1,0,0,1920,1080)=0
  Beep_(500,250) : Delay(150) : Beep_(500,250)
  Debug ("OpenGLGadget() impossible")
  End
EndIf


AddKeyboardShortcut(0,  #PB_Shortcut_Escape, 666)


Repeat
 
  SetGadgetAttribute(1,#PB_OpenGL_FlipBuffers,#True)
 
  StopDrawing()
 
  ;  Repeat
  Event = WaitWindowEvent()
 
  Select Event
     
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 1
          Select EventType()
            Case #PB_EventType_LeftClick        : Debug "Clic avec le bouton gauche de la souris"
            Case #PB_EventType_RightClick       : Debug "Clic avec le bouton droit de la souris"
          EndSelect
      EndSelect
    Case #PB_Event_Menu
      Select EventMenu()
        Case 666
          End
      EndSelect
  EndSelect
 
ForEver

Re: OpenGLGadget + Plot

Publié : sam. 28/nov./2020 22:01
par falsam
SPH a écrit :Egalement : comment cacher la souris ?
ShowCursor_(0) en debut de code et ShowCursor_(1) quand tu quittes.

Code : Tout sélectionner

EnableExplicit

Global window, ww = 800, wh = 600, viewport, Key

OpenWindow(#PB_Any, 0, 0, ww, wh, "Test Opengl", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)

viewport = OpenGLGadget(#PB_Any, 0, 0, ww, wh, #PB_OpenGL_NoDepthBuffer | #PB_OpenGL_Keyboard)
SetActiveGadget(viewport)

ShowCursor_(0)

While #True
  Repeat     
    Select EventType()
        
      Case #PB_EventType_KeyDown  ;Une touche a été pressée (Exemple les fléches du clavier)
         Key = GetGadgetAttribute(viewport, #PB_OpenGL_Key)
        Select Key
          Case #PB_Shortcut_Left
            Debug "Left : Fleche gauche"
            
          Case #PB_Shortcut_Right
            Debug "Right : Fleche droite"            
        EndSelect
                
      Case #PB_EventType_KeyUp  ;Une touche a été relâchée (Exemple Escape)
        Key = GetGadgetAttribute(viewport, #PB_OpenGL_Key)
        Select Key
          Case #PB_Shortcut_Escape
            Debug "Esc : Je sors"
            ShowCursor_(1)
            End   
        EndSelect
        
      Case #PB_EventType_LeftButtonDown ;Le bouton gauche de la souris a été pressé    
        Debug "Bouton gauche de la souris"
    EndSelect
  Until WindowEvent() = 0
Wend
Escape pour quitter

Re: OpenGLGadget + Plot

Publié : sam. 28/nov./2020 22:12
par SPH
merci toi ! :wink:

Re: OpenGLGadget + Plot

Publié : sam. 28/nov./2020 23:09
par falsam
A la place de l'API ShowCursor_(), tu peux utiliser

Code : Tout sélectionner

SetGadgetAttribute(TonGadgetOpenGL, #PB_OpenGL_Cursor, #PB_Cursor_Invisible)
et quand tu quittes tu peux rendre l'apparence normal de la souris.

Code : Tout sélectionner

SetGadgetAttribute(TonGadgetOpenGL, #PB_OpenGL_Cursor, #PB_Cursor_Default)