États souris et screen
Re: États souris et screen
Fred l'a intégré comme une API > SDL_Init_()
Re: États souris et screen
Wow, il est fou ce type, il passe des heures à intégrer un truc aussi énorme et n'en fait aucune documentation 
Je ne connaissais pas du tout SDL avant, d'où ma surprise. Ça paraît intéressant !

Je ne connaissais pas du tout SDL avant, d'où ma surprise. Ça paraît intéressant !
Re: États souris et screen
Je digresse un peu, mais faut-il faire quelque chose de particulier pour initialiser SDL, autre que SDL_Init_() ?
Ça me paraissait pas trop mal ça...
Code : Tout sélectionner
InitSprite() : InitKeyboard() : InitMouse()
OpenWindow(0, 0, 0, 800, 600, "")
OpenWindowedScreen(WindowID(0), 0, 0, 800, 600)
SDL_Init_(#SDL_INIT_EVERYTHING)
Global sdlEvent.SDL_Event
Repeat
While WindowEvent() : Wend
While SDL_PollEvent_(@sdlEvent)
Debug "sdl event triggered"
Wend
ExamineKeyboard()
ClearScreen(0)
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Re: États souris et screen
Tu mélanges tout, il faut que tu ouvre un écran SDL pas PB.
regarde sur le net ou le forum , c'est pas la doc qui manque , meme PB a un exemple SDL qui dois trainer quelque part.
regarde sur le net ou le forum , c'est pas la doc qui manque , meme PB a un exemple SDL qui dois trainer quelque part.
Re: États souris et screen
@Joubarbe : tu souhaites afficher un curseur uniquement (ou alors, j'ai mal compris ce que tu veux faire précisément) ?
Pourquoi n'utilises-tu pas alors un simple sprite pour afficher le curseur ?
Comme ça, ça serait cross-platform.
Pourquoi n'utilises-tu pas alors un simple sprite pour afficher le curseur ?
Comme ça, ça serait cross-platform.
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: États souris et screen
J'ai en effet déjà essayé d'afficher un sprite et de passer par DesktopMouseX/Y() (ou WindowMouseX/Y()). Le problème est que lorsque tu ExamineMouse() sous Linux, le curseur hardware reste au milieu de l'écran. Et il me faut utiliser la bibliothèque Mouse pour avoir l'état "pushed". De plus, le fait d'afficher un sprite annule l'intérêt de la souris hardware, et ajoute cette sensation de latence (décalage entre le mouvement et ce qui est affiché) à la souris.
Malheureusement il ne semble pas avoir d'équivalence de ShowCursor_() sous Linux. Et même si c'était le cas, comme je l'ai dit, la souris, lorsqu'elle est capturée par un "screen", reste bloquée au milieu de l'écran. Et il me faut la bibliothèque Mouse pour avoir l'état "pushed" (Linux n'ayant apparemment pas d'évènement interne pour ça, contrairement à Window et son #WM_LBUTTONDOWN).
Malheureusement il ne semble pas avoir d'équivalence de ShowCursor_() sous Linux. Et même si c'était le cas, comme je l'ai dit, la souris, lorsqu'elle est capturée par un "screen", reste bloquée au milieu de l'écran. Et il me faut la bibliothèque Mouse pour avoir l'état "pushed" (Linux n'ayant apparemment pas d'évènement interne pour ça, contrairement à Window et son #WM_LBUTTONDOWN).
Re: États souris et screen
si tu bidouilles un peu en c++ , la sfml utilise ceci comme implémentation
c'est basé sur la lib xcb , remplacant de xlib. https://fr.wikipedia.org/wiki/XCB
c'est basé sur la lib xcb , remplacant de xlib. https://fr.wikipedia.org/wiki/XCB
Code : Tout sélectionner
void WindowImplX11::setMouseCursorVisible(bool visible)
{
const uint32_t values = visible ? XCB_NONE : m_hiddenCursor;
ScopedXcbPtr<xcb_generic_error_t> error(xcb_request_check(
m_connection,
xcb_change_window_attributes(
m_connection,
m_window,
XCB_CW_CURSOR,
&values
)
));
if (error)
err() << "Failed to change mouse cursor visibility" << std::endl;
xcb_flush(m_connection);
}
Re: États souris et screen
la souris avec initmouse() est buguée sous linux ?G-Rom a écrit :Sous linux , la souris est completement buggé...
il vaut mieux ne pas l'utiliser ?
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english