Пример #1
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="id">ID</param>
        /// <param name="name">名称</param>
        /// <param name="icon">アイコン(46 x 46 px)</param>
        /// <param name="smallIcon">小さいアイコン(24 x 24 px)</param>
        public NativeBandTile(Guid id, string name, Native.Tiles.BandIcon icon, Native.Tiles.BandIcon smallIcon)
        {
            this.tileId          = id;
            this.tileIconSource  = NativeBandImageConvert.FromNative(icon);
            this.smallIconSource = NativeBandImageConvert.FromNative(smallIcon);

            var error = new NSError();

            this.tile = Native.Tiles.BandTile.Create(new NSUuid(id.ToString("D")), name, icon, smallIcon, out error);
        }
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="tile">アプリタイル</param>
        public NativeBandTile(BandTile tile)
        {
            this.tile = tile;

            this.tileId         = tile.TileId;
            this.tileIconSource = NativeBandImageConvert.FromNative(tile.TileIcon);

            if (tile.SmallIcon != null)
            {
                this.smallIconSource = NativeBandImageConvert.FromNative(tile.SmallIcon);
            }
        }
        /// <summary>
        /// アプリタイルを生成する
        /// </summary>
        /// <param name="id">ID</param>
        /// <param name="name">名称</param>
        /// <param name="icon">アイコンの画像ソース(46 x 46 px)</param>
        /// <param name="smallIcon">小さいアイコンの画像ソース(24 x 24 px)</param>
        /// <param name="theme">テーマカラー</param>
        /// <returns>アプリタイル</returns>
        public async Task <IBandTile> CreateTile(Guid id, string name, StreamImageSource icon, StreamImageSource smallIcon, BandTheme theme = null)
        {
            var nativeIcon = await NativeBandImageConvert.ToNativeIcon(icon);

            var nativeSmallIcon = await NativeBandImageConvert.ToNativeIcon(smallIcon);

            var tile = new NativeBandTile(id, name, nativeIcon, nativeSmallIcon);

            tile.Theme = theme;

            return(tile);
        }
Пример #4
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="tile">アプリタイル</param>
        public NativeBandTile(Native.Tiles.BandTile tile)
        {
            this.tile = tile;

            this.tileId         = Guid.Parse(tile.TileId.ToString());
            this.tileIconSource = NativeBandImageConvert.FromNative(tile.TileIcon);

            if (tile.TileSmallIcon != null)
            {
                this.smallIconSource = NativeBandImageConvert.FromNative(tile.TileSmallIcon);
            }
        }
        /// <summary>
        /// アイコンを設定する
        /// </summary>
        /// <param name="source">アイコン画像ソース(46 x 46 px)</param>
        /// <returns>成功した場合 <code>true</code>、それ以外は <code>false</code></returns>
        public async Task <bool> SetTileIconSource(StreamImageSource source)
        {
            this.tileIconSource = source;

            if (source == null)
            {
                return(false);
            }

            this.tile.TileIcon = await NativeBandImageConvert.ToNativeIcon(source);

            return(true);
        }
Пример #6
0
        /// <summary>
        /// アイコンを設定する
        /// </summary>
        /// <param name="source">アイコン画像ソース(46 x 46 px)</param>
        /// <returns>成功した場合 <code>true</code>、それ以外は <code>false</code></returns>
        public async Task <bool> SetTileIconSource(StreamImageSource source)
        {
            this.tileIconSource = source;

            var error = new NSError();

            if (source == null)
            {
                return(this.tile.SetTileIcon(null, out error));
            }

            return(this.tile.SetTileIcon(await NativeBandImageConvert.ToNativeIcon(source), out error));
        }
Пример #7
0
        /// <summary>
        /// 小さいアイコンを設定する
        /// </summary>
        /// <param name="source">小さいアイコン画像ソース(24 x 24 px)</param>
        /// <returns>成功した場合 <code>true</code>、それ以外は <code>false</code></returns>
        public async Task <bool> SetSmallIconSource(StreamImageSource source)
        {
            this.smallIconSource = source;

            Native.Tiles.BandIcon icon = null;
            if (source != null)
            {
                icon = await NativeBandImageConvert.ToNativeIcon(source);
            }
            this.Build(this.tile.TileId, this.tile.TileName, this.tile.TileIcon, icon, this.tile.Theme);

            return(true);
        }
Пример #8
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="tile">アプリタイル</param>
        public NativeBandTile(Native.Tiles.BandTile tile)
        {
            this.tile = tile;

            this.tileId = Guid.Parse(tile.TileId.AsString());

            this.tileIconSource = NativeBandImageConvert.FromNative(tile.TileIcon);

            // Band からタイル情報を取得した場合小さいアイコンがなぜか取れない
            if (tile.SmallIcon != null)
            {
                this.smallIconSource = NativeBandImageConvert.FromNative(tile.SmallIcon);
            }
        }
Пример #9
0
        /// <summary>
        /// アイコンを設定する
        /// </summary>
        /// <param name="source">アイコン画像ソース(46 x 46 px)</param>
        /// <returns>成功した場合 <code>true</code>、それ以外は <code>false</code></returns>
        public async Task <bool> SetTileIconSource(StreamImageSource source)
        {
            this.tileIconSource = source;

            if (source == null)
            {
                return(false);
            }
            var icon = await NativeBandImageConvert.ToNativeIcon(source);

            this.Build(this.tile.TileId, this.tile.TileName, icon, this.tile.TileSmallIcon, this.tile.Theme);

            return(true);
        }
 /// <summary>
 /// 壁紙の設定
 /// </summary>
 /// <param name="stream">壁紙画像の入力ストリーム</param>
 /// <returns>Task</returns>
 public async Task SetMeTileImageSourceAsync(StreamImageSource source)
 {
     await Native.Personalization.BandPersonalizationManagerExtensions.SetMeTileImageTaskAsync(
         this.manager,
         await NativeBandImageConvert.ToNative(source));
 }
 /// <summary>
 /// 壁紙の取得
 /// </summary>
 /// <returns>壁紙画像のソース</returns>
 public async Task <StreamImageSource> GetMeTileImageSourceAsync()
 {
     return(NativeBandImageConvert.FromNative(
                await Native.Personalization.BandPersonalizationManagerExtensions.GetMeTileImageTaskAsync(this.manager)));
 }
 /// <summary>
 /// 壁紙の設定
 /// </summary>
 /// <param name="stream">壁紙画像の入力ストリーム</param>
 /// <returns>Task</returns>
 public async Task SetMeTileImageSourceAsync(StreamImageSource source)
 {
     await this.manager.SetMeTileImageAsync(await NativeBandImageConvert.ToNative(source));
 }
 /// <summary>
 /// 壁紙の取得
 /// </summary>
 /// <returns>壁紙画像のソース</returns>
 public async Task <StreamImageSource> GetMeTileImageSourceAsync()
 {
     return(NativeBandImageConvert.FromNative(await this.manager.GetMeTileImageAsync()));
 }