================== IconKit 0.1 README ================== This framework is used to create icons using different elements. It helps keeping consistency accross a set of icons (for example, using the same background..) and permit to easily create icons "families". Maintainers: Quentin Mathe , Uli Kusterer Authors: Uli Kusterer, Nicolas Roard, Quentin Mathe To know more about IconKit: Build and Install ----------------- Read INSTALL document. Mac OS X support ---------------- IconKit is supported on Mac OS X (by relying on Carbon Icon Services). An Xcode project is provided to build it. Developer Notes =============== Example ------- 1) Create a NSImage composed of two images programmatically: // load 2 images NSImage* document = [[NSImage alloc] initWithContentsOfFile: @"document-background.tiff"]; NSImage* applicationLogo = [NSImage imageNamed: @"logo.tiff"]; // create a compositor with the background image IKCompositor* compositor = [[IKCompositor alloc] initWithImage: document]; // compose the logo on the background image in a defined rectangle (logo will be rescaled) [compositor compositeImage: applicationLogo inRect: NSMakeRect (10,10,30,30)]; // get the result NSImage* result = [compositor render]; 2) Create a NSImage composed of two images using a plist describing the operations // load the plist NSDictionary* plist = [NSDictionary dictionaryWithContentsOfFile: @"test.plist"]; // create a compositor with the plist IKCompositor* compositor = [[IKCompositor alloc] initWithPropertyList: plist]; // get the result NSImage* result = [compositor render]; Here is the plist used in the example: { compositingSize = { height = <*R48>; width = <*R48>; }; originalSize = { height = <*R48>; width = <*R48>; }; operations = ( { alpha = <*R1>; operation = <*I2>; path = "document-background.tiff"; position = <*I0>; rectangle = { height = <*R0>; width = <*R0>; x = <*R0>; y = <*R0>; }; }, { alpha = <*R1>; operation = <*I2>; path = "logo.tiff"; position = <*I0>; rectangle = { height = <*R30>; width = <*R30>; x = <*R10>; y = <*R10>; }; } ); } Tests suite ----------- UnitKit (bundled with Etoile) is required. Steps to produce a test bundle and run tests suite: * make test=yes * ukrun IconKit.bundle