Beispiel #1
0
        public void Render()
        {
            uint time = (uint)Environment.TickCount;

            SkinContext.SystemTickCount = time;

            lock (_syncObj)
            {
                if (_mouseMovePending.HasValue)
                {
                    float x = _mouseMovePending.Value.X;
                    float y = _mouseMovePending.Value.Y;
                    _mouseMovePending = null;
                    DoHandleMouseMove(x, y);
                }
                if (_root.IsMeasureInvalid || _root.IsArrangeInvalid)
                {
                    _root.UpdateLayoutRoot(new SizeF(SkinWidth, SkinHeight));
                }
                HandleScheduledFocus();
                if (_pendingScreenEvent != null)
                {
                    DoFireScreenEvent(_pendingScreenEvent);
                    _pendingScreenEvent = null;
                }
                _root.Render(_renderContext);
            }
        }
Beispiel #2
0
 public void CheckPendingScreenEvent()
 {
     if (_pendingScreenEvent == null)
     {
         return;
     }
     DoFireScreenEvent(_pendingScreenEvent);
     _pendingScreenEvent = null;
 }
Beispiel #3
0
 protected void DoFireScreenEvent(PendingScreenEvent pendingScreenEvent)
 {
     FireEvent(pendingScreenEvent.EventName, pendingScreenEvent.RoutingStategy);
 }
Beispiel #4
0
 protected void TriggerScreenEvent(string eventName, RoutingStrategyEnum routingStrategy)
 {
     _pendingScreenEvent = new PendingScreenEvent(eventName, routingStrategy);
 }