/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 - 2 0 2 2 ĠA ur ora , ĠK ir ill ĠGro uch nik ov Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġorg . push ing pixels . aur ora . tools . svg trans coder Ċ Ċ import Ġorg . apache . bat ik . bridge . Bridge Context Ċ import Ġorg . apache . bat ik . bridge . Document Loader Ċ import Ġorg . apache . bat ik . bridge . G VT Builder Ċ import Ġorg . apache . bat ik . bridge . UserAgent Adapter Ċ import Ġorg . w 3 c . dom . Document Ċ import Ġjava . io . IOException Ċ import Ġjava . io . InputStream Ċ import Ġjava . util . logging . Level Ċ import Ġjava . util . logging . Logger Ċ Ċ /** Ċ Ġ* ĠSVG Ġto ĠCompose Ġtrans coder . Ċ Ġ* Ċ Ġ* Ġ@ author ĠK ir ill ĠGro uch nik ov . Ċ Ġ*/ Ċ class ĠSvg Trans coder ( private Ġval Ġuri : ĠString , Ġclassname : ĠString ) Ġ: ĠSvg Base Trans coder ( classname ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTrans codes Ġthe ĠSVG Ġimage Ġinto ĠCompose Ġcode . ĠDoes Ġnothing Ġif Ġthe ĊĠĠĠĠ Ġ* Ġ[. listener ] Ġis Ġ` null `. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtemplate Stream ĠStream Ġwith Ġthe Ġtemplate Ġcontent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġtrans code ( template Stream : ĠInputStream ): ĠDocument ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(_ listener Ġ== Ġnull ) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġua Ġ= ĠUser Agent Adapter () ĊĠĠĠĠĠĠĠ Ġval Ġloader Ġ= ĠDocument Loader ( ua ) ĊĠĠĠĠĠĠĠ Ġval Ġbat ik Bridge Context Ġ= ĠBridge Context ( ua , Ġloader ) ĊĠĠĠĠĠĠĠ Ġbat ik Bridge Context . set Dynamic State ( Bridge Context . DYNAMIC ) ĊĠĠĠĠĠĠĠ Ġua . set Bridge Context ( bat ik Bridge Context ) ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠG VT Builder () ĊĠĠĠĠĠĠĠ Ġval Ġsvg Doc : ĠDocument ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsvg Doc Ġ= Ġloader . load Document ( uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġg vt Root Ġ= Ġbuilder . build ( bat ik Bridge Context , Ġsvg Doc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . trans code ( g vt Root , Ġtemplate Stream ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsvg Doc ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . getLogger ( Svg Trans coder :: class . java . name ). log ( Level . SEVERE , Ġnull , Ġex ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . getLogger ( Svg Trans coder :: class . java . name ). log ( Level . SEVERE , Ġnull , Ġex ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloader . dispose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbat ik Bridge Context . dispose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . getLogger ( Svg Trans coder :: class . java . name ). log ( Level . SEVERE , Ġnull , Ġt ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