Quartz 2D Reference Collection

Total Page:16

File Type:pdf, Size:1020Kb

Quartz 2D Reference Collection Quartz 2D Reference Collection 2006-05-23 Simultaneously published in the United Apple Computer, Inc. States and Canada. © 2006 Apple Computer, Inc. Even though Apple has reviewed this document, All rights reserved. APPLE MAKES NO WARRANTY OR REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS No part of this publication may be DOCUMENT, ITS QUALITY, ACCURACY, MERCHANTABILITY, OR FITNESS FOR A reproduced, stored in a retrieval system, or PARTICULAR PURPOSE. AS A RESULT, THIS transmitted, in any form or by any means, DOCUMENT IS PROVIDED “AS IS,” AND mechanical, electronic, photocopying, YOU, THE READER, ARE ASSUMING THE ENTIRE RISK AS TO ITS QUALITY AND recording, or otherwise, without prior ACCURACY. written permission of Apple Computer, Inc., IN NO EVENT WILL APPLE BE LIABLE FOR with the following exceptions: Any person DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES is hereby authorized to store documentation RESULTING FROM ANY DEFECT OR on a single computer for personal use only INACCURACY IN THIS DOCUMENT, even if and to print copies of documentation for advised of the possibility of such damages. personal use provided that the THE WARRANTY AND REMEDIES SET FORTH ABOVE ARE EXCLUSIVE AND IN documentation contains Apple’s copyright LIEU OF ALL OTHERS, ORAL OR WRITTEN, notice. EXPRESS OR IMPLIED. No Apple dealer, agent, or employee is authorized to make any The Apple logo is a trademark of Apple modification, extension, or addition to this Computer, Inc. warranty. Some states do not allow the exclusion or Use of the “keyboard” Apple logo limitation of implied warranties or liability for (Option-Shift-K) for commercial purposes incidental or consequential damages, so the above limitation or exclusion may not apply to without the prior written consent of Apple you. This warranty gives you specific legal may constitute trademark infringement and rights, and you may also have other rights which vary from state to state. unfair competition in violation of federal and state laws. No licenses, express or implied, are granted with respect to any of the technology described in this document. Apple retains all intellectual property rights associated with the technology described in this document. This document is intended to assist application developers to develop applications only for Apple-labeled or Apple-licensed computers. Every effort has been made to ensure that the information in this document is accurate. Apple is not responsible for typographical errors. Apple Computer, Inc. 1 Infinite Loop Cupertino, CA 95014 408-996-1010 Apple, the Apple logo, ColorSync, Mac, Mac OS, Pages, Quartz, QuickDraw, and QuickTime are trademarks of Apple Computer, Inc., registered in the United States and other countries. Adobe, Acrobat, and PostScript are trademarks or registered trademarks of Adobe Systems Incorporated in the U.S. and/or other countries. OpenGL is a registered trademark of Silicon Graphics, Inc. Contents Introduction Introduction 11 Part I Opaque Types 13 Chapter 1 CGBitmapContext Reference 15 Introduction 15 Functions by Task 15 Functions 16 Chapter 2 CGColor Reference 23 Introduction 23 Functions by Task 23 Functions 24 Data Types 30 Chapter 3 CGColorSpace Reference 31 Introduction 31 Functions by Task 31 Functions 33 Data Types 42 Constants 43 Chapter 4 CGContext Reference 47 Introduction 47 Functions by Task 47 Functions 54 Data Types 116 Constants 117 Chapter 5 CGDataConsumer Reference 125 Introduction 125 Functions 125 Callbacks 128 3 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS Data Types 129 Chapter 6 CGDataProvider Reference 131 Introduction 131 Functions 131 Callbacks by Task 136 Callbacks 136 Data Types 142 Chapter 7 CGFont Reference 145 Introduction 145 Functions 145 Data Types 151 Constants 152 Chapter 8 CGFunction Reference 155 Introduction 155 Functions 155 Callbacks 157 Data Types 159 Chapter 9 CGGLContext Reference 161 Introduction 161 Functions 161 Chapter 10 CGImage Reference 163 Introduction 163 Functions by Task 163 Functions 165 Data Types 179 Constants 180 Chapter 11 CGImageDestination Reference 185 Introduction 185 Functions 185 Data Types 190 Constants 190 4 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS Chapter 12 CGImageSource Reference 193 Introduction 193 Functions by Task 193 Functions 195 Data Types 202 Constants 203 Chapter 13 CGLayer Reference 229 Introduction 229 Functions 230 Data Types 234 Chapter 14 CGPath Reference 235 Introduction 235 Functions by Task 235 Functions 237 Callbacks 252 Data Types 252 Constants 254 Chapter 15 CGPattern Reference 257 Introduction 257 Functions 257 Callbacks 260 Data Types 261 Constants 262 Chapter 16 CGPDFArray Reference 265 Introduction 265 Functions 265 Data Types 272 Chapter 17 CGPDFContentStream Reference 273 Introduction 273 Functions by Task 273 Functions 274 Data Types 277 5 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS Chapter 18 CGPDFContext Reference 279 Introduction 279 Functions 279 Constants 283 Chapter 19 CGPDFDictionary Reference 289 Introduction 289 Functions by Task 289 Functions 290 Callbacks 297 Data Types 297 Chapter 20 CGPDFDocument Reference 299 Introduction 299 Functions by Task 299 Functions 301 Data Types 313 Chapter 21 CGPDFObject Reference 315 Introduction 315 Functions 315 Data Types 317 Constants 318 Chapter 22 CGPDFOperatorTable Reference 321 Introduction 321 Functions by Task 321 Functions 322 Callbacks 324 Data Types 324 Chapter 23 CGPDFPage Reference 325 Introduction 325 Functions 325 Data Types 330 Constants 330 Chapter 24 CGPDFScanner Reference 333 Introduction 333 6 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS Functions by Task 333 Functions 334 Data Types 341 Chapter 25 CGPDFStream Reference 343 Introduction 343 Functions 343 Data Types 344 Constants 345 Chapter 26 CGPDFString Reference 347 Introduction 347 Functions by Task 347 Functions 348 Data Types 349 Chapter 27 CGPSConverter Reference 351 Introduction 351 Functions 351 Callbacks 354 Data Types 357 Chapter 28 CGShading Reference 359 Introduction 359 Functions 359 Data Types 363 Part II Other References 365 Chapter 29 CGAffineTransform Reference 367 Introduction 367 Functions by Task 367 Functions 368 Data Types 377 Constants 379 Chapter 30 CGGeometry Reference 381 Introduction 381 Functions by Task 381 7 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS Functions 383 Data Types 396 Constants 397 Document Revision History 399 Index 401 8 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. Tables Chapter 12 CGImageSource Reference 193 Table 12-1 208 Chapter 14 CGPath Reference 235 Table 14-1 Path elements in a rectangular subpath 253 9 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. TABLES 10 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. INTRODUCTION Introduction Framework /System/Library/Frameworks/ApplicationServices.framework Header file directories /System/Library/Frameworks/ApplicationServices.framework/Headers Quartz 2D is an API that makes the Quartz advanced drawing engine accessible from all Mac OS X application environments outside of the kernel. It provides low-level, lightweight 2D rendering with unmatched output fidelity regardless of the display or printing device. The Quartz 2D API supports transparency layers, path-based drawing, transformations, offscreen rendering, advanced color management, anti-aliased rendering, patterns, shadings, image data management, image creation, masking, and PDF document creation, display, and parsing. 11 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. INTRODUCTION Introduction 12 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. PART I Opaque Types 13 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. PART I Opaque Types 14 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. CHAPTER 1 CGBitmapContext Reference Derived From: CGContextRef (page 116) Framework: ApplicationServices/ApplicationServices.h Declared in: CGBitmapContext.h Introduction The CGBitmapContext header file defines functions that create and operate on a Quartz bitmap graphics context. A bitmap graphics context is a type of CGContextRef (page 116) that is used for drawing bitmaps. The functions in this reference operate only on Quartz bitmap graphics contexts created using the functionCGBitmapContextCreate (page 16). The number of components for each pixel in a bitmap graphics context is specified by a color space (defined by a CGColorSpaceRef (page 42), which includes RGB, grayscale, and CMYK, and which also may specify a destination color profile). The bitmap graphics context specifies whether the bitmap should contain an alpha channel, and how the bitmap is generated. Functions by Task Creating Bitmap Contexts CGBitmapContextCreate (page 16) Creates a bitmap graphics context. CGBitmapContextCreateImage (page 17) Creates an image that is a copy of a bitmap graphics context. Getting Information About Bitmap Contexts These functions return the values of attributes specified when a bitmap context is created. Introduction 15 2006-05-23 | © 2006 Apple Computer, Inc. All Rights Reserved. CHAPTER 1 CGBitmapContext Reference CGBitmapContextGetBitmapInfo (page 18) Obtains the bitmap information associated with a bitmap graphics context. CGBitmapContextGetAlphaInfo (page 18) Returns the alpha information associated with the context, which indicates how a bitmap context handles the alpha component. CGBitmapContextGetBitsPerComponent
Recommended publications
  • Apple Software Design Guidelines
    Apple Software Design Guidelines May 27, 2004 Java and all Java-based trademarks are Apple Computer, Inc. trademarks or registered trademarks of Sun © 2004 Apple Computer, Inc. Microsystems, Inc. in the U.S. and other All rights reserved. countries. OpenGL is a trademark of Silicon Graphics, No part of this publication may be Inc. reproduced, stored in a retrieval system, or transmitted, in any form or by any means, PowerPC and and the PowerPC logo are mechanical, electronic, photocopying, trademarks of International Business recording, or otherwise, without prior Machines Corporation, used under license written permission of Apple Computer, Inc., therefrom. with the following exceptions: Any person Simultaneously published in the United is hereby authorized to store documentation States and Canada. on a single computer for personal use only Even though Apple has reviewed this manual, and to print copies of documentation for APPLE MAKES NO WARRANTY OR personal use provided that the REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS MANUAL, documentation contains Apple's copyright ITS QUALITY, ACCURACY, notice. MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS The Apple logo is a trademark of Apple MANUAL IS SOLD ªAS IS,º AND YOU, THE PURCHASER, ARE ASSUMING THE ENTIRE Computer, Inc. RISK AS TO ITS QUALITY AND ACCURACY. Use of the ªkeyboardº Apple logo IN NO EVENT WILL APPLE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, (Option-Shift-K) for commercial purposes OR CONSEQUENTIAL DAMAGES without the prior written consent of Apple RESULTING FROM ANY DEFECT OR may constitute trademark infringement and INACCURACY IN THIS MANUAL, even if advised of the possibility of such damages.
    [Show full text]
  • Mac OS X and PDF: the Real Story
    Mac OS X and PDF The Real Story Leonard Rosenthol Lazerware, Inc. Copyright©1999-2001, Lazerware, Inc. Overview •Mac OS X •PDF • Where’s the overlap? Copyright©1999-2001, Lazerware, Inc. You are here because… • You’re currently working with Mac OS and are interested in what Mac OS X brings to the table. • You’re curious about what Apple’s latest hype is all about. • You’re already awake and had to find something to kill time. • You’re a friend of mine and wanted to heckle Copyright©1999-2001, Lazerware, Inc. How I do things • You should all have copies of the presentation that you received when you walked in. • There is also an electronic copy of this presentation (PDF format, of course!) on my website at http://www.lazerware.com/ • I’ve left time at the end for Q&A, but please feel free to ask questions at any time! Copyright©1999-2001, Lazerware, Inc. Mac OS X Overview Copyright©1999-2001, Lazerware, Inc. Darwin • “Core OS” (Kernel) – Solid Unix foundation • FreeBSD 3.2 & Mach 3.0 • Memory protection, preemptive multitasking, etc. – High performance I/O • Firewire, USB, etc. • Open source Copyright©1999-2001, Lazerware, Inc. Graphics •Quartz – Adobe Imaging Model (PDF) • Includes full anti-aliasing and opacity/transparency • OpenGL – Industry standard 3D engine used by Quake & Maya • QuickTime Copyright©1999-2001, Lazerware, Inc. Graphics Demos - Quartz Copyright©1999-2001, Lazerware, Inc. Graphics Demos – OpenGL Copyright©1999-2001, Lazerware, Inc. Application Frameworks • Classic – Compatibility “box” for existing Mac OS applications. • Carbon – Modern versions of Mac OS applications prepared for Mac OS X.
    [Show full text]
  • Mac OS X for UNIX Users the Power of UNIX with the Simplicity of Macintosh
    Mac OS X for UNIX Users The power of UNIX with the simplicity of Macintosh. Features Mac OS X version 10.3 “Panther” combines a robust and open UNIX-based foundation with the richness and usability of the Macintosh interface, bringing UNIX technology Open source, standards-based UNIX to the mass market. Apple has made open source and standards a key part of its foundation strategy and delivers an operating system built on a powerful UNIX-based foundation •Based on FreeBSD 5 and Mach 3.0 • Support for POSIX, Linux, and System V APIs that is innovative and easy to use. • High-performance math libraries, including There are over 8.5 million Mac OS X users, including scientists, animators, developers, vector/DSP and PowerPC G5 support and system administrators, making Mac OS X the most widely used UNIX-based desktop • Optimized X11 window server for UNIX GUIs operating system. In addition, Mac OS X is the only UNIX-based environment that •Open source code available via the natively runs Microsoft Office, Adobe Photoshop, and thousands of other consumer Darwin project applications—all side by side with traditional command-line, X11, and Java applications. Standards-based networking For notebook computer users, Mac OS X delivers full power management and mobility •Open source TCP/IP-based networking support for Apple’s award-winning PowerBook G4. architecture, including IPv4, IPv6, and L2TP/IPSec •Interoperability with NFS, AFP, and Windows (SMB/CIFS) file servers •Powerful web server (Apache) •Open Directory 2, an LDAP-based directory services
    [Show full text]
  • Master Thesis
    Charles University in Prague Faculty of Mathematics and Physics MASTER THESIS Petr Koupý Graphics Stack for HelenOS Department of Distributed and Dependable Systems Supervisor of the master thesis: Mgr. Martin Děcký Study programme: Informatics Specialization: Software Systems Prague 2013 I would like to thank my supervisor, Martin Děcký, not only for giving me an idea on how to approach this thesis but also for his suggestions, numerous pieces of advice and significant help with code integration. Next, I would like to express my gratitude to all members of Hele- nOS developer community for their swift feedback and for making HelenOS such a good plat- form for works like this. Finally, I am very grateful to my parents and close family members for supporting me during my studies. I declare that I carried out this master thesis independently, and only with the cited sources, literature and other professional sources. I understand that my work relates to the rights and obligations under the Act No. 121/2000 Coll., the Copyright Act, as amended, in particular the fact that the Charles University in Pra- gue has the right to conclude a license agreement on the use of this work as a school work pursuant to Section 60 paragraph 1 of the Copyright Act. In Prague, March 27, 2013 Petr Koupý Název práce: Graphics Stack for HelenOS Autor: Petr Koupý Katedra / Ústav: Katedra distribuovaných a spolehlivých systémů Vedoucí diplomové práce: Mgr. Martin Děcký Abstrakt: HelenOS je experimentální operační systém založený na mikro-jádrové a multi- serverové architektuře. Před započetím této práce již HelenOS obsahoval početnou množinu moderně navržených subsystémů zajišťujících různé úkoly v rámci systému.
    [Show full text]
  • Quartz Programming Guide for Quickdraw Developers
    Quartz Programming Guide for QuickDraw Developers 2006-09-05 Even though Apple has reviewed this document, APPLE MAKES NO WARRANTY OR Apple Computer, Inc. REPRESENTATION, EITHER EXPRESS OR © 2004, 2006 Apple Computer, Inc. IMPLIED, WITH RESPECT TO THIS DOCUMENT, ITS QUALITY, ACCURACY, All rights reserved. MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS DOCUMENT IS PROVIDED “AS IS,” AND No part of this publication may be YOU, THE READER, ARE ASSUMING THE reproduced, stored in a retrieval system, or ENTIRE RISK AS TO ITS QUALITY AND transmitted, in any form or by any means, ACCURACY. mechanical, electronic, photocopying, IN NO EVENT WILL APPLE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, recording, or otherwise, without prior OR CONSEQUENTIAL DAMAGES written permission of Apple Computer, Inc., RESULTING FROM ANY DEFECT OR INACCURACY IN THIS DOCUMENT, even if with the following exceptions: Any person advised of the possibility of such damages. is hereby authorized to store documentation THE WARRANTY AND REMEDIES SET on a single computer for personal use only FORTH ABOVE ARE EXCLUSIVE AND IN and to print copies of documentation for LIEU OF ALL OTHERS, ORAL OR WRITTEN, EXPRESS OR IMPLIED. No Apple dealer, agent, personal use provided that the or employee is authorized to make any documentation contains Apple’s copyright modification, extension, or addition to this notice. warranty. Some states do not allow the exclusion or The Apple logo is a trademark of Apple limitation of implied warranties or liability for Computer, Inc. incidental or consequential damages, so the above limitation or exclusion may not apply to Use of the “keyboard” Apple logo you.
    [Show full text]
  • Optimizing 2D Graphics and Animation Performance
    Optimizing 2D Graphics and Animation Performance Session 506 Tim Oriol Mike Funk These are confidential sessions—please refrain from streaming, blogging, or taking pictures Agenda Overview of topics for this session • Supporting Retina Display • Optimizing 2D graphics (Quartz 2D + Core Animation) • Identify and fix common Retina Display pitfalls • Using CGDisplayStream to get real-time display updates Prerequisites What you should know • Core Animation framework • Quartz 2D drawing techniques • Basic knowledge of UIView and NSView What Changes with Retina Displays? Retina Displays Today’s Retina Displays have 4x the pixels of previous displays Points Versus Pixels What’s the point • Points have nothing to do with typographer’s “points” • Points are logical coordinates • Pixels are actual device display coordinates • One point is not always equal to one pixel • The “scale factor” is the number of pixels per point • Use points with Quartz 2D, UIKit, AppKit, and Core Animation Retina Displays Set up your scale factor • Set the contentsScale property of layers that you would like to provide high-resolution content • Text, shapes, Quartz 2D drawing, and any layers that you have provided high-resolution images as content • UIKit/AppKit will set the appropriate contentsScale for layers they create layer.contentsScale = [UIScreen mainScreen].scale; Retina Displays Set up your scale factor • The CGContext provided to you via CALayer’s drawInContext will be set up correctly according to its contentsScale property • Any CGContextBitmap you create
    [Show full text]
  • Chapter 17 Performance and Debugging
    Chapter 17 Performance and Debugging The purpose of this chapter is to help you understand and address many of the issues that affect the graphics performance of your applications. It also provides tips on how to debug your drawing when things aren’t working as you expect. Performance is a dynamic topic. Many of the areas discussed in this chapter evolve and change with each major release of Mac OS X. To understand perfor- mance, simply reading this chapter isn’t enough. You need to keep up to date with information as it becomes available from Apple. The Apple Developer Con- nection website and the references at the end of this chapter will help you get the latest information about how to improve not only graphics performance but overall application performance as well. Optimizing Performance There are many aspects to achieving excellent performance with drawing code, some of which are related to the system and some of which are under your con- trol. The Quartz Compositor, Quartz object and memory management, and per- formance measurement are all key to understanding graphics performance. The Quartz Compositor (which is part of the Mac OS X windowing system) determines how drawing appears in windows on the display. As you’ve seen, cre- ating and managing Quartz objects is a key aspect of Quartz programming. By understanding the Quartz memory management and object model, you can ben- efit from any caching of those objects Quartz performs and avoid creating mem- ory leaks or other memory problems. Performance measurement helps you to 593 594 Chapter 17 Performance and Debugging better understand how your code works and to identify places where the code could be optimized.
    [Show full text]
  • Next Mac OS X Roots
    Mac OS X Roots: Mac OS X NeXT • 1985 Apple kicks out Jobs, who founds NeXT • 1988 NeXTSTEP 0.8: 68k, Mach kernel, 4.3BSD, Display PostScript, new Objective-C, platform for first web browser at CERN • 1990 NeXTSTEP 2.0: Interface Builder (OO) • 1993 Intel, SPARC, HP PA-RISC support (fat binaries), NeXT hardware dead • NeXT&Sun: OPENSTEP, used by SunOS, HP-UX, MacOS, also on Windows NT, GNUstep Jan Borchers 1 media computing group Jan Borchers 2 media computing group Mac OS X Roots: NeXT • 1996 Apple purchases NeXT, Jobs back at Apple, begins replacing Mac OS towards NeXTSTEP • 1999 Apple releases Mac OS X Preview • Mac OS X is directly derived from NeXTSTEP/ OPENSTEP (Mach/BSD, Objective-C, Cocoa, Interface Builder, NetInfo), and combines this with other Apple technologies (UI, Classic, Multimedia) Jan Borchers 3 media computing group Jan Borchers 4 media computing group It’s spelled “Ten” Mac OS X: Architecture Base Operating System Apps UITK Cocoa, Carbon, Java WM • Darwin (Open Source for PowerPC+Intel) WindowServer (user-level process) • Based on a Mach microkernel + BSD Unix BWS • Protected memory, preemptive multitasking GEL Quartz 2D / Core Graphics, IOKit • Single application cannot corrupt/freeze entire system HW 5 Jan Borchers media computing group Jan Borchers 6 media computing group Graphics and Event Library • Quartz 2D / Core Graphics, Display PDF • Roots: NeWS, NeXTSTEP (Display PostScript) • Vector-based, resolution-independent Demo: Quartz Extreme • Quartz Extreme: GPU-based compositing (pipe entire screen through OpenGL
    [Show full text]
  • Cocoa® Programming Developer's Handbook
    Cocoa® Programming Developer’s Handbook This page intentionally left blank Cocoa® Programming Developer’s Handbook David Chisnall Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Cocoa® Programming Developer’s Handbook Editor-in-Chief Copyright © 2010 Pearson Education, Inc. Mark L. Taub All rights reserved. No part of this book shall be reproduced, stored in a retrieval system, Managing Editor or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, John Fuller without written permission from the publisher. No patent liability is assumed with respect to Full-Service the use of the information contained herein. Although every precaution has been taken in Production the preparation of this book, the publisher and author assume no responsibility for errors Manager or omissions. Nor is any liability assumed for damages resulting from the use of the Julie B. Nahil information contained herein. Technical Reviewer ISBN-13: 978-0-321-63963-9 Gregory ISBN-10: 0-321-63963-4 Casamento Book Designer Library of Congress Cataloging-in-Publication Data Gary Adair Chisnall, David. Composition Cocoa programming developer’s handbook / David Chisnall. David Chisnall p. cm. Includes index. ISBN 978-0-321-63963-9 (pbk. : alk. paper) 1. Cocoa (Application development environment) 2. Object-oriented programming (Computer science) 3. Application program interfaces (Computer software) 4. Mac OS. I. Title. QA76.64.C485 2010 005.26’8—dc22 2009042661 Printed in the United States on recycled paper at Edwards Brothers in Ann Arbor, Michigan. First Printing December 2009 Trademarks All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized.
    [Show full text]
  • Mac OS X and PDF: the Real Story
    Mac OS X and PDF The Real Story Leonard Rosenthol Director of Software Development Appligent, Inc. Copyright©1999-2001, Appligent, Inc. Overview •Mac OS X •PDF • Where’s the overlap? Copyright©1999-2001, Appligent, Inc. You are here because… • You’re currently working with Mac OS and are interested in what Mac OS X brings to the table. • You’re curious about what Apple’s latest hype is all about. • You’re already awake and had to find something to kill time. • You’re a friend of mine and wanted to heckle Copyright©1999-2001, Appligent, Inc. How I do things • There is a copy of this presentation on my website at http://www.appligent.com, so you shouldn’t need to take too many notes. • I’ve left time at the end for Q&A, but please feel free to ask questions at any time! Copyright©1999-2001, Appligent, Inc. Mac OS X Overview Copyright©1999-2001, Appligent, Inc. Darwin • “Core OS” (Kernel) – Solid Unix foundation • FreeBSD 3.2 & Mach 3.0 • Memory protection, preemptive multitasking, etc. – High performance I/O • Firewire, USB, etc. • Open source Copyright©1999-2001, Appligent, Inc. Graphics •Quartz – Adobe Imaging Model (PDF) • Includes full anti-aliasing and opacity/transparency • OpenGL – Industry standard 3D engine used by Quake & Maya • QuickTime Copyright©1999-2001, Appligent, Inc. Graphics Demos - Quartz Copyright©1999-2001, Appligent, Inc. Graphics Demos – OpenGL Copyright©1999-2001, Appligent, Inc. Application Frameworks • Classic – Compatibility “box” for existing Mac OS applications. • Carbon – Modern versions of Mac OS applications prepared for Mac OS X. • Cocoa – Completely new applications written using a modern object- oriented framework in either Objective-C or Java.
    [Show full text]
  • X Review Mac OS X Roots: Next
    X Review Application • Distributed window system Widget Set • Server is the user’s Terminal WM Xt Intrinsics • Client runs the application Xlib Xlib • Highly modular • (exchange WM, Widget Set) X Server BWS • Available for virtually every OS HW • Very successful in the UNIX world (with Motif) • Many Open Source implementations available • Xt intrinsics already allow OO GUI application programming Jan Borchers 1 media computing group Jan Borchers 2 media computing group Mac OS X Roots: NeXT • 1985 Apple kicks out Jobs, who founds NeXT • 1988 NeXTSTEP 0.8: 68k, Mach kernel, 4.3BSD, Display PostScript, new Objective-C, platform for first web browser at CERN • 1990 NeXTSTEP 2.0: Interface Builder (OO) • 1993 Intel, SPARC, HP PA-RISC support (fat binaries), NeXT hardware dead • NeXT&Sun: OPENSTEP, used by SunOS, HP-UX, MacOS, also on Windows NT, GNUstep Jan Borchers 3 media computing group Jan Borchers 4 media computing group Mac OS X Roots: It’s spelled “Ten” NeXT Mac OS X: Architecture Apps UITK Cocoa, Carbon, Java • 1996 Apple purchases NeXT, Jobs back at Apple, begins replacing Mac OS towards NeXTSTEP WM WindowServer (user-level process) • 1999 Apple releases Mac OS X Preview BWS ! Mac OS X is directly derived from NeXTSTEP/ OPENSTEP (Mach/BSD, Objective-C, Cocoa, Interface GEL Quartz 2D / Core Graphics, IOKit Builder, NetInfo), and combines this with other Apple HW technologies (UI, Multimedia) 6 Jan Borchers 5 media computing group Jan Borchers media computing group Base Operating System Graphics and Event Library • Quartz 2D / Core Graphics,
    [Show full text]
  • Mac OS X Developer Resources
    PART I Mac OS X Developer Resources CHAPTER 1: The Mac OS X Environment CHAPTER 2: Developer Tools CHAPTER 3: Xcode CHAPTER 4: Interface Builder COPYRIGHTED MATERIAL cc01.indd01.indd 1 112/12/092/12/09 11:01:15:01:15 PPMM cc01.indd01.indd 2 112/12/092/12/09 11:01:24:01:24 PPMM 1 The Mac OS X Environment WHAT YOU WILL LEARN IN THIS CHAPTER: ➤ How the Mac OS X operating system is structured, including what the major areas of the system are and how they work together ➤ How to use Mac OS X’ s command - line interface ➤ How applications take advantage of the operating system services on Mac OS X ➤ How Apple encourages a common look and feel for Mac OS X applications Welcome to the wonderful world of Mac OS X, the next - generation operating system from Apple Computer! The Mac OS X operating system powers modern Macintosh computers. After many long years and a few scrapped attempts to modernize the older Mac OS operating system, Apple released Mac OS X in April 2001. Since then, Apple has released a steady stream of upgrades and system updates. This book was written around Mac OS X v10.6 Snow Leopard, the latest version. To write software for Mac OS X, you need to know your way around the system. By now you may already be familiar with Mac OS X ’ s applications and user interface style. Those things all rest on top of a number of subsystems and services that make up the Mac OS X operating system.
    [Show full text]