Platforms to show: All Mac Windows Linux Cross-Platform

/MacCG/CG Ovals with PDF in memory


Required plugins for this example: MBS MacCG Plugin, MBS MacCF Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacCG/CG Ovals with PDF in memory

This example is the version from Sun, 17th Mar 2012.

Project "CG Ovals with PDF in memory.xojo_binary_project"
FileTypes
Filetype text
End FileTypes
Class Window1 Inherits Window
EventHandler Sub Open() dim center as CGPointMBS dim m as MyCGDataConsumer dim c as CGContextMBS dim r as CGRectMBS dim q as CGDataProviderMBS dim data as string // Create PDF in memory m=new MyCGDataConsumer r=new CGRectMBS(0,0,300,300) c=CGNewPDFDocumentMBS(m,r,"","","") if c<>Nil then c.BeginPage r center=new CGPointMBS(150,150) c.BeginPath c.SetRGBFillColor 1,0,0,0.5 c.AddOval center, 100,150 c.FillPath c.BeginPath c.SetRGBFillColor 0,0,1,0.5 c.AddOval center, 100,50 c.FillPath c.EndPage c.Flush end if c=nil // end CGContext data=m.buf // get data q=CGDataProviderMBS.CreateWithData(data) p=CGOpenPDFDocumentMBS(q) End EventHandler
EventHandler Sub Paint(g As Graphics) g.DrawCGPDFDocumentMBS p,new CGRectMBS(0,0,300,300),1 End EventHandler
Property Protected p As cgpdfdocumentMBS
End Class
MenuBar MenuBar1
MenuItem UntitledMenu1 = ""
MenuItem FileMenu = "&File"
MenuItem FileQuit = "Quit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem UntitledMenu0 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "Clear"
End MenuBar
Class App Inherits Application
End Class
Module Util
Sub AddOval(extends c as CGContextMBS, center as CGPOintMBS, a as single, b as single) dim pi as single pi=ACos(0)*2.0 c.SaveGState c.TranslateCTM center.x, center.y c.ScaleCTM a,b c.MoveToPoint 1,0 c.AddArc 0, 0, 1, 0.0, 2*pi, false c.ClosePath c.RestoreGState End Sub
End Module
Class MyCGDataConsumer Inherits CGDataConsumerMBS
EventHandler Function Put(data as string) As integer buf=buf+data Return lenb(Data) End EventHandler
Property buf As string
End Class
End Project

See also:

The items on this page are in the following plugins: MBS MacCG Plugin.


The biggest plugin in space...