Bonjour à tous,
Je développe une petite application pour mon entreprise permettant de récupérer un flux vidéo et de l'afficher dans une fenêtre.
Pour cela, je dispose d'un SDK propre à ma boîte. Dans ce sdk, il y a une fonction appelée sncCreateScreen dont voici le prototype :
J'ai donc créer un objet CamViewer qui dérive de wxWindow dont voici le constructeur :Code:
1
2
3
4
5
6
7
8 SNC_ERROR sncCreateScreen( SNC_HANDLE Handle, // handle de la caméra HWND ParentHandleWnd, // handle de la fenêtre parente int X, int Y, int W, int H );
Tout ceci fonctionne parfaitement, la vidéo s'affiche etc... Le problème est lié aux évènements, je ne peux pas récupérer de MouseEvent sur la fenêtre lorsque celle ci joue la vidéo.Code:
1
2
3
4
5
6
7
8
9
10 CamViewer::CamViewer(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name) : wxWindow(parent, id, pos, size, style, name) { wxPoint position = this->GetPosition(); wxSize s = this->GetSize(); viewer = new IPCamera::Viewer(pos.x, pos.y, s.GetWidth(), s.GetHeight(), (HWND)(this->GetHandle()));
Je souhaiterais dessiner sur la vidéo des rectangles permettant de définir des zones (pour zoomer etc...) mais impossible de récupérer l'évenement EVT_LEFT_DOWN et donc par conséquent, impossible de dessiner quoi que ce soit.
J'avais penser à superposer un genre de fenêtre transparente au dessus de la vidéo, est-ce faisable ?
J'ai besoins de quelques conseils...
Merci d'avance,
Yann.