//
        public MainForm(Manager mngr)
        {
            InitializeComponent();
            manager          = mngr;
            streams          = new Streams(manager);
            handsRecognition = new HandsRecognition(manager, this);


            /* Put stream menu items to array */
            streamMenue[RS.Capture.StreamTypeToIndex(RS.StreamType.STREAM_TYPE_COLOR)] = colorMenu;
            streamMenue[RS.Capture.StreamTypeToIndex(RS.StreamType.STREAM_TYPE_DEPTH)] = depthMenu;
            streamMenue[RS.Capture.StreamTypeToIndex(RS.StreamType.STREAM_TYPE_IR)]    = irMenu;

            /* Put stream buttons to array */
            streamButtons[RS.Capture.StreamTypeToIndex(RS.StreamType.STREAM_TYPE_COLOR)] = radioColor;
            streamButtons[RS.Capture.StreamTypeToIndex(RS.StreamType.STREAM_TYPE_DEPTH)] = radioDepth;
            streamButtons[RS.Capture.StreamTypeToIndex(RS.StreamType.STREAM_TYPE_IR)]    = radioIR;

            // register event handler
            manager.UpdateStatus += new EventHandler <UpdateStatusEventArgs>(UpdateStatus);
            streams.RenderFrame  += new EventHandler <RenderFrameEventArgs>(RenderFrame);
            FormClosing          += new FormClosingEventHandler(FormClosingHandler);
            rgbImage.Paint       += new PaintEventHandler(PaintHandler);
            resultImage.Paint    += new PaintEventHandler(Panel_Paint);

            rgbImage.Resize += new EventHandler(ResizeHandler);
            //depthImage.Resize += new EventHandler(ResizeHandler);
            //resultImage.Resize += new EventHandler(ResizeHandler);

            // Fill drop down Menues
            ResetStreamTypes();
            PopulateDeviceMenu();
            foreach (RadioButton button in streamButtons)
            {
                if (button != null)
                {
                    button.Click += new EventHandler(Stream_Click);
                }
            }

            // Set up Renders für WindowsForms compability
            renders[0].SetHWND(rgbImage);
            //renders[1].SetHWND(depthImage);

            streams.StreamProfileSet = GetStreamSetConfiguration();
            streams.EnableStreamsFromSelection();
            streams.StreamType = GetSelectedStream();

            // Initialise Intel Realsense Components
            manager.CreateSession();
            manager.CreateSenseManager();
            //manager.SearchDevices();
            manager.CreateTimer();
        }
        public MainForm(Manager mngr)
        {
            InitializeComponent();
            manager          = mngr;
            streams          = new Streams(manager);
            handsRecognition = new HandsRecognition(manager, this);

            // register event handler
            manager.UpdateStatus += new EventHandler <UpdateStatusEventArgs>(UpdateStatus);
            streams.RenderFrame  += new EventHandler <RenderFrameEventArgs>(RenderFrame);
            FormClosing          += new FormClosingEventHandler(FormClosingHandler);

            rgbImage.Paint    += new PaintEventHandler(PaintHandler);
            depthImage.Paint  += new PaintEventHandler(PaintHandler);
            resultImage.Paint += new PaintEventHandler(ResultPanel_Paint);

            rgbImage.Resize   += new EventHandler(ResizeHandler);
            depthImage.Resize += new EventHandler(ResizeHandler);

            radioDepth.Click += new EventHandler(StreamButton_Click);
            radioIR.Click    += new EventHandler(StreamButton_Click);


            // Fill drop down Menues
            streams.ResetStreamTypes();
            PopulateDeviceMenu();

            // Set up Renders für WindowsForms compability
            renders[0].SetHWND(rgbImage);
            renders[1].SetHWND(depthImage);

            // Initialise Intel Realsense Components
            manager.CreateSession();
            manager.CreateSenseManager();
            manager.CreateTimer();
        }