Xojo Conferences

Platforms to show: All Mac Windows Linux Cross-Platform

/MacCocoa/PDFKit/PDFView/PDFView customized with picture overlay
Required plugins for this example: MBS MacBase Plugin, MBS MacCocoa Plugin, MBS MacControls Plugin, MBS MacFrameworks Plugin, MBS Main Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacCocoa/PDFKit/PDFView/PDFView customized with picture overlay
This example is the version from Thu, 6th Apr 2016.
Project "PDFView customized with picture overlay.rbp"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control CocoaControlMBS1 Inherits CocoaControlMBS
ControlInstance CocoaControlMBS1 Inherits CocoaControlMBS
EventHandler Function GetView() As NSViewMBS dim file as FolderItem = FindFile("Castles.pdf") dim doc as PDFDocumentMBS = new PDFDocumentMBS(file) n=new MyPDFView(0,0,me.Width,me.Height) n.document = doc Return n End EventHandler
End Control
Control StaticText1 Inherits Label
ControlInstance StaticText1 Inherits Label
End Control
EventHandler Sub Open() if not CocoaControlMBS1.Available then MsgBox "This example requires Mac OS X 10.5." quit end if End EventHandler
Function FindFile(name as string) As FolderItem // Look for file in parent folders from executable on dim parent as FolderItem = app.ExecutableFile.Parent while parent<>Nil dim file as FolderItem = parent.Child(name) if file<>Nil and file.Exists then Return file end if parent = parent.Parent wend End Function
Property n As PDFViewMBS
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
Class MyPDFView Inherits CustomPDFViewMBS
EventHandler Sub AfterDrawPagePost(graphics as NSGraphicsMBS, page as PDFPageMBS) graphics.saveGraphicsState dim p1 as new NSRectMBS(0,0,595,842) dim p2 as NSRectMBS = self.convertRectFromPage(p1, page) dim p3 as NSRectMBS = self.convertRectToView(p2, self.documentView) dim p as Picture = LogoMBS(300) p.mask.Graphics.ForeColor = &cFFFFFF p.mask.Graphics.Fillrect 0,0,300,300 p.mask.Graphics.ForeColor = &c777777 p.mask.Graphics.Filloval 0,0,300,300 graphics.SetColorRGB(1.0,0,0) graphics.drawAtPoint new NSImageMBS(p,p.mask), p3.X+p3.width/2-p.Width/2, p3.Y+p3.height/2-p.Width/2, 0, 0, 300, 300, graphics.NSCompositeSourceOver, 1.0 Exception n as NSExceptionMBS System.DebugLog n.message Finally graphics.restoreGraphicsState End EventHandler
End Class
End Project

See also:

Feedback, Comments & Corrections

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

MBS Xojo blog