Example #1
0
        //Export rendered live tile image
        async Task ExportLiveTile()
        {
            try
            {
                await Win2DCanvasRenderTarget.SaveAsync(ApplicationData.Current.LocalFolder.Path + "\\TimeMe" + TileRenderName + ".png", CanvasBitmapFileFormat.Png, 1);

                RenderRetryCount = 0;
            }
            catch (Exception ex)
            {
                if (RenderRetryCount < 3) //ex is UnauthorizedAccessException &&
                {
                    Debug.WriteLine("Failed exporting a rendered tile, retrying: " + RenderRetryCount);
                    RenderRetryCount++;
                    await ExportLiveTile();
                }
                else
                {
                    BackgroundStatusUpdateSettings(null, null, null, null, "FailRenderTile" + ex.Message);
                }
            }
        }
Example #2
0
        //Draw Wide Date Live Tile
        async Task ClockTileWideDate()
        {
            try
            {
                //Load Tile Render Variables
                if (!TileRenderVarsLoaded)
                {
                    CanvasHorizontalAlignment HorizontalAlignmentTime = CanvasHorizontalAlignment.Right;
                    switch (setDisplayHorizontalAlignmentTime)
                    {
                    case 1: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Left; break; }

                    case 2: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Center; break; }

                    case 3: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Right; break; }
                    }

                    //Live tile font styles
                    Win2DCanvasTextFormatTitle = new CanvasTextFormat()
                    {
                        FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightTitle, FontSize = 90 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = HorizontalAlignmentTime, VerticalAlignment = CanvasVerticalAlignment.Center, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                    };
                    Win2DCanvasTextFormatBody = new CanvasTextFormat()
                    {
                        FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightBody, FontSize = 90 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = HorizontalAlignmentTime, VerticalAlignment = CanvasVerticalAlignment.Center, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                    };

                    if (setDisplayAMPMFont)
                    {
                        Win2DCanvasTextFormatSub = new CanvasTextFormat()
                        {
                            FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightSub, FontSize = 38 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = CanvasHorizontalAlignment.Right, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                        };
                    }
                    else
                    {
                        Win2DCanvasTextFormatSub = new CanvasTextFormat()
                        {
                            FontFamily = "Segoe UI", FontWeight = Win2DFontWeightSub, FontSize = 38 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = CanvasHorizontalAlignment.Right, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                        };
                    }

                    Win2DCanvasTextFormatTextLeft = new CanvasTextFormat()
                    {
                        FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightBody, FontSize = 67 + (setLiveTileFontSize / 2), WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = CanvasHorizontalAlignment.Left, VerticalAlignment = CanvasVerticalAlignment.Bottom, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                    };

                    //Live tile text positions
                    switch (setLiveTileFont)
                    {
                    case "Segoe UI": { TimeHeight1 = -82; break; }

                    case "/Assets/Fonts/Gothic720-Light.ttf#Gothic720 Lt BT": { TimeHeight1 = -90; break; }

                    case "/Assets/Fonts/HelveticaNeue-UltraLight.ttf#Helvetica Neue": { TimeHeight1 = -95; break; }

                    case "/Assets/Fonts/Existence-Light.ttf#Existence": { TimeHeight1 = -94; break; }

                    case "/Assets/Fonts/OneDay-Light.ttf#ONE DAY": { TimeHeight1 = -103; break; }

                    case "/Assets/Fonts/Pier-Regular.ttf#Pier Sans": { TimeHeight1 = -78; break; }

                    case "/Assets/Fonts/Panama-Light.ttf#Panama": { TimeHeight1 = -89; break; }

                    case "/Assets/Fonts/Bellota-Light.ttf#Bellota": { TimeHeight1 = -80; break; }

                    case "/Assets/Fonts/Nooa-Semiserif.ttf#Nooa Semiserif": { TimeHeight1 = -99; break; }

                    case "/Assets/Fonts/Modeka-Light.ttf#Modeka": { TimeHeight1 = -97; break; }

                    case "/Assets/Fonts/Rawengulk-Light.ttf#Rawengulk": { TimeHeight1 = -105; break; }

                    case "/Assets/Fonts/Dense-Regular.ttf#Dense": { TimeHeight1 = -101; break; }

                    case "/Assets/Fonts/DigitalDisplay.ttf#digital display tfb": { TimeHeight1 = -104; break; }
                    }
                    switch (setLiveTileFont)
                    {
                    case "Segoe UI": { BottomTextHeight1 = -1; break; }

                    case "/Assets/Fonts/Gothic720-Light.ttf#Gothic720 Lt BT": { BottomTextHeight1 = -9; break; }

                    case "/Assets/Fonts/HelveticaNeue-UltraLight.ttf#Helvetica Neue": { BottomTextHeight1 = -13; break; }

                    case "/Assets/Fonts/Existence-Light.ttf#Existence": { BottomTextHeight1 = -9; break; }

                    case "/Assets/Fonts/OneDay-Light.ttf#ONE DAY": { BottomTextHeight1 = -11; break; }

                    case "/Assets/Fonts/Pier-Regular.ttf#Pier Sans": { BottomTextHeight1 = -3; break; }

                    case "/Assets/Fonts/Panama-Light.ttf#Panama": { BottomTextHeight1 = -9; break; }

                    case "/Assets/Fonts/Bellota-Light.ttf#Bellota": { BottomTextHeight1 = 8; break; }

                    case "/Assets/Fonts/Nooa-Semiserif.ttf#Nooa Semiserif": { BottomTextHeight1 = -9; break; }

                    case "/Assets/Fonts/Modeka-Light.ttf#Modeka": { BottomTextHeight1 = -15; break; }

                    case "/Assets/Fonts/Rawengulk-Light.ttf#Rawengulk": { BottomTextHeight1 = -25; break; }

                    case "/Assets/Fonts/Dense-Regular.ttf#Dense": { BottomTextHeight1 = -23; break; }

                    case "/Assets/Fonts/DigitalDisplay.ttf#digital display tfb": { BottomTextHeight1 = -22; break; }
                    }

                    TileRenderVarsLoaded = true;
                }

                using (CanvasDrawingSession ds = Win2DCanvasRenderTarget.CreateDrawingSession())
                {
                    //Live tile content - Time
                    DrawTimeOnTileSolo(ds, 0, false, false);

                    //Live tile content - Left
                    ds.DrawText(TextAlarmClock + DisplayPosition1Text, LiveTilePadding, BottomTextHeight1, LiveTileWidth, LiveTileHeight, Win2DFontColorTrans, Win2DCanvasTextFormatTextLeft);
                }
                await ExportLiveTile();
            }
            catch { }
        }
