Platforms to show: All Mac Windows Linux Cross-Platform
/PDFKit/PDFView/PDFView customized
Required plugins for this example: MBS MacBase Plugin, MBS Main Plugin, MBS PDFKit Plugin, MBS MacFrameworks Plugin, MBS MacCocoa Plugin
Last modified Thu, 6th Apr 2016.
You find this example project in your MBS Xojo Plugin download as a Xojo project file within the examples folder: /PDFKit/PDFView/PDFView customized
Download this example: PDFView customized.zip
Project "PDFView customized.xojo_binary_project"
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,50,50)
dim p2 as NSRectMBS = self.convertRectFromPage(p1, page)
dim p3 as NSRectMBS = self.convertRectToView(p2, self.documentView)
'System.DebugLog str(p2.x)+" "+str(p2.y)
'System.DebugLog str(p3.x)+" "+str(p3.y)
graphics.SetColorRGB(1.0,0,0)
graphics.fillRect(p3.X, p3.Y, p3.Width, p3.Height)
Exception n as NSExceptionMBS
System.DebugLog n.message
Finally
graphics.restoreGraphicsState
End EventHandler
End Class
End Project
See also:
- /PDFKit/PDFView/PDFView
- /PDFKit/PDFView/PDFView customized with picture overlay
- /PDFKit/PDFView/PDFView overlay/PDFView overlay
- /PDFKit/PDFView/PDFView overlay/PDFViewControl overlay
Download this example: PDFView customized.zip
The items on this page are in the following plugins: MBS PDFKit Plugin.