Пример #1
0
 public static uint Inc(this uint i)
 {
     return(i.Add(1));
 }
Пример #2
0
        private void UI_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button != MouseButtons.Right)
            {
                return;
            }

            ContextMenu cm = new ContextMenu
            {
                MenuItems =
                {
                    new Item("Renderer",                                  self =>
                    {
                        foreach (var renderer in availableRenderers)
                        {
                            self.Add(new RadioItem(renderer.RendererName, y => {
                                y.Checked = renderer == _renderer;
                                y.Click  += delegate { SetRenderer(renderer); };
                            }));
                        }
                    }),
                    new Item("Filter",                                    x =>
                    {
                        var filters = new Dictionary <string,             FilterMode>()
                        {
                            { "None",                                     FilterMode.NearestNeighbor },
                            { "Linear",                                   FilterMode.Linear },
                        };
                        foreach (var filter in filters)
                        {
                            x.Add(new RadioItem(filter.Key,               y =>
                            {
                                y.Checked = filter.Value == _filterMode;
                                y.Click  += delegate { _filterMode = filter.Value; };
                            }));
                        }
                    }),
                    new SeparatorItem(),
                    new Item("Screenshot (F12)",                          x =>
                    {
                        x.Click += delegate { Screenshot(); };
                    }),
                    new Item(suspended ? "&Play (F2)" : "&Pause (F3)",    x =>
                    {
                        x.Click += delegate { suspended ^= true; };
                    }),
                    new Item("&Speed",                                    x =>
                    {
                        foreach (var speed in speeds)
                        {
                            x.Add(new RadioItem($"{speed}x",              y =>
                            {
                                y.Checked = speed == activeSpeed;
                                y.Click  += delegate { activeSpeed = speed; };
                            }));
                        }
                    }),
                    new Item("&Reset..."),
                }
            };

            cm.Show(this, new Point(e.X, e.Y));
        }