diff --git a/InkCanvasForClass/InkCanvasForClass.csproj.user b/InkCanvasForClass/InkCanvasForClass.csproj.user
index d9348c4..064a598 100644
--- a/InkCanvasForClass/InkCanvasForClass.csproj.user
+++ b/InkCanvasForClass/InkCanvasForClass.csproj.user
@@ -23,6 +23,9 @@
Code
+
+ Code
+
@@ -49,6 +52,9 @@
Designer
+
+ Designer
+
Designer
diff --git a/InkCanvasForClass/MainWindow.xaml b/InkCanvasForClass/MainWindow.xaml
index 7710c6d..060f80b 100644
--- a/InkCanvasForClass/MainWindow.xaml
+++ b/InkCanvasForClass/MainWindow.xaml
@@ -126,6 +126,10 @@
+
+
+
+
diff --git a/InkCanvasForClass/MainWindow_cs/MW_BoardControls.cs b/InkCanvasForClass/MainWindow_cs/MW_BoardControls.cs
index 86b97d8..ebfebf3 100644
--- a/InkCanvasForClass/MainWindow_cs/MW_BoardControls.cs
+++ b/InkCanvasForClass/MainWindow_cs/MW_BoardControls.cs
@@ -320,7 +320,6 @@ namespace Ink_Canvas {
BtnWhiteBoardSwitchNextR.Visibility = value ? Visibility.Collapsed : Visibility.Visible;
BtnRightPageListWB.CornerRadius = value ? new CornerRadius(0, 5, 5, 0) : new CornerRadius(0);
BtnWhiteboardAddRightSecondary.Visibility = value ? Visibility.Visible : Visibility.Collapsed;
- BtnWhiteboardAddRight.Visibility = value ? Visibility.Collapsed : Visibility.Visible;
}
}
diff --git a/InkCanvasForClass/MainWindow_cs/MW_ShapeDrawing.cs b/InkCanvasForClass/MainWindow_cs/MW_ShapeDrawing.cs
index b5adaa8..ef30beb 100644
--- a/InkCanvasForClass/MainWindow_cs/MW_ShapeDrawing.cs
+++ b/InkCanvasForClass/MainWindow_cs/MW_ShapeDrawing.cs
@@ -1600,5 +1600,42 @@ namespace Ink_Canvas {
return false;
return true;
}
+
+
+ #region ShapeDrawingV2
+
+ public enum ShapeDrawingType {
+ Line,
+ DottedLine,
+ DashedLine,
+ ArrowOneSide,
+ ArrowTwoSide,
+ Rectangle,
+ Ellipse,
+ PieEllipse,
+ Triangle,
+ RightTriangle,
+ Diamond,
+ Parallelogram,
+ FourLine,
+ Staff,
+ Axis2D,
+ Axis2DA,
+ Axis2DB,
+ Axis2DC,
+ Axis3D,
+ Hyperbola,
+ HyperbolaF,
+ Parabola,
+ ParabolaA,
+ ParabolaAF,
+ Cylinder,
+ Cube,
+ Cone,
+ EllipseC,
+ RectangleC
+ }
+
+ #endregion
}
}
\ No newline at end of file
diff --git a/InkCanvasForClass/Popups/ShapeDrawingPopup.xaml b/InkCanvasForClass/Popups/ShapeDrawingPopup.xaml
new file mode 100644
index 0000000..9f1f7e9
--- /dev/null
+++ b/InkCanvasForClass/Popups/ShapeDrawingPopup.xaml
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/InkCanvasForClass/Popups/ShapeDrawingPopup.xaml.cs b/InkCanvasForClass/Popups/ShapeDrawingPopup.xaml.cs
new file mode 100644
index 0000000..e4c1c32
--- /dev/null
+++ b/InkCanvasForClass/Popups/ShapeDrawingPopup.xaml.cs
@@ -0,0 +1,179 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Ink_Canvas.Popups {
+
+ public partial class ShapeDrawingPopup : UserControl {
+ public ShapeDrawingPopup() {
+ InitializeComponent();
+ ShapeDrawingItemsControl.ItemsSource = _items;
+ _items.Add(new ShapeDrawingItem() {
+ Name = "直线",
+ Image = FindResource("LineIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "虚线",
+ Image = FindResource("DashedLineIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "点虚线",
+ Image = FindResource("DottedLineIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "箭头",
+ Image = FindResource("ArrowLineIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "双箭头",
+ Image = FindResource("ArrowLineTwoSideIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "矩形",
+ Image = FindResource("RectIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "椭圆",
+ Image = FindResource("CircleIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "饼图形",
+ Image = FindResource("PieIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "三角形",
+ Image = FindResource("TriangleIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "直角三角",
+ Image = FindResource("RightTriangleIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "菱形",
+ Image = FindResource("DiamondIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "平行四边形",
+ Image = FindResource("ParallelogramIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "四线三格",
+ Image = FindResource("FourLineIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "五线谱",
+ Image = FindResource("FiveLineIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "平面坐标轴",
+ Image = FindResource("DefaultAxisIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "平面坐标轴2",
+ Image = FindResource("Axis2Icon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "平面坐标轴3",
+ Image = FindResource("Axis3Icon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "平面坐标轴4",
+ Image = FindResource("Axis4Icon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "三维坐标轴",
+ Image = FindResource("ThreeDimensionAxisIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "双曲线",
+ Image = FindResource("HyperbolaIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "带焦点的双曲线",
+ Image = FindResource("HyperbolaWithFocalPointIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "抛物线1",
+ Image = FindResource("ParabolaIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "抛物线2",
+ Image = FindResource("Parabola2Icon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "带焦点的抛物线2",
+ Image = FindResource("Parabola2WithFocalPointIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "圆柱体",
+ Image = FindResource("CylinderIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "立方体",
+ Image = FindResource("CubeIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "圆锥体",
+ Image = FindResource("ConeIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "带圆心的圆形",
+ Image = FindResource("CircleWithCenterPointIcon") as DrawingImage,
+ });
+ _items.Add(new ShapeDrawingItem() {
+ Name = "带中心点的矩形",
+ Image = FindResource("RectWithCenterPointIcon") as DrawingImage,
+ });
+ }
+
+ private class ShapeDrawingItem {
+ public string Name { get; set; }
+ public DrawingImage Image { get; set; }
+ }
+ private ObservableCollection _items = new ObservableCollection();
+ private bool isCloseButtonDown = false;
+ public event EventHandler ShapeDrawingPopupShouldCloseEvent;
+ private void CloseButtonBorder_MouseDown(object sender, MouseButtonEventArgs e) {
+ isCloseButtonDown = true;
+ CloseButtonBorder.Background = new SolidColorBrush(Color.FromArgb(34, 220, 38, 38));
+ }
+ private void CloseButtonBorder_MouseLeave(object sender, MouseEventArgs e) {
+ isCloseButtonDown = false;
+ CloseButtonBorder.Background = new SolidColorBrush(Colors.Transparent);
+ }
+ private void CloseButtonBorder_MouseUp(object sender, MouseButtonEventArgs e) {
+ if (!isCloseButtonDown) return;
+
+ CloseButtonBorder_MouseLeave(null, null);
+ ShapeDrawingPopupShouldCloseEvent?.Invoke(this,new RoutedEventArgs());
+ }
+ private Border shapeDrawingButtonDownBorder = null;
+ private void ShapeDrawingButtonBorder_MouseDown(object sender, MouseButtonEventArgs e) {
+ if (shapeDrawingButtonDownBorder != null) return;
+ shapeDrawingButtonDownBorder = (Border)sender;
+ shapeDrawingButtonDownBorder.Background = new SolidColorBrush(Color.FromRgb(228, 228, 231));
+ }
+ private void ShapeDrawingButtonBorder_MouseLeave(object sender, MouseEventArgs e) {
+ if (shapeDrawingButtonDownBorder == null || shapeDrawingButtonDownBorder != sender) return;
+ shapeDrawingButtonDownBorder.Background = new SolidColorBrush(Colors.Transparent);
+ shapeDrawingButtonDownBorder = null;
+ }
+ private void ShapeDrawingButtonBorder_MouseUp(object sender, MouseButtonEventArgs e) {
+ if (shapeDrawingButtonDownBorder == null || shapeDrawingButtonDownBorder != sender) return;
+ ShapeDrawingButtonBorder_MouseLeave(sender, null);
+
+ }
+ }
+}