Exemplo n.º 1
0
 public void OpenGLControl_OpenGLDraw(object sender, OpenGLRoutedEventArgs args) //Ивент для отрисовки кадра
 {
     args.OpenGL.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT); //Отчищаем полотно
     //if (FabricFiguries.CurrentFigure != null) Figure.Draw(Painter); //Отрисовка новой фигуры
     FabricFiguries.DrawCurrenFigure(Painter);
     FabricFiguries.DrawAll(Painter); //Рисуем все фигуры из фабрики
 }
Exemplo n.º 2
0
        private void MouseMove_Event(object sender, MouseEventArgs e)
        {
            var MouseCoord = e.GetPosition(GLCanvas);//Сичтываем позицию мыши на полотне

            //Меняем вторую координату фигуры для изменения размера и положения фигуры
            FabricFiguries.SetEnd(new NormPoint(MouseCoord.X, MouseCoord.Y));
            FabricFiguries.Initialization();
            //Figure.EndCoord = new NormPoint(MouseCoord.X, MouseCoord.Y);
        }
Exemplo n.º 3
0
        public void OpenGLControl_Resized(object sender, OpenGLRoutedEventArgs args) //Ивент изменения размера окна
        {
            var glContol = (OpenGLControl)sender;

            //Присваиваем новые размеры полотна
            NormPoint.Height = glContol.ActualHeight;
            NormPoint.Widht  = glContol.ActualWidth;
            //Изменяем положение фигур на новом холсте
            FabricFiguries.Update();
        }
Exemplo n.º 4
0
        private void MouseUp_Event(object sender, MouseButtonEventArgs e)
        {
            GLCanvas.MouseMove         -= MouseMove_Event;
            GLCanvas.MouseLeftButtonUp -= MouseUp_Event;
            //Добавляем фигуру в фабрику для дальнейшей отрисовки
            FabricFiguries.AddFigureToFabric();
            FabricFiguries.ReCreate();


            GLCanvas.MouseLeftButtonDown += MouseDown_Event;
        }
Exemplo n.º 5
0
        /*
         *  Евенты для рисования фигуры мышью
         */
        //Ивент срабатывающий при нажатии на холст левой кнопкой мыши.
        //При нажатии на холст создается фигура
        private void MouseDown_Event(object sender, MouseButtonEventArgs e)
        {
            GLCanvas.MouseLeftButtonDown -= MouseDown_Event;
            //FabricFiguries.Create(id); //Создаем экземляр класса фигуры
            var gLControl  = (OpenGLControl)sender;
            var MouseCoord = e.GetPosition(GLCanvas); //Сичтываем позицию мыши на полотне

            //Назначаем начальную координату фигуры, которая в дальнейшем меняться не будет
            FabricFiguries.SetBegin(new NormPoint(MouseCoord.X, MouseCoord.Y));
            FabricFiguries.SetEnd(new NormPoint(MouseCoord.X, MouseCoord.Y));
            FabricFiguries.Initialization();
            //Figure.Init(new NormPoint(MouseCoord.X, MouseCoord.Y), new NormPoint(MouseCoord.X, MouseCoord.Y), Color_, Thickness);
            //Вторая координата фигуры, которая в дальнейшем будет меняться в ивенте MouseMove_Event
            GLCanvas.MouseMove         += MouseMove_Event; //Назначаем ивент для движения мышью с помощью которого будем менять размер фигуры
            GLCanvas.MouseLeftButtonUp += MouseUp_Event;   //Назначаем ивент при отпуске левой кнопки мыши заканчивающий создание фигуры
        }
Exemplo n.º 6
0
 public FigureSelectVM(Grid FiguresSelectPanel, CanvasVM canvasVM, SliderVM slider, ColorVM colorVM)
 {
     this.canvasVM = canvasVM;
     NewFigure     = new ButtonCommand(obj =>
     {
         foreach (Button elem in FiguresSelectPanel.Children)
         {
             elem.Background = new SolidColorBrush(MaterialDesignColors.Recommended.CyanSwatch.Cyan500);
         }
         var btn        = obj as Button;
         btn.Background = new SolidColorBrush(MaterialDesignColors.Recommended.RedSwatch.Red500);
         canvasVM.SetEventbyButtonName(btn.Name);
         FabricFiguries.Create(btn.Name);
         FabricFiguries.SetThickness(slider.SliderValue);
         FabricFiguries.SetColor(ColorTranslator.FromHtml(colorVM.CurrentColor));
     });
     foreach (Button elem in FiguresSelectPanel.Children)
     {
         elem.Command          = NewFigure;
         elem.CommandParameter = elem;
     }
 }
Exemplo n.º 7
0
        private void Select_Event(object sender, MouseButtonEventArgs e)
        {
            var MouseCoord = e.GetPosition(GLCanvas);

            FabricFiguries.SelectFigure(new NormPoint(MouseCoord.X, MouseCoord.Y));
        }