diff options
-rw-r--r-- | Jamfile | 2 | ||||
-rw-r--r-- | apps/macpdf.app/Contents/Info.plist | 20 | ||||
-rw-r--r-- | apps/macpdf.app/Contents/Resources/English.lproj/InfoPlist.strings | 7 | ||||
-rw-r--r-- | apps/macpdf.app/macpdf.c | 69 | ||||
-rw-r--r-- | apps/macpdf.app/macpdf.h | 31 | ||||
-rw-r--r-- | apps/macpdf.c (renamed from apps/macpdf.app/view.c) | 94 |
6 files changed, 119 insertions, 104 deletions
@@ -258,7 +258,7 @@ if $(OS) = NT if $(OS) = MACOSX { MACPDF = apps/macpdf.app/Contents/MacOS/macpdf ; - Main $(MACPDF) : apps/macpdf.app/macpdf.c apps/macpdf.app/view.c ; + Main $(MACPDF) : apps/macpdf.c ; LinkLibraries $(MACPDF) : libmupdf libfitz ; LINKLIBS on $(MACPDF) = $(LINKLIBS) -framework Carbon ; } diff --git a/apps/macpdf.app/Contents/Info.plist b/apps/macpdf.app/Contents/Info.plist index 71dd646b..dc789640 100644 --- a/apps/macpdf.app/Contents/Info.plist +++ b/apps/macpdf.app/Contents/Info.plist @@ -20,5 +20,25 @@ <string>0.1</string> <key>CSResourcesFileMapped</key> <true/> + + <key>CFBundleDocumentTypes</key> + <array> + <dict> + <key>CFBundleTypeExtensions</key> + <array> + <string>pdf</string> + </array> + <key>CFBundleTypeIconFile</key> + <string>macpdf.icns</string> + <key>CFBundleTypeName</key> + <string>PDF Document</string> + <key>CFBundleTypeRole</key> + <string>Viewer</string> + </dict> + </array> + + <key>NSAppleScriptEnabled</key> + <string>YES</string> + </dict> </plist> diff --git a/apps/macpdf.app/Contents/Resources/English.lproj/InfoPlist.strings b/apps/macpdf.app/Contents/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 00000000..ca333a5d --- /dev/null +++ b/apps/macpdf.app/Contents/Resources/English.lproj/InfoPlist.strings @@ -0,0 +1,7 @@ +/* Localized versions of Info.plist keys */ + +CFBundleName = "MuPDF"; +CFBundleShortVersionString = "MuPDF version 1.0.0"; +CFBundleGetInfoString = "Copyright (C) 2005 Tor & Raph."; +NSHumanReadableCopyright = "Copyright (C) 2005 Tor & Raph."; + diff --git a/apps/macpdf.app/macpdf.c b/apps/macpdf.app/macpdf.c deleted file mode 100644 index 88ea3351..00000000 --- a/apps/macpdf.app/macpdf.c +++ /dev/null @@ -1,69 +0,0 @@ -#include "macpdf.h" - -static void -init_window(viewctx *ctx) -{ - WindowRef window = ctx->window; - HIViewRef viewPane; - static const HIViewID viewPaneID = { 'Poof', 666 }; - OSStatus err; - - err = HIViewFindByID(HIViewGetRoot(window), viewPaneID, &viewPane); - printf("err from findbyid: %d\n", err); -} - -int -openpdf(WindowRef window, const char *filename) -{ - HIViewRef viewPane; - static const HIViewID viewPaneID = { 'Poof', 666 }; - OSStatus err; - - err = HIViewFindByID(HIViewGetRoot(window), viewPaneID, &viewPane); - require_noerr(err, cleanup); - - err = view_openpdf(viewPane, filename); - require_noerr(err, cleanup); - - err = view_showpage(viewPane); - - cleanup: - return err; -} - -int main(int argc, char *argv[]) -{ - IBNibRef nibRef; - OSStatus err; - WindowRef window; - - fz_cpudetect(); - fz_accelerate(); - - err = view_register(); - require_noerr(err, CantRegisterView); - - err = CreateNibReference(CFSTR("main"), &nibRef); - printf("err = %d\n", err); - require_noerr(err, CantGetNibRef); - - err = SetMenuBarFromNib(nibRef, CFSTR("MenuBar")); - require_noerr(err, CantSetMenuBar); - - err = CreateWindowFromNib(nibRef, CFSTR("MainWindow"), &window); - require_noerr(err, CantCreateWindow); - - openpdf(window, "tiger.pdf"); - - DisposeNibReference(nibRef); - - ShowWindow(window); - RunApplicationEventLoop(); - - CantGetNibRef: - CantSetMenuBar: - CantCreateWindow: - CantRegisterView: - - return err; -} diff --git a/apps/macpdf.app/macpdf.h b/apps/macpdf.app/macpdf.h deleted file mode 100644 index dde4dca7..00000000 --- a/apps/macpdf.app/macpdf.h +++ /dev/null @@ -1,31 +0,0 @@ -#include <Carbon/Carbon.h> - -#include <fitz.h> -#include <mupdf.h> - -typedef struct viewctx -{ - WindowRef window; - HIViewRef view; - char *doctitle; - - float zoom; - int rotate; - int pageno; - - pdf_page *page; - fz_obj *pageobj; - - pdf_xref *xref; - pdf_pagetree *pages; - pdf_outline *outline; - fz_renderer *rast; - fz_pixmap *image; -} viewctx; - -OSStatus view_register(void); - -OSStatus -view_openpdf(HIViewRef view, char *filename); - -OSStatus view_showpage(HIViewRef view); diff --git a/apps/macpdf.app/view.c b/apps/macpdf.c index de780920..5e48a4ea 100644 --- a/apps/macpdf.app/view.c +++ b/apps/macpdf.c @@ -1,11 +1,31 @@ -/* This module implements a Carbon HIView object for a pattern plate - editor. */ +#include <Carbon/Carbon.h> -#include "macpdf.h" +#include <fitz.h> +#include <mupdf.h> #define kViewClassID CFSTR("com.artofcode.mupdf.View") #define kViewPrivate 'MU_v' +typedef struct viewctx +{ + WindowRef window; + HIViewRef view; + char *doctitle; + + float zoom; + int rotate; + int pageno; + + pdf_page *page; + fz_obj *pageobj; + + pdf_xref *xref; + pdf_pagetree *pages; + pdf_outline *outline; + fz_renderer *rast; + fz_pixmap *image; +} viewctx; + static OSStatus view_construct(EventRef inEvent) { @@ -523,3 +543,71 @@ Lskipload: CantGetPrivate: return err; } + +static void +init_window(viewctx *ctx) +{ + WindowRef window = ctx->window; + HIViewRef viewPane; + static const HIViewID viewPaneID = { 'Poof', 666 }; + OSStatus err; + + err = HIViewFindByID(HIViewGetRoot(window), viewPaneID, &viewPane); + printf("err from findbyid: %d\n", err); +} + +int +openpdf(WindowRef window, const char *filename) +{ + HIViewRef viewPane; + static const HIViewID viewPaneID = { 'Poof', 666 }; + OSStatus err; + + err = HIViewFindByID(HIViewGetRoot(window), viewPaneID, &viewPane); + require_noerr(err, cleanup); + + err = view_openpdf(viewPane, filename); + require_noerr(err, cleanup); + + err = view_showpage(viewPane); + + cleanup: + return err; +} + +int main(int argc, char *argv[]) +{ + IBNibRef nibRef; + OSStatus err; + WindowRef window; + + fz_cpudetect(); + fz_accelerate(); + + err = view_register(); + require_noerr(err, CantRegisterView); + + err = CreateNibReference(CFSTR("main"), &nibRef); + printf("err = %d\n", err); + require_noerr(err, CantGetNibRef); + + err = SetMenuBarFromNib(nibRef, CFSTR("MenuBar")); + require_noerr(err, CantSetMenuBar); + + err = CreateWindowFromNib(nibRef, CFSTR("MainWindow"), &window); + require_noerr(err, CantCreateWindow); + + openpdf(window, "/Users/tor/src/pdf/tiger.pdf"); + + DisposeNibReference(nibRef); + + ShowWindow(window); + RunApplicationEventLoop(); + + CantGetNibRef: + CantSetMenuBar: + CantCreateWindow: + CantRegisterView: + + return err; +} |