private void CreateOffscreenViewer() { DestroyOffscreenViewer(); if (m_GngOffscreenViewer == null) { // create two decompression buffer object instances m_GngDecompBuffer1 = new GngDecompBuffer(); m_GngDecompBuffer1.SetBufferSize(width, heigth, GngDecompBufferFormat.dbfRGB32); m_GngDecompBuffer2 = new GngDecompBuffer(); m_GngDecompBuffer2.SetBufferSize(width, heigth, GngDecompBufferFormat.dbfRGB32); // create the offscreen viewer object instance m_GngOffscreenViewer = new GngOffscreenViewer(m_GngDecompBuffer1); m_NewPicDecompBuffer = m_GngDecompBuffer1; m_GngOffscreenViewer.GetTextParams(out GngViewTextParams Params); // display a timestamp in the viewer Params.InsertPicInfo = true; Params.FontSize = 20; m_GngOffscreenViewer.SetTextParams(Params); m_GngOffscreenViewer.SetOffscreenViewerSize(width, heigth, true); m_GngOffscreenViewer.Refresh(); // set callbacks of the offscreen viewer objects OffscreenViewerAcceptCallbackDelegate OffscreenViewerAcceptCallbackDelegateInstance = new OffscreenViewerAcceptCallbackDelegate(GngOffscreenViewer_AcceptCallbackDelegate); m_GngOffscreenViewer.SetOffscreenViewerAcceptCallBack(OffscreenViewerAcceptCallbackDelegateInstance); OffscreenViewerCallbackDelegate OffscreenViewerCallbackDelegateInstance = new OffscreenViewerCallbackDelegate(GngOffscreenViewer_CallbackDelegate); m_GngOffscreenViewer.SetOffscreenViewerCallBack(OffscreenViewerCallbackDelegateInstance); } }