private void Form1_Load(object sender, EventArgs e) { if (DesignMode) { return; } // _basicOptions = basicFontOptionsUserControl1.Options; _basicOptions.TypefaceChanged += (s, e2) => { if (_devVxsTextPrinter != null) { _devVxsTextPrinter.Typeface = e2.SelectedTypeface; } }; _basicOptions.UpdateRenderOutput += (s, e2) => { UpdateRenderOutput(); }; // //---------- _renderOptions = glyphRenderOptionsUserControl1.Options; _renderOptions.UpdateRenderOutput += (s, e2) => { UpdateRenderOutput(); }; //share text printer to our sample textbox //but you can create another text printer that specific to text textbox control destImg = new ActualImage(800, 600); aggsx = new AggRenderSurface(destImg); //no platform painter = new AggPainter(aggsx); winBmp = new Bitmap(destImg.Width, destImg.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb); g = this.sampleTextBox1.CreateGraphics(); painter.CurrentFont = new PixelFarm.Drawing.RequestFont("tahoma", 14); var openFontStore = new Typography.TextServices.OpenFontStore(); _devVxsTextPrinter = new VxsTextPrinter(painter, openFontStore); _devVxsTextPrinter.ScriptLang = _basicOptions.ScriptLang; _devVxsTextPrinter.PositionTechnique = Typography.TextLayout.PositionTechnique.OpenFont; _devVxsTextPrinter.FontSizeInPoints = 10; _controllerForPixelFarm.BindHostGraphics(g); _controllerForPixelFarm.TextPrinter = _devVxsTextPrinter; this.sampleTextBox1.SetController(_controllerForPixelFarm); _readyToRender = true; _basicOptions.UpdateRenderOutput += (s, e2) => UpdateRenderOutput(); //---------- //txtInputChar.TextChanged += (s, e2) => UpdateRenderOutput(); //---------- }
public UIPlatformWinForm() { //-------------------------------------------------------------------- //TODO: review here again //NOTE: this class load native dll images (GLES2) //since GLES2 that we use is x86, //so we must specific the file type to x86 *** //else this will error on TypeInitializer ( from BadImageFormatException); //-------------------------------------------------------------------- if (platform == null) { platform = this; SetAsDefaultPlatform(); } var fontLoader = new Typography.TextServices.OpenFontStore(); try { //set up winform platform ////gdi+ PixelFarm.Drawing.WinGdi.WinGdiPlusPlatform.SetFontLoader(fontLoader); LayoutFarm.UI.Clipboard.SetUIPlatform(this); } catch (System.Exception ex) { } ////gles2 //OpenTK.Toolkit.Init(); //PixelFarm.Drawing.GLES2.GLES2Platform.SetFontLoader(YourImplementation.BootStrapOpenGLES2.myFontLoader); ////skia //if (!YourImplementation.BootStrapSkia.IsNativeLibAvailable()) //{ // //handle when native dll is not ready //} //else //{ // //when ready // PixelFarm.Drawing.Skia.SkiaGraphicsPlatform.SetFontLoader(YourImplementation.BootStrapSkia.myFontLoader); //} //_gdiPlusIFonts = new PixelFarm.Drawing.WinGdi.Gdi32IFonts(); }