Esempio n. 1
0
            public SpriteWindow(List <TestSprite> sprites,
                                Wimp.WindowAttributes attr) : base(attr)
            {
                Sprites = sprites;

                WindowHeight = attr.WorkArea.MaxY - attr.WorkArea.MinY;

                matrix.Rotate(45);
            }
Esempio n. 2
0
    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);
    }