Skip to content

Commit

Permalink
Add files for LinkBackSupport for Keynote 3
Browse files Browse the repository at this point in the history
Final code for Keynote LinkBack plugin for Keynote 3. Originally
developed February 2007.
  • Loading branch information
kinghuang committed Apr 24, 2014
1 parent 294e4e6 commit b4f9864
Show file tree
Hide file tree
Showing 36 changed files with 2,172 additions and 578 deletions.
41 changes: 41 additions & 0 deletions APE Lite/APELite.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
File: APELite.h
Contains: Application Enhancer Lite interfaces
Copyright: Copyright 2002-2006 Unsanity, LLC.
All Rights Reserved.
*/
#ifndef _H_APELite
#define _H_APELite

#include <mach-o/loader.h>

#ifdef __cplusplus
extern "C" {
#endif

// Error checking function. object can be NULL in which case false is returned.
// This determines if the object (CFTypeRef) is an instance of the class named in type. The type is usually the var type minus "Ref".
// For instance to determine if an NSString* is really an NSString*, APEObjectIsType(string, CFString).
// This works for all toll-free bridged types such as using APEObjectIsType(timer, CFRunLoopTimer) where timer is an NSTimer* instance.
// Special notes: NSBundle and CFBundleRef are not toll-free bridged. And as of 10.4, there is no HIObjectGetTypeID() yet so you cannot
// check to see if a specific object is an HIObjectRef until 10.5. If object is a Cocoa object, it must be toll-free bridged with a CF version.
#define APEObjectIsType(object, type) ((NULL!=object) && type ## GetTypeID()==CFGetTypeID(object))

// Public and private mach-o symbol lookup.
extern void *APEFindSymbol(struct mach_header *image,const char *symbol);

// Mach-o function patching.
extern void *APEPatchCreate(const void *patchee,const void *address);
extern void *APEPatchGetAddress(void *patch);
extern void APEPatchSetAddress(void *patch,const void *address);

void apeprintf(const char *format,...);

#ifdef __cplusplus
}
#endif

#endif /* _H_APELite */
Binary file added APE Lite/APELite.o
Binary file not shown.
Empty file added APE Lite/Icon
Empty file.
Binary file added APE Lite/What is APE Lite?.rtfd/128logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
66 changes: 66 additions & 0 deletions APE Lite/What is APE Lite?.rtfd/TXT.rtf
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf380
{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fnil\fcharset77 LucidaGrande;
}
{\colortbl;\red255\green255\blue255;\red128\green128\blue128;\red0\green11\blue152;\red102\green102\blue102;
}
\vieww10340\viewh11320\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc

\f0\b\fs24 \cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
\f1\b0 \cf0 {{\NeXTGraphic 128logo.png \width2560 \height2560
}¬}\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc

\f0\b \cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
\fs28 \cf0 APE Lite SDK
\f1\b0 2.0
\fs24 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
\cf2 a haxie sdk by unsanity\cf0 \
\
\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc

\f0\b \cf3 What is APE Lite SDK?
\f1\b0 \cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\cf0 \
\pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\tx10560\tx11520\tx12480\tx13440\tx14400\tx15360\tx16320\tx17280\tx18240\tx19200\tx20160\tx21120\tx22080\tx23040\tx24000\tx24960\tx25920\tx26880\tx27840\tx28800\tx29760\tx30720\tx31680\tx32640\tx33600\tx34560\tx35520\tx36480\tx37440\tx38400\tx39360\tx40320\tx41280\tx42240\tx43200\tx44160\tx45120\tx46080\tx47040\tx48000\tx48960\tx49920\tx50880\tx51840\tx52800\tx53760\tx54720\tx55680\tx56640\tx57600\tx58560\tx59520\tx60480\tx61440\tx62400\tx63360\tx64320\tx65280\tx66240\tx67200\tx68160\tx69120\tx70080\tx71040\tx72000\tx72960\tx73920\tx74880\tx75840\tx76800\tx77760\tx78720\tx79680\tx80640\tx81600\tx82560\tx83520\tx84480\tx85440\tx86400\tx87360\tx88320\tx89280\tx90240\tx91200\tx92160\tx93120\tx94080\tx95040\tx96000\ql\qnatural
\cf0 APE Lite SDK is a stand-alone part of the Application Enhancer that allows you to patch functions (both in PowerPC and Intel code) within the current application context only. It does not require Application Enhancer to be installed on user's machine and is available in form of an object (.o) file you can compile directly into your product. APE Lite can be handy if you would like to override some system functions in your product - it provides the same patching interface as Application Enhancer does, thus guaranteeing compatibility and reliability of your patches.
\f2\fs22 \CocoaLigature0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural

\f1\fs24 \cf0 \CocoaLigature1 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qj
\cf0 You can see the functions provided by the APE Lite library in the APELite.h file located in the same folder as this document.\
\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qj

\f0\b \cf0 APE Lite is free
\f1\b0 to use for you, but you are requested to put the following copyright information in the About box and/or the Read Me of your product:\
\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc

\fs18 \cf4 This product uses APE Lite\
Copyright \'a92002-2006, Unsanity LLC\
http://www.haxies.com/ape/sdk/
\fs24 \cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qj
\cf0 \
Also a quick email to us at {\field{\*\fldinst{HYPERLINK "mailto:unsanity@unsanity.com"}}{\fldrslt unsanity@unsanity.com}} telling where you're using it is highly appreciated.\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\cf0 \
\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
\cf0 {{\NeXTGraphic unsanity_logo_small.png \width960 \height1260
}¬}\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
\cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc

\fs18 \cf0 Application Enhancer and APE Lite SDK is Copyright \'a92002-2006, Unsanity LLC\
Haxie is a trademark of Unsanity LLC. All other trademarks are property of their respective owners.
\fs24 \
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified English.lproj/InfoPlist.strings
Binary file not shown.
1 change: 1 addition & 0 deletions Frameworks
4 changes: 1 addition & 3 deletions Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@
<key>CFBundleSignature</key>
<string>K2lb</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>K2HumanReadableName</key>
<string>LinkBack Plugin</string>
<string>3.0</string>
<key>NSPrincipalClass</key>
<string>K2LinkBackSupport</string>
</dict>
Expand Down
2 changes: 1 addition & 1 deletion K2LinkBackSupport.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// K2LinkBackSupport
//
// Created by King Chung Huang on 3/12/05.
// Copyright 2005 King Chung Huang. All rights reserved.
// Copyright 2005, 2007 King Chung Huang. All rights reserved.
//

#import <Cocoa/Cocoa.h>
Expand Down
Loading

0 comments on commit b4f9864

Please sign in to comment.