Пример #1
0
        // Обработчик события от полей вывода разметки
        private void OnDisplayCanvasEvent(
            object sender, DisplayCanvasEventArgs e)
        {
            string eventName;

            switch (e.EventID)
            {
            case DisplayCanvasEventID.FocusPointed:
            default:
                eventName = "Focus Pointed";
                break;

            case DisplayCanvasEventID.NodeCreated:
                if (e.HasBox)
                {
                    eventName = "Box Created";
                }
                else
                {
                    eventName = "Marker Created";
                }
                break;

            case DisplayCanvasEventID.NodeUpdated:
                if (e.HasBox)
                {
                    eventName = "Box Updated";
                }
                else
                {
                    eventName = "Marker Updated";
                }
                break;
            }
            string eventArgs =
                "X = " + e.clip.X.ToString() +
                "; Y = " + e.clip.Y.ToString();

            if (e.HasBox)
            {
                eventArgs +=
                    "; W = " + e.clip.Width.ToString() +
                    "; H = " + e.clip.Height.ToString();
            }
            string messageText = eventName + ": " + eventArgs;

            MessageBox.Show(messageText,
                            "Viewer " + e.ControlID.ToString() + " raised an event!");
        }
Пример #2
0
        private int m_ZoomDefaultID;     // индекс начального зума

        // Обработчик события от поля вывода разметки
        private void m_OnDisplayCanvasEvent(
            object sender, DisplayCanvasEventArgs e)
        {
            int    viewID    = m_Viewers[e.ControlID].ViewID;
            int    zoomID    = m_Viewers[e.ControlID].ZoomID;
            double zoomValue = m_ZoomValues[zoomID];

            DisplayCanvasEventArgs eTraceArgs;

            eTraceArgs             = new DisplayCanvasEventArgs(e.EventID);
            eTraceArgs.ControlID   = -1;    // не используется далее
            eTraceArgs.ViewID      = viewID;
            eTraceArgs.clip.X      = (int)(e.clip.X * zoomValue);
            eTraceArgs.clip.Y      = (int)(e.clip.Y * zoomValue);
            eTraceArgs.clip.Width  = (int)(e.clip.Width * zoomValue);
            eTraceArgs.clip.Height = (int)(e.clip.Height * zoomValue);
            eTraceArgs.HasBox      = e.HasBox;

            // Обработку события и изменение состояния слоя DisplayManager
            // будет выполнять слой TraceManager
            m_RaiseEvent(sender, eTraceArgs);
        }
 private void OnViewerCanvasEvent(object sender, DisplayCanvasEventArgs e)
 {
     RunCanvasEvent(sender, e);
 }