コード例 #1
0
        public void UpdateDesktop(byte[] desktop)
        {
            if (desktop != null)
            {
                // deserialize the data
                System.Drawing.Image partialDesktop;
                Rectangle rect;
                Guid id;
                DesktopViewerUtils.Deserialize(desktop, out partialDesktop, out rect, out id);

                // Update the current desktop
                ViewerContext viewContext;
                if (_contexts.ContainsKey(id))
                {
                    
                    _contexts.Remove(id);
                }
                // create new viewer context
                viewContext = new ViewerContext(id);
                System.Drawing.Image img = null;

                DesktopViewerUtils.UpdateScreen(ref img, partialDesktop, rect);
                viewContext.Display = img;
                _contexts[id] = viewContext;
                
                UpdateDisplay(id);
            }
        }
コード例 #2
0
        public string UpdateMouse(byte[] mouse)
        {
            if (mouse != null)
            {
                // Unpack the data.
                //
                System.Drawing.Image cursor;
                int cursorX, cursorY;
                Guid id;
                DesktopViewerUtils.Deserialize(mouse, out cursor, out cursorX, out cursorY, out id);

                // Update the current screen
                //
                ViewerContext viewContext;
                if (!_contexts.ContainsKey(id))
                {
                    // Create a new session.
                    //
                    viewContext = new ViewerContext(id);
                    _contexts[id] = viewContext;
                }
                else
                {
                    viewContext = _contexts[id];
                }
                viewContext.Mouse = cursor;
                viewContext.CursorX = cursorX;
                viewContext.CursorY = cursorY;
                UpdateDisplay(id);
            }

            return _commandQueue.Serialize();
        }