/// <summary> /// /// </summary> /// <param name="platformHandle"></param> /// <param name="preDisposeDelegate"></param> internal RenderingWidget(ManualRenderer manualRenderer) { this.manualRenderer = manualRenderer; SetStyle(ControlStyles.AllPaintingInWmPaint, true); SetStyle(ControlStyles.OptimizedDoubleBuffer, true); UpdateStyles(); Paint += draw; manualRenderer.Invalidated += newFrame; }
/** * Private helpers * ===================================================================== */ private void renderSinkInternal(PendingCall call, RenderOptions options) { int callId = _callIdGenerator++; ManualRenderer renderer = new ManualRenderer(_platformHandle, onRendererPreDispose); call.manualRenderer = renderer; _pendingCalls[callId] = call; CDORenderRequest nReq = RenderOptions.toNative(options); nReq.invalidateCallback = renderer.getInvalidateClbck(); Console.Error.WriteLine("Requesting SDK to start rendering sink"); NativeAPI.cdo_render_sink(_renderResponder, _platformHandle, new IntPtr(callId), ref nReq); }
protected Responder<ManualRenderer> createManualRendererResponder() { setupCall(); return Platform.createResponder<ManualRenderer>( delegate(ManualRenderer result) { _mRendererResult = result; _latch.Signal(); }, errHandler ); }
public TestRenderingForm(ManualRenderer renderer) { this.renderer = renderer; Width = 340; Height = 260; renderingPanel.SetBounds(10, 10, 320, 240); Controls.Add(renderingPanel); renderer.Invalidated += invalidate; renderingPanel.Paint += draw; renderingPanel.BackColor = Color.Beige; }