示例#1
0
        public override void PaintValue(PaintValueEventArgs e)
        {
            var   g = e.Graphics;
            Image img;

            if (e.Value == null || !EditorContext.SelectedWatchface.Images.TryGetValue(e.Value.ToString(), out img))
            {
                //Draw X
                g.DrawLine(Pens.Black, e.Bounds.Left, e.Bounds.Top, e.Bounds.Left + e.Bounds.Width - 1, e.Bounds.Top + e.Bounds.Height - 1);
                g.DrawLine(Pens.Black, e.Bounds.Width - 1, e.Bounds.Top, e.Bounds.Left, e.Bounds.Top + e.Bounds.Height - 1);
            }
            else
            {
                var size = DrawingCalculations.GetZoomSize(img.Size, e.Bounds.Size);
                g.DrawImage(img, new Rectangle(
                                e.Bounds.Width / 2 - size.Width / 2 + 1, e.Bounds.Height / 2 - size.Height / 2 + 1,
                                size.Width, size.Height));

                /*if (img.Width > img.Height) //wide
                 * {
                 *  var newHeight = (int)(img.Height / img.Width * e.Bounds.Width);
                 *  g.DrawImage(img, new Rectangle(e.Bounds.Left, e.Bounds.Height / 2 - newHeight / 2 + 1, e.Bounds.Width, newHeight));
                 * }
                 * else
                 * {
                 *  var newWidth = (int)(img.Width / img.Height * e.Bounds.Height);
                 *  g.DrawImage(img, new Rectangle(e.Bounds.Width / 2 - newWidth / 2 + 1, e.Bounds.Top, newWidth, e.Bounds.Height));
                 * }*/
            }
        }
示例#2
0
        private bool AddNewImage(string fileName)
        {
            var key = EditorContext.SelectedWatchface.AddImageFile(fileName);

            if (key == null)
            {
                return(false);
            }
            var tn  = AddImageToTree(treeViewExplorer.TopNode.Nodes["images"], key, EditorContext.SelectedWatchface.Images[key]);
            var img = (Image)tn.Tag;

            var containedSize = DrawingCalculations.GetContainedSize(img.Size, new Size(320, 320));

            //also add layer
            var newLayer = new FacerLayer
            {
                type      = "image",
                x         = "160",
                y         = "160",
                r         = "0",
                opacity   = "100",
                low_power = true,

                alignment = (int)FacerImageAlignment.Center,

                width  = containedSize.Width.ToString(),
                height = containedSize.Height.ToString(),

                hash       = key,
                is_tinted  = false,
                tint_color = null,
            };

            EditorContext.SelectedWatchface.Layers.Add(newLayer);
            treeViewExplorer.SelectedNode = AddLayerToTree(treeViewExplorer.TopNode.Nodes["layers"], newLayer);
            UpdateChanged();

            return(true);
        }