Will QuickDraw survive in 10.5?

Discussion in 'Mac Programming' started by brettbolt, Feb 5, 2006.

  1. macrumors member

    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!
  2. Moderator emeritus

    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.
  3. macrumors member

    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.
  4. Moderator emeritus

    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.
  5. macrumors 68030


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

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


    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
  8. macrumors 601


    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.
  9. macrumors 68030


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

    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.
  11. Moderator emeritus

    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.
  12. macrumors 601


    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.
  13. macrumors 6502

    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.
  14. Moderator emeritus

    That's a great catch. Thanks!
  15. macrumors member

    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.
  16. macrumors member

    "Abandoning" sounds nice and easy, I like it.

    Maybe it will work if I just comment out all of the offending 3,950 QuickDraw calls? :D
  17. Moderator emeritus

    Better get started. :p
  18. macrumors member

    Yessir. 3,950 calls to convert. Will do 1 a day. Will take me 11 years.:)
  19. macrumors 68000


    Perhaps, but once someone scales their UI (coming in 10.5), your app is gonna look... not nice.

Share This Page