3/28/2024 0 Comments Animated apple cartoon gifmy “Animation Through The Ages Quartz View” - name-spacing is important in Objective-C! #import ATTAQuartzView : I implement the drawing logic in ATTAQuartzView.m. I’ll keep things simple with a basic Objective-C app - sorry to my Swift comrades, but that language isn’t released for another 13 years!įirst, I create a header file for ATTAQuartzView.h A.K.A. # The NeXT header file graphics.h (in the appkit subdirectory) combines NXPoint and NXSize structures to define the rectangle itself: # A pair of NXCoord variables also designate the size of a rectangle: # A pair of NXCoord variables-one for the x coordinate and one for the y coordinate-designate a point: Since all coordinate values must be specified by floating-point numbers, it defines NXCoord as a float: To give you a flavour of what this was like to work with, I bring you a charming snippet from the NeXT Computer Programming Manual : # In the Application Kit, rectangles are specified as C structures of type NXRect. This introduced substantial advances over previous-generation display layers: it allowed text and graphics to be treated the same and introduced device-agnosticism through its higher-level API and page description language. The NeXTSTEP OS used a computer graphics engine developed by Adobe called Display PostScript. For everything else, there are real-life examples in the GitHub project that you can try out in Xcode! I didn’t want to shell out for a NeXTcube - or go down a huge rabbit hole to emulate 40-year-old hardware - therefore this section will show some code, but we won’t be able to run it. Their own NeXTSTEP operating system was merged with the Mac OS to become Mac OS X. NeXT was hugely influential in object-oriented programming and graphical user interfaces and was eventually acquired by Apple. After being ousted from Apple in 1985, Steve Jobs founded NeXT, a rival computer company. Let’s first jump way back in history to understand the context of today’s Apple software. In this article, I’m going to guide you on a journey through time to discover what was available to the Apple devs of each era, explain the problems solved by each successive generation of animation APIs, and even give you the opportunity to play with some real-life old-school animation code in this GitHub project. Which, incidentally, is more or less what you had to do with pixels on first-generation GUIs. What? You mean the pixels didn’t move around my screen by magic? It’s like learning that before the fire, we cooked food by rearranging its atoms by hand. Learning of the existence of a world before Core Animation is like finding out that Santa isn’t real. As a Swift baby, who barely remembers the Grand Renaming of Swift 3.0, Core Animation feels as fundamental as iOS itself, underpinning both UIKit and SwiftUI. What I found most fascinating - and what really inspired me to write this - was the piece on Core Animation from 2007. According to Ars Technica, where these were published, “a new OS X release started with Steve Jobs and ended with John Siracusa.” I voraciously delved into these reviews with a handy reading list as my tour guide. If you’re not in the loop, these were astonishingly detailed technical reviews of Apple’s major Mac OS X releases between 19. I recently stumbled upon John Siracusa’s legendary Mac OS X reviews for the first time.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |