Example #1
0
 public Bitmap Clone(Rectangle?rectangle = null)
 {
     EnsureData();
     FixupAlpha();
     if (rectangle == null)
     {
         return(new Bitmap(new BitmapHandler(Control.Copy())));
     }
     else
     {
         var         rect = rectangle.Value;
         PixelFormat format;
         if (Control.BitsPerSample == 24)
         {
             format = PixelFormat.Format24bppRgb;
         }
         else if (Control.HasAlpha)
         {
             format = PixelFormat.Format32bppRgba;
         }
         else
         {
             format = PixelFormat.Format32bppRgb;
         }
         var bmp = new Bitmap(rect.Width, rect.Height, format);
         Control.CopyArea(rect.X, rect.Y, rect.Width, rect.Height, bmp.ToGdk(), 0, 0);
         return(bmp);
     }
 }
Example #2
0
        public Bitmap Clone(Rectangle?rectangle = null)
        {
            if (rectangle == null)
            {
                return(new Bitmap(Generator, new BitmapHandler {
                    Control = (UIImage)Control.Copy()
                }));
            }
            else
            {
                var rect = rectangle.Value;
                cgimage = cgimage ?? Control.CGImage;
                PixelFormat format;
                if (cgimage.BitsPerPixel == 24)
                {
                    format = PixelFormat.Format24bppRgb;
                }
                else if (cgimage.AlphaInfo == CGImageAlphaInfo.None)
                {
                    format = PixelFormat.Format32bppRgb;
                }
                else
                {
                    format = PixelFormat.Format32bppRgba;
                }

                var bmp = new Bitmap(rect.Width, rect.Height, format, Generator);
                using (var graphics = new Graphics(bmp))
                {
                    graphics.DrawImage(Widget, rect, new Rectangle(rect.Size));
                }
                return(bmp);
            }
        }
Example #3
0
        public Bitmap Clone(Rectangle?rectangle = null)
        {
            if (rectangle == null)
            {
                return(new Bitmap(Generator, new BitmapHandler((NSImage)Control.Copy())));
            }
            else
            {
                var         rect = rectangle.Value;
                PixelFormat format;
                if (bmprep != null && bmprep.BitsPerPixel == 24)
                {
                    format = PixelFormat.Format24bppRgb;
                }
                else if (alpha || (bmprep != null && bmprep.HasAlpha))
                {
                    format = PixelFormat.Format32bppRgba;
                }
                else
                {
                    format = PixelFormat.Format32bppRgb;
                }

                var bmp = new Bitmap(rect.Width, rect.Height, format, Generator);
                using (var graphics = new Graphics(Generator, bmp))
                {
                    graphics.DrawImage(Widget, rect, new Rectangle(rect.Size));
                }
                return(bmp);
            }
        }
Example #4
0
 public nfloat GetPreferredSize(object value, CGSize cellSize, int row, object dataItem)
 {
     if (copy == null)
     {
         copy = Control.Copy() as NSCell;
     }
     ColumnHandler.DataViewHandler.OnCellFormatting(ColumnHandler.Widget, dataItem, row, copy);
     return(GetPreferredSize(value, cellSize, copy));
 }
Example #5
0
        public void Copy()
        {
            // Arrange
            var control = GetControl(ControlFormTests.GetControlForm());

            // Act
            var controlCopy = Control.Copy(control);

            // Assert
            AssertIsCopy(control, controlCopy);
        }
Example #6
0
 public Bitmap Clone(Rectangle?rectangle = null)
 {
     if (rectangle == null)
     {
         return(new Bitmap(Generator, new BitmapHandler((NSImage)Control.Copy())));
     }
     else
     {
         var rect  = new sd.RectangleF(sd.PointF.Empty, this.Control.Size);
         var temp  = Control.AsCGImage(ref rect, null, null).WithImageInRect(rectangle.Value.ToSDRectangleF());
         var image = new NSImage(temp, new sd.SizeF(temp.Width, temp.Height));
         return(new Bitmap(Generator, new BitmapHandler(image)));
     }
 }
Example #7
0
 public Bitmap Clone(Rectangle?rectangle = null)
 {
     if (rectangle == null)
     {
         return(new Bitmap(new BitmapHandler((NSImage)Control.Copy())));
     }
     else
     {
         var rect    = new CGRect(CGPoint.Empty, Control.Size);
         var image   = new NSImage();
         var cgimage = Control.AsCGImage(ref rect, null, null).WithImageInRect(rectangle.Value.ToNS());
         image.AddRepresentation(new NSBitmapImageRep(cgimage));
         return(new Bitmap(new BitmapHandler(image)));
     }
 }
