QuickDraw
QuickDraw er den todimensionelle grafikmotor i macOS -operativsystemet produceret af Apple . Det blev designet og bygget af Andy Hertzfeld og Bill Atkinson . Med ankomsten af macOS udviklede Apple en ny grafikmotor kaldet Quartz . QuickDraw er inkluderet i Mac OS X for at opretholde kompatibilitet med tidligere programmer, Classic- emulatoren har brug for QuickDraw-understøttelse for at fungere.
QuickDraw-principper
QuickDraw blev designet af udviklingsteamet som en forlængelse af den originale grafikmotor, der er indbygget i Lisa computeroperativsystemet . Det er struktureret som et sæt af algoritmer og datastrukturer, der er samlet for at danne et sæt biblioteker, der er deponeret til styring af den grafiske grænseflade . Denne metode til at bygge grafikmotoren er i skarp opposition til moderne objektorienterede programmeringsteknikker . Men så var objektorienteret programmering ikke det fremherskende paradigme, og den type bibliotek var velegnet til Pascal -sproget, et sprog som Apple brugte til at udvikle en stor del af den grafiske grænseflade.
QuickDraw definerer en nøgledatastruktur kaldet "port" eller "GrafPort". Denne struktur definerer det område, hvor du kan tegne. De fleste af vinduerne på skærmen er GrafPorts.
GrafPorte er defineret af et koordinatsystem . I QuickDraw er de defineret som 16-bit tal, og derfor kan en GrafPort maksimalt være 65535 punkter vandret og et lige antal lodret. Tallene er angivet med et tegn, så de spænder fra -32.767 til +32.768 vandret og tilsvarende lodret. Vinduer placeres normalt fra position (0,0).
Linjerne defineret af QuickDraw er uendeligt tynde ideelle linjer. Når de er tegnet, tegner systemet linjen ved at "farve" punkterne til højre og under koordinaterne krydset af linjerne. Denne tegningskonvention undgår parallaksefejl og reducerer problemer på grund af forkert justering af de linjer, der genererer de grundlæggende geometriske figurer.
I Macintosh-systemet betragtes alle punkter ( pixels ) som firkanter og med en opløsning på 72 punkter pr. tomme. Denne konvention er praktisk i betragtning af, at en standardudskriftsopløsning i forlagsbranchen er 72 punkter pr. tomme, og derfor er det nemt at matche det, du ser, og det, du udskriver.
QuickDraw indeholder flere funktioner til skalering og kortlægning af billeder.
QuickDraw vedligeholder mange globale variabler for hvert GrafPort-relateret program. Dette forenklede implementeringen af API'et, da hver operation normalt var rettet mod den nuværende "port". Da Apple besluttede at introducere multitasking i Mac OS , forstod det, at den løsning, QuickDraw brugte, var meget begrænset, og at det ville være en vanskelig opgave at opdatere den uden at miste kompatibiliteten med tidligere programmer. Faktisk afhang mange af begrænsningerne ved Mac OS multitasking af QuickDraw.
Den 20. juli 2010 donerede Apple kildekoden til Computer History Museum i Mountain View [1] .
Noter
- ^ MacPaint og QuickDraw kildekode , på computerhistory.org . Hentet 12. april 2012 .