Problème avec Point() sur Linux Mint

Codes specifiques à Linux
Avatar de l’utilisateur
GallyHC
Messages : 1703
Inscription : lun. 17/déc./2007 12:44

Problème avec Point() sur Linux Mint

Message par GallyHC »

Bonjour,

Quand j'essais de lire la couleur d'un point avec la commande "Point()", il me dit que "Point() est en dehors de la zone de dessin." meme avec un fenêtre de "200,200" et une lecture du point à "100,100".

Exemple du problème (fonctionne sous Windows) :

Code : Tout sélectionner

 If OpenWindow(0, 0, 0, 200, 200, "Point", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    If StartDrawing(WindowOutput(0))
      Debug Point(100, 100)
      StopDrawing() 
    EndIf
    
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf
Merci d'avance de votre aide (forcement ce qui on un Linux ^^). Petite précision je suis avec PB v5.60 sur le linux).

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
zaphod_b
Messages : 76
Inscription : mar. 09/déc./2014 20:02

Re: Problème avec Point() sur Linux Mint

Message par zaphod_b »

Je confirme sur GALLIUM OS (ubuntu avec XFCE qui fonctionne sur chromebook) et pb 5.60 x64.

Par contre l'exemple de l'aide sur la fonction POINT fonctionne.
Avatar de l’utilisateur
GallyHC
Messages : 1703
Inscription : lun. 17/déc./2007 12:44

Re: Problème avec Point() sur Linux Mint

Message par GallyHC »

Bonjour,

Merci "zaphod_b", pour la confirmation de ce problème. En espérant avoir une réponse sur la correction de cela.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Ulix
Messages : 315
Inscription : ven. 04/juin/2004 14:27
Localisation : Frontignan

Re: Problème avec Point() sur Linux Mint

Message par Ulix »

salut GallyHC,


Je confirme aussi (ou encore, apparemment le problème existe encore) !
(pour rappel je suis sous Linux 16.04.2 LTS (Xenial Xerus) 64-bit et environnement MATE 1.12.1)

Voir mon post : http://www.purebasic.fr/french/viewtopi ... nt#p185986

Je pense que tu essaye de récupéré une couleur (de fond ou autre, pour là réutilisé) pour donné
une certaine harmonie a la fenêtre (surtout si des skins ou des thèmes propre a l'utilisateur sont utilisé!
C'était mon but (en août 2016)

Je n'est pas trouvé de solution satisfaisante ! :twisted:
Regarde mon post, ça de donnera peut-être des idées ! :lol:

A+
Ulix
Avatar de l’utilisateur
GallyHC
Messages : 1703
Inscription : lun. 17/déc./2007 12:44

Re: Problème avec Point() sur Linux Mint

Message par GallyHC »

Bonjour,

Ulix> Merci pour le retours. Visiblement ce problème ne date pas d'hier ^^. J'espère que cela sera pris en compte au bout d'un moment (comme les Gifs lolll).

Pour moi ça aurait servis a faire une capture de l'écran (mais c le même style d'idée).

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
GallyHC
Messages : 1703
Inscription : lun. 17/déc./2007 12:44

Re: Problème avec Point() sur Linux Mint

Message par GallyHC »

Bonjour,

Je déterre un vieux poste, car j'ai trouvais depuis quelque temps une solution pour avoir la couleur de "background" des fenêtres (couleur de base) des OS (Windows, linux et MacOS) qui fonctionne :

Code : Tout sélectionner

    Procedure _WINDOW_BACKGROUND(hwnd.i = 0)
      ;
      ; http://www.purebasic.fr/english/viewtopic.php?p=472982#p472982
      ;
      CompilerSelect #PB_Compiler_OS
        CompilerCase #PB_OS_Windows
          ;
          Protected color = GetSysColor_(#COLOR_WINDOW)
          If color = $FFFFFF Or color = 0
            color = GetSysColor_(#COLOR_BTNFACE)
          EndIf
          ProcedureReturn color
          ;
        CompilerCase #PB_OS_Linux
          ;
          Protected *style.GtkStyle, *color.GdkColor
          *style = gtk_widget_get_style_(hwnd)
          *color = *style\bg[0]
          ProcedureReturn RGB(*color\red >> 8, *color\green >> 8, *color\blue >> 8)
          ;
        CompilerCase #PB_OS_MacOS
          ;
          Protected.i color, Rect.NSRect, Image
          Protected.i NSColor = CocoaMessage(#Null, #Null, "NSColor windowBackgroundColor")
          If NSColor
            Rect\size\width = 1
            Rect\size\height = 1
            Image = CreateImage(#PB_Any, 1, 1)
            StartDrawing(ImageOutput(Image))
            CocoaMessage(#Null, NSColor, "drawSwatchInRect:@", @Rect)
            color = Point(0, 0)
            StopDrawing()
            FreeImage(Image)
            ProcedureReturn color
          Else
            ProcedureReturn -1
          EndIf
          ;
      CompilerEndSelect
    EndProcedure
Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Répondre