Example #3
0
        //Draw Wide Words Live Tile
        async Task ClockTileWideWords()
        {
            try
            {
                //Load Tile Render Variables
                if (!TileRenderVarsLoaded)
                {
                    CanvasHorizontalAlignment HorizontalAlignmentTime = CanvasHorizontalAlignment.Center;
                    switch (setDisplayHorizontalAlignmentTime)
                    {
                    case 1: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Left; break; }

                    case 2: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Center; break; }

                    case 3: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Right; break; }
                    }

                    //Live tile font styles
                    Win2DCanvasTextFormatTitle = new CanvasTextFormat()
                    {
                        FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightTitle, FontSize = 58 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = HorizontalAlignmentTime, VerticalAlignment = CanvasVerticalAlignment.Center, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                    };
                    Win2DCanvasTextFormatBody = new CanvasTextFormat()
                    {
                        FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightBody, FontSize = 46 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = HorizontalAlignmentTime, VerticalAlignment = CanvasVerticalAlignment.Center, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                    };

                    //Live tile text positions
                    switch (setLiveTileFont)
                    {
                    case "Segoe UI": { TimeHeight1 = 0; break; }

                    case "/Assets/Fonts/Gothic720-Light.ttf#Gothic720 Lt BT": { TimeHeight1 = -4; break; }

                    case "/Assets/Fonts/HelveticaNeue-UltraLight.ttf#Helvetica Neue": { TimeHeight1 = -7; break; }

                    case "/Assets/Fonts/Existence-Light.ttf#Existence": { TimeHeight1 = -6; break; }

                    case "/Assets/Fonts/OneDay-Light.ttf#ONE DAY": { TimeHeight1 = -6; break; }

                    case "/Assets/Fonts/Pier-Regular.ttf#Pier Sans": { TimeHeight1 = -2; break; }

                    case "/Assets/Fonts/Panama-Light.ttf#Panama": { TimeHeight1 = 1; break; }

                    case "/Assets/Fonts/Bellota-Light.ttf#Bellota": { TimeHeight1 = 3; break; }

                    case "/Assets/Fonts/Nooa-Semiserif.ttf#Nooa Semiserif": { TimeHeight1 = -5; break; }

                    case "/Assets/Fonts/Modeka-Light.ttf#Modeka": { TimeHeight1 = -9; break; }

                    case "/Assets/Fonts/Rawengulk-Light.ttf#Rawengulk": { TimeHeight1 = -11; break; }

                    case "/Assets/Fonts/Dense-Regular.ttf#Dense": { TimeHeight1 = -10; break; }

                    case "/Assets/Fonts/DigitalDisplay.ttf#digital display tfb": { TimeHeight1 = -11; break; }
                    }

                    TileRenderVarsLoaded = true;
                }

                using (CanvasDrawingSession ds = Win2DCanvasRenderTarget.CreateDrawingSession())
                {
                    //Live tile content - Time
                    DrawTimeOnTileTrio(ds, TextTimeFull, TextWordsDate, WordsWeatherDegree);
                }
                await ExportLiveTile();
            }
            catch { }
        }
        //Draw Medium Time Only More Live Tile
        async Task ClockTileMediumTimeOnlyMore()
        {
            try
            {
                //Load Tile Render Variables
                if (!TileRenderVarsLoaded)
                {
                    CanvasHorizontalAlignment HorizontalAlignmentTime = CanvasHorizontalAlignment.Center;
                    switch (setDisplayHorizontalAlignmentTime)
                    {
                    case 1: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Left; break; }

                    case 2: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Center; break; }

                    case 3: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Right; break; }
                    }

                    //Live tile font styles
                    Win2DCanvasTextFormatTitle = new CanvasTextFormat()
                    {
                        FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightTitle, FontSize = 96 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = HorizontalAlignmentTime, VerticalAlignment = CanvasVerticalAlignment.Center, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                    };
                    Win2DCanvasTextFormatBody = new CanvasTextFormat()
                    {
                        FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightBody, FontSize = 96 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = HorizontalAlignmentTime, VerticalAlignment = CanvasVerticalAlignment.Center, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                    };

                    //Live tile text positions
                    switch (setLiveTileFont)
                    {
                    case "Segoe UI": { TimeHeight1 = -50; TimeHeight2 = 38; break; }

                    case "/Assets/Fonts/Gothic720-Light.ttf#Gothic720 Lt BT": { TimeHeight1 = -56; TimeHeight2 = 32; break; }

                    case "/Assets/Fonts/HelveticaNeue-UltraLight.ttf#Helvetica Neue": { TimeHeight1 = -62; TimeHeight2 = 26; break; }

                    case "/Assets/Fonts/Existence-Light.ttf#Existence": { TimeHeight1 = -60; TimeHeight2 = 28; break; }

                    case "/Assets/Fonts/OneDay-Light.ttf#ONE DAY": { TimeHeight1 = -70; TimeHeight2 = 18; break; }

                    case "/Assets/Fonts/Pier-Regular.ttf#Pier Sans": { TimeHeight1 = -50; TimeHeight2 = 37; break; }

                    case "/Assets/Fonts/Panama-Light.ttf#Panama": { TimeHeight1 = -55; TimeHeight2 = 33; break; }

                    case "/Assets/Fonts/Bellota-Light.ttf#Bellota": { TimeHeight1 = -45; TimeHeight2 = 43; break; }

                    case "/Assets/Fonts/Nooa-Semiserif.ttf#Nooa Semiserif": { TimeHeight1 = -66; TimeHeight2 = 23; break; }

                    case "/Assets/Fonts/Modeka-Light.ttf#Modeka": { TimeHeight1 = -63; TimeHeight2 = 25; break; }

                    case "/Assets/Fonts/Rawengulk-Light.ttf#Rawengulk": { TimeHeight1 = -73; TimeHeight2 = 14; break; }

                    case "/Assets/Fonts/Dense-Regular.ttf#Dense": { TimeHeight1 = -69; TimeHeight2 = 19; break; }

                    case "/Assets/Fonts/DigitalDisplay.ttf#digital display tfb": { TimeHeight1 = -75; TimeHeight2 = 12; break; }
                    }

                    TileRenderVarsLoaded = true;
                }

                using (CanvasDrawingSession ds = Win2DCanvasRenderTarget.CreateDrawingSession())
                {
                    //Live tile content - Time
                    if (setDisplayTimeCustomText)
                    {
                        DrawTimeOnTileDuo(ds, TextTimeSplit, string.Empty);
                    }
                    else
                    {
                        DrawTimeOnTileDuo(ds, TextTimeHour, TextTimeMin);
                    }
                }
                await ExportLiveTile();
            }
            catch { }
        }
