private void DrawContentPage(Model.Pages.ContentPage page, int pageIndex)
        {
            var leftOffset = pageIndex * PhotoBookModel.PageWidthInPixels;

            // Create background
            var bgRectangle = PageDrawingUtilities.CreateBackgroundRectangle(page.Background);

            Canvas.SetLeft(bgRectangle, leftOffset);
            canvas.Children.Add(bgRectangle);
            backgrounds[pageIndex] = bgRectangle;

            var layout = page.Layout;

            images[pageIndex] = new UIElement[layout.NumOfImages][];
            labels[pageIndex] = new Label[layout.NumOfImages];

            for (int imgIndex = 0; imgIndex < layout.NumOfImages; imgIndex++)
            {
                var imgConstraints = layout.ImageConstraints[imgIndex];
                var image          = page.GetImage(imgIndex);

                if (image != null)
                {
                    images[pageIndex][imgIndex] = DrawImage(image, imgConstraints, leftOffset);
                }
                else
                {
                    images[pageIndex][imgIndex] = DrawPlaceholderImage(imgConstraints, leftOffset);
                }

                labels[pageIndex][imgIndex] = DrawImageComment(page.GetComment(imgIndex), imgConstraints, leftOffset);
            }

            SetFontColor(pageIndex);
        }
Beispiel #2
0
        private void DrawFrontCover()
        {
            canvas.Children.Clear();

            canvas.Width  = PhotoBookModel.PageWidthInPixels;
            canvas.Height = PhotoBookModel.PageHeightInPixels;

            var frontCover = viewModel.FrontCover;

            backgroundRectangle = PageDrawingUtilities.CreateBackgroundRectangle(frontCover.Background);

            canvas.Children.Add(backgroundRectangle);

            titleLabel = new Label()
            {
                Content = frontCover.Title,
                Width   = PhotoBookModel.PageWidthInPixels,
                Height  = PhotoBookModel.PageHeightInPixels,
                HorizontalContentAlignment = HorizontalAlignment.Center,
                VerticalContentAlignment   = VerticalAlignment.Center,
                FontSize = Model.Pages.FrontCover.FontSize,

                // TODO: Should we hardcode it in the model or let the user change it?
                Foreground = new SolidColorBrush(Color.FromRgb(255, 255, 255)),
            };

            AdjustFontColor();

            canvas.Children.Add(titleLabel);
        }
Beispiel #3
0
        private void DrawBackCover()
        {
            canvas.Children.Clear();

            canvas.Width = PhotoBookModel.PageWidthInPixels;
            canvas.Height = PhotoBookModel.PageHeightInPixels;

            var backCover = viewModel.BackCover;

            canvas.Children.Add(
                PageDrawingUtilities.CreateBackgroundRectangle(backCover.Background)
            );
        }