/// <summary> /// draw a rendering queue, firing events before and after. /// </summary> /// <param name="queue"></param> /// <param name="args"></param> protected void Draw(RenderQueue queue, RenderQueueEventArgs args) { FireEvent(RenderQueueStarted, args); d_target.Draw(queue); args.handled = 0; FireEvent(RenderQueueEnded, args); }
private void FireEvent(EventHandler <RenderQueueEventArgs> eventHandler, RenderQueueEventArgs args) { var handler = eventHandler; if (handler != null) { handler(this, args); } }
/// <summary> /// draw the surface content. Default impl draws the render queues. /// NB: Called between RenderTarget activate and deactivate calls. /// </summary> protected virtual void DrawContent() { var evt_args = new RenderQueueEventArgs(RenderQueueId.RQ_USER_0); foreach (var i in d_queues) { evt_args.handled = 0; evt_args.RenderQueueId = i.Key; Draw(i.Value, evt_args); } }