QuickDraw actually predates the Macintosh; it was developed in the early 80's for the Lisa. It was extended several times (Color QuickDraw, QuickDraw GX, QuickDraw 3D) but is now deprecated in OS X. You should not develop anything new with it; use Quartz or OpenGL instead.

aren't GWorlds part of QuickDraw? since quartz is so god awfully slow that seems to be the prefered drawing api for games (aside from OpenGL of course)although I guess you really should just use OGL to do your 2D graphics

I'm sure there is some sort of shrine for it somewhere in Apple's museum since it was the backbone API of all things graphical on the Mac for what seemed like ever. I still have all my old programming books that use it. Sheesh, it seems like just yesterday when I take a quick glance through some of them...

Anyway, yeah, GWorlds were a QuickDraw thing. As has already been stated, QuickDraw was replaced by Quartz for OS X. Pretty much anything that needs any performance should be written using OpenGL. Quartz is okay and it's not very difficult to use but it's a slow dog and it ain't cross platform compatible.

Quickdraw was a really big deal. Here are some fun anecdotes relating to the original development of QuickDraw.http://www.folklore.org/ProjectView.py?p...ail=medium
Actually that website is chock full of great anecdotes and stories about early Apple, some technical, some revealing of the personalities involved, most both. All the stories I read were written by actual team members who were there. It's great fun and a huge timesink. (O'Reilly has apparently just published a reworked version of the site as a book, which I think I will have to get.)

Anyway, the 6 QuickDraw related stories are great. How the "marching ants" selection mechanism was invented, why rounded rectangles were included as a drawing primitive, stuff like that. "The single most significant component of the original Macintosh technology was QuickDraw..." Maybe it wil help you will understand why some of us feel old when a younger Macintosh programmer hasn't even heard of it. QuickDraw was THE fundamental of Macintosh programming, underlying the entire Macintosh experience.

Thanks. I havn't really bothered to learn any of this because I don't understand the "Big Picture". Well not quite, two reasons, a) too lazy, I have got to fix that one... or b) don't know how to get started

DudetheCreator Wrote:Thanks. I havn't really bothered to learn any of this because I don't understand the "Big Picture". Well not quite, two reasons, a) too lazy, I have got to fix that one... or b) don't know how to get started

Oh well, thanks for the info.

We're not saying you should have learned about Quickdraw! It was just a reality check for us oldtimers that it's not a fundamental part of Mac programming any more.

I started programming in a very simple language called Logo, that was pretty straightforward, and made a few simple games.
Then I moved to Pascal and then C, and found a book called "Tricks of the Graphics Gurus", that allowed me to do advanced stuff like writing colored pixels with assembler!
Very slow, very complicated.
Then, I discovered Macs. I thought: Wow it's ALL graphical ALL the time! This is going to be so much easier. I spent about to months reading about the Memory Manager, QuickDraw, the SoundManager. I couldn't believe how bloated even the simplest app was: tons of headers to include, lots of initializations, just to show up a window.
Then, more bloated code for interacting with the user.
I was about to give up when I discovered DrawSprockets (yet another dead API now).
I made my first 3D demo, which was slow, used QuickDraw and a simple Painter's algorithm (draw the stuff that's farther away first, so it gets covered when drawing close-up objects), and even added some music using another old API (PlayerPro - non-Apple).
About 2 months later, I started reading about the upcoming changes: Mac OS X!
DrawSprockets was being deprecated, QuickDraw was being replaced by Quartz, lots of changes to the Toolbox (the set of APIs used by the pre X Mac OSs).
Oh, and a new language, Obj-C, that looked like this:

So, I thought: "Should I spend months learning all this weird stuff?"
In the end, I started doing some OpenGL & C++ experiments in OS 9, following NeHe, since not only did that look great, but it was also easy to follow and had the source code for both OS 9 and X.
When I finally got Mac OS X installed, the first thing I noticed were the free developer tools. My CodeWarrior release was years old by then, so I jumped right into this new tools, and even gave Obj-C and Cocoa a try.
I couldn't believe how much better a development environment OS X was: no more "Bombs" and Restarts after every single bug, a great GUI creator.

This is definitely the best of times to become a mac programmer - I consider 80% of what I did before OS X a big_waste_of_time!

Amen! The *only* thing I feel even *slightly* sorry about for the new generation of Mac programmers is that they may never get to see what it's like to REALLY bomb a machine with a bad pointer. QuickDraw is dead and that's a *good* thing.

[EDIT]In an attempt to make my post a little less OT, I decided to add the following:

I too started graphics development with QuickDraw. Hell, I tried to write my first 3D engine with it (thanks to the Black Art of Mac Game Programming). I love OpenGL, but QuickDraw and learning it the hard way definitely has lead to a better understanding of graphics pipelines. Although, I have to admit, that my first black & white blitted game was written after I started learning OpenGL. Go figure![/EDIT]

AnotherJake Wrote:Amen! The *only* thing I feel even *slightly* sorry about for the new generation of Mac programmers is that they may never get to see what it's like to REALLY bomb a machine with a bad pointer. QuickDraw is dead and that's a *good* thing.

You are comparing apples to oranges. The Mac Toolbox gave you incredible power for the time. Including a bunch of headers was a very small price to pay. (System bombs are an unrelated topic.)

The QuickDraw "revolution" must be placed in its proper context, which is 1980-1985. I do feel sorry for anyone who was learning it in 1995. But if your app was well-behaved and followed the API rules strictly on the early Macs, there was a pretty good chance that it would either run as-is, or with very minor changes, 10 years later (including the transition to color and then to 32-bit System 7. In some cases even through to 8, 9 and X. Not to mention the transition away from Pascal to C, then C++.)
For that matter I believe such programs are not hard to Carbonize either.

Now is a great time to be a Mac programmer, I agree. But programming the Mac Toolbox after suffering the Apple ][, TRS-80 and other home computers? That was a great time as well.

Nay, I am celebrating progress. My first computer was a TRS-80, so I know exactly where you're coming from, but you read my post wrong, I wasn't dissing QuickDraw. Let me restate it. QuickDraw was the shit, but I'm glad that it's gone. AND I don't miss restarting my computer every friggin' time I leave a dangling pointer hanging around somewhere, among many other things.