Example #5
0
        //Draw Wide Two More Live Tile
        async Task ClockTileWideTwoMore()
        {
            try
            {
                //Load Tile Render Variables
                if (!TileRenderVarsLoaded)
                {
                    CanvasHorizontalAlignment HorizontalAlignmentTime = CanvasHorizontalAlignment.Center;
                    switch (setDisplayHorizontalAlignmentTime)
                    {
                    case 1: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Left; break; }

                    case 2: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Center; break; }

                    case 3: { HorizontalAlignmentTime = CanvasHorizontalAlignment.Right; break; }
                    }

                    //Live tile font styles
                    Win2DCanvasTextFormatTitle = new CanvasTextFormat()
                    {
                        FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightTitle, FontSize = 160 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = HorizontalAlignmentTime, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                    };
                    Win2DCanvasTextFormatBody = new CanvasTextFormat()
                    {
                        FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightBody, FontSize = 160 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = HorizontalAlignmentTime, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                    };

                    if (setDisplayAMPMFont)
                    {
                        Win2DCanvasTextFormatSub = new CanvasTextFormat()
                        {
                            FontFamily = setLiveTileFont, FontWeight = Win2DFontWeightSub, FontSize = 42 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                        };
                    }
                    else
                    {
                        Win2DCanvasTextFormatSub = new CanvasTextFormat()
                        {
                            FontFamily = "Segoe UI", FontWeight = Win2DFontWeightSub, FontSize = 42 + setLiveTileFontSize, WordWrapping = CanvasWordWrapping.NoWrap, OpticalAlignment = CanvasOpticalAlignment.NoSideBearings
                        };
                    }

                    Win2DCanvasTextFormatTextCenter = new CanvasTextFormat()
                    {
                        FontFamily = "Segoe UI", FontWeight = Win2DFontWeightText, FontSize = 29 + (setLiveTileFontSize / 2), WordWrapping = CanvasWordWrapping.NoWrap, HorizontalAlignment = CanvasHorizontalAlignment.Center, VerticalAlignment = CanvasVerticalAlignment.Bottom
                    };

                    //Live tile text positions
                    switch (setLiveTileFont)
                    {
                    case "Segoe UI": { TimeHeight1 = -30; break; }

                    case "/Assets/Fonts/Gothic720-Light.ttf#Gothic720 Lt BT": { TimeHeight1 = -31; break; }

                    case "/Assets/Fonts/HelveticaNeue-UltraLight.ttf#Helvetica Neue": { TimeHeight1 = -36; break; }

                    case "/Assets/Fonts/Existence-Light.ttf#Existence": { TimeHeight1 = -45; break; }

                    case "/Assets/Fonts/OneDay-Light.ttf#ONE DAY": { TimeHeight1 = -41; break; }

                    case "/Assets/Fonts/Pier-Regular.ttf#Pier Sans": { TimeHeight1 = -29; break; }

                    case "/Assets/Fonts/Panama-Light.ttf#Panama": { TimeHeight1 = -28; break; }

                    case "/Assets/Fonts/Bellota-Light.ttf#Bellota": { TimeHeight1 = -32; break; }

                    case "/Assets/Fonts/Nooa-Semiserif.ttf#Nooa Semiserif": { TimeHeight1 = -34; break; }

                    case "/Assets/Fonts/Modeka-Light.ttf#Modeka": { TimeHeight1 = -37; break; }

                    case "/Assets/Fonts/Rawengulk-Light.ttf#Rawengulk": { TimeHeight1 = -48; break; }

                    case "/Assets/Fonts/Dense-Regular.ttf#Dense": { TimeHeight1 = -38; break; }

                    case "/Assets/Fonts/DigitalDisplay.ttf#digital display tfb": { TimeHeight1 = -54; break; }
                    }

                    TileRenderVarsLoaded = true;
                }

                using (CanvasDrawingSession ds = Win2DCanvasRenderTarget.CreateDrawingSession())
                {
                    //Live tile content - Time
                    DrawTimeOnTileSolo(ds, 0, false, true);

                    //Live tile content - Center
                    ds.DrawText(DisplayPosition1Text, 0, BottomTextCenterHeight3, LiveTileWidth, LiveTileHeight, Win2DFontColorCusto, Win2DCanvasTextFormatTextCenter);
                    ds.DrawText(TextAlarmClock + DisplayPosition2Text, 0, BottomTextCenterHeight4, LiveTileWidth, LiveTileHeight, Win2DFontColorTrans, Win2DCanvasTextFormatTextCenter);
                }
                await ExportLiveTile();
            }
            catch { }
        }