Example #1
0
        public bool pointOverAny(Point p, out c_ImageHolder overImg)
        {
            overImg = null;
            Limages.Sort(new intComparerDesc());
            foreach (c_ImageHolder c in Limages)
            {
                if (pointInPosition(p, c.bounds()))
                {
                    overImg = c;
                    return(true);
                }
            }

            return(false);
        }
Example #2
0
        public Bitmap renderButtons(Point p, c_ImageHolder c)
        {
            Point newp = new Point(p.X - c.Left, p.Y - c.Top);

            Bitmap ret = new Bitmap(c.Width, panelHeight);

            using (Graphics g = Graphics.FromImage(ret))
            {
                foreach (CustomPanelButton b in c._buttons.btns)
                {
                    if (b.visible)
                    {
                        if (b.Anchor == CustomPanelButton.Anchors.left)
                        {
                            if (c.isOverButton(newp, b))
                            {
                                g.DrawImage(b.Image2, new Point(b.Pos * b.Size + (b.Pos > 1 ? b.Pos + 1 : 0) - b.PadRight + (b.Pos > 0 ? (b.Pos * 2) : 0), b.PadTop));
                            }
                            else
                            {
                                g.DrawImage(b.Image1, new Point(b.Pos * b.Size + (b.Pos > 1 ? b.Pos + 1 : 0) - b.PadRight + (b.Pos > 0 ? (b.Pos * 2) : 0), b.PadTop));
                            }

                            g.DrawRectangle(Pens.Black, new Rectangle(b.Pos * c.buttonSize + (b.Pos > 0 ? (b.Pos * 2) : 0), 0, c.buttonSize, c.buttonSize));
                        }
                        else
                        {
                            if (c.isOverButton(newp, b))
                            {
                                g.DrawImage(b.Image2, new Point(c.Width - (((b.Pos + 1) * b.Size + 7) - b.PadRight + (b.Pos * 2)), b.PadTop));
                            }
                            else
                            {
                                g.DrawImage(b.Image1, new Point(c.Width - (((b.Pos + 1) * b.Size + 7) - b.PadRight + (b.Pos * 2)), b.PadTop));
                            }

                            g.DrawRectangle(Pens.Black, new Rectangle(c.Width - (((b.Pos + 1) * c.buttonSize) + (b.Pos * 2)), 0, c.buttonSize, c.buttonSize));
                        }
                    }
                }

                return(ret);
            }
        }
Example #3
0
        //DrawTBG => Draw with Transparent Background checkered pattern
        public static Bitmap createImage(System.Drawing.Rectangle rec, List <c_ImageHolder> cutouts, bool drawTBG)
        {
            int border = 0;

            if (Properties.Settings.Default.s_hasBorder)
            {
                border = Properties.Settings.Default.s_borderWidth;
            }

            Bitmap bm = null;

            try
            {
                bm = new Bitmap(rec.Width + (border * 2), rec.Height + (border * 2));

                using (Graphics g = Graphics.FromImage(bm))
                {
                    c_returnGraphicSettings cg = new c_returnGraphicSettings();

                    g.SmoothingMode     = cg.getSM();
                    g.InterpolationMode = cg.getIM();
                    g.PixelOffsetMode   = cg.getPOM();

                    //g.Clear(Color.Transparent);

                    if (Properties.Settings.Default.s_hasBgColor)
                    {
                        g.Clear(Properties.Settings.Default.s_bgColor);
                    }
                    else
                    {
                        g.Clear(Color.Transparent);
                    }

                    if (drawTBG)
                    {
                        int x = 0;
                        int y = 0;
                        while (y < bm.Height)
                        {
                            while (x < bm.Width)
                            {
                                g.DrawImageUnscaled(Properties.Resources.transparentBG, new Point(x, y));
                                x += Properties.Resources.transparentBG.Width;
                            }

                            y += Properties.Resources.transparentBG.Height;
                            x  = 0;
                        }
                    }

                    foreach (c_ImageHolder c in cutouts)
                    {
                        c_ImageHolder k = c;
                        g.DrawImage(k.Image, new System.Drawing.Rectangle(k.Left - rec.Left + border, k.Top - rec.Top + border, k.Width, k.Height), new System.Drawing.Rectangle(0, 0, k.Image.Width, k.Image.Height), GraphicsUnit.Pixel);
                    }

                    if (Properties.Settings.Default.s_hasBorder)
                    {
                        Brush b = new SolidBrush(Properties.Settings.Default.s_borderColor);

                        g.FillRectangle(b, new RectangleF(0, 0, bm.Width, border));
                        g.FillRectangle(b, new RectangleF(0, bm.Height - border, bm.Width, border));
                        g.FillRectangle(b, new RectangleF(0, 0, border, bm.Height));
                        g.FillRectangle(b, new RectangleF(bm.Width - border, 0, border, bm.Height));
                    }
                }
            }
            catch
            {
            }

            return(bm);
        }