Inkscape

Ajalugu

Inkscape harunes Lauris Kaplinski Sodipodi programmist. Sodipodi oli omakorda harunenud Ralph Levieni programmist Gill (Gnome Illustration Application).
Inkscape'i loonud varasemad Sodipodi autorid (Ted Gould, Bryce Harrington, Nathan Hurst, ja MenTaLguY) põhjendasid sammu põhimõtteliste vastuoludega projekti eesmärkide osas. Inkscape soovis keskenduda SVG standardi täielikule toetamisele, samas kui Sodipodi soovis luua üldotstarbelist vektorgraafikaprogrammi SVG standardit vajadusel ignoreerides.
Pärast haru loomist on liigutud C keelelt C++ peale ning seetõttu vahetatud ka kasutajaliidese teeke; programmi kasutajaliides on saanud uusi funktsioone. Programmi SVG tugi on paranenud, kuid standardi implementatsioon ei ole veel täielik.
Keskse juhtimise asemel püüdleb projekti kogukond egalitaristliku juhtimise suunas, kus autoriteedi määravad arendaja individuaalsed võimed ja aktiivne osavõtt. Seetõttu on aktiivsetel arendajatel projekti lähtekoodidele täielik ligipääs ja püütakse osaleda ka vaba tarkvara kogukonna projektides (tihti on selleks ühis- või spin-off projektid, nagu Open Art Library). Kuigi projekti loojatel on praegu suur sõnaõigus, täidavad tähtsaid kohuseid ka paljud uustulnukad.
Pärast Xara otsust litsentsida Xara Xtreme GPL-iga, avaldas firma soovi leida Inkscape'iga koostöövõimalusi koodi jagamiseks, koostöö koordineerimiseks ja saadaolevast kommertstarkvarast kvaliteedilt möödumiseks.
Alates aastast 2005 on Inkscape osalenud Google Summer of Code'i projektis.
Programmi veahaldus kolis 2007. aasta novembris Sourceforge'i alt Launchpadi alla.

Objektide töötlemine

Objektidele saab rakendada affiingeomeetrilisi transformatsioone (liigutamine, pööramine, skaleerimine ja kallutamine). Teisenduste parameetreid on võimalik sisestada ka dialoogiaknas. Transformatsioonid võivad abi- ja alusjoonte, nurkade ja teiste objektidega arvestada (tõmme). Abi- ja alusjooned ja nendega arvestamine salvestub koos dokumendiga. Alternatiivina tõmbele võib kasutada joondamis- ja jagamisdialoogi, mille abil võib valitud objektid mingis suunas joondada või jaotada nad laiali võrdselt, juhuslikult või nii, et nad üksteist ei kata.
Objekte on võimalik suvaliselt grupeerida. Grupid käituvad paljuski nagu "atomaarsed" objektid ning neid on võimalik tervikuna töödelda – näiteks on neid võimalik kloonida või värvida. Gruppe saab muuta ka ilma neid lõhkumata. Objektide järjestust on võimalik organiseerida kihtide abil ning ka neid ükshaaval üles- ja allapoole liigutades. Kihte on võimalik töö ajaks lukustada ja peita.
Olemas on spetsiaalne kloonmustri tööriist erineva sümmeetriaga mustrite loomiseks.
Objektide kopeerimine ja asetamine on võimalik, seda kohati ka teiste programmide vahel (ver. 0.74 alates).

Töö joontega

