Beispiel #1
0
        private void FloorPlanControlClick(object sender, MouseEventArgs e)
        {
            var    local      = new Point(e.X, e.Y);
            double xRat       = Convert.ToDouble(Width) / ImageWidth;
            double yRat       = Convert.ToDouble(Height) / ImageHeight;
            double hittargetw = 22 * xRat;
            double hittargeth = 22 * yRat;

            double wrat = Convert.ToDouble(ImageWidth) / 533d;
            double hrat = Convert.ToDouble(ImageHeight) / 400d;


            bool changeHighlight = true;

            if (Highlighted)
            {
                foreach (objectsFloorplanObjectsEntry fpoe in Fpobject.objects.@object)
                {
                    if (((fpoe.x * wrat) - hittargetw) * xRat <= local.X && ((fpoe.x * wrat) + hittargetw) * xRat > local.X &&
                        ((fpoe.y * hrat) - hittargeth) * yRat <= local.Y && ((fpoe.y * hrat) + hittargeth) * yRat > local.Y)
                    {
                        switch (fpoe.type)
                        {
                        case "camera":
                            CameraWindow cw = MainClass.GetCameraWindow(fpoe.id);
                            if (cw != null)
                            {
                                //cw.Location = new Point(Location.X + e.X, Location.Y + e.Y);
                                cw.BringToFront();
                                cw.Focus();
                            }

                            changeHighlight = false;
                            break;

                        case "microphone":
                            VolumeLevel vl = MainClass.GetVolumeLevel(fpoe.id);
                            if (vl != null)
                            {
                                //vl.Location = new Point(Location.X + e.X, Location.Y + e.Y);
                                vl.BringToFront();
                                vl.Focus();
                            }

                            changeHighlight = false;
                            break;
                        }
                        break;
                    }
                }
            }

            if (changeHighlight)
            {
                bool hl = Highlighted;
                MainClass._pnlCameras.ClearHighlights();

                Highlighted = !hl;
            }
            if (Highlighted)
            {
                foreach (objectsFloorplanObjectsEntry fpoe in Fpobject.objects.@object)
                {
                    switch (fpoe.type)
                    {
                    case "camera":
                        CameraWindow cw = MainClass.GetCameraWindow(fpoe.id);
                        if (cw != null)
                        {
                            cw.Highlighted = true;
                        }
                        break;

                    case "microphone":
                        VolumeLevel vl = MainClass.GetVolumeLevel(fpoe.id);
                        if (vl != null)
                        {
                            vl.Highlighted = true;
                        }

                        break;
                    }
                }
            }

            MainClass.Invalidate(true);
        }