blob: 29c22f28616e54e69b707bb2eb51ac918192aa29 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
using System;
using Crow;
using Samples;
using Crow.Drawing;
namespace tests
{
public class BasicTests : SampleBase
{
static void Main ()
{
using (BasicTests app = new BasicTests ()) {
app.Run ();
}
}
protected override void OnInitialized ()
{
Load ("#ui.test.crow").DataSource = this;
}
private void refreshGraphicTree (object sender, MouseButtonEventArgs e) {
NotifyValueChanged ("GraphicTree", (object)null);
NotifyValueChanged ("GraphicTree", GraphicTree);
}
Group startGroup = null;
private void W_StartDrag (object sender, DragDropEventArgs e) {
Rectangle r = e.DragSource.LastPaintedSlot;
startGroup = e.DragSource.Parent as Group;
if (e.DragSource.bmp == null) {
Console.WriteLine ($"DragSource surface is null: {e.DragSource}");
return;
}
Surface dragImg = CreateSurface (ref r);
using (Context gr = new Context(dragImg)) {
gr.SetSource (e.DragSource.bmp, 0, 0);
gr.Paint ();
}
CreateDragImage (dragImg, r);
/*lock (UpdateMutex)
startGroup.RemoveChild (e.DragSource);*/
}
private void W_EndDrag (object sender, DragDropEventArgs e) {
lock (UpdateMutex)
startGroup.AddChild (e.DragSource);
ClearDragImage ();
}
private void W_DragEnter (object sender, DragDropEventArgs e) {
lock (UpdateMutex)
(e.DropTarget as Group).AddChild (e.DragSource);
}
private void W_DragLeave (object sender, DragDropEventArgs e) {
lock (UpdateMutex)
(e.DragSource.Parent as Group).RemoveChild (e.DragSource);
}
private void W_Drop (object sender, DragDropEventArgs e) {
//(e.DropTarget as Group).AddChild (e.DragSource);
ClearDragImage ();
}
}
}
|