Inkscape'il on joonte kui vektorkujutiste põhikomponentide, muutmiseks ulatuslik tööriistavalik. Sõlmpunktide redaktor lubab joont ühe punkti tasemel muuta, ja võimaldab Bezier' kõveraid manipulaatorite ja kontrollpunktide abil muuta. Joonesegmente saab muuta neid hiirega tõmmates ning klaviatuuri kiirklahvide abil on neid võimalik ka skaleerida ja pöörata. Joontele saab vabalt valitud kohtadesse lisada punkte ning efekti abil saab seda teha määratud vahedega. Punktide kustutamisel muudetakse ülejäänud punktide manipulaatoreid sellisel moel, et esialgne joon jääks võimalikult muutumatuks.
Joonte täpsemaks muutmiseks on olemas ka tööriist nende lükkamiseks, kasvatamiseks, kahandamiseks, kokkutõmbeks, eemaletõukeks või käänulisemaks muutmiseks. Selle tööriista kasutamisel tekivad ja kaovad uued punktid vajadusel ise, mis võimaldab seda tööriista kasutada ka joone eelneva ettevalmistuseta.
Muud võimalikud kõrgemal tasemel toimivad tööriistad on näiteks infokadudega kujundite suurendamine või vähendamine, või siis olemasolevale kujundile automaatselt suurema ümberjoone või sisejoone loomine. Säärast piirjoont saab panna ka sõltuma esialgsest kujundist nii, et originaali muutmine kajastub ka ümbritsevas piirjoones. Inkscape võimaldab kujunditeks muuta spiraale, teksti, joont. Kujundeid saab lihtsustada ja nendega sooritada Boole'i operatsioone nagu näiteks liitmine, vahe, ühisosa või täiend.
Uuemates versioonides on võimalik kujunditele määrata ka eriefekte, mis töötlevad kujundid näiteks hammasratasteks või painutavad kujundit mõnd joont järgima.

Tekstitugi

Inkscape toetab teksti redigeerimist nii tavalise mitmerealise tekstina (SVG <text> element) ja voogava tekstina (ebastandardne <flowRoot> element, mida püüti kaasata SVG 1.2 versiooni). Alates versioonist 0.47 ei näita ülejäänud programmid voogavat teksti, sest alternatiivide jaoks puudub lülitamiselement ja ülejäänud programmid seda ei toeta. SVG 1.2 Tiny <textArea> elementi ei toetata. Kogu teksti saa otse tööpinnal redigeerida. Teksti redigeerimiseks kasutatakse Pango teeki, mis võimaldab Inkscape'il toetada ka keerulisi kirjaviise nagu näiteks Heebrea, Araabia, Tai, Tiibeti jne. Tähtede vahede tähthaaval korrigeerimine ja sõrendamine toimub klaviatuuri kiirklahvide abil. Teksti saab panna järgima joont. Sealjuures jäävad mõlemad muudetavaks.

Pildi esitamine

Erinevalt paljudest teistest GTK+ rakendustest kasutab Inkscape omaenda graafikaesitusteeki, nimega libnr. libnr suudab suurendada 25600%, muutumata sealjuures nurgeliseks. Graafikaelemente suudetakse joonistada ka transformeerimiste käigus. Keeruliste kujutiste töötlemise kiirendamiseks on olemas ka režiim ainult piirjoontega töötamiseks. Inkscape on piirjoonte joonistamiseks alates versioonist 0.46 kasutanud Cairo teeki.

Liides ja kasutusmugavus

Üks Inkscape'i projekti prioriteetidest on kasutajaliidese järjepidevus ja kasutatavus. See tähendab, et järgitakse GNOME'i kasutajaliidese juhiseid, pakutakse hulgaliselt klaviatuuri kiirklahve ja lubatakse objekte muuta nii, et tagasiside muutuste kohta on näha kohe.
Tööpinda katvate dialoogiakende hulk on viidud miinimumini, võimaldades sama funktsionaalsust kasutada klaviatuurilt või redigeerimisakna kõrvale paigutuvatelt paneelidelt. Tööriba pakub valitud tööriista jaoks alati seostuvaid valikuid.
Kõik transformatsioonid (mitte ainult liigutamine, vaid ka skaleerimine ja pööramine) on teostuvad klaviatuurilt, omades järjepidevust ka mõjutatavate klahvide osas (Alt muudab 1 ekraanipiksli võrra, Shift korrutab muudatuse hulga 10ga jne); need nupud töötavad ka sõlmpunktide redaktori ja objektivalikuprogrammiga. Sagedaste tegevuste (nagu muutmised, suurendamine, objektide järjekord) kiirklahvid on kõik ühenupulised.
Inkscape pakub nuppude, juhikute, käskude klahvide ja tööpinnal olevate juhtelementide kohal hiirt hoides abitekste nii hiire juures kui ka olekuribal. Hiire ja klaviatuuri jaoks on olemas täielik ülevaade (HTML- ja SVG-vormingus) ning samuti on programmil kaasas mitmed interaktiivsed SVG tutvustusfailid.
Inkscape'i eellase Sodipodi liides põhines CorelDraw ja GIMPi liidestel. Inkcape'i liidest on mõjutanud Xara Xtreme.