Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
X11 Drawable ou Display vers Window
Envoyé par: twins

Salut,

Dans le cadre d'un projet je dois rendre skinable une fenetre java donc pour ce faire je dois rendre une partie du code en natif jusque la tout va bien, j'ai actuellement réalisé tous le code C++ pour Windows et je rencontre quelques petits problèmes pour la version Linux (pour precision tout doit rester en X11 pas de QT ou GTK ou autre).

La question est assez simple sur le fond mais j'avoue que je pêche grave sur la solution:
Comment appartir d'un Drawable ou Display, je peux récupérer un Window valide sur la fenetre parente de mon composant?

pour la version Windows j'utilise un simple :
HWND hWndParent = GetParent(hWnd);//hWnd est récupéré depuis la structure JAWT_Win32DrawingSurfaceInfo qu'offre java et correspond au handle de mon panel


mais pour la version linux je doit absolument obtenir un Window afin d'utiliser la fonction XShapeCombineMask

J'espere etre assez clair sur le problème....


D'avance merci à ceux qui pourront me répondre ou meme m'orienter vers une autre solution, toute fois si vous avez besoin de plus d'information ou de précision n'hésitez pas.

je rappel juste que seul une solution en X11 est envisageable.

Poste le Saturday 8 July 2006 14:58:10
Répondre     Citer    
Re: X11 Drawable ou Display vers Window

Utilise XCreateWindow? RTFM

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 8 July 2006 15:02:32
Répondre     Citer    
Re: X11 Drawable ou Display vers Window
Envoyé par: twins

Salut,


nan je n'utilise pas XCreateWindow ou XCreateSimpleWindow car la fenetre est une fenetre java déjà existante.

PS: Je ne RTFM pas les autres qd je n'ai pas bien compris la question, Merci d'avance.

Poste le Saturday 8 July 2006 15:10:44
Répondre     Citer    
Re: X11 Drawable ou Display vers Window

Soit le Window existe déjà, et tu l'obtiens (je ne sais pas comment exactement); Soit il n'existe pas, et tu es obligé de le créer.

Un Window est un Drawable.

Probablement as tu besoin de la structure similaire à JAWT_Win32DrawingSurfaceInfo pour X11. Je n'en sais rien!


----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 8 July 2006 15:43:38
Répondre     Citer    
Re: X11 Drawable ou Display vers Window

Peut-être voir en [www.velocityreviews.com]

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 8 July 2006 15:56:08
Répondre     Citer    
Re: X11 Drawable ou Display vers Window
Envoyé par: twins

Salut,

enfait sous linux j'ai cette structure là :
typedef struct jawt_X11DrawingSurfaceInfo {
Drawable drawable;
Display* display;
VisualID visualID;
Colormap colormapID;
int depth;
/*
* Since 1.4
* Returns a pixel value from a set of RGB values.
* This is useful for paletted color (256 color) modes.
*/
int (JNICALL *GetAWTColor)(JAWT_DrawingSurface* ds,
int r, int g, int b);
} JAWT_X11DrawingSurfaceInfo;

toute cette structure correspond à l'environement de mon panel java.
Donc si un Drawable est similaire à un Window ma nouvelle question serait comment obtenir le Drawable parent à partir du Drawable actuel(soit celui retourné par la structure JAWT_X11DrawingSurfaceInfo).

Merci de m'avoir éclairci sur le fait qu'un Drawable est identique à un Window.

Poste le Saturday 8 July 2006 15:58:54
Répondre     Citer    
Re: X11 Drawable ou Display vers Window

Un Drawable n'est pas un Window, mais tout Window est un Drawable (dans le client X11, c'est un numéro mais dans le serveur X11 c'est un peu comme si Window était une sous-classe de Drawable). Il existe des Drawable-s qui ne sont pas des Window-s.

Pour interroger le serveur sur la hierarchie des fenêtres utilise XQueryTree



----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 8 July 2006 16:38:18
Répondre     Citer    
Re: X11 Drawable ou Display vers Window
Envoyé par: twins

Merci pour toutes c'est infos XQueryTree vient de régler mon problème.

Poste le Saturday 8 July 2006 17:19:23
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
X11 Drawable ou Display vers Window
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons