public SpriteWindow(List <TestSprite> sprites, Wimp.WindowAttributes attr) : base(attr) { Sprites = sprites; WindowHeight = attr.WorkArea.MaxY - attr.WorkArea.MinY; matrix.Rotate(45); }
public void Init() { int[] mess_list = { 0 }; Initialise(350, "Test App", mess_list); main_font = new Font.Instance("Trinity.Bold", 24 << 4, 24 << 4); var win_attr = new Wimp.WindowAttributes("CSharp Window"); win_attr.WorkArea = new OS.Rect(0, 0, 2000, 2000); win_attr.UserRedrawn = true; win_attr.ButtonType = Wimp.WindowButtonType.ClickDrag; var window = new Wimp.Window(win_attr); // Register the event handlers for the window. window.Paint += redraw_main_window; window.Closed += close_main_window; window.MouseClick += mouse_click; window.MsgDataLoad += window_DataLoad; window.GainCaret += gain_caret; window.PointerEnter += pointer_enter; window.PointerLeave += pointer_leave; UserDragEnd += drag_end; // Create an icon in the window. var icon_attr = new Wimp.IconAttributes("C# Button", "R5,3"); icon_attr.BoundingBox = new OS.Rect(150, 12, 350, 60); icon_attr.Flags.ButtonType = Wimp.IconButtonType.Click; Button = window.CreateIcon(icon_attr); icon_attr = new Wimp.IconAttributes("", 30); icon_attr.BoundingBox = new OS.Rect(400, 12, 700, 60); icon_attr.Flags.ButtonType = Wimp.IconButtonType.GainInputFocus; icon_attr.Flags.BGColour = OS.DesktopColour.White; WritableField = window.CreateIcon(icon_attr); window.Open(new OS.Rect(100, 100, 1000, 1000), // Visible area new OS.Coord(0, 0), // Scroll offsets Wimp.WindowStackPosition.Top); WritableField.SetText(DateTime.Now.ToString()); WritableField.SetCaretPosition(3); rename_menu = new Wimp.Menu("New name:"); // Rename writable menu item is created with "Default" as its initial // text and a buffer size of 30 characters. The validation string is // set to the command to accept digits and upper/lower case letters of // the alphabet. rename_menuitem = rename_menu.AddItem("Default", 30, "A0-9a-zA-Z"); rename_menuitem.Writable = true; file_menu = new Wimp.Menu("File"); save_menuitem = file_menu.AddItem("Save"); edit_menu = new Wimp.Menu("Edit"); edit_menu.AddItem("Rename").SubMenu = rename_menu; main_menu = new Wimp.Menu("CSharp Menu"); main_menu.AddItem("File").SubMenu = file_menu; Wimp.MenuItem item = main_menu.AddItem("Edit"); item.SubMenu = edit_menu; item.DottedLine = true; main_menu.AddItem("Quit"); // Push the text 100 OS units up a 45 degree angle. matrix.Translate(100, 0); matrix.Rotate(45); }