Esempio n. 1
0
        public BitmapData Lock()
        {
            if (isLocked)
            {
                throw new InvalidOperationException();
            }
            BitmapDataHandler bd = null;

            ApplicationHandler.InvokeIfNecessary(() => {
                Control.Lock();
                bd = new BitmapDataHandler(Widget, Control.BackBuffer, Size.Width, Control.Format.BitsPerPixel, Control);
            });
            isLocked = true;
            return(bd);
        }
Esempio n. 2
0
        public BitmapData Lock()
        {
            BitmapDataHandler handler = null;

            ApplicationHandler.InvokeIfNecessary(() => {
                var wb = Control as swm.Imaging.WriteableBitmap;
                if (wb != null)
                {
                    wb.Lock();
                    handler = new BitmapDataHandler(Widget, wb.BackBuffer, (int)stride, Control.Format.BitsPerPixel, Control);
                }
                else
                {
                    wb = new swm.Imaging.WriteableBitmap(Control);
                    wb.Lock();
                    Control = wb;
                    handler = new BitmapDataHandler(Widget, wb.BackBuffer, (int)stride, Control.Format.BitsPerPixel, wb);
                }
            });
            return(handler);
        }