Page 1 sur 1
Problème avec Point() sur Linux Mint
Publié : dim. 16/avr./2017 13:15
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
Re: Problème avec Point() sur Linux Mint
Publié : dim. 16/avr./2017 15:58
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.
Re: Problème avec Point() sur Linux Mint
Publié : dim. 16/avr./2017 18:25
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
Re: Problème avec Point() sur Linux Mint
Publié : mar. 16/mai/2017 15:23
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 !
Regarde mon post, ça de donnera peut-être des idées !
A+
Ulix
Re: Problème avec Point() sur Linux Mint
Publié : mar. 16/mai/2017 15:43
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
Re: Problème avec Point() sur Linux Mint
Publié : mar. 24/avr./2018 20:27
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