Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

brettbolt

macrumors member
Original poster
Jan 16, 2006
53
0
Rocklin, California
Has it been decided yet whether QuickDraw will still be available in 10.5?

After having just completed the transition to Universal Binary, I'm not looking forward to converting thousands of lines of QuickDraw code to Quartz2D!
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,397
Lard
They've not made any announcements about discontinuing QuickDraw that I've seen so I expect it to continue. However, it might be a good idea to get started on something you should have begun years ago. ;)

Of course, Adobe, etc. should have gotten a start on it, too.
 

brettbolt

macrumors member
Original poster
Jan 16, 2006
53
0
Rocklin, California
I wish I had the chance to convert it years ago. :) Its hard for me to start a 2 month task like this until I know that I absolutely have to.

I can understand Apple not wanting developers to use QuickDraw in new code, but pulling support un-necessarily would break a lot of apps.
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,397
Lard
Indeed. I'm surprised that Apple didn't create a tool to help convert QuickDraw code to Quartz or OpenGL code. Maybe they did and they're just keeping it to themselves rather than beautify it for the outside world.

I would bet that QuickDraw has only lasted this long because Adobe and others complained that they wouldn't be able to re-write their applications. It wouldn't be surprising that it could be confined to the Classic environment within a couple of years.
 

Catfish_Man

macrumors 68030
Sep 13, 2001
2,579
2
Portland, OR
bousozoku said:
Indeed. I'm surprised that Apple didn't create a tool to help convert QuickDraw code to Quartz or OpenGL code. Maybe they did and they're just keeping it to themselves rather than beautify it for the outside world.

This seems like it would be an almost impossible task. The APIs are not very similar at all...
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,397
Lard
Catfish_Man said:
This seems like it would be an almost impossible task. The APIs are not very similar at all...

I've done similar work for other machines. I even did some preliminary work on a Direct3D->OpenGL conversion tool.
 

Catfish_Man

macrumors 68030
Sep 13, 2001
2,579
2
Portland, OR
bousozoku said:
I've done similar work for other machines. I was even did some preliminary work on a Direct3D->OpenGL conversion tool.

Interesting. I'd heard about p2c (pascal->C converter), but that at least remains logically identical. Automated conversion between dissimilar APIs sounds like it would cause intense headaches
 

HiRez

macrumors 603
Jan 6, 2004
6,265
2,629
Western US
Even if QuickDraw is still supported as an API, I very much doubt it will be supported by Quartz 2D Extreme, and possibly a bunch of other newer Apple technologies will not play nicely with it.
 

Catfish_Man

macrumors 68030
Sep 13, 2001
2,579
2
Portland, OR
HiRez said:
Even if QuickDraw is still supported as an API, I very much doubt it will be supported by Quartz 2D Extreme, and possibly a bunch of other newer Apple technologies will not play nicely with it.

It's documented that using QuickDraw turns off Q2DX for that window.
 

brettbolt

macrumors member
Original poster
Jan 16, 2006
53
0
Rocklin, California
The demise of QuickDraw will affect many Windows developers too! (Apple implemented QuickDraw using the Win32 API in their QuickTime for Windows SDK). This is because QuickTime uses many QuickDraw structures (like GWorlds). I know because I am one of the many "QuickTime for Windows" licensors.

My code (Natural Scene Designer Pro) makes extensive use of GWorlds and CopyBits. I realize that Mac OS X performs double buffering automatically, but I find GWorlds to be a convenient way to store and manipulate bitmaps.

I'll really miss the functionality of CopyBits, for which Apple says there is no direct replacement in Quartz. One thing I give credit to Microsoft for is that they are not making their Win32 bitmap transfer functions like "BitBlt" obsolete.
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,397
Lard
Are they still using QuickDraw for version 7 of QuickTime? I've seen that major things have been re-written for it but I didn't really pay too much attention.

The hardware device context was always a bit easier for me to use (closer to Digital Research's GEM) than GWorlds but then, I was also using Borland's Object Windows Library, which was amazing.

I always thought that QuickDraw was suffering from Multiple Personality Disorder in the way that it handled (or didn't handle) multiple graphic devices like printers and displays and scanners.
 

HiRez

macrumors 603
Jan 6, 2004
6,265
2,629
Western US
Hmm, it would seem odd for them to break QuickTime, I have to think that everything in QuickTime will be still usable. Maybe they're rewriting the QT QD code under the covers and leaving the API the same. Frankly, I think QuickTime could use a complete rewrite as an object-oriented API with Objective-C wrappings, it's quite crufty with all those Pascal strings, FSSpecRefs, QuickDraw and other Mac Toolbox structures, various memory management schemes, etc. It's a mammoth undertaking, but QT is IMO the heart and soul of the Mac, it deserves to be a first-class, modern API.
 

Thomas Harte

macrumors 6502
Nov 30, 2005
400
4
bousozoku said:
They've not made any announcements about discontinuing QuickDraw that I've seen so I expect it to continue.
But they have added this to the QuickDraw Reference page in the developer help files:

Important: Quickdraw has been deprecated for deployment targets Mac OS X version 10.4 and later. The replacement API is Quartz. Because of the fundamental differences in the imaging models and design goals between Quickdraw and Quartz, there is no direct correspondence between Quickdraw and Quartz concepts and interfaces. For certain purposes, some Quickdraw functions may still be needed during a transition period; nevertheless, most of them have been deprecated to express the overriding goal of eliminating the use of Quickdraw in the future.

So, start abandoning Quickdraw (whichever capitalisation you use) now if you didn't years ago.
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,397
Lard
Thomas Harte said:
But they have added this to the QuickDraw Reference page in the developer help files:



So, start abandoning Quickdraw (whichever capitalisation you use) now if you didn't years ago.

That's a great catch. Thanks!
 

brettbolt

macrumors member
Original poster
Jan 16, 2006
53
0
Rocklin, California
I just saw this in the "Quartz Programming Guide for QuickDraw Developers" --

Note: The QuickDraw API is deprecated in Mac OS X v10.4. That means that Apple no longer plans to develop QuickDraw software or documentation. ...
So it sounds like QD will be around for a while, but there won't be new documentation for it.
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,397
Lard
brettbolt said:
I just saw this in the "Quartz Programming Guide for QuickDraw Developers" --

So it sounds like QD will be around for a while, but there won't be new documentation for it.

Better get started. :p
 

Fukui

macrumors 68000
Jul 19, 2002
1,630
18
brettbolt said:
I just saw this in the "Quartz Programming Guide for QuickDraw Developers" --

So it sounds like QD will be around for a while, but there won't be new documentation for it.
Perhaps, but once someone scales their UI (coming in 10.5), your app is gonna look... not nice.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.