alpha
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using Ink_Canvas.Helpers;
|
||||
|
||||
namespace Ink_Canvas
|
||||
{
|
||||
public partial class MainWindow : PerformanceTransparentWin
|
||||
{
|
||||
private class PageListViewItem
|
||||
{
|
||||
public int Index { get; set; }
|
||||
public StrokeCollection Strokes { get; set; }
|
||||
}
|
||||
|
||||
ObservableCollection<PageListViewItem> blackBoardSidePageListViewObservableCollection = new ObservableCollection<PageListViewItem>();
|
||||
|
||||
/// <summary>
|
||||
/// <para>刷新白板的缩略图页面列表。</para>
|
||||
/// </summary>
|
||||
private void RefreshBlackBoardSidePageListView()
|
||||
{
|
||||
if (blackBoardSidePageListViewObservableCollection.Count == WhiteboardTotalCount) {
|
||||
foreach (int index in Enumerable.Range(1, WhiteboardTotalCount))
|
||||
{
|
||||
var st = ApplyHistoriesToNewStrokeCollection(TimeMachineHistories[index]);
|
||||
st.Clip(new Rect(0, 0, (int)inkCanvas.ActualWidth, (int)inkCanvas.ActualHeight));
|
||||
var pitem = new PageListViewItem()
|
||||
{
|
||||
Index = index,
|
||||
Strokes = st,
|
||||
};
|
||||
blackBoardSidePageListViewObservableCollection[index-1] = pitem;
|
||||
}
|
||||
} else {
|
||||
blackBoardSidePageListViewObservableCollection.Clear();
|
||||
foreach (int index in Enumerable.Range(1, WhiteboardTotalCount)) {
|
||||
var st = ApplyHistoriesToNewStrokeCollection(TimeMachineHistories[index]);
|
||||
st.Clip(new Rect(0,0, (int)inkCanvas.ActualWidth, (int)inkCanvas.ActualHeight));
|
||||
var pitem = new PageListViewItem()
|
||||
{
|
||||
Index = index,
|
||||
Strokes = st,
|
||||
};
|
||||
blackBoardSidePageListViewObservableCollection.Add(pitem);
|
||||
}
|
||||
}
|
||||
|
||||
var _st = inkCanvas.Strokes.Clone();
|
||||
_st.Clip(new Rect(0, 0, (int)inkCanvas.ActualWidth, (int)inkCanvas.ActualHeight));
|
||||
var _pitem = new PageListViewItem()
|
||||
{
|
||||
Index = CurrentWhiteboardIndex,
|
||||
Strokes = _st,
|
||||
};
|
||||
blackBoardSidePageListViewObservableCollection[CurrentWhiteboardIndex - 1] = _pitem;
|
||||
|
||||
BlackBoardLeftSidePageListView.SelectedIndex = CurrentWhiteboardIndex -1;
|
||||
BlackBoardRightSidePageListView.SelectedIndex = CurrentWhiteboardIndex -1;
|
||||
}
|
||||
|
||||
public static void ScrollViewToVerticalTop(FrameworkElement element, ScrollViewer scrollViewer)
|
||||
{
|
||||
var scrollViewerOffset = scrollViewer.VerticalOffset;
|
||||
var point = new Point(0, scrollViewerOffset);
|
||||
var tarPos = element.TransformToVisual(scrollViewer).Transform(point);
|
||||
scrollViewer.ScrollToVerticalOffset(tarPos.Y);
|
||||
}
|
||||
|
||||
|
||||
private void BlackBoardLeftSidePageListView_OnMouseUp(object sender, MouseButtonEventArgs e) {
|
||||
AnimationsHelper.HideWithSlideAndFade(BoardBorderLeftPageListView);
|
||||
AnimationsHelper.HideWithSlideAndFade(BoardBorderRightPageListView);
|
||||
var item = BlackBoardLeftSidePageListView.SelectedItem;
|
||||
var index = BlackBoardLeftSidePageListView.SelectedIndex;
|
||||
if (item != null)
|
||||
{
|
||||
SaveStrokes();
|
||||
ClearStrokes(true);
|
||||
CurrentWhiteboardIndex= index+1;
|
||||
RestoreStrokes();
|
||||
UpdateIndexInfoDisplay();
|
||||
BlackBoardLeftSidePageListView.SelectedIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
private void BlackBoardRightSidePageListView_OnMouseUp(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
AnimationsHelper.HideWithSlideAndFade(BoardBorderLeftPageListView);
|
||||
AnimationsHelper.HideWithSlideAndFade(BoardBorderRightPageListView);
|
||||
var item = BlackBoardRightSidePageListView.SelectedItem;
|
||||
var index = BlackBoardRightSidePageListView.SelectedIndex;
|
||||
if (item != null)
|
||||
{
|
||||
SaveStrokes();
|
||||
ClearStrokes(true);
|
||||
CurrentWhiteboardIndex = index + 1;
|
||||
RestoreStrokes();
|
||||
UpdateIndexInfoDisplay();
|
||||
BlackBoardRightSidePageListView.SelectedIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user