private void InitializeDial() { radialController = RadialController.CreateForCurrentView(); // Set rotation resolution to 1 degree of sensitivity. radialController.RotationResolutionInDegrees = 36; // create new dial menu item //ToggleMenuItem = // RadialControllerMenuItem.CreateFromFontGlyph("Toggle Light", "\xE793", "Segoe MDL2 Assets"); //radialController.Menu.Items.Add(ToggleMenuItem); BrightnessMenuItem = RadialControllerMenuItem.CreateFromFontGlyph("Brightness", "\xE706", "Segoe MDL2 Assets"); radialController.Menu.Items.Add(BrightnessMenuItem); ColorMenuItem = RadialControllerMenuItem.CreateFromFontGlyph("Color", "\xE790", "Segoe MDL2 Assets"); radialController.Menu.Items.Add(ColorMenuItem); // clear all default item RadialControllerConfiguration config = RadialControllerConfiguration.GetForCurrentView(); config.SetDefaultMenuItems(new RadialControllerSystemMenuItemKind[] { }); // bind dial menu item to CurrentTool Enum //ToggleMenuItem.Invoked += (sender, args) => thisTool = CurrentTool.ToggleItem; BrightnessMenuItem.Invoked += (sender, args) => thisTool = CurrentTool.BrightnessItem; ColorMenuItem.Invoked += (sender, args) => thisTool = CurrentTool.ColorItem; // subscribe click and rotation of the dial radialController.ButtonClicked += (sender, args) => { RadialController_ButtonClicked(sender, args); }; radialController.RotationChanged += (sender, args) => { RadialController_RotationChanged(sender, args); }; }
public MainPage() { this.InitializeComponent(); UpdatePreview(); highlightedItem = RValue; myCanvas.InkPresenter.InputDeviceTypes = Windows.UI.Core.CoreInputDeviceTypes.Pen | Windows.UI.Core.CoreInputDeviceTypes.Touch; RValue.ValueChanged += Slider_ValueChanged; GValue.ValueChanged += Slider_ValueChanged; BValue.ValueChanged += Slider_ValueChanged; //Hide our custom tool's UI until it is activated ToolPanel.Visibility = Visibility.Collapsed; // Create a reference to the RadialController. myController = RadialController.CreateForCurrentView(); // Create a menu item for the custom tool. //RadialControllerMenuItem myItem = // RadialControllerMenuItem.CreateFromKnownIcon("Background", RadialControllerMenuKnownIcon.InkColor); RadialControllerMenuItem myItem = RadialControllerMenuItem.CreateFromFontGlyph("Background", "\xE7B5", "Segoe MDL2 Assets"); //Add the custom tool's menu item to the menu myController.Menu.Items.Add(myItem); //Create a handler for when the menu item is selected myItem.Invoked += MyItem_Invoked; //Create handlers for button and rotational input myController.RotationChanged += MyController_RotationChanged; myController.ButtonClicked += MyController_ButtonClicked; myController.ButtonPressed += MyController_ButtonPressed; myController.ButtonReleased += MyController_ButtonReleased; //Remove Scroll/Zoom/Undo tools as app doesn't support them RadialControllerConfiguration config = RadialControllerConfiguration.GetForCurrentView(); config.SetDefaultMenuItems(new RadialControllerSystemMenuItemKind[] { RadialControllerSystemMenuItemKind.Volume }); //Query user's handedness for on-screen UI Windows.UI.ViewManagement.UISettings settings = new Windows.UI.ViewManagement.UISettings(); isRightHanded = (settings.HandPreference == Windows.UI.ViewManagement.HandPreference.RightHanded); //Create handlers for when RadialController provides an on-screen position myController.ScreenContactStarted += MyController_ScreenContactStarted; myController.ScreenContactContinued += MyController_ScreenContactContinued; myController.ScreenContactEnded += MyController_ScreenContactEnded; //Create handlers for when RadialController focus changes myController.ControlAcquired += MyController_ControlAcquired; myController.ControlLost += MyController_ControlLost; }
private void AddItemsFromFont() { // Using custom font string fontFilePath = GetSharedFilePath("Symbols.ttf"); radialController.Menu.Items.Add(RadialControllerMenuItem.CreateFromFontGlyph("Custom Font Icon", "\xe102", "Symbols", new Uri(fontFilePath))); // Using system font radialController.Menu.Items.Add(RadialControllerMenuItem.CreateFromFontGlyph("System Font Icon", "\xD83D\xDC31\x200D\xD83D\xDC64", "Segoe UI Emoji")); }
private void AddFontGlyphItems() { // Using system font menuItems.Add(RadialControllerMenuItem.CreateFromFontGlyph("Item4", "\x2764", "Segoe UI Emoji")); sliders.Add(slider4); toggles.Add(toggle4); // Using custom font menuItems.Add(RadialControllerMenuItem.CreateFromFontGlyph("Item5", "\ue102", "Symbols", new Uri("ms-appx:///Assets/Symbols.ttf"))); sliders.Add(slider5); toggles.Add(toggle5); }
public MediaPlayerPagePage() { InitializeComponent(); mpe.PosterSource = new BitmapImage(new Uri(DefaultPoster)); mpe.Source = MediaSource.CreateFromUri(new Uri(DefaultSource)); _controller = RadialController.CreateForCurrentView(); _controller.RotationResolutionInDegrees = 5; _controller.UseAutomaticHapticFeedback = false; var myItem = RadialControllerMenuItem.CreateFromFontGlyph("El Bruno - Playback", "\xE714", "Segoe MDL2 Assets"); _controller.Menu.Items.Add(myItem); _controller.ButtonClicked += ControllerButtonClicked; _controller.RotationChanged += ControllerRotationChanged; }
public void RegisterSurfaceDial() { if (RadialController.IsSupported()) { _diaoController = RadialController.CreateForCurrentView(); _diaoController.UseAutomaticHapticFeedback = Settings.EnableVibrateForSurfaceDial; _diaoController.RotationResolutionInDegrees = 1; // Opacity Tool DiaoToolOpacity = RadialControllerMenuItem.CreateFromFontGlyph(Utils.GetResource("Tracing.Core/Resources/SurfaceDialMenu/Opacity"), "\xE71C", "Segoe MDL2 Assets"); _diaoController.Menu.Items.Add(DiaoToolOpacity); DiaoToolOpacity.Invoked += (sender, args) => { OpacityInvoked?.Invoke(sender, args); }; // Undo Tool DiaoToolUndoRedo = RadialControllerMenuItem.CreateFromFontGlyph(Utils.GetResource("Tracing.Core/Resources/SurfaceDialMenu/Undo"), "\xE10E", "Segoe MDL2 Assets"); _diaoController.Menu.Items.Add(DiaoToolUndoRedo); DiaoToolUndoRedo.Invoked += (sender, args) => { UndoRedoInvoked?.Invoke(sender, args); }; // Zoom Tool DiaoToolZoom = RadialControllerMenuItem.CreateFromKnownIcon(Utils.GetResource("Tracing.Core/Resources/SurfaceDialMenu/Zoom"), RadialControllerMenuKnownIcon.Zoom); _diaoController.Menu.Items.Add(DiaoToolZoom); DiaoToolZoom.Invoked += (sender, args) => { ZoomInvoked?.Invoke(sender, args); }; // AlignmentGrid Tool DiaoToolAlignmentGrid = RadialControllerMenuItem.CreateFromFontGlyph(Utils.GetResource("Tracing.Core/Resources/SurfaceDialMenu/AlignmentGrid"), "\xE80A", "Segoe MDL2 Assets"); _diaoController.Menu.Items.Add(DiaoToolAlignmentGrid); DiaoToolAlignmentGrid.Invoked += (sender, args) => { AlignmentGridInvoked?.Invoke(sender, args); }; _diaoController.RotationChanged += DiaoController_RotationChanged; DiaoConfig = RadialControllerConfiguration.GetForCurrentView(); DiaoConfig.SetDefaultMenuItems(new RadialControllerSystemMenuItemKind[] { }); } }
private void BuildDialMenu() { menuItems.Clear(); dial.Menu.Items.Clear(); RadialControllerMenuItem briItem = RadialControllerMenuItem.CreateFromFontGlyph(BrightnessText, "", SegoeAssetFont); briItem.Invoked += (s, e) => { lightMode = LightMode.Brightness; }; RadialControllerMenuItem tempItem = RadialControllerMenuItem.CreateFromFontGlyph(TemperatureText, "", SegoeAssetFont); tempItem.Invoked += (s, e) => { lightMode = LightMode.Temperature; }; RadialControllerMenuItem colorItem = RadialControllerMenuItem.CreateFromKnownIcon(ColorText, RadialControllerMenuKnownIcon.InkColor); colorItem.Invoked += (s, e) => { lightMode = LightMode.Color; }; menuItems.Add(briItem); menuItems.Add(tempItem); menuItems.Add(colorItem); for (int i = 0; i < HueHelper.Lights.Count; i++) { var internalI = i; string light = HueHelper.Lights[i]; RadialControllerMenuItem lightItem = RadialControllerMenuItem.CreateFromFontGlyph(light, "", SegoeAssetFont); lightItem.Invoked += (s, e) => { if (LightComboBox.Items.Count >= internalI + 1) { LightComboBox.SelectedIndex = internalI; } }; menuItems.Add(lightItem); } foreach (var item in menuItems) { dial.Menu.Items.Add(item); } dialConfig.SetDefaultMenuItems(new List <RadialControllerSystemMenuItemKind>()); }
public MapPagePage() { locationService = new LocationService(); Center = new Geopoint(defaultPosition); ZoomLevel = DefaultZoomLevel; InitializeComponent(); _controller = RadialController.CreateForCurrentView(); _controller.RotationResolutionInDegrees = 0.2; _controller.UseAutomaticHapticFeedback = false; var myItem = RadialControllerMenuItem.CreateFromFontGlyph("El Bruno - Maps", "\xE128", "Segoe MDL2 Assets"); _controller.Menu.Items.Add(myItem); _controller.ButtonClicked += ControllerButtonClicked; _controller.RotationChanged += ControllerRotationChangedAsync; }
public MainPage() { this.InitializeComponent(); // Create a reference to the RadialController. var controller = RadialController.CreateForCurrentView(); // Create the items for the menu var itemResize = RadialControllerMenuItem.CreateFromFontGlyph("Resize", "\xE8B9", "Segoe MDL2 Assets"); var itemRotate = RadialControllerMenuItem.CreateFromFontGlyph("Rotate", "\xE7AD", "Segoe MDL2 Assets"); var itemMoveX = RadialControllerMenuItem.CreateFromFontGlyph("MoveX", "\xE8AB", "Segoe MDL2 Assets"); var itemMoveY = RadialControllerMenuItem.CreateFromFontGlyph("MoveY", "\xE8CB", "Segoe MDL2 Assets"); var itemColor = RadialControllerMenuItem.CreateFromFontGlyph("Color", "\xE7E6", "Segoe MDL2 Assets"); // Add the items to the menu controller.Menu.Items.Add(itemResize); controller.Menu.Items.Add(itemRotate); controller.Menu.Items.Add(itemMoveX); controller.Menu.Items.Add(itemMoveY); controller.Menu.Items.Add(itemColor); // Select the correct tool when the item is selected itemResize.Invoked += (s, e) => _currentTool = CurrentTool.Resize; itemRotate.Invoked += (s, e) => _currentTool = CurrentTool.Rotate; itemMoveX.Invoked += (s, e) => _currentTool = CurrentTool.MoveX; itemMoveY.Invoked += (s, e) => _currentTool = CurrentTool.MoveY; itemColor.Invoked += (s, e) => _currentTool = CurrentTool.Color; // Get all named colors and create brushes from them _namedBrushes = typeof(Colors).GetRuntimeProperties().Select(c => new SolidColorBrush((Color)c.GetValue(null))).ToList(); controller.RotationChanged += ControllerRotationChanged; // Leave only the Volume default item - Zoom and Undo won't be used RadialControllerConfiguration config = RadialControllerConfiguration.GetForCurrentView(); config.SetDefaultMenuItems(new[] { RadialControllerSystemMenuItemKind.Volume }); config.ActiveControllerWhenMenuIsSuppressed = controller; config.IsMenuSuppressed = true; controller.ButtonHolding += (s, e) => _isButtonHolding = true; controller.ButtonReleased += (s, e) => _isButtonHolding = false; controller.UseAutomaticHapticFeedback = false; ToolText.Text = _currentTool.ToString(); }
// Configure RadialController menu and custom tool. private void InitializeController(object sender, RoutedEventArgs args) { // Create a reference to the RadialController. radialController = RadialController.CreateForCurrentView(); // Set rotation resolution to 1 degree of sensitivity. radialController.RotationResolutionInDegrees = 1; // Create the custom menu items. // Here, we use a font glyph for our custom tool. radialControllerMenuItem = RadialControllerMenuItem.CreateFromFontGlyph("SampleTool", "\xE1E3", "Segoe MDL2 Assets"); // Add the item to the RadialController menu. radialController.Menu.Items.Add(radialControllerMenuItem); // Remove built-in tools to declutter the menu. // NOTE: The Surface Dial menu must have at least one menu item. // If all built-in tools are removed before you add a custom // tool, the default tools are restored and your tool is appended // to the default collection. radialControllerConfig = RadialControllerConfiguration.GetForCurrentView(); radialControllerConfig.SetDefaultMenuItems( new RadialControllerSystemMenuItemKind[] { }); // Declare input handlers for the RadialController. // NOTE: These events are only fired when a custom tool is active. radialController.ButtonClicked += (clicksender, clickargs) => { RadialController_ButtonClicked(clicksender, clickargs); }; radialController.RotationChanged += (rotationsender, rotationargs) => { RadialController_RotationChanged(rotationsender, rotationargs); }; // Begin "Step 6: Customize the device haptics" //radialController.ControlAcquired += (hapticssender, hapticsargs) => //{ RadialController_ControlAcquired(hapticssender, hapticsargs); }; // End "Step 6: Customize the device haptics" }
public MainPage() { this.InitializeComponent(); //Create a reference to the RadialController. myController = RadialController.CreateForCurrentView(); myController.RotationResolutionInDegrees = 5; myController.UseAutomaticHapticFeedback = false; //Create menu items for the custom tool. volumeItem = RadialControllerMenuItem.CreateFromFontGlyph("Volume", "\xE767", "Segoe MDL2 Assets"); playbackItem = RadialControllerMenuItem.CreateFromFontGlyph("Playback", "\xE714", "Segoe MDL2 Assets"); volumeItem.Invoked += VolumeItem_Invoked; playbackItem.Invoked += PlaybackItem_Invoked; //Add the custom tool's menu item to the menu myController.Menu.Items.Add(volumeItem); myController.Menu.Items.Add(playbackItem); //Create handlers for button and rotational input myController.RotationChanged += MyController_RotationChanged; myController.ButtonClicked += MyController_ButtonClicked; //Remove system's built-in tools config = RadialControllerConfiguration.GetForCurrentView(); config.SetDefaultMenuItems(new RadialControllerSystemMenuItemKind[] { }); //Set up menu suppression targets config.ActiveControllerWhenMenuIsSuppressed = myController; myController.ButtonHolding += MyController_ButtonHolding; myPlayer.CurrentStateChanged += MyPlayer_CurrentStateChanged; //Select the first tool myPlayer.Loaded += MyPlayer_Loaded; }
private void AddItemsFromFont() { // Using system font radialController.Menu.Items.Add(RadialControllerMenuItem.CreateFromFontGlyph("System Font Icon", "\xD83D\xDC31\x200D\xD83D\xDC64", "Segoe UI Emoji")); }