public WrappedTextBlock(BandColor color) { AutoHeight = DefaultAutoHeight; Color = color; ColorSource = DefaultColorSource; Font = DefaultFont; }
async partial void ToggleCustomTileClick(UIButton sender) { if (client != null && client.IsDeviceConnected) { Output("Creating tile..."); NSError operationError; var tileName = "A tile"; var tileIcon = BandIcon.FromUIImage(UIImage.FromBundle("A.png"), out operationError); var smallIcon = BandIcon.FromUIImage(UIImage.FromBundle("Aa.png"), out operationError); var tile = BandTile.Create(customId, tileName, tileIcon, smallIcon, out operationError); var textBlock = new BandTextBlock(BandRect.Create(0, 0, 230, 40), BandTextBlockFont.Small, 25); textBlock.ElementId = 10; textBlock.HorizontalAlignment = BandPageElementHorizontalAlignment.Left; textBlock.BaselineAlignment = BandTextBlockBaselineAlignment.Absolute; textBlock.Color = BandColor.FromRgb(0xff, 0xff, 0xff); var barcode = new BandBarcode(BandRect.Create(0, 5, 230, 95), BandBarcodeType.CODE39); barcode.ElementId = 11; barcode.Color = BandColor.FromRgb(0xff, 0xff, 0xff); var flowList = new BandFlowList(BandRect.Create(15, 0, 260, 105), BandFlowListOrientation.Vertical); flowList.Margins = BandMargins.Create(0, 0, 0, 0); flowList.Color = null; flowList.Children.Add(textBlock); flowList.Children.Add(barcode); var pageLaypout = new BandPageLayout(); pageLaypout.Root = flowList; tile.PageLayouts.Add(pageLaypout); try { Output("Adding tile..."); await client.TileManager.AddTileTaskAsync(tile); } catch (BandException ex) { Output("Error: " + ex.Message); } try { Output("Creating page..."); var pageValues = new BandPageElementData [] { BandPageBarcodeCode39Data.Create(11, "A1 B", out operationError), BandPageTextData.Create(10, "Barcode value: A1 B", out operationError) }; var page = BandPageData.Create(pageId, 0, pageValues); await client.TileManager.SetPagesTaskAsync(new[] { page }, customId); Output("Completed custom page!"); } catch (BandException ex) { Output("Error: " + ex.Message); } } else { Output("Band is not connected. Please wait...."); } }
public override int GetHashCode() { return(BandColor.GetHashCode() + BandSpace + BandCount + Multiplier.GetHashCode() + BandWidth.GetHashCode() + BandRadius.GetHashCode()); }
public TextBlock(BandColor color) { AutoWidth = DefaultAutoWidth; Baseline = DefaultBaseline; BaselineAlignment = DefaultBaselineAlignment; Color = color; ColorSource = DefaultColorSource; Font = DefaultFont; }
public BandTheme(BandColor baseColor, BandColor highContrastColor, BandColor highlightColor, BandColor lowlightColor, BandColor mutedColor, BandColor secondaryTextColor) : this() { Base = baseColor; HighContrast = highContrastColor; Highlight = highlightColor; Lowlight = lowlightColor; Muted = mutedColor; SecondaryText = secondaryTextColor; }
public static async Task <BandColor> _BandColor(object value) { BandColor bc = Colors.Purple.ToBandColor(); if (value is Color) { Color c = (Color)value; bc = c.ToBandColor(); } return(bc); }
public int CalculateOhmValue(string bandAColor, string bandBColor, string bandCColor, string bandDColor) { var bandA = BandColor.FindByColor(bandAColor); var bandB = BandColor.FindByColor(bandBColor); var bandC = BandColor.FindByColor(bandCColor); // Since we're returning a single int in this example, won't bother calculating upper/lower ranges. var bandD = BandColor.FindByColor(bandDColor); // Ideally put in checking for invalid band colors, ex: Gold/Silver/None can't be band A or B in this case // Result should be [BandA Digit][BandB Digit] * [BandC Multiplier] string digits = $"{bandA.Digit}{bandB.Digit}"; return((int)(int.Parse(digits) * bandC.Multiplier)); }
public override async void OnAppearing(object navigationContext) { // Init BandClient = navigationContext as BandClient; _personalizationManager = BandClient.PersonalizationManager; Base = new BandColor(10, 110, 20); HighContrast = new BandColor(20, 120, 30); Highlight = new BandColor(30, 130, 40); Lowlight = new BandColor(40, 140, 50); Muted = new BandColor(50, 150, 60); SecondaryText = new BandColor(60, 160, 70); MeTileImage = await ResourcesHelper.LoadBandImageFromResourceAsync("Resources/metile.png"); base.OnAppearing(navigationContext); }
public override bool Equals(object obj) { if (!(obj is BandColor)) { return(this.Equals(obj)); } BandColor color1 = this; BandColor color2 = (BandColor)obj; return (color1.isInitialized == color2.isInitialized && color1.r == color2.r && color1.g == color2.g && color1.b == color2.b); }
internal FilledButtonData(NativeFilledButtonData native) : base(native) { PressedColor = native.PressedColor.FromNative(); }
internal TextButton(NativeTextButton native) : base(native) { PressedColor = native.PressedColor.FromNative(); }
public TextButton(BandColor pressedColor) { PressedColor = pressedColor; }
public ScrollFlowPanel(BandColor scrollBarColor) { ScrollBarColor = scrollBarColor; ScrollBarColorSource = DefaultScrollBarColorSource; }
public Icon(BandColor color) { Color = color; ColorSource = DefaultColorSource; }
public FilledPanel(BandColor backgroundColor) { BackgroundColor = backgroundColor; BackgroundColorSource = DefaultBackgroundColorSource; }
/// <summary> /// 配色情報の変換 /// </summary> /// <param name="color">共通配色情報</param> /// <returns>ネイティブ配色情報</returns> public static Native.Personalization.BandColor ToNative(BandColor color) { return(Native.Personalization.BandColor.FromRgb(color.R, color.G, color.B)); }
internal FilledButton(NativeFilledButton native) : base(native) { BackgroundColor = native.BackgroundColor.FromNative(); }
/// <summary> /// BandColor をカラーコード文字列に変換する /// </summary> /// <param name="color">BandColor</param> /// <returns>カラーコード</returns> private static string ColorToString(BandColor color) { return(string.Format("#FF{0}{1}{2}", color.R.ToString("X2"), color.G.ToString("X2"), color.B.ToString("X2"))); }
/// <summary> /// 配色情報の変換 /// </summary> /// <param name="color">共通配色情報</param> /// <returns>ネイティブ配色情報</returns> public static Color ToNative(BandColor color) { return(new Color(color.R, color.G, color.B)); }
internal async void Initialize() { var bandManager = BandClientManager.Instance; var pairedBands = await bandManager.GetBandsAsync(); try { if (pairedBands.Length < 1) { info.Text = "Could not connect"; return; } bandClient = await bandManager.ConnectAsync(pairedBands[0]); info.Text = "Connected to Band"; lastMove = DateTime.Now; // Create a Tile with a TextButton on it. BandTile myTile = new BandTile(myTileId) { Name = "My Teletouch", TileIcon = await LoadIcon("ms-appx:///Assets/BandTileIconLarge.png"), SmallIcon = await LoadIcon("ms-appx:///Assets/BandTileIconSmall.png") }; myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/left.png")); myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/center.png")); myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/right.png")); myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/switch.png")); myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/switch1.png")); myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/switch2.png")); // get the current theme from the Band BandTheme theme = await bandClient.PersonalizationManager.GetThemeAsync(); BandColor colorButton = theme.Base; BandColor colorButtonPressed = new BandColor(0xFF, 0xFF, 0xFF); PageRect rect1 = new PageRect(5, 0, 60, 110); PageRect rect2 = new PageRect(70, 0, 60, 110); PageRect rect3 = new PageRect(135, 0, 60, 110); PageRect rect4 = new PageRect(200, 0, 40, 35); PageRect rect5 = new PageRect(200, 37, 40, 35); PageRect rect6 = new PageRect(200, 75, 40, 35); FilledButton buttonLeft = new FilledButton() { ElementId = 1, Rect = rect1, BackgroundColor = colorButton }; FilledButton buttonCenter = new FilledButton() { ElementId = 2, Rect = rect2, BackgroundColor = colorButton }; FilledButton buttonRight = new FilledButton() { ElementId = 3, Rect = rect3, BackgroundColor = colorButton }; FilledButton buttonSwitch = new FilledButton() { ElementId = 4, Rect = rect4, BackgroundColor = colorButton }; FilledButton buttonLock = new FilledButton() { ElementId = 5, Rect = rect5, BackgroundColor = colorButton }; FilledButton buttonOnOff = new FilledButton() { ElementId = 6, Rect = rect6, BackgroundColor = colorButton }; Icon iconLeft = new Icon() { ElementId = 7, Rect = rect1, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center }; Icon iconCenter = new Icon() { ElementId = 8, Rect = rect2, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center }; Icon iconRight = new Icon() { ElementId = 9, Rect = rect3, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center }; Icon iconSwitch = new Icon() { ElementId = 10, Rect = rect4, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center }; Icon iconLock = new Icon() { ElementId = 11, Rect = rect5, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center }; Icon iconOnOff = new Icon() { ElementId = 12, Rect = rect6, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center }; FilledPanel panel = new FilledPanel(iconLeft, iconCenter, iconRight, iconSwitch, iconLock, iconOnOff, buttonLeft, buttonCenter, buttonRight, buttonSwitch, buttonLock, buttonOnOff) { Rect = new PageRect(0, 0, 240, 110), HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center }; myTile.PageLayouts.Add(new PageLayout(panel)); // Remove the Tile from the Band, if present. An application won't need to do this everytime it runs. // But in case you modify this sample code and run it again, let's make sure to start fresh. //await bandClient.TileManager.RemoveTileAsync(myTileId); // Create the Tile on the Band. await bandClient.TileManager.AddTileAsync(myTile); await bandClient.TileManager.SetPagesAsync(myTileId, new PageData(pageId, 0, new FilledButtonData(1, colorButtonPressed), new FilledButtonData(2, colorButtonPressed), new FilledButtonData(3, colorButtonPressed), new FilledButtonData(4, colorButtonPressed), new FilledButtonData(5, colorButtonPressed), new FilledButtonData(6, colorButtonPressed), new IconData(7, 2), new IconData(8, 3), new IconData(9, 4), new IconData(10, 5), new IconData(11, 6), new IconData(12, 7))); // Subscribe to events bandClient.TileManager.TileOpened += EventHandler_TileOpened; bandClient.TileManager.TileClosed += EventHandler_TileClosed; bandClient.TileManager.TileButtonPressed += EventHandler_TileButtonPressed; bandClient.SensorManager.Gyroscope.ReadingChanged += Gyroscope_ReadingChanged; // Start listening for events await bandClient.TileManager.StartReadingsAsync(); } catch (BandException bandException) { Debug.WriteLine(bandException.Message); info.Text = "Could not connect"; } }
async partial void AddButtonPageClick(UIButton sender) { if (client != null && client.IsConnected) { Output("Creating tile..."); // remove an old tile try { var tiles = await client.TileManager.GetTilesTaskAsync(); if (tiles.Any(x => x.TileId.AsString() == tileId.AsString())) { // a tile exists, so remove it await client.TileManager.RemoveTileTaskAsync(tileId); Output("Removed tile!"); } } catch (BandException ex) { Output("Error: " + ex.Message); } // create the tile NSError operationError; var tileName = "iOS Sample"; var tileIcon = BandIcon.FromUIImage(UIImage.FromBundle("tile.png"), out operationError); var smallIcon = BandIcon.FromUIImage(UIImage.FromBundle("badge.png"), out operationError); var tile = BandTile.Create(tileId, tileName, tileIcon, smallIcon, out operationError); tile.BadgingEnabled = true; // create the button page var textBlock = new TextBlock(PageRect.Create(0, 0, 200, 40), TextBlockFont.Small); textBlock.ElementId = 10; textBlock.Baseline = 25; textBlock.HorizontalAlignment = HorizontalAlignment.Center; textBlock.BaselineAlignment = TextBlockBaselineAlignment.Relative; textBlock.AutoWidth = false; textBlock.Color = BandColor.FromUIColor(UIColor.Red, out operationError); textBlock.Margins = Margins.Create(5, 2, 5, 2); var button = new TextButton(PageRect.Create(0, 0, 200, 40)); button.ElementId = 11; button.HorizontalAlignment = HorizontalAlignment.Center; button.PressedColor = BandColor.FromUIColor(UIColor.Purple, out operationError); button.Margins = Margins.Create(5, 2, 5, 2); var flowPanel = new FlowPanel(PageRect.Create(15, 0, 260, 105)); flowPanel.AddElement(textBlock); flowPanel.AddElement(button); var pageLayout = new PageLayout(); pageLayout.Root = flowPanel; tile.PageLayouts.Add(pageLayout); // add the tile to the band try { Output("Adding tile..."); await client.TileManager.AddTileTaskAsync(tile); } catch (BandException ex) { Output("Error: " + ex.Message); } // set the page data try { Output("Creating page data..."); var pageValues = new PageElementData [] { TextBlockData.Create(textBlock.ElementId, "TextButton sample", out operationError), TextButtonData.Create(button.ElementId, "Press Me", out operationError) }; var page = PageData.Create(barcodePageId, 0, pageValues); await client.TileManager.SetPagesTaskAsync(new[] { page }, tileId); Output("Completed custom page!"); } catch (BandException ex) { Output("Error: " + ex.Message); } } else { Output("Band is not connected. Please wait...."); } }
public static Color Convert(BandColor color) { return Color.FromRgb(color.R, color.G, color.B); }
public static Color Convert(BandColor color) { return(Color.FromRgb(color.R, color.G, color.B)); }
public FilledButton(BandColor backgroundColor) { BackgroundColor = backgroundColor; }
public ColorCode(BandColor bandColor) { SignificantDigits = null; Multiplier = null; Tolerance = new Tolerance(0); switch (bandColor) { case BandColor.Black: { SignificantDigits = 0; Multiplier = 1; return; } case BandColor.Brown: { SignificantDigits = 1; Multiplier = 10; Tolerance = new Tolerance(1); return; } case BandColor.Red: { SignificantDigits = 2; Multiplier = 100; Tolerance = new Tolerance(2); return; } case BandColor.Orange: { SignificantDigits = 3; Multiplier = 1000; return; } case BandColor.Yellow: { SignificantDigits = 4; Multiplier = 10000; return; } case BandColor.Green: { SignificantDigits = 5; Multiplier = 100000; Tolerance = new Tolerance(0.5); return; } case BandColor.Blue: { SignificantDigits = 6; Multiplier = 1000000; return; } case BandColor.Violet: { SignificantDigits = 7; Multiplier = 10000000; return; } case BandColor.Grey: { SignificantDigits = 8; return; } case BandColor.Gray: { SignificantDigits = 8; return; } case BandColor.White: { SignificantDigits = 9; return; } case BandColor.Gold: { Tolerance = new Tolerance(5); return; } case BandColor.Silver: { Tolerance = new Tolerance(10); return; } case BandColor.None: { SignificantDigits = 0; Multiplier = 0; return; } default: { return; } } }