Example #8
0
        Size LabelF9PSize(double widthConstraint, double fontSize)
        {
            if (Element is Forms9Patch.Label element && Control?.Copy() is TextBlock control)
            {
                //P42.Utils.DebugExtensions.Message(element,"ENTER widthConstraint=[" + widthConstraint + "] fontSize=[" + fontSize + "]");

                control.SetAndFormatText(element, fontSize);
                control.Measure(new Windows.Foundation.Size(widthConstraint, double.PositiveInfinity));

                var size = new Windows.Foundation.Size(control.DesiredSize.Width, control.DesiredSize.Height);

                var result = new Size(size.Width, size.Height);
                //P42.Utils.DebugExtensions.Message(element,"EXIT result=[" + result + "]");
                return(result);
            }
            return(new Size(10, 10));
        }
Example #9
0
 public void Copy()
 {
     Control.Copy();
 }
Example #10
0
        /// <summary>
        /// 对二进制串解报
        /// </summary>
        /// <param name="bytetemp"></param>
        /// <param name="con"></param>
        public int UnpackReceive(byte[] bytetemp, Control con,ref ASDUClass.FunType ft, ref ASDUClass.TransRes tr)
        {
            try
            {
                if ((bytetemp.Length == 1) && (bytetemp[0] == 0xe5))
                {
                    //收到 E5
                    return 1;
                }
                if ((bytetemp.Length == 5) && (bytetemp[0] == 0x10) && (bytetemp[4] == 0x16))
                {
                    Frame_101 temp = new Frame_101(bytetemp);
                    if (temp.GetControl().PRM == false)
                    {
                        con.Copy(con, temp.GetControl());
                        Console.WriteLine("RX: ACD:{0} DFC:{1} FUNCTION:{2}\r\n",
                                             temp.GetControl().ACD, temp.GetControl().DFC, temp.GetControl().function_0);
                        try
                        {
                            sw = File.AppendText(logfile);
                            sw.WriteLine(DateTime.Now.ToString() + " RX: ACD:{0} DFC:{1} FUNCTION:{2}\r\n",
                                                 temp.GetControl().ACD, temp.GetControl().DFC, temp.GetControl().function_0);
                            sw.Close();
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message.ToString());
                        }
                        //收到固定长度帧
                        return 2;
                    }
                }
                if (bytetemp.Length > 5)
                {
                    Frame_101 vtemp = new Frame_101(bytetemp);
                    if ((vtemp != null) && (vtemp.GetControl().PRM == false))
                    {

                        Console.WriteLine("RX: ACD:{0} DFC:{1} FUNCTION:{2} Time:{3} ASDUType:{4} Res:{5}",
                                            vtemp.GetControl().ACD, vtemp.GetControl().DFC, vtemp.GetControl().function_0, DateTime.Now, vtemp.GetAsduType(), vtemp.Res);
                        //Console.WriteLine("RX: {0}", vtemp.ToString());
                        try
                        {
                            sw = File.AppendText(logfile);
                            sw.WriteLine(DateTime.Now.ToString() + " RX: ACD:{0} DFC:{1} FUNCTION:{2} ASDUType:{3} Res:{4}",
                                                vtemp.GetControl().ACD, vtemp.GetControl().DFC, vtemp.GetControl().function_0, vtemp.GetAsduType(), vtemp.Res);
                            sw.Close();
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message.ToString());
                        }

                        con.Copy(con, vtemp.GetControl());
                        ft = vtemp.GetAsduType();
                        tr = vtemp.Res;

                        var datas = vtemp.GetData();
                        foreach (var data in datas)
                        {
                            //if (data.Addr == 0) continue;
                            Console.WriteLine("RX: " + "addr:" + data.Addr.ToString() + " " +
                                                "data:" + data.Data.ToString() + " " +
                                                "time:" + data.Time.ToString());
                            //try
                            //{
                            //    sw = File.AppendText(logfile);
                            //    sw.WriteLine("RX: " + "addr:" + data.Addr.ToString() + " " +
                            //                        "data:" + data.Data.ToString() + " " +
                            //                        "time:" + data.Time.ToString());
                            //    sw.Close();
                            //}
                            //catch (Exception ex)
                            //{
                            //    Console.WriteLine(ex.Message.ToString());
                            //}

                            numInf numtemp = new numInf();
                            if (find.TryGetValue(data.Addr, out numtemp))
                            {
                                numtemp.val = Convert.ToSingle(data.Data);
                                if (data.Time != null)
                                {
                                    numtemp.dtm = Convert.ToDateTime(data.Time);
                                }
                                else numtemp.dtm = DateTime.Now;
                                find.Remove(data.Addr);
                                find.Add(data.Addr, numtemp);
                            }
                            else
                            {
                                numtemp.val = Convert.ToSingle(data.Data);
                                if (data.Time != null)
                                {
                                    numtemp.dtm = Convert.ToDateTime(data.Time);
                                }
                                else numtemp.dtm = DateTime.Now;
                                find.Add(data.Addr, numtemp);
                            }
                        }
                        Console.WriteLine("\n");
                        try
                        {
                            sw = File.AppendText(logfile);
                            sw.WriteLine("\r\n");
                            sw.Close();
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message.ToString());
                        }
                        //收到可变长度帧
                        return 3;
                    }
                }
                //收到错误帧
                return 4;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
                return 4;
            }
        }