Portál AbcLinuxu, 2. listopadu 2025 10:52
)
Co se týče nahlédnutí do zdrojů ... pro celá X jsou na jednom místě ? Pokud ne, tak pak bych zase rád věděl, jak je najdu a jak zjistím, které knihovny je třeba přilinkovat ? Dík ...
. OGL sama neobsluhuje, takže chci-li získat její souřadnice, musím použít něco jiného. Ve woknech WinAPI zde jsem se domníval, že X. Tedy jde-li bez SDL a X vytvořit okno, asociovat s OGL a vytvořit hlavní smyčku programu a odchytávat události ( pohyb myši, stisk klávesy ), budu vděčný za jakoukoliv radu nebo link. Nejsem zase posedlej těmi X, ale programovat pod Linuxem se teprve učím ( pro grafické prostředí ) a vůbec nevím kudy do toho. Jediné co jsem na netu bohužel našel bylo vytvoření okna pomocí X nebo SDL. Jo pro X, ale jen vytvoření okna a to mi nějak nestačí
rootx=236 rooty=187 winx=236 winy=187 modifs=0 window=20971915querypointer.c:
#include <X11/Xos.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xproto.h>
#include <stdio.h>
char *progname;
pexit(str)char *str;{
fprintf(stderr,"%s: %s\n",progname,str);
exit(1);
}
usage(){
pexit("\nusage:\n\
Get information about current position of the X pointer.\n\
-display <display>\n");
}
Display *display;
main(argc,argv)char **argv;{
Display *display;
int screen,oldx = -99,oldy = -99,numscreens;
int doroot = 0, jitter = 0, idletime = 5, usegrabmethod = 0, waitagain = 0,
dovisible = 1, doevents = 1, onescreen = 0;
Cursor *cursor;
Window *realroot;
Window root;
char *displayname = 0;
Window windowin,newroot;
int rootx,rooty,winx,winy;
unsigned int modifs;
progname = *argv;
argc--;
while(argv++,argc-->0){
if(strcmp(*argv,"-display")==0 || strcmp(*argv,"-d")==0){
argc--,argv++;
if(argc<0)usage();
displayname = *argv;
}else usage();
}
display = XOpenDisplay(displayname);
if(display==0)pexit("could not open display");
screen = DefaultScreen(display);
root = RootWindow(display,screen);
XQueryPointer(display, root, &newroot, &windowin,
&rootx, &rooty, &winx, &winy, &modifs);
printf("rootx=%d rooty=%d winx=%d winy=%d modifs=%d window=%d\n", rootx, rooty, winx, winy, modifs, windowin);
}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.