// public static void SetInstalledTypefaceProvider(IInstalledTypefaceProvider provider) { //warning if duplicate if (s_installedTypefaceProvider != null) { //TODO: review here again return; } s_installedTypefaceProvider = provider; }
public static void CreateCanvasControlOnExistingControl( Control landingControl, int xpos, int ypos, int w, int h, InnerViewportKind internalViewportKind, out UISurfaceViewportControl canvasViewport) { //1. init InitWinform(); IInstalledTypefaceProvider fontLoader = s_fontstore; //2. ITextService textService = null; switch (internalViewportKind) { default: //gdi, gdi on gles textService = PixelFarm.Drawing.WinGdi.WinGdiPlusPlatform.GetTextService(); break; case InnerViewportKind.PureAgg: case InnerViewportKind.AggOnGLES: case InnerViewportKind.GLES: textService = new OpenFontTextService(); break; } PixelFarm.Drawing.WinGdi.WinGdiPlusPlatform.SetInstalledTypefaceProvider(fontLoader); //--------------------------------------------------------------------------- MyRootGraphic myRootGfx = new MyRootGraphic(w, h, textService); //--------------------------------------------------------------------------- var innerViewport = canvasViewport = new UISurfaceViewportControl(); Rectangle screenClientAreaRect = Conv.ToRect(Screen.PrimaryScreen.WorkingArea); canvasViewport.InitRootGraphics(myRootGfx, myRootGfx.TopWinEventPortal, internalViewportKind); canvasViewport.Bounds = new System.Drawing.Rectangle(xpos, ypos, screenClientAreaRect.Width, screenClientAreaRect.Height); landingControl.Controls.Add(canvasViewport); // Form ownerForm = landingControl.FindForm(); if (ownerForm != null) { ownerForm.FormClosing += (s, e) => { innerViewport.Close(); }; } }
static void InitWinform() { if (s_platform != null) { return; } //---------------------------------------------------- s_platform = new UIPlatformWinForm(); var instTypefaces = new InstalledTypefaceCollection(); instTypefaces.LoadSystemFonts(); s_fontstore = instTypefaces; }
public static void SetInstalledTypefaceProvider(IInstalledTypefaceProvider provider) { WinGdiFontFace.SetInstalledTypefaceProvider(provider); }
public static void SetInstalledTypefaceProvider(IInstalledTypefaceProvider fontLoader) { s_installedTypefaceProvider = fontLoader; }
public static void SetInstalledTypefaceProvider(IInstalledTypefaceProvider provider) { s_installedTypefaceProvider = provider; }
public static void CreateCanvasControlOnExistingControl( Control landingControl, int xpos, int ypos, int w, int h, InnerViewportKind internalViewportKind, out GraphicsViewRoot view_root) { //1. init InitWinform(); IInstalledTypefaceProvider fontLoader = YourImplementation.CommonTextServiceSetup.FontLoader; //2. switch (internalViewportKind) { default: //gdi, gdi on gles break; case InnerViewportKind.PureAgg: case InnerViewportKind.AggOnGLES: case InnerViewportKind.GLES: { var openFontTextService = new Typography.Text.OpenFontTextService(); openFontTextService.SvgBmpBuilder = PaintLab.SvgBuilderHelper.ParseAndRenderSvg; PixelFarm.Drawing.GLES2.GLES2Platform.TextService = openFontTextService; Typography.Text.GlobalTextService.TxtClient = openFontTextService.CreateNewServiceClient(); } break; } PixelFarm.Drawing.WinGdi.WinGdiPlusPlatform.SetInstalledTypefaceProvider(fontLoader); //--------------------------------------------------------------------------- //3. root graphics PixelFarm.Drawing.Rectangle screenClientAreaRect = Conv.ToRect(Screen.PrimaryScreen.WorkingArea); w = screenClientAreaRect.Width; h = screenClientAreaRect.Height; MyRootGraphic myRootGfx = new MyRootGraphic(w, h); //4. create event bridge that will bridge from native window event to root graphics AbstractTopWindowBridge bridge = GetTopWindowBridge(internalViewportKind, myRootGfx, myRootGfx.TopWinEventPortal); //5. actualWinUI is platform specific var actualWinUI = new LayoutFarm.UI.MyWinFormsControl(); actualWinUI.Size = new System.Drawing.Size(w, h); landingControl.Controls.Add(actualWinUI); //so we create abstraction of actual UI IGpuOpenGLSurfaceView viewAbstraction = actualWinUI.CreateWindowWrapper(bridge); var viewRoot = view_root = new GraphicsViewRoot( screenClientAreaRect.Width, screenClientAreaRect.Height); view_root.InitRootGraphics( myRootGfx, myRootGfx.TopWinEventPortal, internalViewportKind, viewAbstraction, bridge); //TODO: review here again myRootGfx.SetDrawboardReqDelegate(view_root.GetDrawBoard); //------ //TODO: review here view_root.SetBounds(xpos, ypos, screenClientAreaRect.Width, screenClientAreaRect.Height); // Form ownerForm = landingControl.FindForm(); if (ownerForm != null) { ownerForm.FormClosing += (s, e) => { //TODO: review here viewRoot.Close(); }; } }
public static void SetInstalledTypefaceProvider(IInstalledTypefaceProvider provider) { // WinGdiFontFace.SetFontLoader(fontLoader); }
public static void SetInstalledTypefaceProvider(IInstalledTypefaceProvider provider) { GLES2PlatformFontMx.SetInstalledTypefaceProvider(provider); }
protected override void OnDispose() { s_installedTypefaceProvider = null; }