private void OnHooked(MySensitiveObject sender, UIMouseButton btn, RCIntVector hookPos) { if (btn == UIMouseButton.Left) { this.hookPosition = hookPos; } }
private void OnUnhooked(MySensitiveObject sender) { this.hookPosition = RCIntVector.Undefined; }
public static void Test() { ConfigurationManager.Initialize("../../../../config/RC.UI.Test/RC.UI.Test.root"); UIRoot root = new UIRoot(); Assembly xnaPlugin = Assembly.Load("RC.UI.XnaPlugin, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); root.LoadPlugins(xnaPlugin); root.InstallPlugins(); UISprite mouseIcon = root.GraphicsPlatform.SpriteManager.LoadSprite("..\\..\\..\\..\\sprites\\pointers\\normal_pointer.png", new RCIntVector(2, 2)); mouseIcon.TransparentColor = new RCColor(255, 0, 255); mouseIcon.Upload(); UIPointer pointer = new UIPointer(mouseIcon, new RCIntVector(0, 0)); DynamicString.RegisterResolver("RC.UI.UIWorkspace.PixelScaling", delegate() { return("2;2"); }); UIResourceManager.LoadResourceGroup("RC.App.SplashScreen"); UIResourceManager.LoadResourceGroup("RC.App.CommonResources"); display = new TestUIObject(new RCIntVector(2, 2), new RCIntVector(0, 0), new RCIntRectangle(0, 0, 400, 300)); workspace = new MySensitiveObject(new RCIntVector(40, 50), new RCIntRectangle(0, 0, 320, 200), "Workspace", RCColor.Gray, RCColor.Gray); display.Attach(workspace); MySensitiveObject objA = new MySensitiveObject(new RCIntVector(5, 12), new RCIntRectangle(0, 0, 130, 90), "A", RCColor.Blue, RCColor.LightBlue); MySensitiveObject objB = new MySensitiveObject(new RCIntVector(5, 107), new RCIntRectangle(0, 0, 130, 90), "B", RCColor.Blue, RCColor.LightBlue); MyDraggableObject objC = new MyDraggableObject(new RCIntVector(140, 12), new RCIntRectangle(0, 0, 130, 180), "C", RCColor.Cyan, RCColor.LightCyan); workspace.Attach(objA); workspace.Attach(objB); workspace.Attach(objC); workspace.AttachSensitive(objA); workspace.AttachSensitive(objB); workspace.AttachSensitive(objC); MySensitiveObject objAA = new MySensitiveObject(new RCIntVector(5, 12), new RCIntRectangle(0, 0, 120, 30), "AA", RCColor.Green, RCColor.LightGreen); MySensitiveObject objAB = new MySensitiveObject(new RCIntVector(5, 47), new RCIntRectangle(0, 0, 120, 30), "AB", RCColor.Green, RCColor.LightGreen); MySensitiveObject objBA = new MySensitiveObject(new RCIntVector(5, 12), new RCIntRectangle(0, 0, 120, 30), "BA", RCColor.Green, RCColor.LightGreen); MySensitiveObject objBB = new MySensitiveObject(new RCIntVector(5, 47), new RCIntRectangle(0, 0, 120, 30), "BB", RCColor.Green, RCColor.LightGreen); MyDraggableObject objCA = new MyDraggableObject(new RCIntVector(5, 12), new RCIntRectangle(0, 0, 120, 30), "CA", RCColor.Magenta, RCColor.LightMagenta); MyDraggableObject objCB = new MyDraggableObject(new RCIntVector(5, 47), new RCIntRectangle(0, 0, 120, 30), "CB", RCColor.Gray, RCColor.White); objA.Attach(objAA); objA.Attach(objAB); objB.Attach(objBA); objB.Attach(objBB); objC.Attach(objCA); objC.Attach(objCB); objA.AttachSensitive(objAA); objA.AttachSensitive(objAB); objB.AttachSensitive(objBA); objB.AttachSensitive(objBB); objC.AttachSensitive(objCA); objC.AttachSensitive(objCB); //root.SystemEventQueue.Subscribe<UIKeyboardEventArgs>(OnKeyboardEvent); //root.SystemEventQueue.Subscribe<UIMouseEventArgs>(OnMouseEvent); UIMouseManager mouseMgr = new UIMouseManager(workspace); mouseMgr.SetDefaultMousePointer(pointer); root.GraphicsPlatform.RenderManager.Attach(display); root.GraphicsPlatform.RenderLoop.Start(new RCIntVector(800, 600)); root.Dispose(); }