Esempio n. 1
0
        public bool Load(string url)
        {
            if (!File.Exists(Path.Combine(Application.ResourceUrl, url)))
            {
                Console.Write("Image file not found:");
                Console.Write(Path.Combine(Application.ResourceUrl, url));
                return(false);
            }

            if (mUrl == Path.Combine(Application.ResourceUrl, url))
            {
                return(true);
            }

            mUrl = Path.Combine(Application.ResourceUrl, url);
            var data = new byte[8];

            File.OpenRead(mUrl).Read(data, 0, 8);

            var height = XpBitConverter.ToInt32(data, 0);
            var width  = XpBitConverter.ToInt32(data, 4);

            Resize(width, height);

            return(true);
        }
Esempio n. 2
0
        private void LoadImage()
        {
            try
            {
                if (!File.Exists(Path.Combine(Application.ResourceUrl, mUrl)))
                {
                    Console.Write("Image file not found:");
                    Console.Write(Path.Combine(Application.ResourceUrl, mUrl));
                    return;
                }

                var data = File.ReadAllBytes(mUrl);

                var height = XpBitConverter.ToInt32(data, 0);
                var width  = XpBitConverter.ToInt32(data, 4);

                var size = data.Length - 8;
                var raw  = Marshal.AllocHGlobal(size);
                Marshal.Copy(data, 8, raw, size);

                //mCache = VG.vgCreateImage(PixelFormat, Width, Height, VGImageQuality.VG_IMAGE_QUALITY_BETTER);
                //VG.vgImageSubData(mCache, raw, 4 * Width, PixelFormat, 0, 0, Width, Height);
                VG.vgWritePixels(raw, 4 * width, VGImageFormat.VG_sBGRA_8888, 0, 0, width, height);
                //VG.vgWritePixels(raw, 4*width, PixelFormat, 0, 0, width, height);

                Marshal.FreeHGlobal(raw);
            }
            catch (Exception ex)
            {
                Debug.Print(ex.ToString());
            }
        }
Esempio n. 3
0
        public void Save()
        {
            if (mData == null)
            {
                return;
            }

            if (mData.Length == 0)
            {
                return;
            }

            var bytes = XpBitConverter.GetBytes(mData);

            Data = Convert.ToBase64String(bytes, 0, bytes.Length);
        }
Esempio n. 4
0
        public ushort[] GetAsModbus()
        {
            switch (Type)
            {
            case SignalType.Bool:
                return(new[] { (ushort)(Signal.IsSet ? Mask : 0) });

            case SignalType.Ushort:
                return(new[] { (ushort)Signal.Value });

            //case SignalType.Uint:
            //    return XpBitConverter.GetUint16(BitConverter.GetBytes((uint)Signal.Value));

            case SignalType.Float:
                return(XpBitConverter.GetUint16(BitConverter.GetBytes(Signal.Value)));
            }

            return(null);
        }
Esempio n. 5
0
        static public InputEvent ParseEvent(byte[] aData)
        {
            if (aData.Length != 16)
            {
                return(null);
            }

            return(new InputEvent
            {
                time =
                {
                    seconds      = XpBitConverter.ToUint32(aData, 0),
                    microseconds = XpBitConverter.ToUint32(aData, 4)
                },
                type = (EventTypes)XpBitConverter.ToUint16(aData, 8),
                code = (CodeTypes)XpBitConverter.ToUint16(aData, 10),
                value = XpBitConverter.ToInt32(aData, 12)
            });
        }
Esempio n. 6
0
 public ushort[] Restore()
 {
     return(mData ?? XpBitConverter.GetUint16(Convert.FromBase64String(Data)));
 }