summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jamfile2
-rw-r--r--apps/macpdf.app/Contents/Info.plist20
-rw-r--r--apps/macpdf.app/Contents/Resources/English.lproj/InfoPlist.strings7
-rw-r--r--apps/macpdf.app/macpdf.c69
-rw-r--r--apps/macpdf.app/macpdf.h31
-rw-r--r--apps/macpdf.c (renamed from apps/macpdf.app/view.c)94
6 files changed, 119 insertions, 104 deletions
diff --git a/Jamfile b/Jamfile
index 59b68667..c1d7669f 100644
--- a/Jamfile
+++ b/Jamfile
@@ -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;
+}