12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104 |
- /**
- * pptxjs.js
- * Ver. : 1.21.1
- * last update: 16/11/2021
- * Author: meshesha , https://github.com/meshesha
- * LICENSE: MIT
- * url:https://pptx.js.org/
- * fix issues:
- * [#16](https://github.com/meshesha/PPTXjs/issues/16)
- */
- (function ($) {
- $.fn.pptxToHtml = function (options) {
- //var worker;
- var $result = $(this);
- var divId = $result.attr("id");
- var isDone = false;
- var MsgQueue = new Array();
- //var slideLayoutClrOvride = "";
- var defaultTextStyle = null;
- var chartID = 0;
- var _order = 1;
- var app_verssion ;
- var rtl_langs_array = ["he-IL", "ar-AE", "ar-SA", "dv-MV", "fa-IR","ur-PK"]
- var slideFactor = 96 / 914400;
- var fontSizeFactor = 4 / 3.2;
- //////////////////////
- var slideWidth = 0;
- var slideHeight = 0;
- var isSlideMode = false;
- var processFullTheme = true;
- var styleTable = {};
- var settings = $.extend(true, {
- // These are the defaults.
- pptxFileUrl: "",
- fileInputId: "",
- slidesScale: "", //Change Slides scale by percent
- slideMode: false, /** true,false*/
- slideType: "divs2slidesjs", /*'divs2slidesjs' (default) , 'revealjs'(https://revealjs.com) -TODO*/
- revealjsPath: "", /*path to js file of revealjs - TODO*/
- keyBoardShortCut: false, /** true,false ,condition: slideMode: true XXXXX - need to remove - this is doublcated*/
- mediaProcess: true, /** true,false: if true then process video and audio files */
- jsZipV2: false,
- themeProcess: true, /*true (default) , false, "colorsAndImageOnly"*/
- incSlide:{
- width: 0,
- height: 0
- },
- slideModeConfig: {
- first: 1,
- nav: true, /** true,false : show or not nav buttons*/
- navTxtColor: "black", /** color */
- keyBoardShortCut: true, /** true,false ,condition: */
- showSlideNum: true, /** true,false */
- showTotalSlideNum: true, /** true,false */
- autoSlide: true, /** false or seconds , F8 to active ,keyBoardShortCut: true */
- randomAutoSlide: false, /** true,false ,autoSlide:true */
- loop: false, /** true,false */
- background: false, /** false or color*/
- transition: "default", /** transition type: "slid","fade","default","random" , to show transition efects :transitionTime > 0.5 */
- transitionTime: 1 /** transition time between slides in seconds */
- },
- revealjsConfig: {}
- }, options);
- processFullTheme = settings.themeProcess;
- $("#" + divId).prepend(
- $("<div></div>").attr({
- "class": "slides-loadnig-msg",
- "style": "display:block; width:100%; color:white; background-color: #ddd;"
- })/*.html("Loading...")*/
- .html($("<div></div>").attr({
- "class": "slides-loading-progress-bar",
- "style": "width: 1%; background-color: #4775d1;"
- }).html("<span style='text-align: center;'>1%</span>"))
- );
- if (settings.slideMode) {
- if (!jQuery().divs2slides) {
- jQuery.getScript('./pptxjs/divs2slides.js');
- }
- }
- if (settings.jsZipV2 !== false) {
- jQuery.getScript(settings.jsZipV2);
- if (localStorage.getItem('isPPTXjsReLoaded') !== 'yes') {
- localStorage.setItem('isPPTXjsReLoaded', 'yes');
- location.reload();
- }
- }
- if (settings.keyBoardShortCut) {
- $(document).bind("keydown", function (event) {
- event.preventDefault();
- var key = event.keyCode;
- console.log(key, isDone)
- if (key == 116 && !isSlideMode) { //F5
- isSlideMode = true;
- initSlideMode(divId, settings);
- } else if (key == 116 && isSlideMode) {
- //exit slide mode - TODO
- }
- });
- }
- FileReaderJS.setSync(false);
- if (settings.pptxFileUrl != "") {
- try{
- JSZipUtils.getBinaryContent(settings.pptxFileUrl, function (err, content) {
- var blob = new Blob([content]);
- var file_name = settings.pptxFileUrl;
- var fArry = file_name.split(".");
- fArry.pop();
- blob.name = fArry[0];
- FileReaderJS.setupBlob(blob, {
- readAsDefault: "ArrayBuffer",
- on: {
- load: function (e, file) {
- //console.log(e.target.result);
- convertToHtml(e.target.result);
- }
- }
- });
- });
- }catch(e){
- console.error("file url error (" + settings.pptxFileUrl+ "0)")
- $(".slides-loadnig-msg").remove();
- }
- } else {
- $(".slides-loadnig-msg").remove()
- }
- if (settings.fileInputId != "") {
- $("#" + settings.fileInputId).on("change", function (evt) {
- $result.html("");
- var file = evt.target.files[0];
- // var fileName = file[0].name;
- //var fileSize = file[0].size;
- var fileType = file.type;
- if (fileType == "application/vnd.openxmlformats-officedocument.presentationml.presentation") {
- FileReaderJS.setupBlob(file, {
- readAsDefault: "ArrayBuffer",
- on: {
- load: function (e, file) {
- //console.log(e.target.result);
- convertToHtml(e.target.result);
- }
- }
- });
- } else {
- alert("This is not pptx file");
- }
- });
- }
- function updateProgressBar(percent) {
- //console.log("percent: ", percent)
- var progressBarElemtnt = $(".slides-loading-progress-bar")
- progressBarElemtnt.width(percent + "%")
- progressBarElemtnt.html("<span style='text-align: center;'>Loading...(" + percent + "%)</span>");
- }
- function convertToHtml(file) {
- //'use strict';
- //console.log("file", file, "size:", file.byteLength);
- if (file.byteLength < 10){
- console.error("file url error (" + settings.pptxFileUrl + "0)")
- $(".slides-loadnig-msg").remove();
- return;
- }
- var zip = new JSZip(), s;
- //if (typeof file === 'string') { // Load
- zip = zip.load(file); //zip.load(file, { base64: true });
- var rslt_ary = processPPTX(zip);
- //s = readXmlFile(zip, 'ppt/tableStyles.xml');
- //var slidesHeight = $("#" + divId + " .slide").height();
- for (var i = 0; i < rslt_ary.length; i++) {
- switch (rslt_ary[i]["type"]) {
- case "slide":
- $result.append(rslt_ary[i]["data"]);
- break;
- case "pptx-thumb":
- //$("#pptx-thumb").attr("src", "data:image/jpeg;base64," +rslt_ary[i]["data"]);
- break;
- case "slideSize":
- slideWidth = rslt_ary[i]["data"].width;
- slideHeight = rslt_ary[i]["data"].height;
- /*
- $("#"+divId).css({
- 'width': slideWidth + 80,
- 'height': slideHeight + 60
- });
- */
- break;
- case "globalCSS":
- //console.log(rslt_ary[i]["data"])
- $result.append("<style>" + rslt_ary[i]["data"] + "</style>");
- break;
- case "ExecutionTime":
- processMsgQueue(MsgQueue);
- setNumericBullets($(".block"));
- setNumericBullets($("table td"));
- isDone = true;
- if (settings.slideMode && !isSlideMode) {
- isSlideMode = true;
- initSlideMode(divId, settings);
- } else if (!settings.slideMode) {
- $(".slides-loadnig-msg").remove();
- }
- break;
- case "progress-update":
- //console.log(rslt_ary[i]["data"]); //update progress bar - TODO
- updateProgressBar(rslt_ary[i]["data"])
- break;
- default:
- }
- }
- if (!settings.slideMode || (settings.slideMode && settings.slideType == "revealjs")) {
- if (document.getElementById("all_slides_warpper") === null) {
- $("#" + divId + " .slide").wrapAll("<div id='all_slides_warpper' class='slides'></div>");
- //$("#" + divId + " .slides").wrap("<div class='reveal'></div>");
- }
- if (settings.slideMode && settings.slideType == "revealjs") {
- $("#" + divId).addClass("reveal")
- }
- }
- var sScale = settings.slidesScale;
- var trnsfrmScl = "";
- if (sScale != "") {
- var numsScale = parseInt(sScale);
- var scaleVal = numsScale / 100;
- if (settings.slideMode && settings.slideType != "revealjs") {
- trnsfrmScl = 'transform:scale(' + scaleVal + '); transform-origin:top';
- }
- }
- var slidesHeight = $("#" + divId + " .slide").height();
- var numOfSlides = $("#" + divId + " .slide").length;
- var sScaleVal = (sScale != "") ? scaleVal : 1;
- //console.log("slidesHeight: " + slidesHeight + "\nnumOfSlides: " + numOfSlides + "\nScale: " + sScaleVal)
- $("#all_slides_warpper").attr({
- style: trnsfrmScl + ";height: " + (numOfSlides * slidesHeight * sScaleVal) + "px"
- })
- //}
- }
- function initSlideMode(divId, settings) {
- //console.log(settings.slideType)
- if (settings.slideType == "" || settings.slideType == "divs2slidesjs") {
- var slidesHeight = $("#" + divId + " .slide").height();
- $("#" + divId + " .slide").hide();
- setTimeout(function () {
- var slideConf = settings.slideModeConfig;
- $(".slides-loadnig-msg").remove();
- $("#" + divId).divs2slides({
- first: slideConf.first,
- nav: slideConf.nav,
- showPlayPauseBtn: settings.showPlayPauseBtn,
- navTxtColor: slideConf.navTxtColor,
- keyBoardShortCut: slideConf.keyBoardShortCut,
- showSlideNum: slideConf.showSlideNum,
- showTotalSlideNum: slideConf.showTotalSlideNum,
- autoSlide: slideConf.autoSlide,
- randomAutoSlide: slideConf.randomAutoSlide,
- loop: slideConf.loop,
- background: slideConf.background,
- transition: slideConf.transition,
- transitionTime: slideConf.transitionTime
- });
- var sScale = settings.slidesScale;
- var trnsfrmScl = "";
- if (sScale != "") {
- var numsScale = parseInt(sScale);
- var scaleVal = numsScale / 100;
- trnsfrmScl = 'transform:scale(' + scaleVal + '); transform-origin:top';
- }
- var numOfSlides = 1;
- var sScaleVal = (sScale != "") ? scaleVal : 1;
- //console.log(slidesHeight);
- $("#all_slides_warpper").attr({
- style: trnsfrmScl + ";height: " + (numOfSlides * slidesHeight * sScaleVal) + "px"
- })
- }, 1500);
- } else if (settings.slideType == "revealjs") {
- $(".slides-loadnig-msg").remove();
- var revealjsPath = "";
- if (settings.revealjsPath != "") {
- revealjsPath = settings.revealjsPath;
- } else {
- revealjsPath = "./revealjs/reveal.js";
- }
- $.getScript(revealjsPath, function (response, status) {
- if (status == "success") {
- // $("section").removeClass("slide");
- Reveal.initialize(settings.revealjsConfig); //revealjsConfig - TODO
- }
- });
- }
- }
- function processPPTX(zip) {
- var post_ary = [];
- var dateBefore = new Date();
- if (zip.file("docProps/thumbnail.jpeg") !== null) {
- var pptxThumbImg = base64ArrayBuffer(zip.file("docProps/thumbnail.jpeg").asArrayBuffer());
- post_ary.push({
- "type": "pptx-thumb",
- "data": pptxThumbImg,
- "slide_num": -1
- });
- }
- var filesInfo = getContentTypes(zip);
- var slideSize = getSlideSizeAndSetDefaultTextStyle(zip);
- tableStyles = readXmlFile(zip, "ppt/tableStyles.xml");
- //console.log("slideSize: ", slideSize)
- post_ary.push({
- "type": "slideSize",
- "data": slideSize,
- "slide_num": 0
- });
- var numOfSlides = filesInfo["slides"].length;
- for (var i = 0; i < numOfSlides; i++) {
- var filename = filesInfo["slides"][i];
- var filename_no_path = "";
- var filename_no_path_ary = [];
- if (filename.indexOf("/") != -1) {
- filename_no_path_ary = filename.split("/");
- filename_no_path = filename_no_path_ary.pop();
- } else {
- filename_no_path = filename;
- }
- var filename_no_path_no_ext = "";
- if (filename_no_path.indexOf(".") != -1) {
- var filename_no_path_no_ext_ary = filename_no_path.split(".");
- var slide_ext = filename_no_path_no_ext_ary.pop();
- filename_no_path_no_ext = filename_no_path_no_ext_ary.join(".");
- }
- var slide_number = 1;
- if (filename_no_path_no_ext != "" && filename_no_path.indexOf("slide") != -1) {
- slide_number = Number(filename_no_path_no_ext.substr(5));
- }
- var slideHtml = processSingleSlide(zip, filename, i, slideSize);
- post_ary.push({
- "type": "slide",
- "data": slideHtml,
- "slide_num": slide_number,
- "file_name": filename_no_path_no_ext
- });
- post_ary.push({
- "type": "progress-update",
- "slide_num": (numOfSlides + i + 1),
- "data": (i + 1) * 100 / numOfSlides
- });
- }
- post_ary.sort(function (a, b) {
- return a.slide_num - b.slide_num;
- });
- post_ary.push({
- "type": "globalCSS",
- "data": genGlobalCSS()
- });
- var dateAfter = new Date();
- post_ary.push({
- "type": "ExecutionTime",
- "data": dateAfter - dateBefore
- });
- return post_ary;
- }
- function readXmlFile(zip, filename, isSlideContent) {
- try {
- var fileContent = zip.file(filename).asText();
- if (isSlideContent && app_verssion <= 12) {
- //< office2007
- //remove "<![CDATA[ ... ]]>" tag
- fileContent = fileContent.replace(/<!\[CDATA\[(.*?)\]\]>/g, '$1');
- }
- var xmlData = tXml(fileContent, { simplify: 1 });
- if (xmlData["?xml"] !== undefined) {
- return xmlData["?xml"];
- } else {
- return xmlData;
- }
- } catch (e) {
- //console.log("error readXmlFile: the file '", filename, "' not exit")
- return null;
- }
- }
- function getContentTypes(zip) {
- var ContentTypesJson = readXmlFile(zip, "[Content_Types].xml");
- var subObj = ContentTypesJson["Types"]["Override"];
- var slidesLocArray = [];
- var slideLayoutsLocArray = [];
- for (var i = 0; i < subObj.length; i++) {
- switch (subObj[i]["attrs"]["ContentType"]) {
- case "application/vnd.openxmlformats-officedocument.presentationml.slide+xml":
- slidesLocArray.push(subObj[i]["attrs"]["PartName"].substr(1));
- break;
- case "application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml":
- slideLayoutsLocArray.push(subObj[i]["attrs"]["PartName"].substr(1));
- break;
- default:
- }
- }
- return {
- "slides": slidesLocArray,
- "slideLayouts": slideLayoutsLocArray
- };
- }
- function getSlideSizeAndSetDefaultTextStyle(zip) {
- //get app version
- var app = readXmlFile(zip, "docProps/app.xml");
- var app_verssion_str = app["Properties"]["AppVersion"]
- app_verssion = parseInt(app_verssion_str);
- console.log("create by Office PowerPoint app verssion: ", app_verssion_str)
- //get slide dimensions
- var rtenObj = {};
- var content = readXmlFile(zip, "ppt/presentation.xml");
- var sldSzAttrs = content["p:presentation"]["p:sldSz"]["attrs"];
- var sldSzWidth = parseInt(sldSzAttrs["cx"]);
- var sldSzHeight = parseInt(sldSzAttrs["cy"]);
- var sldSzType = sldSzAttrs["type"];
- console.log("Presentation size type: ", sldSzType)
- //1 inches = 96px = 2.54cm
- // 1 EMU = 1 / 914400 inch
- // Pixel = EMUs * Resolution / 914400; (Resolution = 96)
- //var standardHeight = 6858000;
- //console.log("slideFactor: ", slideFactor, "standardHeight:", standardHeight, (standardHeight - sldSzHeight) / standardHeight)
-
- //slideFactor = (96 * (1 + ((standardHeight - sldSzHeight) / standardHeight))) / 914400 ;
- //slideFactor = slideFactor + sldSzHeight*((standardHeight - sldSzHeight) / standardHeight) ;
- //var ration = sldSzWidth / sldSzHeight;
-
- //Scale
- // var viewProps = readXmlFile(zip, "ppt/viewProps.xml");
- // var scaleLoc = getTextByPathList(viewProps, ["p:viewPr", "p:slideViewPr", "p:cSldViewPr", "p:cViewPr","p:scale"]);
- // var scaleXnodes, scaleX = 1, scaleYnode, scaleY = 1;
- // if (scaleLoc !== undefined){
- // scaleXnodes = scaleLoc["a:sx"]["attrs"];
- // var scaleXnodesN = scaleXnodes["n"];
- // var scaleXnodesD = scaleXnodes["d"];
- // if (scaleXnodesN !== undefined && scaleXnodesD !== undefined && scaleXnodesN != 0){
- // scaleX = parseInt(scaleXnodesD)/parseInt(scaleXnodesN);
- // }
- // scaleYnode = scaleLoc["a:sy"]["attrs"];
- // var scaleYnodeN = scaleYnode["n"];
- // var scaleYnodeD = scaleYnode["d"];
- // if (scaleYnodeN !== undefined && scaleYnodeD !== undefined && scaleYnodeN != 0) {
- // scaleY = parseInt(scaleYnodeD) / parseInt(scaleYnodeN) ;
- // }
- // }
- //console.log("scaleX: ", scaleX, "scaleY:", scaleY)
- //slideFactor = slideFactor * scaleX;
- defaultTextStyle = content["p:presentation"]["p:defaultTextStyle"];
- slideWidth = sldSzWidth * slideFactor + settings.incSlide.width|0;// * scaleX;//parseInt(sldSzAttrs["cx"]) * 96 / 914400;
- slideHeight = sldSzHeight * slideFactor + settings.incSlide.height|0;// * scaleY;//parseInt(sldSzAttrs["cy"]) * 96 / 914400;
- rtenObj = {
- "width": slideWidth,
- "height": slideHeight
- };
- return rtenObj;
- }
- function processSingleSlide(zip, sldFileName, index, slideSize) {
- /*
- self.postMessage({
- "type": "INFO",
- "data": "Processing slide" + (index + 1)
- });
- */
- // =====< Step 1 >=====
- // Read relationship filename of the slide (Get slideLayoutXX.xml)
- // @sldFileName: ppt/slides/slide1.xml
- // @resName: ppt/slides/_rels/slide1.xml.rels
- var resName = sldFileName.replace("slides/slide", "slides/_rels/slide") + ".rels";
- var resContent = readXmlFile(zip, resName);
- var RelationshipArray = resContent["Relationships"]["Relationship"];
- //console.log("RelationshipArray: " , RelationshipArray)
- var layoutFilename = "";
- var diagramFilename = "";
- var slideResObj = {};
- if (RelationshipArray.constructor === Array) {
- for (var i = 0; i < RelationshipArray.length; i++) {
- switch (RelationshipArray[i]["attrs"]["Type"]) {
- case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout":
- layoutFilename = RelationshipArray[i]["attrs"]["Target"].replace("../", "ppt/");
- break;
- case "http://schemas.microsoft.com/office/2007/relationships/diagramDrawing":
- diagramFilename = RelationshipArray[i]["attrs"]["Target"].replace("../", "ppt/");
- slideResObj[RelationshipArray[i]["attrs"]["Id"]] = {
- "type": RelationshipArray[i]["attrs"]["Type"].replace("http://schemas.openxmlformats.org/officeDocument/2006/relationships/", ""),
- "target": RelationshipArray[i]["attrs"]["Target"].replace("../", "ppt/")
- };
- break;
- case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide":
- case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image":
- case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart":
- case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink":
- default:
- slideResObj[RelationshipArray[i]["attrs"]["Id"]] = {
- "type": RelationshipArray[i]["attrs"]["Type"].replace("http://schemas.openxmlformats.org/officeDocument/2006/relationships/", ""),
- "target": RelationshipArray[i]["attrs"]["Target"].replace("../", "ppt/")
- };
- }
- }
- } else {
- layoutFilename = RelationshipArray["attrs"]["Target"].replace("../", "ppt/");
- }
- //console.log(slideResObj);
- // Open slideLayoutXX.xml
- var slideLayoutContent = readXmlFile(zip, layoutFilename);
- var slideLayoutTables = indexNodes(slideLayoutContent);
- var sldLayoutClrOvr = getTextByPathList(slideLayoutContent, ["p:sldLayout", "p:clrMapOvr", "a:overrideClrMapping"]);
- //console.log(slideLayoutClrOvride);
- if (sldLayoutClrOvr !== undefined) {
- slideLayoutClrOvride = sldLayoutClrOvr["attrs"];
- }
- // =====< Step 2 >=====
- // Read slide master filename of the slidelayout (Get slideMasterXX.xml)
- // @resName: ppt/slideLayouts/slideLayout1.xml
- // @masterName: ppt/slideLayouts/_rels/slideLayout1.xml.rels
- var slideLayoutResFilename = layoutFilename.replace("slideLayouts/slideLayout", "slideLayouts/_rels/slideLayout") + ".rels";
- var slideLayoutResContent = readXmlFile(zip, slideLayoutResFilename);
- RelationshipArray = slideLayoutResContent["Relationships"]["Relationship"];
- var masterFilename = "";
- var layoutResObj = {};
- if (RelationshipArray.constructor === Array) {
- for (var i = 0; i < RelationshipArray.length; i++) {
- switch (RelationshipArray[i]["attrs"]["Type"]) {
- case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster":
- masterFilename = RelationshipArray[i]["attrs"]["Target"].replace("../", "ppt/");
- break;
- default:
- layoutResObj[RelationshipArray[i]["attrs"]["Id"]] = {
- "type": RelationshipArray[i]["attrs"]["Type"].replace("http://schemas.openxmlformats.org/officeDocument/2006/relationships/", ""),
- "target": RelationshipArray[i]["attrs"]["Target"].replace("../", "ppt/")
- };
- }
- }
- } else {
- masterFilename = RelationshipArray["attrs"]["Target"].replace("../", "ppt/");
- }
- // Open slideMasterXX.xml
- var slideMasterContent = readXmlFile(zip, masterFilename);
- var slideMasterTextStyles = getTextByPathList(slideMasterContent, ["p:sldMaster", "p:txStyles"]);
- var slideMasterTables = indexNodes(slideMasterContent);
- /////////////////Amir/////////////
- //Open slideMasterXX.xml.rels
- var slideMasterResFilename = masterFilename.replace("slideMasters/slideMaster", "slideMasters/_rels/slideMaster") + ".rels";
- var slideMasterResContent = readXmlFile(zip, slideMasterResFilename);
- RelationshipArray = slideMasterResContent["Relationships"]["Relationship"];
- var themeFilename = "";
- var masterResObj = {};
- if (RelationshipArray.constructor === Array) {
- for (var i = 0; i < RelationshipArray.length; i++) {
- switch (RelationshipArray[i]["attrs"]["Type"]) {
- case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme":
- themeFilename = RelationshipArray[i]["attrs"]["Target"].replace("../", "ppt/");
- break;
- default:
- masterResObj[RelationshipArray[i]["attrs"]["Id"]] = {
- "type": RelationshipArray[i]["attrs"]["Type"].replace("http://schemas.openxmlformats.org/officeDocument/2006/relationships/", ""),
- "target": RelationshipArray[i]["attrs"]["Target"].replace("../", "ppt/")
- };
- }
- }
- } else {
- themeFilename = RelationshipArray["attrs"]["Target"].replace("../", "ppt/");
- }
- //console.log(themeFilename)
- //Load Theme file
- var themeResObj = {};
- if (themeFilename !== undefined) {
- var themeName = themeFilename.split("/").pop();
- var themeResFileName = themeFilename.replace(themeName, "_rels/" + themeName) + ".rels";
- //console.log("themeFilename: ", themeFilename, ", themeName: ", themeName, ", themeResFileName: ", themeResFileName)
- var themeContent = readXmlFile(zip, themeFilename);
- var themeResContent = readXmlFile(zip, themeResFileName);
- if (themeResContent !== null) {
- var relationshipArray = themeResContent["Relationships"]["Relationship"];
- if (relationshipArray !== undefined){
- var themeFilename = "";
- if (relationshipArray.constructor === Array) {
- for (var i = 0; i < relationshipArray.length; i++) {
- themeResObj[relationshipArray[i]["attrs"]["Id"]] = {
- "type": relationshipArray[i]["attrs"]["Type"].replace("http://schemas.openxmlformats.org/officeDocument/2006/relationships/", ""),
- "target": relationshipArray[i]["attrs"]["Target"].replace("../", "ppt/")
- };
- }
- } else {
- //console.log("theme relationshipArray : ", relationshipArray)
- themeResObj[relationshipArray["attrs"]["Id"]] = {
- "type": relationshipArray["attrs"]["Type"].replace("http://schemas.openxmlformats.org/officeDocument/2006/relationships/", ""),
- "target": relationshipArray["attrs"]["Target"].replace("../", "ppt/")
- };
- }
- }
- }
- }
- //Load diagram file
- var diagramResObj = {};
- var digramFileContent = {};
- if (diagramFilename !== undefined) {
- var diagName = diagramFilename.split("/").pop();
- var diagramResFileName = diagramFilename.replace(diagName, "_rels/" + diagName) + ".rels";
- //console.log("diagramFilename: ", diagramFilename, ", themeName: ", themeName, ", diagramResFileName: ", diagramResFileName)
- digramFileContent = readXmlFile(zip, diagramFilename);
- if (digramFileContent !== null && digramFileContent !== undefined && digramFileContent != "") {
- var digramFileContentObjToStr = JSON.stringify(digramFileContent);
- digramFileContentObjToStr = digramFileContentObjToStr.replace(/dsp:/g, "p:");
- digramFileContent = JSON.parse(digramFileContentObjToStr);
- }
- var digramResContent = readXmlFile(zip, diagramResFileName);
- if (digramResContent !== null) {
- var relationshipArray = digramResContent["Relationships"]["Relationship"];
- var themeFilename = "";
- if (relationshipArray.constructor === Array) {
- for (var i = 0; i < relationshipArray.length; i++) {
- diagramResObj[relationshipArray[i]["attrs"]["Id"]] = {
- "type": relationshipArray[i]["attrs"]["Type"].replace("http://schemas.openxmlformats.org/officeDocument/2006/relationships/", ""),
- "target": relationshipArray[i]["attrs"]["Target"].replace("../", "ppt/")
- };
- }
- } else {
- //console.log("theme relationshipArray : ", relationshipArray)
- diagramResObj[relationshipArray["attrs"]["Id"]] = {
- "type": relationshipArray["attrs"]["Type"].replace("http://schemas.openxmlformats.org/officeDocument/2006/relationships/", ""),
- "target": relationshipArray["attrs"]["Target"].replace("../", "ppt/")
- };
- }
- }
- }
- //console.log("diagramResObj: " , diagramResObj)
- // =====< Step 3 >=====
- var slideContent = readXmlFile(zip, sldFileName , true);
- var nodes = slideContent["p:sld"]["p:cSld"]["p:spTree"];
- var warpObj = {
- "zip": zip,
- "slideLayoutContent": slideLayoutContent,
- "slideLayoutTables": slideLayoutTables,
- "slideMasterContent": slideMasterContent,
- "slideMasterTables": slideMasterTables,
- "slideContent": slideContent,
- "slideResObj": slideResObj,
- "slideMasterTextStyles": slideMasterTextStyles,
- "layoutResObj": layoutResObj,
- "masterResObj": masterResObj,
- "themeContent": themeContent,
- "themeResObj": themeResObj,
- "digramFileContent": digramFileContent,
- "diagramResObj": diagramResObj,
- "defaultTextStyle": defaultTextStyle
- };
- var bgResult = "";
- if (processFullTheme === true) {
- bgResult = getBackground(warpObj, slideSize, index);
- }
- var bgColor = "";
- if (processFullTheme == "colorsAndImageOnly") {
- bgColor = getSlideBackgroundFill(warpObj, index);
- }
- if (settings.slideMode && settings.slideType == "revealjs") {
- var result = "<section class='slide' style='width:" + slideSize.width + "px; height:" + slideSize.height + "px;" + bgColor + "'>"
- } else {
- var result = "<div class='slide' style='width:" + slideSize.width + "px; height:" + slideSize.height + "px;" + bgColor + "'>"
- }
- result += bgResult;
- for (var nodeKey in nodes) {
- if (nodes[nodeKey].constructor === Array) {
- for (var i = 0; i < nodes[nodeKey].length; i++) {
- result += processNodesInSlide(nodeKey, nodes[nodeKey][i], nodes, warpObj, "slide");
- }
- } else {
- result += processNodesInSlide(nodeKey, nodes[nodeKey], nodes, warpObj, "slide");
- }
- }
- if (settings.slideMode && settings.slideType == "revealjs") {
- return result + "</div></section>";
- } else {
- return result + "</div></div>";
- }
- }
- function indexNodes(content) {
- var keys = Object.keys(content);
- var spTreeNode = content[keys[0]]["p:cSld"]["p:spTree"];
- var idTable = {};
- var idxTable = {};
- var typeTable = {};
- for (var key in spTreeNode) {
- if (key == "p:nvGrpSpPr" || key == "p:grpSpPr") {
- continue;
- }
- var targetNode = spTreeNode[key];
- if (targetNode.constructor === Array) {
- for (var i = 0; i < targetNode.length; i++) {
- var nvSpPrNode = targetNode[i]["p:nvSpPr"];
- var id = getTextByPathList(nvSpPrNode, ["p:cNvPr", "attrs", "id"]);
- var idx = getTextByPathList(nvSpPrNode, ["p:nvPr", "p:ph", "attrs", "idx"]);
- var type = getTextByPathList(nvSpPrNode, ["p:nvPr", "p:ph", "attrs", "type"]);
- if (id !== undefined) {
- idTable[id] = targetNode[i];
- }
- if (idx !== undefined) {
- idxTable[idx] = targetNode[i];
- }
- if (type !== undefined) {
- typeTable[type] = targetNode[i];
- }
- }
- } else {
- var nvSpPrNode = targetNode["p:nvSpPr"];
- var id = getTextByPathList(nvSpPrNode, ["p:cNvPr", "attrs", "id"]);
- var idx = getTextByPathList(nvSpPrNode, ["p:nvPr", "p:ph", "attrs", "idx"]);
- var type = getTextByPathList(nvSpPrNode, ["p:nvPr", "p:ph", "attrs", "type"]);
- if (id !== undefined) {
- idTable[id] = targetNode;
- }
- if (idx !== undefined) {
- idxTable[idx] = targetNode;
- }
- if (type !== undefined) {
- typeTable[type] = targetNode;
- }
- }
- }
- return { "idTable": idTable, "idxTable": idxTable, "typeTable": typeTable };
- }
- function processNodesInSlide(nodeKey, nodeValue, nodes, warpObj, source, sType) {
- var result = "";
- switch (nodeKey) {
- case "p:sp": // Shape, Text
- result = processSpNode(nodeValue, nodes, warpObj, source, sType);
- break;
- case "p:cxnSp": // Shape, Text (with connection)
- result = processCxnSpNode(nodeValue, nodes, warpObj, source, sType);
- break;
- case "p:pic": // Picture
- result = processPicNode(nodeValue, warpObj, source, sType);
- break;
- case "p:graphicFrame": // Chart, Diagram, Table
- result = processGraphicFrameNode(nodeValue, warpObj, source, sType);
- break;
- case "p:grpSp":
- result = processGroupSpNode(nodeValue, warpObj, source);
- break;
- case "mc:AlternateContent": //Equations and formulas as Image
- //console.log("mc:AlternateContent nodeValue:" , nodeValue , "nodes:",nodes, "sType:",sType)
- var mcFallbackNode = getTextByPathList(nodeValue, ["mc:Fallback"]);
- result = processGroupSpNode(mcFallbackNode, warpObj, source);
- break;
- default:
- //console.log("nodeKey: ", nodeKey)
- }
- return result;
- }
- function processGroupSpNode(node, warpObj, source) {
- //console.log("processGroupSpNode: node: ", node)
- var xfrmNode = getTextByPathList(node, ["p:grpSpPr", "a:xfrm"]);
- if (xfrmNode !== undefined) {
- var x = parseInt(xfrmNode["a:off"]["attrs"]["x"]) * slideFactor;
- var y = parseInt(xfrmNode["a:off"]["attrs"]["y"]) * slideFactor;
- var chx = parseInt(xfrmNode["a:chOff"]["attrs"]["x"]) * slideFactor;
- var chy = parseInt(xfrmNode["a:chOff"]["attrs"]["y"]) * slideFactor;
- var cx = parseInt(xfrmNode["a:ext"]["attrs"]["cx"]) * slideFactor;
- var cy = parseInt(xfrmNode["a:ext"]["attrs"]["cy"]) * slideFactor;
- var chcx = parseInt(xfrmNode["a:chExt"]["attrs"]["cx"]) * slideFactor;
- var chcy = parseInt(xfrmNode["a:chExt"]["attrs"]["cy"]) * slideFactor;
- var rotate = parseInt(xfrmNode["attrs"]["rot"])
- var rotStr = ""//;" border: 3px solid black;";
- // angleToDegrees(getTextByPathList(slideXfrmNode, ["attrs", "rot"]));
- // var rotX = 0;
- // var rotY = 0;
- var top = y - chy,
- left = x - chx,
- width = cx - chcx,
- height = cy - chcy;
- var sType = "group";
- if (!isNaN(rotate)) {
- rotate = angleToDegrees(rotate);
- rotStr += "transform: rotate(" + rotate + "deg) ; transform-origin: center;";
- // var cLin = Math.sqrt(Math.pow((chy), 2) + Math.pow((chx), 2));
- // var rdian = degreesToRadians(rotate);
- // rotX = cLin * Math.cos(rdian);
- // rotY = cLin * Math.sin(rdian);
- if (rotate != 0) {
- top = y;
- left = x;
- width = cx;
- height = cy;
- sType = "group-rotate";
- }
- }
- }
- var grpStyle = "";
- if (rotStr !== undefined && rotStr != "") {
- grpStyle += rotStr;
- }
- if (top !== undefined) {
- grpStyle += "top: " + top + "px;";
- }
- if (left !== undefined) {
- grpStyle += "left: " + left + "px;";
- }
- if (width !== undefined) {
- grpStyle += "width:" + width + "px;";
- }
- if (height !== undefined) {
- grpStyle += "height: " + height + "px;";
- }
- var order = node["attrs"]["order"];
- var result = "<div class='block group' style='z-index: " + order + ";" + grpStyle + " border:1px solid red;'>";
- // Procsee all child nodes
- for (var nodeKey in node) {
- if (node[nodeKey].constructor === Array) {
- for (var i = 0; i < node[nodeKey].length; i++) {
- result += processNodesInSlide(nodeKey, node[nodeKey][i], node, warpObj, source, sType);
- }
- } else {
- result += processNodesInSlide(nodeKey, node[nodeKey], node, warpObj, source, sType);
- }
- }
- result += "</div>";
- return result;
- }
- function processSpNode(node, pNode, warpObj, source, sType) {
- /*
- * 958 <xsd:complexType name="CT_GvmlShape">
- * 959 <xsd:sequence>
- * 960 <xsd:element name="nvSpPr" type="CT_GvmlShapeNonVisual" minOccurs="1" maxOccurs="1"/>
- * 961 <xsd:element name="spPr" type="CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
- * 962 <xsd:element name="txSp" type="CT_GvmlTextShape" minOccurs="0" maxOccurs="1"/>
- * 963 <xsd:element name="style" type="CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
- * 964 <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
- * 965 </xsd:sequence>
- * 966 </xsd:complexType>
- */
- var id = getTextByPathList(node, ["p:nvSpPr", "p:cNvPr", "attrs", "id"]);
- var name = getTextByPathList(node, ["p:nvSpPr", "p:cNvPr", "attrs", "name"]);
- var idx = (getTextByPathList(node, ["p:nvSpPr", "p:nvPr", "p:ph", "attrs", "idx"]) === undefined) ? undefined : getTextByPathList(node, ["p:nvSpPr", "p:nvPr", "p:ph", "attrs", "idx"]);
- var type = (getTextByPathList(node, ["p:nvSpPr", "p:nvPr", "p:ph", "attrs", "type"]) === undefined) ? undefined : getTextByPathList(node, ["p:nvSpPr", "p:nvPr", "p:ph", "attrs", "type"]);
- var order = getTextByPathList(node, ["attrs", "order"]);
- var isUserDrawnBg;
- if (source == "slideLayoutBg" || source == "slideMasterBg") {
- var userDrawn = getTextByPathList(node, ["p:nvSpPr", "p:nvPr", "attrs", "userDrawn"]);
- if (userDrawn == "1") {
- isUserDrawnBg = true;
- } else {
- isUserDrawnBg = false;
- }
- }
- var slideLayoutSpNode = undefined;
- var slideMasterSpNode = undefined;
- if (idx !== undefined) {
- slideLayoutSpNode = warpObj["slideLayoutTables"]["idxTable"][idx];
- if (type !== undefined) {
- slideMasterSpNode = warpObj["slideMasterTables"]["typeTable"][type];
- } else {
- slideMasterSpNode = warpObj["slideMasterTables"]["idxTable"][idx];
- }
- } else {
- if (type !== undefined) {
- slideLayoutSpNode = warpObj["slideLayoutTables"]["typeTable"][type];
- slideMasterSpNode = warpObj["slideMasterTables"]["typeTable"][type];
- }
- }
- if (type === undefined) {
- txBoxVal = getTextByPathList(node, ["p:nvSpPr", "p:cNvSpPr", "attrs", "txBox"]);
- if (txBoxVal == "1") {
- type = "textBox";
- }
- }
- if (type === undefined) {
- type = getTextByPathList(slideLayoutSpNode, ["p:nvSpPr", "p:nvPr", "p:ph", "attrs", "type"]);
- if (type === undefined) {
- //type = getTextByPathList(slideMasterSpNode, ["p:nvSpPr", "p:nvPr", "p:ph", "attrs", "type"]);
- if (source == "diagramBg") {
- type = "diagram";
- } else {
- type = "obj"; //default type
- }
- }
- }
- //console.log("processSpNode type:", type, "idx:", idx);
- return genShape(node, pNode, slideLayoutSpNode, slideMasterSpNode, id, name, idx, type, order, warpObj, isUserDrawnBg, sType, source);
- }
- function processCxnSpNode(node, pNode, warpObj, source, sType) {
- var id = node["p:nvCxnSpPr"]["p:cNvPr"]["attrs"]["id"];
- var name = node["p:nvCxnSpPr"]["p:cNvPr"]["attrs"]["name"];
- var idx = (node["p:nvCxnSpPr"]["p:nvPr"]["p:ph"] === undefined) ? undefined : node["p:nvSpPr"]["p:nvPr"]["p:ph"]["attrs"]["idx"];
- var type = (node["p:nvCxnSpPr"]["p:nvPr"]["p:ph"] === undefined) ? undefined : node["p:nvSpPr"]["p:nvPr"]["p:ph"]["attrs"]["type"];
- //<p:cNvCxnSpPr>(<p:cNvCxnSpPr>, <a:endCxn>)
- var order = node["attrs"]["order"];
- return genShape(node, pNode, undefined, undefined, id, name, idx, type, order, warpObj, undefined, sType, source);
- }
- function genShape(node, pNode, slideLayoutSpNode, slideMasterSpNode, id, name, idx, type, order, warpObj, isUserDrawnBg, sType, source) {
- //var dltX = 0;
- //var dltY = 0;
- var xfrmList = ["p:spPr", "a:xfrm"];
- var slideXfrmNode = getTextByPathList(node, xfrmList);
- var slideLayoutXfrmNode = getTextByPathList(slideLayoutSpNode, xfrmList);
- var slideMasterXfrmNode = getTextByPathList(slideMasterSpNode, xfrmList);
- var result = "";
- var shpId = getTextByPathList(node, ["attrs", "order"]);
- //console.log("shpId: ",shpId)
- var shapType = getTextByPathList(node, ["p:spPr", "a:prstGeom", "attrs", "prst"]);
- //custGeom - Amir
- var custShapType = getTextByPathList(node, ["p:spPr", "a:custGeom"]);
- var isFlipV = false;
- var isFlipH = false;
- var flip = "";
- if (getTextByPathList(slideXfrmNode, ["attrs", "flipV"]) === "1") {
- isFlipV = true;
- }
- if (getTextByPathList(slideXfrmNode, ["attrs", "flipH"]) === "1") {
- isFlipH = true;
- }
- if (isFlipH && !isFlipV) {
- flip = " scale(-1,1)"
- } else if (!isFlipH && isFlipV) {
- flip = " scale(1,-1)"
- } else if (isFlipH && isFlipV) {
- flip = " scale(-1,-1)"
- }
- /////////////////////////Amir////////////////////////
- //rotate
- var rotate = angleToDegrees(getTextByPathList(slideXfrmNode, ["attrs", "rot"]));
- //console.log("genShape rotate: " + rotate);
- var txtRotate;
- var txtXframeNode = getTextByPathList(node, ["p:txXfrm"]);
- if (txtXframeNode !== undefined) {
- var txtXframeRot = getTextByPathList(txtXframeNode, ["attrs", "rot"]);
- if (txtXframeRot !== undefined) {
- txtRotate = angleToDegrees(txtXframeRot) + 90;
- }
- } else {
- txtRotate = rotate;
- }
- //////////////////////////////////////////////////
- if (shapType !== undefined || custShapType !== undefined /*&& slideXfrmNode !== undefined*/) {
- var off = getTextByPathList(slideXfrmNode, ["a:off", "attrs"]);
- var x = parseInt(off["x"]) * slideFactor;
- var y = parseInt(off["y"]) * slideFactor;
- var ext = getTextByPathList(slideXfrmNode, ["a:ext", "attrs"]);
- var w = parseInt(ext["cx"]) * slideFactor;
- var h = parseInt(ext["cy"]) * slideFactor;
- var svgCssName = "_svg_css_" + (Object.keys(styleTable).length + 1) + "_" + Math.floor(Math.random() * 1001);
- //console.log("name:", name, "svgCssName: ", svgCssName)
- var effectsClassName = svgCssName + "_effects";
- result += "<svg class='drawing " + svgCssName + " " + effectsClassName + " ' _id='" + id + "' _idx='" + idx + "' _type='" + type + "' _name='" + name + "'" +
- "' style='" +
- getPosition(slideXfrmNode, pNode, undefined, undefined, sType) +
- getSize(slideXfrmNode, undefined, undefined) +
- " z-index: " + order + ";" +
- "transform: rotate(" + ((rotate !== undefined) ? rotate : 0) + "deg)" + flip + ";" +
- "'>";
- result += '<defs>'
- // Fill Color
- var fillColor = getShapeFill(node, pNode, true, warpObj, source);
- //console.log("genShape: fillColor: ", fillColor)
- var grndFillFlg = false;
- var imgFillFlg = false;
- var clrFillType = getFillType(getTextByPathList(node, ["p:spPr"]));
- if (clrFillType == "GROUP_FILL") {
- clrFillType = getFillType(getTextByPathList(pNode, ["p:grpSpPr"]));
- }
- // if (clrFillType == "") {
- // var clrFillType = getFillType(getTextByPathList(node, ["p:style","a:fillRef"]));
- // }
- //console.log("genShape: fillColor: ", fillColor, ", clrFillType: ", clrFillType, ", node: ", node)
- /////////////////////////////////////////
- if (clrFillType == "GRADIENT_FILL") {
- grndFillFlg = true;
- var color_arry = fillColor.color;
- var angl = fillColor.rot + 90;
- var svgGrdnt = getSvgGradient(w, h, angl, color_arry, shpId);
- //fill="url(#linGrd)"
- //console.log("genShape: svgGrdnt: ", svgGrdnt)
- result += svgGrdnt;
- } else if (clrFillType == "PIC_FILL") {
- imgFillFlg = true;
- var svgBgImg = getSvgImagePattern(node, fillColor, shpId, warpObj);
- //fill="url(#imgPtrn)"
- //console.log(svgBgImg)
- result += svgBgImg;
- } else if (clrFillType == "PATTERN_FILL") {
- var styleText = fillColor;
- if (styleText in styleTable) {
- styleText += "do-nothing: " + svgCssName +";";
- }
- styleTable[styleText] = {
- "name": svgCssName,
- "text": styleText
- };
- //}
- fillColor = "none";
- } else {
- if (clrFillType != "SOLID_FILL" && clrFillType != "PATTERN_FILL" &&
- (shapType == "arc" ||
- shapType == "bracketPair" ||
- shapType == "bracePair" ||
- shapType == "leftBracket" ||
- shapType == "leftBrace" ||
- shapType == "rightBrace" ||
- shapType == "rightBracket")) { //Temp. solution - TODO
- fillColor = "none";
- }
- }
- // Border Color
- var border = getBorder(node, pNode, true, "shape", warpObj);
- var headEndNodeAttrs = getTextByPathList(node, ["p:spPr", "a:ln", "a:headEnd", "attrs"]);
- var tailEndNodeAttrs = getTextByPathList(node, ["p:spPr", "a:ln", "a:tailEnd", "attrs"]);
- // type: none, triangle, stealth, diamond, oval, arrow
- ////////////////////effects/////////////////////////////////////////////////////
- //p:spPr => a:effectLst =>
- //"a:blur"
- //"a:fillOverlay"
- //"a:glow"
- //"a:innerShdw"
- //"a:outerShdw"
- //"a:prstShdw"
- //"a:reflection"
- //"a:softEdge"
- //p:spPr => a:scene3d
- //"a:camera"
- //"a:lightRig"
- //"a:backdrop"
- //"a:extLst"?
- //p:spPr => a:sp3d
- //"a:bevelT"
- //"a:bevelB"
- //"a:extrusionClr"
- //"a:contourClr"
- //"a:extLst"?
- //////////////////////////////outerShdw///////////////////////////////////////////
- //not support sizing the shadow
- var outerShdwNode = getTextByPathList(node, ["p:spPr", "a:effectLst", "a:outerShdw"]);
- var oShadowSvgUrlStr = ""
- if (outerShdwNode !== undefined) {
- var chdwClrNode = getSolidFill(outerShdwNode, undefined, undefined, warpObj);
- var outerShdwAttrs = outerShdwNode["attrs"];
- //var algn = outerShdwAttrs["algn"];
- var dir = (outerShdwAttrs["dir"]) ? (parseInt(outerShdwAttrs["dir"]) / 60000) : 0;
- var dist = parseInt(outerShdwAttrs["dist"]) * slideFactor;//(px) //* (3 / 4); //(pt)
- //var rotWithShape = outerShdwAttrs["rotWithShape"];
- var blurRad = (outerShdwAttrs["blurRad"]) ? (parseInt(outerShdwAttrs["blurRad"]) * slideFactor) : ""; //+ "px"
- //var sx = (outerShdwAttrs["sx"]) ? (parseInt(outerShdwAttrs["sx"]) / 100000) : 1;
- //var sy = (outerShdwAttrs["sy"]) ? (parseInt(outerShdwAttrs["sy"]) / 100000) : 1;
- var vx = dist * Math.sin(dir * Math.PI / 180);
- var hx = dist * Math.cos(dir * Math.PI / 180);
- //SVG
- //var oShadowId = "outerhadow_" + shpId;
- //oShadowSvgUrlStr = "filter='url(#" + oShadowId+")'";
- //var shadowFilterStr = '<filter id="' + oShadowId + '" x="0" y="0" width="' + w * (6 / 8) + '" height="' + h + '">';
- //1:
- //shadowFilterStr += '<feDropShadow dx="' + vx + '" dy="' + hx + '" stdDeviation="' + blurRad * (3 / 4) + '" flood-color="#' + chdwClrNode +'" flood-opacity="1" />'
- //2:
- //shadowFilterStr += '<feFlood result="floodColor" flood-color="red" flood-opacity="0.5" width="' + w * (6 / 8) + '" height="' + h + '" />'; //#' + chdwClrNode +'
- //shadowFilterStr += '<feOffset result="offOut" in="SourceGraph ccfsdf-+ic" dx="' + vx + '" dy="' + hx + '"/>'; //how much to offset
- //shadowFilterStr += '<feGaussianBlur result="blurOut" in="offOut" stdDeviation="' + blurRad*(3/4) +'"/>'; //tdDeviation is how much to blur
- //shadowFilterStr += '<feComponentTransfer><feFuncA type="linear" slope="0.5"/></feComponentTransfer>'; //slope is the opacity of the shadow
- //shadowFilterStr += '<feBlend in="SourceGraphic" in2="blurOut" mode="normal" />'; //this contains the element that the filter is applied to
- //shadowFilterStr += '</filter>';
- //result += shadowFilterStr;
- //css:
- var svg_css_shadow = "filter:drop-shadow(" + hx + "px " + vx + "px " + blurRad + "px #" + chdwClrNode + ");";
- if (svg_css_shadow in styleTable) {
- svg_css_shadow += "do-nothing: " + svgCssName + ";";
- }
- styleTable[svg_css_shadow] = {
- "name": effectsClassName,
- "text": svg_css_shadow
- };
- }
- ////////////////////////////////////////////////////////////////////////////////////////
- if ((headEndNodeAttrs !== undefined && (headEndNodeAttrs["type"] === "triangle" || headEndNodeAttrs["type"] === "arrow")) ||
- (tailEndNodeAttrs !== undefined && (tailEndNodeAttrs["type"] === "triangle" || tailEndNodeAttrs["type"] === "arrow"))) {
- var triangleMarker = "<marker id='markerTriangle_" + shpId + "' viewBox='0 0 10 10' refX='1' refY='5' markerWidth='5' markerHeight='5' stroke='" + border.color + "' fill='" + border.color +
- "' orient='auto-start-reverse' markerUnits='strokeWidth'><path d='M 0 0 L 10 5 L 0 10 z' /></marker>";
- result += triangleMarker;
- }
- result += '</defs>'
- }
- if (shapType !== undefined && custShapType === undefined) {
- //console.log("shapType: ", shapType)
- switch (shapType) {
- case "rect":
- case "flowChartProcess":
- case "flowChartPredefinedProcess":
- case "flowChartInternalStorage":
- case "actionButtonBlank":
- result += "<rect x='0' y='0' width='" + w + "' height='" + h + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' " + oShadowSvgUrlStr + " />";
- if (shapType == "flowChartPredefinedProcess") {
- result += "<rect x='" + w * (1 / 8) + "' y='0' width='" + w * (6 / 8) + "' height='" + h + "' fill='none' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- } else if (shapType == "flowChartInternalStorage") {
- result += " <polyline points='" + w * (1 / 8) + " 0," + w * (1 / 8) + " " + h + "' fill='none' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- result += " <polyline points='0 " + h * (1 / 8) + "," + w + " " + h * (1 / 8) + "' fill='none' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- }
- break;
- case "flowChartCollate":
- var d = "M 0,0" +
- " L" + w + "," + 0 +
- " L" + 0 + "," + h +
- " L" + w + "," + h +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "flowChartDocument":
- var y1, y2, y3, x1;
- x1 = w * 10800 / 21600;
- y1 = h * 17322 / 21600;
- y2 = h * 20172 / 21600;
- y3 = h * 23922 / 21600;
- var d = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + y1 +
- " C" + x1 + "," + y1 + " " + x1 + "," + y3 + " " + 0 + "," + y2 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "flowChartMultidocument":
- var y1, y2, y3, y4, y5, y6, y7, y8, y9, x1, x2, x3, x4, x5, x6, x7;
- y1 = h * 18022 / 21600;
- y2 = h * 3675 / 21600;
- y3 = h * 23542 / 21600;
- y4 = h * 1815 / 21600;
- y5 = h * 16252 / 21600;
- y6 = h * 16352 / 21600;
- y7 = h * 14392 / 21600;
- y8 = h * 20782 / 21600;
- y9 = h * 14467 / 21600;
- x1 = w * 1532 / 21600;
- x2 = w * 20000 / 21600;
- x3 = w * 9298 / 21600;
- x4 = w * 19298 / 21600;
- x5 = w * 18595 / 21600;
- x6 = w * 2972 / 21600;
- x7 = w * 20800 / 21600;
- var d = "M" + 0 + "," + y2 +
- " L" + x5 + "," + y2 +
- " L" + x5 + "," + y1 +
- " C" + x3 + "," + y1 + " " + x3 + "," + y3 + " " + 0 + "," + y8 +
- " z" +
- "M" + x1 + "," + y2 +
- " L" + x1 + "," + y4 +
- " L" + x2 + "," + y4 +
- " L" + x2 + "," + y5 +
- " C" + x4 + "," + y5 + " " + x5 + "," + y6 + " " + x5 + "," + y6 +
- "M" + x6 + "," + y4 +
- " L" + x6 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + y7 +
- " C" + x7 + "," + y7 + " " + x2 + "," + y9 + " " + x2 + "," + y9;
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonBackPrevious":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g10, g11, g12;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g10 = vc + dx2;
- g11 = hc - dx2;
- g12 = hc + dx2;
- var d = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- "M" + g11 + "," + vc +
- " L" + g12 + "," + g9 +
- " L" + g12 + "," + g10 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonBeginning":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g10, g11, g12, g13, g14, g15, g16, g17;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g10 = vc + dx2;
- g11 = hc - dx2;
- g12 = hc + dx2;
- g13 = ss * 3 / 4;
- g14 = g13 / 8;
- g15 = g13 / 4;
- g16 = g11 + g14;
- g17 = g11 + g15;
- var d = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- "M" + g17 + "," + vc +
- " L" + g12 + "," + g9 +
- " L" + g12 + "," + g10 +
- " z" +
- "M" + g16 + "," + g9 +
- " L" + g11 + "," + g9 +
- " L" + g11 + "," + g10 +
- " L" + g16 + "," + g10 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonDocument":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g10, dx1, g11, g12, g13, g14, g15;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g10 = vc + dx2;
- dx1 = ss * 9 / 32;
- g11 = hc - dx1;
- g12 = hc + dx1;
- g13 = ss * 3 / 16;
- g14 = g12 - g13;
- g15 = g9 + g13;
- var d = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- "M" + g11 + "," + g9 +
- " L" + g14 + "," + g9 +
- " L" + g12 + "," + g15 +
- " L" + g12 + "," + g10 +
- " L" + g11 + "," + g10 +
- " z" +
- "M" + g14 + "," + g9 +
- " L" + g14 + "," + g15 +
- " L" + g12 + "," + g15 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonEnd":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g10, g11, g12, g13, g14, g15, g16, g17;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g10 = vc + dx2;
- g11 = hc - dx2;
- g12 = hc + dx2;
- g13 = ss * 3 / 4;
- g14 = g13 * 3 / 4;
- g15 = g13 * 7 / 8;
- g16 = g11 + g14;
- g17 = g11 + g15;
- var d = "M" + 0 + "," + h +
- " L" + w + "," + h +
- " L" + w + "," + 0 +
- " L" + 0 + "," + 0 +
- " z" +
- " M" + g17 + "," + g9 +
- " L" + g12 + "," + g9 +
- " L" + g12 + "," + g10 +
- " L" + g17 + "," + g10 +
- " z" +
- " M" + g16 + "," + vc +
- " L" + g11 + "," + g9 +
- " L" + g11 + "," + g10 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonForwardNext":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g10, g11, g12;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g10 = vc + dx2;
- g11 = hc - dx2;
- g12 = hc + dx2;
- var d = "M" + 0 + "," + h +
- " L" + w + "," + h +
- " L" + w + "," + 0 +
- " L" + 0 + "," + 0 +
- " z" +
- " M" + g12 + "," + vc +
- " L" + g11 + "," + g9 +
- " L" + g11 + "," + g10 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonHelp":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g11, g13, g14, g15, g16, g19, g20, g21, g23, g24, g27, g29, g30, g31, g33, g36, g37, g41, g42;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g11 = hc - dx2;
- g13 = ss * 3 / 4;
- g14 = g13 / 7;
- g15 = g13 * 3 / 14;
- g16 = g13 * 2 / 7;
- g19 = g13 * 3 / 7;
- g20 = g13 * 4 / 7;
- g21 = g13 * 17 / 28;
- g23 = g13 * 21 / 28;
- g24 = g13 * 11 / 14;
- g27 = g9 + g16;
- g29 = g9 + g21;
- g30 = g9 + g23;
- g31 = g9 + g24;
- g33 = g11 + g15;
- g36 = g11 + g19;
- g37 = g11 + g20;
- g41 = g13 / 14;
- g42 = g13 * 3 / 28;
- var cX1 = g33 + g16;
- var cX2 = g36 + g14;
- var cY3 = g31 + g42;
- var cX4 = (g37 + g36 + g16) / 2;
- var d = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- "M" + g33 + "," + g27 +
- shapeArc(cX1, g27, g16, g16, 180, 360, false).replace("M", "L") +
- shapeArc(cX4, g27, g14, g15, 0, 90, false).replace("M", "L") +
- shapeArc(cX4, g29, g41, g42, 270, 180, false).replace("M", "L") +
- " L" + g37 + "," + g30 +
- " L" + g36 + "," + g30 +
- " L" + g36 + "," + g29 +
- shapeArc(cX2, g29, g14, g15, 180, 270, false).replace("M", "L") +
- shapeArc(g37, g27, g41, g42, 90, 0, false).replace("M", "L") +
- shapeArc(cX1, g27, g14, g14, 0, -180, false).replace("M", "L") +
- " z" +
- "M" + hc + "," + g31 +
- shapeArc(hc, cY3, g42, g42, 270, 630, false).replace("M", "L") +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonHome":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g10, g11, g12, g13, g14, g15, g16, g17, g18, g19, g20, g21, g22, g23, g24, g25, g26, g27, g28, g29, g30, g31, g32, g33;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g10 = vc + dx2;
- g11 = hc - dx2;
- g12 = hc + dx2;
- g13 = ss * 3 / 4;
- g14 = g13 / 16;
- g15 = g13 / 8;
- g16 = g13 * 3 / 16;
- g17 = g13 * 5 / 16;
- g18 = g13 * 7 / 16;
- g19 = g13 * 9 / 16;
- g20 = g13 * 11 / 16;
- g21 = g13 * 3 / 4;
- g22 = g13 * 13 / 16;
- g23 = g13 * 7 / 8;
- g24 = g9 + g14;
- g25 = g9 + g16;
- g26 = g9 + g17;
- g27 = g9 + g21;
- g28 = g11 + g15;
- g29 = g11 + g18;
- g30 = g11 + g19;
- g31 = g11 + g20;
- g32 = g11 + g22;
- g33 = g11 + g23;
- var d = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- " M" + hc + "," + g9 +
- " L" + g11 + "," + vc +
- " L" + g28 + "," + vc +
- " L" + g28 + "," + g10 +
- " L" + g33 + "," + g10 +
- " L" + g33 + "," + vc +
- " L" + g12 + "," + vc +
- " L" + g32 + "," + g26 +
- " L" + g32 + "," + g24 +
- " L" + g31 + "," + g24 +
- " L" + g31 + "," + g25 +
- " z" +
- " M" + g29 + "," + g27 +
- " L" + g30 + "," + g27 +
- " L" + g30 + "," + g10 +
- " L" + g29 + "," + g10 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonInformation":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g11, g13, g14, g17, g18, g19, g20, g22, g23, g24, g25, g28, g29, g30, g31, g32, g34, g35, g37, g38;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g11 = hc - dx2;
- g13 = ss * 3 / 4;
- g14 = g13 / 32;
- g17 = g13 * 5 / 16;
- g18 = g13 * 3 / 8;
- g19 = g13 * 13 / 32;
- g20 = g13 * 19 / 32;
- g22 = g13 * 11 / 16;
- g23 = g13 * 13 / 16;
- g24 = g13 * 7 / 8;
- g25 = g9 + g14;
- g28 = g9 + g17;
- g29 = g9 + g18;
- g30 = g9 + g23;
- g31 = g9 + g24;
- g32 = g11 + g17;
- g34 = g11 + g19;
- g35 = g11 + g20;
- g37 = g11 + g22;
- g38 = g13 * 3 / 32;
- var cY1 = g9 + dx2;
- var cY2 = g25 + g38;
- var d = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- "M" + hc + "," + g9 +
- shapeArc(hc, cY1, dx2, dx2, 270, 630, false).replace("M", "L") +
- " z" +
- "M" + hc + "," + g25 +
- shapeArc(hc, cY2, g38, g38, 270, 630, false).replace("M", "L") +
- "M" + g32 + "," + g28 +
- " L" + g35 + "," + g28 +
- " L" + g35 + "," + g30 +
- " L" + g37 + "," + g30 +
- " L" + g37 + "," + g31 +
- " L" + g32 + "," + g31 +
- " L" + g32 + "," + g30 +
- " L" + g34 + "," + g30 +
- " L" + g34 + "," + g29 +
- " L" + g32 + "," + g29 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonMovie":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g10, g11, g12, g13, g14, g15, g16, g17, g18, g19, g20, g21, g22, g23, g24, g25, g26, g27,
- g28, g29, g30, g31, g32, g33, g34, g35, g36, g37, g38, g39, g40, g41, g42, g43, g44, g45, g46, g47, g48;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g10 = vc + dx2;
- g11 = hc - dx2;
- g12 = hc + dx2;
- g13 = ss * 3 / 4;
- g14 = g13 * 1455 / 21600;
- g15 = g13 * 1905 / 21600;
- g16 = g13 * 2325 / 21600;
- g17 = g13 * 16155 / 21600;
- g18 = g13 * 17010 / 21600;
- g19 = g13 * 19335 / 21600;
- g20 = g13 * 19725 / 21600;
- g21 = g13 * 20595 / 21600;
- g22 = g13 * 5280 / 21600;
- g23 = g13 * 5730 / 21600;
- g24 = g13 * 6630 / 21600;
- g25 = g13 * 7492 / 21600;
- g26 = g13 * 9067 / 21600;
- g27 = g13 * 9555 / 21600;
- g28 = g13 * 13342 / 21600;
- g29 = g13 * 14580 / 21600;
- g30 = g13 * 15592 / 21600;
- g31 = g11 + g14;
- g32 = g11 + g15;
- g33 = g11 + g16;
- g34 = g11 + g17;
- g35 = g11 + g18;
- g36 = g11 + g19;
- g37 = g11 + g20;
- g38 = g11 + g21;
- g39 = g9 + g22;
- g40 = g9 + g23;
- g41 = g9 + g24;
- g42 = g9 + g25;
- g43 = g9 + g26;
- g44 = g9 + g27;
- g45 = g9 + g28;
- g46 = g9 + g29;
- g47 = g9 + g30;
- g48 = g9 + g31;
- var d = "M" + 0 + "," + h +
- " L" + w + "," + h +
- " L" + w + "," + 0 +
- " L" + 0 + "," + 0 +
- " z" +
- "M" + g11 + "," + g39 +
- " L" + g11 + "," + g44 +
- " L" + g31 + "," + g44 +
- " L" + g32 + "," + g43 +
- " L" + g33 + "," + g43 +
- " L" + g33 + "," + g47 +
- " L" + g35 + "," + g47 +
- " L" + g35 + "," + g45 +
- " L" + g36 + "," + g45 +
- " L" + g38 + "," + g46 +
- " L" + g12 + "," + g46 +
- " L" + g12 + "," + g41 +
- " L" + g38 + "," + g41 +
- " L" + g37 + "," + g42 +
- " L" + g35 + "," + g42 +
- " L" + g35 + "," + g41 +
- " L" + g34 + "," + g40 +
- " L" + g32 + "," + g40 +
- " L" + g31 + "," + g39 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonReturn":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g10, g11, g12, g13, g14, g15, g16, g17, g18, g19, g20, g21, g22, g23, g24, g25, g26, g27;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g10 = vc + dx2;
- g11 = hc - dx2;
- g12 = hc + dx2;
- g13 = ss * 3 / 4;
- g14 = g13 * 7 / 8;
- g15 = g13 * 3 / 4;
- g16 = g13 * 5 / 8;
- g17 = g13 * 3 / 8;
- g18 = g13 / 4;
- g19 = g9 + g15;
- g20 = g9 + g16;
- g21 = g9 + g18;
- g22 = g11 + g14;
- g23 = g11 + g15;
- g24 = g11 + g16;
- g25 = g11 + g17;
- g26 = g11 + g18;
- g27 = g13 / 8;
- var cX1 = g24 - g27;
- var cY2 = g19 - g27;
- var cX3 = g11 + g17;
- var cY4 = g10 - g17;
- var d = "M" + 0 + "," + h +
- " L" + w + "," + h +
- " L" + w + "," + 0 +
- " L" + 0 + "," + 0 +
- " z" +
- " M" + g12 + "," + g21 +
- " L" + g23 + "," + g9 +
- " L" + hc + "," + g21 +
- " L" + g24 + "," + g21 +
- " L" + g24 + "," + g20 +
- shapeArc(cX1, g20, g27, g27, 0, 90, false).replace("M", "L") +
- " L" + g25 + "," + g19 +
- shapeArc(g25, cY2, g27, g27, 90, 180, false).replace("M", "L") +
- " L" + g26 + "," + g21 +
- " L" + g11 + "," + g21 +
- " L" + g11 + "," + g20 +
- shapeArc(cX3, g20, g17, g17, 180, 90, false).replace("M", "L") +
- " L" + hc + "," + g10 +
- shapeArc(hc, cY4, g17, g17, 90, 0, false).replace("M", "L") +
- " L" + g22 + "," + g21 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "actionButtonSound":
- var hc = w / 2, vc = h / 2, ss = Math.min(w, h);
- var dx2, g9, g10, g11, g12, g13, g14, g15, g16, g17, g18, g19, g20, g21, g22, g23, g24, g25, g26;
- dx2 = ss * 3 / 8;
- g9 = vc - dx2;
- g10 = vc + dx2;
- g11 = hc - dx2;
- g12 = hc + dx2;
- g13 = ss * 3 / 4;
- g14 = g13 / 8;
- g15 = g13 * 5 / 16;
- g16 = g13 * 5 / 8;
- g17 = g13 * 11 / 16;
- g18 = g13 * 3 / 4;
- g19 = g13 * 7 / 8;
- g20 = g9 + g14;
- g21 = g9 + g15;
- g22 = g9 + g17;
- g23 = g9 + g19;
- g24 = g11 + g15;
- g25 = g11 + g16;
- g26 = g11 + g18;
- var d = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- " M" + g11 + "," + g21 +
- " L" + g24 + "," + g21 +
- " L" + g25 + "," + g9 +
- " L" + g25 + "," + g10 +
- " L" + g24 + "," + g22 +
- " L" + g11 + "," + g22 +
- " z" +
- " M" + g26 + "," + g21 +
- " L" + g12 + "," + g20 +
- " M" + g26 + "," + vc +
- " L" + g12 + "," + vc +
- " M" + g26 + "," + g22 +
- " L" + g12 + "," + g23;
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "irregularSeal1":
- case "irregularSeal2":
- if (shapType == "irregularSeal1") {
- var d = "M" + w * 10800 / 21600 + "," + h * 5800 / 21600 +
- " L" + w * 14522 / 21600 + "," + 0 +
- " L" + w * 14155 / 21600 + "," + h * 5325 / 21600 +
- " L" + w * 18380 / 21600 + "," + h * 4457 / 21600 +
- " L" + w * 16702 / 21600 + "," + h * 7315 / 21600 +
- " L" + w * 21097 / 21600 + "," + h * 8137 / 21600 +
- " L" + w * 17607 / 21600 + "," + h * 10475 / 21600 +
- " L" + w + "," + h * 13290 / 21600 +
- " L" + w * 16837 / 21600 + "," + h * 12942 / 21600 +
- " L" + w * 18145 / 21600 + "," + h * 18095 / 21600 +
- " L" + w * 14020 / 21600 + "," + h * 14457 / 21600 +
- " L" + w * 13247 / 21600 + "," + h * 19737 / 21600 +
- " L" + w * 10532 / 21600 + "," + h * 14935 / 21600 +
- " L" + w * 8485 / 21600 + "," + h +
- " L" + w * 7715 / 21600 + "," + h * 15627 / 21600 +
- " L" + w * 4762 / 21600 + "," + h * 17617 / 21600 +
- " L" + w * 5667 / 21600 + "," + h * 13937 / 21600 +
- " L" + w * 135 / 21600 + "," + h * 14587 / 21600 +
- " L" + w * 3722 / 21600 + "," + h * 11775 / 21600 +
- " L" + 0 + "," + h * 8615 / 21600 +
- " L" + w * 4627 / 21600 + "," + h * 7617 / 21600 +
- " L" + w * 370 / 21600 + "," + h * 2295 / 21600 +
- " L" + w * 7312 / 21600 + "," + h * 6320 / 21600 +
- " L" + w * 8352 / 21600 + "," + h * 2295 / 21600 +
- " z";
- } else if (shapType == "irregularSeal2") {
- var d = "M" + w * 11462 / 21600 + "," + h * 4342 / 21600 +
- " L" + w * 14790 / 21600 + "," + 0 +
- " L" + w * 14525 / 21600 + "," + h * 5777 / 21600 +
- " L" + w * 18007 / 21600 + "," + h * 3172 / 21600 +
- " L" + w * 16380 / 21600 + "," + h * 6532 / 21600 +
- " L" + w + "," + h * 6645 / 21600 +
- " L" + w * 16985 / 21600 + "," + h * 9402 / 21600 +
- " L" + w * 18270 / 21600 + "," + h * 11290 / 21600 +
- " L" + w * 16380 / 21600 + "," + h * 12310 / 21600 +
- " L" + w * 18877 / 21600 + "," + h * 15632 / 21600 +
- " L" + w * 14640 / 21600 + "," + h * 14350 / 21600 +
- " L" + w * 14942 / 21600 + "," + h * 17370 / 21600 +
- " L" + w * 12180 / 21600 + "," + h * 15935 / 21600 +
- " L" + w * 11612 / 21600 + "," + h * 18842 / 21600 +
- " L" + w * 9872 / 21600 + "," + h * 17370 / 21600 +
- " L" + w * 8700 / 21600 + "," + h * 19712 / 21600 +
- " L" + w * 7527 / 21600 + "," + h * 18125 / 21600 +
- " L" + w * 4917 / 21600 + "," + h +
- " L" + w * 4805 / 21600 + "," + h * 18240 / 21600 +
- " L" + w * 1285 / 21600 + "," + h * 17825 / 21600 +
- " L" + w * 3330 / 21600 + "," + h * 15370 / 21600 +
- " L" + 0 + "," + h * 12877 / 21600 +
- " L" + w * 3935 / 21600 + "," + h * 11592 / 21600 +
- " L" + w * 1172 / 21600 + "," + h * 8270 / 21600 +
- " L" + w * 5372 / 21600 + "," + h * 7817 / 21600 +
- " L" + w * 4502 / 21600 + "," + h * 3625 / 21600 +
- " L" + w * 8550 / 21600 + "," + h * 6382 / 21600 +
- " L" + w * 9722 / 21600 + "," + h * 1887 / 21600 +
- " z";
- }
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "flowChartTerminator":
- var x1, x2, y1, cd2 = 180, cd4 = 90, c3d4 = 270;
- x1 = w * 3475 / 21600;
- x2 = w * 18125 / 21600;
- y1 = h * 10800 / 21600;
- //path attrs: w = 21600; h = 21600;
- var d = "M" + x1 + "," + 0 +
- " L" + x2 + "," + 0 +
- shapeArc(x2, h / 2, x1, y1, c3d4, c3d4 + cd2, false).replace("M", "L") +
- " L" + x1 + "," + h +
- shapeArc(x1, h / 2, x1, y1, cd4, cd4 + cd2, false).replace("M", "L") +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "flowChartPunchedTape":
- var x1, x1, y1, y2, cd2 = 180;
- x1 = w * 5 / 20;
- y1 = h * 2 / 20;
- y2 = h * 18 / 20;
- var d = "M" + 0 + "," + y1 +
- shapeArc(x1, y1, x1, y1, cd2, 0, false).replace("M", "L") +
- shapeArc(w * (3 / 4), y1, x1, y1, cd2, 360, false).replace("M", "L") +
- " L" + w + "," + y2 +
- shapeArc(w * (3 / 4), y2, x1, y1, 0, -cd2, false).replace("M", "L") +
- shapeArc(x1, y2, x1, y1, 0, cd2, false).replace("M", "L") +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "flowChartOnlineStorage":
- var x1, y1, c3d4 = 270, cd4 = 90;
- x1 = w * 1 / 6;
- y1 = h * 3 / 6;
- var d = "M" + x1 + "," + 0 +
- " L" + w + "," + 0 +
- shapeArc(w, h / 2, x1, y1, c3d4, 90, false).replace("M", "L") +
- " L" + x1 + "," + h +
- shapeArc(x1, h / 2, x1, y1, cd4, 270, false).replace("M", "L") +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "flowChartDisplay":
- var x1, x2, y1, c3d4 = 270, cd2 = 180;
- x1 = w * 1 / 6;
- x2 = w * 5 / 6;
- y1 = h * 3 / 6;
- //path attrs: w = 6; h = 6;
- var d = "M" + 0 + "," + y1 +
- " L" + x1 + "," + 0 +
- " L" + x2 + "," + 0 +
- shapeArc(w, h / 2, x1, y1, c3d4, c3d4 + cd2, false).replace("M", "L") +
- " L" + x1 + "," + h +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "flowChartDelay":
- var wd2 = w / 2, hd2 = h / 2, cd2 = 180, c3d4 = 270, cd4 = 90;
- var d = "M" + 0 + "," + 0 +
- " L" + wd2 + "," + 0 +
- shapeArc(wd2, hd2, wd2, hd2, c3d4, c3d4 + cd2, false).replace("M", "L") +
- " L" + 0 + "," + h +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "flowChartMagneticTape":
- var wd2 = w / 2, hd2 = h / 2, cd2 = 180, c3d4 = 270, cd4 = 90;
- var idy, ib, ang1;
- idy = hd2 * Math.sin(Math.PI / 4);
- ib = hd2 + idy;
- ang1 = Math.atan(h / w);
- var ang1Dg = ang1 * 180 / Math.PI;
- var d = "M" + wd2 + "," + h +
- shapeArc(wd2, hd2, wd2, hd2, cd4, cd2, false).replace("M", "L") +
- shapeArc(wd2, hd2, wd2, hd2, cd2, c3d4, false).replace("M", "L") +
- shapeArc(wd2, hd2, wd2, hd2, c3d4, 360, false).replace("M", "L") +
- shapeArc(wd2, hd2, wd2, hd2, 0, ang1Dg, false).replace("M", "L") +
- " L" + w + "," + ib +
- " L" + w + "," + h +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "ellipse":
- case "flowChartConnector":
- case "flowChartSummingJunction":
- case "flowChartOr":
- result += "<ellipse cx='" + (w / 2) + "' cy='" + (h / 2) + "' rx='" + (w / 2) + "' ry='" + (h / 2) + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- if (shapType == "flowChartOr") {
- result += " <polyline points='" + w / 2 + " " + 0 + "," + w / 2 + " " + h + "' fill='none' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- result += " <polyline points='" + 0 + " " + h / 2 + "," + w + " " + h / 2 + "' fill='none' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- } else if (shapType == "flowChartSummingJunction") {
- var iDx, idy, il, ir, it, ib, hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2;
- var angVal = Math.PI / 4;
- iDx = wd2 * Math.cos(angVal);
- idy = hd2 * Math.sin(angVal);
- il = hc - iDx;
- ir = hc + iDx;
- it = vc - idy;
- ib = vc + idy;
- result += " <polyline points='" + il + " " + it + "," + ir + " " + ib + "' fill='none' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- result += " <polyline points='" + ir + " " + it + "," + il + " " + ib + "' fill='none' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- }
- break;
- case "roundRect":
- case "round1Rect":
- case "round2DiagRect":
- case "round2SameRect":
- case "snip1Rect":
- case "snip2DiagRect":
- case "snip2SameRect":
- case "flowChartAlternateProcess":
- case "flowChartPunchedCard":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val;// = 0.33334;
- var sAdj2, sAdj2_val;// = 0.33334;
- var shpTyp, adjTyp;
- if (shapAdjst_ary !== undefined && shapAdjst_ary.constructor === Array) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = parseInt(sAdj1.substr(4)) / 50000;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj2_val = parseInt(sAdj2.substr(4)) / 50000;
- }
- }
- } else if (shapAdjst_ary !== undefined && shapAdjst_ary.constructor !== Array) {
- var sAdj = getTextByPathList(shapAdjst_ary, ["attrs", "fmla"]);
- sAdj1_val = parseInt(sAdj.substr(4)) / 50000;
- sAdj2_val = 0;
- }
- //console.log("shapType: ",shapType,",node: ",node )
- var tranglRott = "";
- switch (shapType) {
- case "roundRect":
- case "flowChartAlternateProcess":
- shpTyp = "round";
- adjTyp = "cornrAll";
- if (sAdj1_val === undefined) sAdj1_val = 0.33334;
- sAdj2_val = 0;
- break;
- case "round1Rect":
- shpTyp = "round";
- adjTyp = "cornr1";
- if (sAdj1_val === undefined) sAdj1_val = 0.33334;
- sAdj2_val = 0;
- break;
- case "round2DiagRect":
- shpTyp = "round";
- adjTyp = "diag";
- if (sAdj1_val === undefined) sAdj1_val = 0.33334;
- if (sAdj2_val === undefined) sAdj2_val = 0;
- break;
- case "round2SameRect":
- shpTyp = "round";
- adjTyp = "cornr2";
- if (sAdj1_val === undefined) sAdj1_val = 0.33334;
- if (sAdj2_val === undefined) sAdj2_val = 0;
- break;
- case "snip1Rect":
- case "flowChartPunchedCard":
- shpTyp = "snip";
- adjTyp = "cornr1";
- if (sAdj1_val === undefined) sAdj1_val = 0.33334;
- sAdj2_val = 0;
- if (shapType == "flowChartPunchedCard") {
- tranglRott = "transform='translate(" + w + ",0) scale(-1,1)'";
- }
- break;
- case "snip2DiagRect":
- shpTyp = "snip";
- adjTyp = "diag";
- if (sAdj1_val === undefined) sAdj1_val = 0;
- if (sAdj2_val === undefined) sAdj2_val = 0.33334;
- break;
- case "snip2SameRect":
- shpTyp = "snip";
- adjTyp = "cornr2";
- if (sAdj1_val === undefined) sAdj1_val = 0.33334;
- if (sAdj2_val === undefined) sAdj2_val = 0;
- break;
- }
- var d_val = shapeSnipRoundRect(w, h, sAdj1_val, sAdj2_val, shpTyp, adjTyp);
- result += "<path " + tranglRott + " d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "snipRoundRect":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val = 0.33334;
- var sAdj2, sAdj2_val = 0.33334;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = parseInt(sAdj1.substr(4)) / 50000;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj2_val = parseInt(sAdj2.substr(4)) / 50000;
- }
- }
- }
- var d_val = "M0," + h + " L" + w + "," + h + " L" + w + "," + (h / 2) * sAdj2_val +
- " L" + (w / 2 + (w / 2) * (1 - sAdj2_val)) + ",0 L" + (w / 2) * sAdj1_val + ",0 Q0,0 0," + (h / 2) * sAdj1_val + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "bentConnector2":
- var d = "";
- // if (isFlipV) {
- // d = "M 0 " + w + " L " + h + " " + w + " L " + h + " 0";
- // } else {
- d = "M " + w + " 0 L " + w + " " + h + " L 0 " + h;
- //}
- result += "<path d='" + d + "' stroke='" + border.color +
- "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' fill='none' ";
- if (headEndNodeAttrs !== undefined && (headEndNodeAttrs["type"] === "triangle" || headEndNodeAttrs["type"] === "arrow")) {
- result += "marker-start='url(#markerTriangle_" + shpId + ")' ";
- }
- if (tailEndNodeAttrs !== undefined && (tailEndNodeAttrs["type"] === "triangle" || tailEndNodeAttrs["type"] === "arrow")) {
- result += "marker-end='url(#markerTriangle_" + shpId + ")' ";
- }
- result += "/>";
- break;
- case "rtTriangle":
- result += " <polygon points='0 0,0 " + h + "," + w + " " + h + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "triangle":
- case "flowChartExtract":
- case "flowChartMerge":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var shapAdjst_val = 0.5;
- if (shapAdjst !== undefined) {
- shapAdjst_val = parseInt(shapAdjst.substr(4)) * slideFactor;
- //console.log("w: "+w+"\nh: "+h+"\nshapAdjst: "+shapAdjst+"\nshapAdjst_val: "+shapAdjst_val);
- }
- var tranglRott = "";
- if (shapType == "flowChartMerge") {
- tranglRott = "transform='rotate(180 " + w / 2 + "," + h / 2 + ")'";
- }
- result += " <polygon " + tranglRott + " points='" + (w * shapAdjst_val) + " 0,0 " + h + "," + w + " " + h + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "diamond":
- case "flowChartDecision":
- case "flowChartSort":
- result += " <polygon points='" + (w / 2) + " 0,0 " + (h / 2) + "," + (w / 2) + " " + h + "," + w + " " + (h / 2) + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- if (shapType == "flowChartSort") {
- result += " <polyline points='0 " + h / 2 + "," + w + " " + h / 2 + "' fill='none' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- }
- break;
- case "trapezoid":
- case "flowChartManualOperation":
- case "flowChartManualInput":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adjst_val = 0.2;
- var max_adj_const = 0.7407;
- if (shapAdjst !== undefined) {
- var adjst = parseInt(shapAdjst.substr(4)) * slideFactor;
- adjst_val = (adjst * 0.5) / max_adj_const;
- // console.log("w: "+w+"\nh: "+h+"\nshapAdjst: "+shapAdjst+"\nadjst_val: "+adjst_val);
- }
- var cnstVal = 0;
- var tranglRott = "";
- if (shapType == "flowChartManualOperation") {
- tranglRott = "transform='rotate(180 " + w / 2 + "," + h / 2 + ")'";
- }
- if (shapType == "flowChartManualInput") {
- adjst_val = 0;
- cnstVal = h / 5;
- }
- result += " <polygon " + tranglRott + " points='" + (w * adjst_val) + " " + cnstVal + ",0 " + h + "," + w + " " + h + "," + (1 - adjst_val) * w + " 0' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "parallelogram":
- case "flowChartInputOutput":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adjst_val = 0.25;
- var max_adj_const;
- if (w > h) {
- max_adj_const = w / h;
- } else {
- max_adj_const = h / w;
- }
- if (shapAdjst !== undefined) {
- var adjst = parseInt(shapAdjst.substr(4)) / 100000;
- adjst_val = adjst / max_adj_const;
- //console.log("w: "+w+"\nh: "+h+"\nadjst: "+adjst_val+"\nmax_adj_const: "+max_adj_const);
- }
- result += " <polygon points='" + adjst_val * w + " 0,0 " + h + "," + (1 - adjst_val) * w + " " + h + "," + w + " 0' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- break;
- case "pentagon":
- result += " <polygon points='" + (0.5 * w) + " 0,0 " + (0.375 * h) + "," + (0.15 * w) + " " + h + "," + 0.85 * w + " " + h + "," + w + " " + 0.375 * h + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "hexagon":
- case "flowChartPreparation":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 25000 * slideFactor;
- var vf = 115470 * slideFactor;;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var angVal1 = 60 * Math.PI / 180;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var maxAdj, a, shd2, x1, x2, dy1, y1, y2, vc = h / 2, hd2 = h / 2;
- var ss = Math.min(w, h);
- maxAdj = cnstVal1 * w / ss;
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- shd2 = hd2 * vf / cnstVal2;
- x1 = ss * a / cnstVal2;
- x2 = w - x1;
- dy1 = shd2 * Math.sin(angVal1);
- y1 = vc - dy1;
- y2 = vc + dy1;
- var d = "M" + 0 + "," + vc +
- " L" + x1 + "," + y1 +
- " L" + x2 + "," + y1 +
- " L" + w + "," + vc +
- " L" + x2 + "," + y2 +
- " L" + x1 + "," + y2 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "heptagon":
- result += " <polygon points='" + (0.5 * w) + " 0," + w / 8 + " " + h / 4 + ",0 " + (5 / 8) * h + "," + w / 4 + " " + h + "," + (3 / 4) * w + " " + h + "," +
- w + " " + (5 / 8) * h + "," + (7 / 8) * w + " " + h / 4 + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "octagon":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj1 = 0.25;
- if (shapAdjst !== undefined) {
- adj1 = parseInt(shapAdjst.substr(4)) / 100000;
- }
- var adj2 = (1 - adj1);
- //console.log("adj1: "+adj1+"\nadj2: "+adj2);
- result += " <polygon points='" + adj1 * w + " 0,0 " + adj1 * h + ",0 " + adj2 * h + "," + adj1 * w + " " + h + "," + adj2 * w + " " + h + "," +
- w + " " + adj2 * h + "," + w + " " + adj1 * h + "," + adj2 * w + " 0' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "decagon":
- result += " <polygon points='" + (3 / 8) * w + " 0," + w / 8 + " " + h / 8 + ",0 " + h / 2 + "," + w / 8 + " " + (7 / 8) * h + "," + (3 / 8) * w + " " + h + "," +
- (5 / 8) * w + " " + h + "," + (7 / 8) * w + " " + (7 / 8) * h + "," + w + " " + h / 2 + "," + (7 / 8) * w + " " + h / 8 + "," + (5 / 8) * w + " 0' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "dodecagon":
- result += " <polygon points='" + (3 / 8) * w + " 0," + w / 8 + " " + h / 8 + ",0 " + (3 / 8) * h + ",0 " + (5 / 8) * h + "," + w / 8 + " " + (7 / 8) * h + "," + (3 / 8) * w + " " + h + "," +
- (5 / 8) * w + " " + h + "," + (7 / 8) * w + " " + (7 / 8) * h + "," + w + " " + (5 / 8) * h + "," + w + " " + (3 / 8) * h + "," + (7 / 8) * w + " " + h / 8 + "," + (5 / 8) * w + " 0' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "star4":
- var a, iwd2, ihd2, sdx, sdy, sx1, sx2, sy1, sy2, yAdj;
- var hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2;
- var adj = 19098 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);//[0]["attrs"]["fmla"];
- //console.log("star4 node: ", node, "shapAdjst:", shapAdjst)
- if (shapAdjst !== undefined) {
- var name = shapAdjst["attrs"]["name"];
- if (name == "adj") {
- adj = parseInt(shapAdjst["attrs"]["fmla"].substr(4)) * slideFactor;
- //min = 0
- //max = 50000
- }
- }
- a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj;
- iwd2 = wd2 * a / cnstVal1;
- ihd2 = hd2 * a / cnstVal1;
- sdx = iwd2 * Math.cos(0.7853981634); //cd8 = 2700000; (45°) =>
- sdy = ihd2 * Math.sin(0.7853981634);
- sx1 = hc - sdx;
- sx2 = hc + sdx;
- sy1 = vc - sdy;
- sy2 = vc + sdy;
- yAdj = vc - ihd2;
- var d = "M0" + "," + vc +
- " L" + sx1 + "," + sy1 +
- " L" + hc + ",0" +
- " L" + sx2 + "," + sy1 +
- " L" + w + "," + vc +
- " L" + sx2 + "," + sy2 +
- " L" + hc + "," + h +
- " L" + sx1 + "," + sy2 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "star5":
- var a, swd2, shd2, svc, dx1, dx2, dy1, dy2, x1, x2, x3, x4, y1, y2, iwd2, ihd2, sdx1, sdx2, sdy1, sdy2, sx1, sx2, sx3, sx4, sy1, sy2, sy3, yAdj;
- var hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2;
- var adj = 19098 * slideFactor;
- var hf = 105146 * slideFactor;
- var vf = 110557 * slideFactor;
- var maxAdj = 50000 * slideFactor;
- var cnstVal1 = 100000 * slideFactor;
- //var radians = angle * (Math.PI / 180);
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);//[0]["attrs"]["fmla"];
- //console.log("star5 node: ", node, "shapAdjst:", shapAdjst)
- if (shapAdjst !== undefined) {
- Object.keys(shapAdjst).forEach(function (key) {
- var name = shapAdjst[key]["attrs"]["name"];
- if (name == "adj") {
- adj = parseInt(shapAdjst[key]["attrs"]["fmla"].substr(4)) * slideFactor;
- //min = 0
- //max = 50000
- } else if (name == "hf") {
- hf = parseInt(shapAdjst[key]["attrs"]["fmla"].substr(4)) * slideFactor;
- } else if (name == "vf") {
- vf = parseInt(shapAdjst[key]["attrs"]["fmla"].substr(4)) * slideFactor;
- }
- })
- }
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- swd2 = wd2 * hf / cnstVal1;
- shd2 = hd2 * vf / cnstVal1;
- svc = vc * vf / cnstVal1;
- dx1 = swd2 * Math.cos(0.31415926536); // 1080000
- dx2 = swd2 * Math.cos(5.3407075111); // 18360000
- dy1 = shd2 * Math.sin(0.31415926536); //1080000
- dy2 = shd2 * Math.sin(5.3407075111);// 18360000
- x1 = hc - dx1;
- x2 = hc - dx2;
- x3 = hc + dx2;
- x4 = hc + dx1;
- y1 = svc - dy1;
- y2 = svc - dy2;
- iwd2 = swd2 * a / maxAdj;
- ihd2 = shd2 * a / maxAdj;
- sdx1 = iwd2 * Math.cos(5.9690260418); // 20520000
- sdx2 = iwd2 * Math.cos(0.94247779608); // 3240000
- sdy1 = ihd2 * Math.sin(0.94247779608); // 3240000
- sdy2 = ihd2 * Math.sin(5.9690260418); // 20520000
- sx1 = hc - sdx1;
- sx2 = hc - sdx2;
- sx3 = hc + sdx2;
- sx4 = hc + sdx1;
- sy1 = svc - sdy1;
- sy2 = svc - sdy2;
- sy3 = svc + ihd2;
- yAdj = svc - ihd2;
- var d = "M" + x1 + "," + y1 +
- " L" + sx2 + "," + sy1 +
- " L" + hc + "," + 0 +
- " L" + sx3 + "," + sy1 +
- " L" + x4 + "," + y1 +
- " L" + sx4 + "," + sy2 +
- " L" + x3 + "," + y2 +
- " L" + hc + "," + sy3 +
- " L" + x2 + "," + y2 +
- " L" + sx1 + "," + sy2 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "star6":
- var a, swd2, dx1, x1, x2, y2, iwd2, ihd2, sdx2, sx1, sx2, sx3, sx4, sdy1, sy1, sy2, yAdj;
- var hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2, hd4 = h / 4;
- var adj = 28868 * slideFactor;
- var hf = 115470 * slideFactor;
- var maxAdj = 50000 * slideFactor;
- var cnstVal1 = 100000 * slideFactor;
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);//[0]["attrs"]["fmla"];
- //console.log("star5 node: ", node, "shapAdjst:", shapAdjst)
- if (shapAdjst !== undefined) {
- Object.keys(shapAdjst).forEach(function (key) {
- var name = shapAdjst[key]["attrs"]["name"];
- if (name == "adj") {
- adj = parseInt(shapAdjst[key]["attrs"]["fmla"].substr(4)) * slideFactor;
- //min = 0
- //max = 50000
- } else if (name == "hf") {
- hf = parseInt(shapAdjst[key]["attrs"]["fmla"].substr(4)) * slideFactor;
- }
- })
- }
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- swd2 = wd2 * hf / cnstVal1;
- dx1 = swd2 * Math.cos(0.5235987756); //1800000->30 ->0.5235987756
- x1 = hc - dx1;
- x2 = hc + dx1;
- y2 = vc + hd4;
- iwd2 = swd2 * a / maxAdj;
- ihd2 = hd2 * a / maxAdj;
- sdx2 = iwd2 / 2;
- sx1 = hc - iwd2;
- sx2 = hc - sdx2;
- sx3 = hc + sdx2;
- sx4 = hc + iwd2;
- sdy1 = ihd2 * Math.sin(1.0471975512); //3600000->60->1.0471975512
- sy1 = vc - sdy1;
- sy2 = vc + sdy1;
- yAdj = vc - ihd2;
- var d = "M" + x1 + "," + hd4 +
- " L" + sx2 + "," + sy1 +
- " L" + hc + ",0" +
- " L" + sx3 + "," + sy1 +
- " L" + x2 + "," + hd4 +
- " L" + sx4 + "," + vc +
- " L" + x2 + "," + y2 +
- " L" + sx3 + "," + sy2 +
- " L" + hc + "," + h +
- " L" + sx2 + "," + sy2 +
- " L" + x1 + "," + y2 +
- " L" + sx1 + "," + vc +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "star7":
- var a, swd2, shd2, svc, dx1, dx2, dx3, dy1, dy2, dy3, x1, x2, x3, x4, x5, x6, y1, y2, y3,
- iwd2, ihd2, sdx1, sdx2, sdx3, sx1, sx2, sx3, sx4, sx5, sx6, sdy1, sdy2, sdy3, sy1, sy2, sy3, sy4, yAdj;
- var hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2;
- var adj = 34601 * slideFactor;
- var hf = 102572 * slideFactor;
- var vf = 105210 * slideFactor;
- var maxAdj = 50000 * slideFactor;
- var cnstVal1 = 100000 * slideFactor;
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);//[0]["attrs"]["fmla"];
- //console.log("star5 node: ", node, "shapAdjst:", shapAdjst)
- if (shapAdjst !== undefined) {
- Object.keys(shapAdjst).forEach(function (key) {
- var name = shapAdjst[key]["attrs"]["name"];
- if (name == "adj") {
- adj = parseInt(shapAdjst[key]["attrs"]["fmla"].substr(4)) * slideFactor;
- //min = 0
- //max = 50000
- } else if (name == "hf") {
- hf = parseInt(shapAdjst[key]["attrs"]["fmla"].substr(4)) * slideFactor;
- } else if (name == "vf") {
- vf = parseInt(shapAdjst[key]["attrs"]["fmla"].substr(4)) * slideFactor;
- }
- })
- }
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- swd2 = wd2 * hf / cnstVal1;
- shd2 = hd2 * vf / cnstVal1;
- svc = vc * vf / cnstVal1;
- dx1 = swd2 * 97493 / 100000;
- dx2 = swd2 * 78183 / 100000;
- dx3 = swd2 * 43388 / 100000;
- dy1 = shd2 * 62349 / 100000;
- dy2 = shd2 * 22252 / 100000;
- dy3 = shd2 * 90097 / 100000;
- x1 = hc - dx1;
- x2 = hc - dx2;
- x3 = hc - dx3;
- x4 = hc + dx3;
- x5 = hc + dx2;
- x6 = hc + dx1;
- y1 = svc - dy1;
- y2 = svc + dy2;
- y3 = svc + dy3;
- iwd2 = swd2 * a / maxAdj;
- ihd2 = shd2 * a / maxAdj;
- sdx1 = iwd2 * 97493 / 100000;
- sdx2 = iwd2 * 78183 / 100000;
- sdx3 = iwd2 * 43388 / 100000;
- sx1 = hc - sdx1;
- sx2 = hc - sdx2;
- sx3 = hc - sdx3;
- sx4 = hc + sdx3;
- sx5 = hc + sdx2;
- sx6 = hc + sdx1;
- sdy1 = ihd2 * 90097 / 100000;
- sdy2 = ihd2 * 22252 / 100000;
- sdy3 = ihd2 * 62349 / 100000;
- sy1 = svc - sdy1;
- sy2 = svc - sdy2;
- sy3 = svc + sdy3;
- sy4 = svc + ihd2;
- yAdj = svc - ihd2;
- var d = "M" + x1 + "," + y2 +
- " L" + sx1 + "," + sy2 +
- " L" + x2 + "," + y1 +
- " L" + sx3 + "," + sy1 +
- " L" + hc + ",0" +
- " L" + sx4 + "," + sy1 +
- " L" + x5 + "," + y1 +
- " L" + sx6 + "," + sy2 +
- " L" + x6 + "," + y2 +
- " L" + sx5 + "," + sy3 +
- " L" + x4 + "," + y3 +
- " L" + hc + "," + sy4 +
- " L" + x3 + "," + y3 +
- " L" + sx2 + "," + sy3 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "star8":
- var a, dx1, x1, x2, dy1, y1, y2, iwd2, ihd2, sdx1, sdx2, sdy1, sdy2, sx1, sx2, sx3, sx4, sy1, sy2, sy3, sy4, yAdj;
- var hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2;
- var adj = 37500 * slideFactor;
- var maxAdj = 50000 * slideFactor;
- var cnstVal1 = 100000 * slideFactor;
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);//[0]["attrs"]["fmla"];
- //console.log("star4 node: ", node, "shapAdjst:", shapAdjst)
- if (shapAdjst !== undefined) {
- var name = shapAdjst["attrs"]["name"];
- if (name == "adj") {
- adj = parseInt(shapAdjst["attrs"]["fmla"].substr(4)) * slideFactor;
- //min = 0
- //max = 50000
- }
- }
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- dx1 = wd2 * Math.cos(0.7853981634); //2700000
- x1 = hc - dx1;
- x2 = hc + dx1;
- dy1 = hd2 * Math.sin(0.7853981634); //2700000
- y1 = vc - dy1;
- y2 = vc + dy1;
- iwd2 = wd2 * a / maxAdj;
- ihd2 = hd2 * a / maxAdj;
- sdx1 = iwd2 * 92388 / 100000;
- sdx2 = iwd2 * 38268 / 100000;
- sdy1 = ihd2 * 92388 / 100000;
- sdy2 = ihd2 * 38268 / 100000;
- sx1 = hc - sdx1;
- sx2 = hc - sdx2;
- sx3 = hc + sdx2;
- sx4 = hc + sdx1;
- sy1 = vc - sdy1;
- sy2 = vc - sdy2;
- sy3 = vc + sdy2;
- sy4 = vc + sdy1;
- yAdj = vc - ihd2;
- var d = "M0" + "," + vc +
- " L" + sx1 + "," + sy2 +
- " L" + x1 + "," + y1 +
- " L" + sx2 + "," + sy1 +
- " L" + hc + ",0" +
- " L" + sx3 + "," + sy1 +
- " L" + x2 + "," + y1 +
- " L" + sx4 + "," + sy2 +
- " L" + w + "," + vc +
- " L" + sx4 + "," + sy3 +
- " L" + x2 + "," + y2 +
- " L" + sx3 + "," + sy4 +
- " L" + hc + "," + h +
- " L" + sx2 + "," + sy4 +
- " L" + x1 + "," + y2 +
- " L" + sx1 + "," + sy3 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "star10":
- var a, swd2, dx1, dx2, x1, x2, x3, x4, dy1, dy2, y1, y2, y3, y4, iwd2, ihd2,
- sdx1, sdx2, sdy1, sdy2, sx1, sx2, sx3, sx4, sx5, sx6, sy1, sy2, sy3, sy4, yAdj;
- var hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2;
- var adj = 42533 * slideFactor;
- var hf = 105146 * slideFactor;
- var maxAdj = 50000 * slideFactor;
- var cnstVal1 = 100000 * slideFactor;
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);//[0]["attrs"]["fmla"];
- //console.log("star5 node: ", node, "shapAdjst:", shapAdjst)
- if (shapAdjst !== undefined) {
- Object.keys(shapAdjst).forEach(function (key) {
- var name = shapAdjst[key]["attrs"]["name"];
- if (name == "adj") {
- adj = parseInt(shapAdjst[key]["attrs"]["fmla"].substr(4)) * slideFactor;
- //min = 0
- //max = 50000
- } else if (name == "hf") {
- hf = parseInt(shapAdjst[key]["attrs"]["fmla"].substr(4)) * slideFactor;
- }
- })
- }
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- swd2 = wd2 * hf / cnstVal1;
- dx1 = swd2 * 95106 / 100000;
- dx2 = swd2 * 58779 / 100000;
- x1 = hc - dx1;
- x2 = hc - dx2;
- x3 = hc + dx2;
- x4 = hc + dx1;
- dy1 = hd2 * 80902 / 100000;
- dy2 = hd2 * 30902 / 100000;
- y1 = vc - dy1;
- y2 = vc - dy2;
- y3 = vc + dy2;
- y4 = vc + dy1;
- iwd2 = swd2 * a / maxAdj;
- ihd2 = hd2 * a / maxAdj;
- sdx1 = iwd2 * 80902 / 100000;
- sdx2 = iwd2 * 30902 / 100000;
- sdy1 = ihd2 * 95106 / 100000;
- sdy2 = ihd2 * 58779 / 100000;
- sx1 = hc - iwd2;
- sx2 = hc - sdx1;
- sx3 = hc - sdx2;
- sx4 = hc + sdx2;
- sx5 = hc + sdx1;
- sx6 = hc + iwd2;
- sy1 = vc - sdy1;
- sy2 = vc - sdy2;
- sy3 = vc + sdy2;
- sy4 = vc + sdy1;
- yAdj = vc - ihd2;
- var d = "M" + x1 + "," + y2 +
- " L" + sx2 + "," + sy2 +
- " L" + x2 + "," + y1 +
- " L" + sx3 + "," + sy1 +
- " L" + hc + ",0" +
- " L" + sx4 + "," + sy1 +
- " L" + x3 + "," + y1 +
- " L" + sx5 + "," + sy2 +
- " L" + x4 + "," + y2 +
- " L" + sx6 + "," + vc +
- " L" + x4 + "," + y3 +
- " L" + sx5 + "," + sy3 +
- " L" + x3 + "," + y4 +
- " L" + sx4 + "," + sy4 +
- " L" + hc + "," + h +
- " L" + sx3 + "," + sy4 +
- " L" + x2 + "," + y4 +
- " L" + sx2 + "," + sy3 +
- " L" + x1 + "," + y3 +
- " L" + sx1 + "," + vc +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "star12":
- var a, dx1, dy1, x1, x3, x4, y1, y3, y4, iwd2, ihd2, sdx1, sdx2, sdx3, sdy1,
- sdy2, sdy3, sx1, sx2, sx3, sx4, sx5, sx6, sy1, sy2, sy3, sy4, sy5, sy6, yAdj;
- var hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2, hd4 = h / 4, wd4 = w / 4;
- var adj = 37500 * slideFactor;
- var maxAdj = 50000 * slideFactor;
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);//[0]["attrs"]["fmla"];
- //console.log("star4 node: ", node, "shapAdjst:", shapAdjst)
- if (shapAdjst !== undefined) {
- var name = shapAdjst["attrs"]["name"];
- if (name == "adj") {
- adj = parseInt(shapAdjst["attrs"]["fmla"].substr(4)) * slideFactor;
- //min = 0
- //max = 50000
- }
- }
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- dx1 = wd2 * Math.cos(0.5235987756);
- dy1 = hd2 * Math.sin(1.0471975512);
- x1 = hc - dx1;
- x3 = w * 3 / 4;
- x4 = hc + dx1;
- y1 = vc - dy1;
- y3 = h * 3 / 4;
- y4 = vc + dy1;
- iwd2 = wd2 * a / maxAdj;
- ihd2 = hd2 * a / maxAdj;
- sdx1 = iwd2 * Math.cos(0.2617993878); //900000->15
- sdx2 = iwd2 * Math.cos(0.7853981634);
- sdx3 = iwd2 * Math.cos(1.308996939); //4500000->75
- sdy1 = ihd2 * Math.sin(1.308996939);
- sdy2 = ihd2 * Math.sin(0.7853981634);
- sdy3 = ihd2 * Math.sin(0.2617993878);
- sx1 = hc - sdx1;
- sx2 = hc - sdx2;
- sx3 = hc - sdx3;
- sx4 = hc + sdx3;
- sx5 = hc + sdx2;
- sx6 = hc + sdx1;
- sy1 = vc - sdy1;
- sy2 = vc - sdy2;
- sy3 = vc - sdy3;
- sy4 = vc + sdy3;
- sy5 = vc + sdy2;
- sy6 = vc + sdy1;
- yAdj = vc - ihd2;
- var d = "M0" + "," + vc +
- " L" + sx1 + "," + sy3 +
- " L" + x1 + "," + hd4 +
- " L" + sx2 + "," + sy2 +
- " L" + wd4 + "," + y1 +
- " L" + sx3 + "," + sy1 +
- " L" + hc + ",0" +
- " L" + sx4 + "," + sy1 +
- " L" + x3 + "," + y1 +
- " L" + sx5 + "," + sy2 +
- " L" + x4 + "," + hd4 +
- " L" + sx6 + "," + sy3 +
- " L" + w + "," + vc +
- " L" + sx6 + "," + sy4 +
- " L" + x4 + "," + y3 +
- " L" + sx5 + "," + sy5 +
- " L" + x3 + "," + y4 +
- " L" + sx4 + "," + sy6 +
- " L" + hc + "," + h +
- " L" + sx3 + "," + sy6 +
- " L" + wd4 + "," + y4 +
- " L" + sx2 + "," + sy5 +
- " L" + x1 + "," + y3 +
- " L" + sx1 + "," + sy4 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "star16":
- var a, dx1, dx2, dx3, dy1, dy2, dy3, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6,
- iwd2, ihd2, sdx1, sdx2, sdx3, sdx4, sdy1, sdy2, sdy3, sdy4, sx1, sx2, sx3, sx4,
- sx5, sx6, sx7, sx8, sy1, sy2, sy3, sy4, sy5, sy6, sy7, sy8, iDx, idy, il, it, ir, ib, yAdj;
- var hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2;
- var adj = 37500 * slideFactor;
- var maxAdj = 50000 * slideFactor;
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);//[0]["attrs"]["fmla"];
- //console.log("star4 node: ", node, "shapAdjst:", shapAdjst)
- if (shapAdjst !== undefined) {
- var name = shapAdjst["attrs"]["name"];
- if (name == "adj") {
- adj = parseInt(shapAdjst["attrs"]["fmla"].substr(4)) * slideFactor;
- //min = 0
- //max = 50000
- }
- }
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- dx1 = wd2 * 92388 / 100000;
- dx2 = wd2 * 70711 / 100000;
- dx3 = wd2 * 38268 / 100000;
- dy1 = hd2 * 92388 / 100000;
- dy2 = hd2 * 70711 / 100000;
- dy3 = hd2 * 38268 / 100000;
- x1 = hc - dx1;
- x2 = hc - dx2;
- x3 = hc - dx3;
- x4 = hc + dx3;
- x5 = hc + dx2;
- x6 = hc + dx1;
- y1 = vc - dy1;
- y2 = vc - dy2;
- y3 = vc - dy3;
- y4 = vc + dy3;
- y5 = vc + dy2;
- y6 = vc + dy1;
- iwd2 = wd2 * a / maxAdj;
- ihd2 = hd2 * a / maxAdj;
- sdx1 = iwd2 * 98079 / 100000;
- sdx2 = iwd2 * 83147 / 100000;
- sdx3 = iwd2 * 55557 / 100000;
- sdx4 = iwd2 * 19509 / 100000;
- sdy1 = ihd2 * 98079 / 100000;
- sdy2 = ihd2 * 83147 / 100000;
- sdy3 = ihd2 * 55557 / 100000;
- sdy4 = ihd2 * 19509 / 100000;
- sx1 = hc - sdx1;
- sx2 = hc - sdx2;
- sx3 = hc - sdx3;
- sx4 = hc - sdx4;
- sx5 = hc + sdx4;
- sx6 = hc + sdx3;
- sx7 = hc + sdx2;
- sx8 = hc + sdx1;
- sy1 = vc - sdy1;
- sy2 = vc - sdy2;
- sy3 = vc - sdy3;
- sy4 = vc - sdy4;
- sy5 = vc + sdy4;
- sy6 = vc + sdy3;
- sy7 = vc + sdy2;
- sy8 = vc + sdy1;
- iDx = iwd2 * Math.cos(0.7853981634);
- idy = ihd2 * Math.sin(0.7853981634);
- il = hc - iDx;
- it = vc - idy;
- ir = hc + iDx;
- ib = vc + idy;
- yAdj = vc - ihd2;
- var d = "M0" + "," + vc +
- " L" + sx1 + "," + sy4 +
- " L" + x1 + "," + y3 +
- " L" + sx2 + "," + sy3 +
- " L" + x2 + "," + y2 +
- " L" + sx3 + "," + sy2 +
- " L" + x3 + "," + y1 +
- " L" + sx4 + "," + sy1 +
- " L" + hc + ",0" +
- " L" + sx5 + "," + sy1 +
- " L" + x4 + "," + y1 +
- " L" + sx6 + "," + sy2 +
- " L" + x5 + "," + y2 +
- " L" + sx7 + "," + sy3 +
- " L" + x6 + "," + y3 +
- " L" + sx8 + "," + sy4 +
- " L" + w + "," + vc +
- " L" + sx8 + "," + sy5 +
- " L" + x6 + "," + y4 +
- " L" + sx7 + "," + sy6 +
- " L" + x5 + "," + y5 +
- " L" + sx6 + "," + sy7 +
- " L" + x4 + "," + y6 +
- " L" + sx5 + "," + sy8 +
- " L" + hc + "," + h +
- " L" + sx4 + "," + sy8 +
- " L" + x3 + "," + y6 +
- " L" + sx3 + "," + sy7 +
- " L" + x2 + "," + y5 +
- " L" + sx2 + "," + sy6 +
- " L" + x1 + "," + y4 +
- " L" + sx1 + "," + sy5 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "star24":
- var a, dx1, dx2, dx3, dx4, dx5, dy1, dy2, dy3, dy4, dy5, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10,
- y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, iwd2, ihd2, sdx1, sdx2, sdx3, sdx4, sdx5, sdx6, sdy1,
- sdy2, sdy3, sdy4, sdy5, sdy6, sx1, sx2, sx3, sx4, sx5, sx6, sx7, sx8, sx9, sx10, sx11, sx12,
- sy1, sy2, sy3, sy4, sy5, sy6, sy7, sy8, sy9, sy10, sy11, sy12, iDx, idy, il, it, ir, ib, yAdj;
- var hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2, hd4 = h / 4, wd4 = w / 4;
- var adj = 37500 * slideFactor;
- var maxAdj = 50000 * slideFactor;
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);//[0]["attrs"]["fmla"];
- //console.log("star4 node: ", node, "shapAdjst:", shapAdjst)
- if (shapAdjst !== undefined) {
- var name = shapAdjst["attrs"]["name"];
- if (name == "adj") {
- adj = parseInt(shapAdjst["attrs"]["fmla"].substr(4)) * slideFactor;
- }
- }
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- dx1 = wd2 * Math.cos(0.2617993878);
- dx2 = wd2 * Math.cos(0.5235987756);
- dx3 = wd2 * Math.cos(0.7853981634);
- dx4 = wd4
- dx5 = wd2 * Math.cos(1.308996939);
- dy1 = hd2 * Math.sin(1.308996939);
- dy2 = hd2 * Math.sin(1.0471975512);
- dy3 = hd2 * Math.sin(0.7853981634);
- dy4 = hd4
- dy5 = hd2 * Math.sin(0.2617993878);
- x1 = hc - dx1;
- x2 = hc - dx2;
- x3 = hc - dx3;
- x4 = hc - dx4;
- x5 = hc - dx5;
- x6 = hc + dx5;
- x7 = hc + dx4;
- x8 = hc + dx3;
- x9 = hc + dx2;
- x10 = hc + dx1;
- y1 = vc - dy1;
- y2 = vc - dy2;
- y3 = vc - dy3;
- y4 = vc - dy4;
- y5 = vc - dy5;
- y6 = vc + dy5;
- y7 = vc + dy4;
- y8 = vc + dy3;
- y9 = vc + dy2;
- y10 = vc + dy1;
- iwd2 = wd2 * a / maxAdj;
- ihd2 = hd2 * a / maxAdj;
- sdx1 = iwd2 * 99144 / 100000;
- sdx2 = iwd2 * 92388 / 100000;
- sdx3 = iwd2 * 79335 / 100000;
- sdx4 = iwd2 * 60876 / 100000;
- sdx5 = iwd2 * 38268 / 100000;
- sdx6 = iwd2 * 13053 / 100000;
- sdy1 = ihd2 * 99144 / 100000;
- sdy2 = ihd2 * 92388 / 100000;
- sdy3 = ihd2 * 79335 / 100000;
- sdy4 = ihd2 * 60876 / 100000;
- sdy5 = ihd2 * 38268 / 100000;
- sdy6 = ihd2 * 13053 / 100000;
- sx1 = hc - sdx1;
- sx2 = hc - sdx2;
- sx3 = hc - sdx3;
- sx4 = hc - sdx4;
- sx5 = hc - sdx5;
- sx6 = hc - sdx6;
- sx7 = hc + sdx6;
- sx8 = hc + sdx5;
- sx9 = hc + sdx4;
- sx10 = hc + sdx3;
- sx11 = hc + sdx2;
- sx12 = hc + sdx1;
- sy1 = vc - sdy1;
- sy2 = vc - sdy2;
- sy3 = vc - sdy3;
- sy4 = vc - sdy4;
- sy5 = vc - sdy5;
- sy6 = vc - sdy6;
- sy7 = vc + sdy6;
- sy8 = vc + sdy5;
- sy9 = vc + sdy4;
- sy10 = vc + sdy3;
- sy11 = vc + sdy2;
- sy12 = vc + sdy1;
- iDx = iwd2 * Math.cos(0.7853981634);
- idy = ihd2 * Math.sin(0.7853981634);
- il = hc - iDx;
- it = vc - idy;
- ir = hc + iDx;
- ib = vc + idy;
- yAdj = vc - ihd2;
- var d = "M0" + "," + vc +
- " L" + sx1 + "," + sy6 +
- " L" + x1 + "," + y5 +
- " L" + sx2 + "," + sy5 +
- " L" + x2 + "," + y4 +
- " L" + sx3 + "," + sy4 +
- " L" + x3 + "," + y3 +
- " L" + sx4 + "," + sy3 +
- " L" + x4 + "," + y2 +
- " L" + sx5 + "," + sy2 +
- " L" + x5 + "," + y1 +
- " L" + sx6 + "," + sy1 +
- " L" + hc + "," + 0 +
- " L" + sx7 + "," + sy1 +
- " L" + x6 + "," + y1 +
- " L" + sx8 + "," + sy2 +
- " L" + x7 + "," + y2 +
- " L" + sx9 + "," + sy3 +
- " L" + x8 + "," + y3 +
- " L" + sx10 + "," + sy4 +
- " L" + x9 + "," + y4 +
- " L" + sx11 + "," + sy5 +
- " L" + x10 + "," + y5 +
- " L" + sx12 + "," + sy6 +
- " L" + w + "," + vc +
- " L" + sx12 + "," + sy7 +
- " L" + x10 + "," + y6 +
- " L" + sx11 + "," + sy8 +
- " L" + x9 + "," + y7 +
- " L" + sx10 + "," + sy9 +
- " L" + x8 + "," + y8 +
- " L" + sx9 + "," + sy10 +
- " L" + x7 + "," + y9 +
- " L" + sx8 + "," + sy11 +
- " L" + x6 + "," + y10 +
- " L" + sx7 + "," + sy12 +
- " L" + hc + "," + h +
- " L" + sx6 + "," + sy12 +
- " L" + x5 + "," + y10 +
- " L" + sx5 + "," + sy11 +
- " L" + x4 + "," + y9 +
- " L" + sx4 + "," + sy10 +
- " L" + x3 + "," + y8 +
- " L" + sx3 + "," + sy9 +
- " L" + x2 + "," + y7 +
- " L" + sx2 + "," + sy8 +
- " L" + x1 + "," + y6 +
- " L" + sx1 + "," + sy7 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "star32":
- var a, dx1, dx2, dx3, dx4, dx5, dx6, dx7, dy1, dy2, dy3, dy4, dy5, dy6, dy7, x1, x2, x3, x4, x5, x6,
- x7, x8, x9, x10, x11, x12, x13, x14, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
- iwd2, ihd2, sdx1, sdx2, sdx3, sdx4, sdx5, sdx6, sdx7, sdx8, sdy1, sdy2, sdy3, sdy4, sdy5, sdy6, sdy7,
- sdy8, sx1, sx2, sx3, sx4, sx5, sx6, sx7, sx8, sx9, sx10, sx11, sx12, sx13, sx14, sx15, sx16, sy1, sy2,
- sy3, sy4, sy5, sy6, sy7, sy8, sy9, sy10, sy11, sy12, sy13, sy14, sy15, sy16, iDx, idy, il, it, ir, ib, yAdj;
- var hc = w / 2, vc = h / 2, wd2 = w / 2, hd2 = h / 2, hd4 = h / 4, wd4 = w / 4;
- var adj = 37500 * slideFactor;
- var maxAdj = 50000 * slideFactor;
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);//[0]["attrs"]["fmla"];
- //console.log("star4 node: ", node, "shapAdjst:", shapAdjst)
- if (shapAdjst !== undefined) {
- var name = shapAdjst["attrs"]["name"];
- if (name == "adj") {
- adj = parseInt(shapAdjst["attrs"]["fmla"].substr(4)) * slideFactor;
- }
- }
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- dx1 = wd2 * 98079 / 100000;
- dx2 = wd2 * 92388 / 100000;
- dx3 = wd2 * 83147 / 100000;
- dx4 = wd2 * Math.cos(0.7853981634);
- dx5 = wd2 * 55557 / 100000;
- dx6 = wd2 * 38268 / 100000;
- dx7 = wd2 * 19509 / 100000;
- dy1 = hd2 * 98079 / 100000;
- dy2 = hd2 * 92388 / 100000;
- dy3 = hd2 * 83147 / 100000;
- dy4 = hd2 * Math.sin(0.7853981634);
- dy5 = hd2 * 55557 / 100000;
- dy6 = hd2 * 38268 / 100000;
- dy7 = hd2 * 19509 / 100000;
- x1 = hc - dx1;
- x2 = hc - dx2;
- x3 = hc - dx3;
- x4 = hc - dx4;
- x5 = hc - dx5;
- x6 = hc - dx6;
- x7 = hc - dx7;
- x8 = hc + dx7;
- x9 = hc + dx6;
- x10 = hc + dx5;
- x11 = hc + dx4;
- x12 = hc + dx3;
- x13 = hc + dx2;
- x14 = hc + dx1;
- y1 = vc - dy1;
- y2 = vc - dy2;
- y3 = vc - dy3;
- y4 = vc - dy4;
- y5 = vc - dy5;
- y6 = vc - dy6;
- y7 = vc - dy7;
- y8 = vc + dy7;
- y9 = vc + dy6;
- y10 = vc + dy5;
- y11 = vc + dy4;
- y12 = vc + dy3;
- y13 = vc + dy2;
- y14 = vc + dy1;
- iwd2 = wd2 * a / maxAdj;
- ihd2 = hd2 * a / maxAdj;
- sdx1 = iwd2 * 99518 / 100000;
- sdx2 = iwd2 * 95694 / 100000;
- sdx3 = iwd2 * 88192 / 100000;
- sdx4 = iwd2 * 77301 / 100000;
- sdx5 = iwd2 * 63439 / 100000;
- sdx6 = iwd2 * 47140 / 100000;
- sdx7 = iwd2 * 29028 / 100000;
- sdx8 = iwd2 * 9802 / 100000;
- sdy1 = ihd2 * 99518 / 100000;
- sdy2 = ihd2 * 95694 / 100000;
- sdy3 = ihd2 * 88192 / 100000;
- sdy4 = ihd2 * 77301 / 100000;
- sdy5 = ihd2 * 63439 / 100000;
- sdy6 = ihd2 * 47140 / 100000;
- sdy7 = ihd2 * 29028 / 100000;
- sdy8 = ihd2 * 9802 / 100000;
- sx1 = hc - sdx1;
- sx2 = hc - sdx2;
- sx3 = hc - sdx3;
- sx4 = hc - sdx4;
- sx5 = hc - sdx5;
- sx6 = hc - sdx6;
- sx7 = hc - sdx7;
- sx8 = hc - sdx8;
- sx9 = hc + sdx8;
- sx10 = hc + sdx7;
- sx11 = hc + sdx6;
- sx12 = hc + sdx5;
- sx13 = hc + sdx4;
- sx14 = hc + sdx3;
- sx15 = hc + sdx2;
- sx16 = hc + sdx1;
- sy1 = vc - sdy1;
- sy2 = vc - sdy2;
- sy3 = vc - sdy3;
- sy4 = vc - sdy4;
- sy5 = vc - sdy5;
- sy6 = vc - sdy6;
- sy7 = vc - sdy7;
- sy8 = vc - sdy8;
- sy9 = vc + sdy8;
- sy10 = vc + sdy7;
- sy11 = vc + sdy6;
- sy12 = vc + sdy5;
- sy13 = vc + sdy4;
- sy14 = vc + sdy3;
- sy15 = vc + sdy2;
- sy16 = vc + sdy1;
- iDx = iwd2 * Math.cos(0.7853981634);
- idy = ihd2 * Math.sin(0.7853981634);
- il = hc - iDx;
- it = vc - idy;
- ir = hc + iDx;
- ib = vc + idy;
- yAdj = vc - ihd2;
- var d = "M0" + "," + vc +
- " L" + sx1 + "," + sy8 +
- " L" + x1 + "," + y7 +
- " L" + sx2 + "," + sy7 +
- " L" + x2 + "," + y6 +
- " L" + sx3 + "," + sy6 +
- " L" + x3 + "," + y5 +
- " L" + sx4 + "," + sy5 +
- " L" + x4 + "," + y4 +
- " L" + sx5 + "," + sy4 +
- " L" + x5 + "," + y3 +
- " L" + sx6 + "," + sy3 +
- " L" + x6 + "," + y2 +
- " L" + sx7 + "," + sy2 +
- " L" + x7 + "," + y1 +
- " L" + sx8 + "," + sy1 +
- " L" + hc + "," + 0 +
- " L" + sx9 + "," + sy1 +
- " L" + x8 + "," + y1 +
- " L" + sx10 + "," + sy2 +
- " L" + x9 + "," + y2 +
- " L" + sx11 + "," + sy3 +
- " L" + x10 + "," + y3 +
- " L" + sx12 + "," + sy4 +
- " L" + x11 + "," + y4 +
- " L" + sx13 + "," + sy5 +
- " L" + x12 + "," + y5 +
- " L" + sx14 + "," + sy6 +
- " L" + x13 + "," + y6 +
- " L" + sx15 + "," + sy7 +
- " L" + x14 + "," + y7 +
- " L" + sx16 + "," + sy8 +
- " L" + w + "," + vc +
- " L" + sx16 + "," + sy9 +
- " L" + x14 + "," + y8 +
- " L" + sx15 + "," + sy10 +
- " L" + x13 + "," + y9 +
- " L" + sx14 + "," + sy11 +
- " L" + x12 + "," + y10 +
- " L" + sx13 + "," + sy12 +
- " L" + x11 + "," + y11 +
- " L" + sx12 + "," + sy13 +
- " L" + x10 + "," + y12 +
- " L" + sx11 + "," + sy14 +
- " L" + x9 + "," + y13 +
- " L" + sx10 + "," + sy15 +
- " L" + x8 + "," + y14 +
- " L" + sx9 + "," + sy16 +
- " L" + hc + "," + h +
- " L" + sx8 + "," + sy16 +
- " L" + x7 + "," + y14 +
- " L" + sx7 + "," + sy15 +
- " L" + x6 + "," + y13 +
- " L" + sx6 + "," + sy14 +
- " L" + x5 + "," + y12 +
- " L" + sx5 + "," + sy13 +
- " L" + x4 + "," + y11 +
- " L" + sx4 + "," + sy12 +
- " L" + x3 + "," + y10 +
- " L" + sx3 + "," + sy11 +
- " L" + x2 + "," + y9 +
- " L" + sx2 + "," + sy10 +
- " L" + x1 + "," + y8 +
- " L" + sx1 + "," + sy9 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "pie":
- case "pieWedge":
- case "arc":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var adj1, adj2, H, shapAdjst1, shapAdjst2, isClose;
- if (shapType == "pie") {
- adj1 = 0;
- adj2 = 270;
- H = h;
- isClose = true;
- } else if (shapType == "pieWedge") {
- adj1 = 180;
- adj2 = 270;
- H = 2 * h;
- isClose = true;
- } else if (shapType == "arc") {
- adj1 = 270;
- adj2 = 0;
- H = h;
- isClose = false;
- }
- if (shapAdjst !== undefined) {
- shapAdjst1 = getTextByPathList(shapAdjst, ["attrs", "fmla"]);
- shapAdjst2 = shapAdjst1;
- if (shapAdjst1 === undefined) {
- shapAdjst1 = shapAdjst[0]["attrs"]["fmla"];
- shapAdjst2 = shapAdjst[1]["attrs"]["fmla"];
- }
- if (shapAdjst1 !== undefined) {
- adj1 = parseInt(shapAdjst1.substr(4)) / 60000;
- }
- if (shapAdjst2 !== undefined) {
- adj2 = parseInt(shapAdjst2.substr(4)) / 60000;
- }
- }
- var pieVals = shapePie(H, w, adj1, adj2, isClose);
- //console.log("shapType: ",shapType,"\nimgFillFlg: ",imgFillFlg,"\ngrndFillFlg: ",grndFillFlg,"\nshpId: ",shpId,"\nfillColor: ",fillColor);
- result += "<path d='" + pieVals[0] + "' transform='" + pieVals[1] + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "chord":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val = 45;
- var sAdj2, sAdj2_val = 270;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = parseInt(sAdj1.substr(4)) / 60000;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj2_val = parseInt(sAdj2.substr(4)) / 60000;
- }
- }
- }
- var hR = h / 2;
- var wR = w / 2;
- var d_val = shapeArc(wR, hR, wR, hR, sAdj1_val, sAdj2_val, true);
- //console.log("shapType: ",shapType,", sAdj1_val: ",sAdj1_val,", sAdj2_val: ",sAdj2_val)
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "frame":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj1 = 12500 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst !== undefined) {
- adj1 = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var a1, x1, x4, y4;
- if (adj1 < 0) a1 = 0
- else if (adj1 > cnstVal1) a1 = cnstVal1
- else a1 = adj1
- x1 = Math.min(w, h) * a1 / cnstVal2;
- x4 = w - x1;
- y4 = h - x1;
- var d = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- "M" + x1 + "," + x1 +
- " L" + x1 + "," + y4 +
- " L" + x4 + "," + y4 +
- " L" + x4 + "," + x1 +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "donut":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 25000 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var a, dr, iwd2, ihd2;
- if (adj < 0) a = 0
- else if (adj > cnstVal1) a = cnstVal1
- else a = adj
- dr = Math.min(w, h) * a / cnstVal2;
- iwd2 = w / 2 - dr;
- ihd2 = h / 2 - dr;
- var d = "M" + 0 + "," + h / 2 +
- shapeArc(w / 2, h / 2, w / 2, h / 2, 180, 270, false).replace("M", "L") +
- shapeArc(w / 2, h / 2, w / 2, h / 2, 270, 360, false).replace("M", "L") +
- shapeArc(w / 2, h / 2, w / 2, h / 2, 0, 90, false).replace("M", "L") +
- shapeArc(w / 2, h / 2, w / 2, h / 2, 90, 180, false).replace("M", "L") +
- " z" +
- "M" + dr + "," + h / 2 +
- shapeArc(w / 2, h / 2, iwd2, ihd2, 180, 90, false).replace("M", "L") +
- shapeArc(w / 2, h / 2, iwd2, ihd2, 90, 0, false).replace("M", "L") +
- shapeArc(w / 2, h / 2, iwd2, ihd2, 0, -90, false).replace("M", "L") +
- shapeArc(w / 2, h / 2, iwd2, ihd2, 270, 180, false).replace("M", "L") +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "noSmoking":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 18750 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var a, dr, iwd2, ihd2, ang, ang2rad, ct, st, m, n, drd2, dang, dang2, swAng, t3, stAng1, stAng2;
- if (adj < 0) a = 0
- else if (adj > cnstVal1) a = cnstVal1
- else a = adj
- dr = Math.min(w, h) * a / cnstVal2;
- iwd2 = w / 2 - dr;
- ihd2 = h / 2 - dr;
- ang = Math.atan(h / w);
- //ang2rad = ang*Math.PI/180;
- ct = ihd2 * Math.cos(ang);
- st = iwd2 * Math.sin(ang);
- m = Math.sqrt(ct * ct + st * st); //"mod ct st 0"
- n = iwd2 * ihd2 / m;
- drd2 = dr / 2;
- dang = Math.atan(drd2 / n);
- dang2 = dang * 2;
- swAng = -Math.PI + dang2;
- //t3 = Math.atan(h/w);
- stAng1 = ang - dang;
- stAng2 = stAng1 - Math.PI;
- var ct1, st1, m1, n1, dx1, dy1, x1, y1, y1, y2;
- ct1 = ihd2 * Math.cos(stAng1);
- st1 = iwd2 * Math.sin(stAng1);
- m1 = Math.sqrt(ct1 * ct1 + st1 * st1); //"mod ct1 st1 0"
- n1 = iwd2 * ihd2 / m1;
- dx1 = n1 * Math.cos(stAng1);
- dy1 = n1 * Math.sin(stAng1);
- x1 = w / 2 + dx1;
- y1 = h / 2 + dy1;
- x2 = w / 2 - dx1;
- y2 = h / 2 - dy1;
- var stAng1deg = stAng1 * 180 / Math.PI;
- var stAng2deg = stAng2 * 180 / Math.PI;
- var swAng2deg = swAng * 180 / Math.PI;
- var d = "M" + 0 + "," + h / 2 +
- shapeArc(w / 2, h / 2, w / 2, h / 2, 180, 270, false).replace("M", "L") +
- shapeArc(w / 2, h / 2, w / 2, h / 2, 270, 360, false).replace("M", "L") +
- shapeArc(w / 2, h / 2, w / 2, h / 2, 0, 90, false).replace("M", "L") +
- shapeArc(w / 2, h / 2, w / 2, h / 2, 90, 180, false).replace("M", "L") +
- " z" +
- "M" + x1 + "," + y1 +
- shapeArc(w / 2, h / 2, iwd2, ihd2, stAng1deg, (stAng1deg + swAng2deg), false).replace("M", "L") +
- " z" +
- "M" + x2 + "," + y2 +
- shapeArc(w / 2, h / 2, iwd2, ihd2, stAng2deg, (stAng2deg + swAng2deg), false).replace("M", "L") +
- " z";
- //console.log("adj: ",adj,"x1:",x1,",y1:",y1," x2:",x2,",y2:",y2,",stAng1:",stAng1,",stAng1deg:",stAng1deg,",stAng2:",stAng2,",stAng2deg:",stAng2deg,",swAng:",swAng,",swAng2deg:",swAng2deg)
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "halfFrame":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val = 3.5;
- var sAdj2, sAdj2_val = 3.5;
- var cnsVal = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj2_val = parseInt(sAdj2.substr(4)) * slideFactor;
- }
- }
- }
- var minWH = Math.min(w, h);
- var maxAdj2 = (cnsVal * w) / minWH;
- var a1, a2;
- if (sAdj2_val < 0) a2 = 0
- else if (sAdj2_val > maxAdj2) a2 = maxAdj2
- else a2 = sAdj2_val
- var x1 = (minWH * a2) / cnsVal;
- var g1 = h * x1 / w;
- var g2 = h - g1;
- var maxAdj1 = (cnsVal * g2) / minWH;
- if (sAdj1_val < 0) a1 = 0
- else if (sAdj1_val > maxAdj1) a1 = maxAdj1
- else a1 = sAdj1_val
- var y1 = minWH * a1 / cnsVal;
- var dx2 = y1 * w / h;
- var x2 = w - dx2;
- var dy2 = x1 * h / w;
- var y2 = h - dy2;
- var d = "M0,0" +
- " L" + w + "," + 0 +
- " L" + x2 + "," + y1 +
- " L" + x1 + "," + y1 +
- " L" + x1 + "," + y2 +
- " L0," + h + " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- //console.log("w: ",w,", h: ",h,", sAdj1_val: ",sAdj1_val,", sAdj2_val: ",sAdj2_val,",maxAdj1: ",maxAdj1,",maxAdj2: ",maxAdj2)
- break;
- case "blockArc":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 180;
- var sAdj2, adj2 = 0;
- var sAdj3, adj3 = 25000 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) / 60000;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) / 60000;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- }
- }
- }
- var stAng, istAng, a3, sw11, sw12, swAng, iswAng;
- var cd1 = 360;
- if (adj1 < 0) stAng = 0
- else if (adj1 > cd1) stAng = cd1
- else stAng = adj1 //180
- if (adj2 < 0) istAng = 0
- else if (adj2 > cd1) istAng = cd1
- else istAng = adj2 //0
- if (adj3 < 0) a3 = 0
- else if (adj3 > cnstVal1) a3 = cnstVal1
- else a3 = adj3
- sw11 = istAng - stAng; // -180
- sw12 = sw11 + cd1; //180
- swAng = (sw11 > 0) ? sw11 : sw12; //180
- iswAng = -swAng; //-180
- var endAng = stAng + swAng;
- var iendAng = istAng + iswAng;
- var wt1, ht1, dx1, dy1, x1, y1, stRd, istRd, wd2, hd2, hc, vc;
- stRd = stAng * (Math.PI) / 180;
- istRd = istAng * (Math.PI) / 180;
- wd2 = w / 2;
- hd2 = h / 2;
- hc = w / 2;
- vc = h / 2;
- if (stAng > 90 && stAng < 270) {
- wt1 = wd2 * (Math.sin((Math.PI) / 2 - stRd));
- ht1 = hd2 * (Math.cos((Math.PI) / 2 - stRd));
- dx1 = wd2 * (Math.cos(Math.atan(ht1 / wt1)));
- dy1 = hd2 * (Math.sin(Math.atan(ht1 / wt1)));
- x1 = hc - dx1;
- y1 = vc - dy1;
- } else {
- wt1 = wd2 * (Math.sin(stRd));
- ht1 = hd2 * (Math.cos(stRd));
- dx1 = wd2 * (Math.cos(Math.atan(wt1 / ht1)));
- dy1 = hd2 * (Math.sin(Math.atan(wt1 / ht1)));
- x1 = hc + dx1;
- y1 = vc + dy1;
- }
- var dr, iwd2, ihd2, wt2, ht2, dx2, dy2, x2, y2;
- dr = Math.min(w, h) * a3 / cnstVal2;
- iwd2 = wd2 - dr;
- ihd2 = hd2 - dr;
- //console.log("stAng: ",stAng," swAng: ",swAng ," endAng:",endAng)
- if ((endAng <= 450 && endAng > 270) || ((endAng >= 630 && endAng < 720))) {
- wt2 = iwd2 * (Math.sin(istRd));
- ht2 = ihd2 * (Math.cos(istRd));
- dx2 = iwd2 * (Math.cos(Math.atan(wt2 / ht2)));
- dy2 = ihd2 * (Math.sin(Math.atan(wt2 / ht2)));
- x2 = hc + dx2;
- y2 = vc + dy2;
- } else {
- wt2 = iwd2 * (Math.sin((Math.PI) / 2 - istRd));
- ht2 = ihd2 * (Math.cos((Math.PI) / 2 - istRd));
- dx2 = iwd2 * (Math.cos(Math.atan(ht2 / wt2)));
- dy2 = ihd2 * (Math.sin(Math.atan(ht2 / wt2)));
- x2 = hc - dx2;
- y2 = vc - dy2;
- }
- var d = "M" + x1 + "," + y1 +
- shapeArc(wd2, hd2, wd2, hd2, stAng, endAng, false).replace("M", "L") +
- " L" + x2 + "," + y2 +
- shapeArc(wd2, hd2, iwd2, ihd2, istAng, iendAng, false).replace("M", "L") +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "bracePair":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 8333 * slideFactor;
- var cnstVal1 = 25000 * slideFactor;
- var cnstVal2 = 50000 * slideFactor;
- var cnstVal3 = 100000 * slideFactor;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var vc = h / 2, cd = 360, cd2 = 180, cd4 = 90, c3d4 = 270, a, x1, x2, x3, x4, y2, y3, y4;
- if (adj < 0) a = 0
- else if (adj > cnstVal1) a = cnstVal1
- else a = adj
- var minWH = Math.min(w, h);
- x1 = minWH * a / cnstVal3;
- x2 = minWH * a / cnstVal2;
- x3 = w - x2;
- x4 = w - x1;
- y2 = vc - x1;
- y3 = vc + x1;
- y4 = h - x1;
- //console.log("w:",w," h:",h," x1:",x1," x2:",x2," x3:",x3," x4:",x4," y2:",y2," y3:",y3," y4:",y4)
- var d = "M" + x2 + "," + h +
- shapeArc(x2, y4, x1, x1, cd4, cd2, false).replace("M", "L") +
- " L" + x1 + "," + y3 +
- shapeArc(0, y3, x1, x1, 0, (-cd4), false).replace("M", "L") +
- shapeArc(0, y2, x1, x1, cd4, 0, false).replace("M", "L") +
- " L" + x1 + "," + x1 +
- shapeArc(x2, x1, x1, x1, cd2, c3d4, false).replace("M", "L") +
- " M" + x3 + "," + 0 +
- shapeArc(x3, x1, x1, x1, c3d4, cd, false).replace("M", "L") +
- " L" + x4 + "," + y2 +
- shapeArc(w, y2, x1, x1, cd2, cd4, false).replace("M", "L") +
- shapeArc(w, y3, x1, x1, c3d4, cd2, false).replace("M", "L") +
- " L" + x4 + "," + y4 +
- shapeArc(x3, y4, x1, x1, 0, cd4, false).replace("M", "L");
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "leftBrace":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 8333 * slideFactor;
- var sAdj2, adj2 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, cd2 = 180, cd4 = 90, c3d4 = 270, a1, a2, q1, q2, q3, y1, y2, y3, y4;
- if (adj2 < 0) a2 = 0
- else if (adj2 > cnstVal2) a2 = cnstVal2
- else a2 = adj2
- var minWH = Math.min(w, h);
- q1 = cnstVal2 - a2;
- if (q1 < a2) q2 = q1
- else q2 = a2
- q3 = q2 / 2;
- var maxAdj1 = q3 * h / minWH;
- if (adj1 < 0) a1 = 0
- else if (adj1 > maxAdj1) a1 = maxAdj1
- else a1 = adj1
- y1 = minWH * a1 / cnstVal2;
- y3 = h * a2 / cnstVal2;
- y2 = y3 - y1;
- y4 = y3 + y1;
- //console.log("w:",w," h:",h," q1:",q1," q2:",q2," q3:",q3," y1:",y1," y3:",y3," y4:",y4," maxAdj1:",maxAdj1)
- var d = "M" + w + "," + h +
- shapeArc(w, h - y1, w / 2, y1, cd4, cd2, false).replace("M", "L") +
- " L" + w / 2 + "," + y4 +
- shapeArc(0, y4, w / 2, y1, 0, (-cd4), false).replace("M", "L") +
- shapeArc(0, y2, w / 2, y1, cd4, 0, false).replace("M", "L") +
- " L" + w / 2 + "," + y1 +
- shapeArc(w, y1, w / 2, y1, cd2, c3d4, false).replace("M", "L");
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "rightBrace":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 8333 * slideFactor;
- var sAdj2, adj2 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, cd = 360, cd2 = 180, cd4 = 90, c3d4 = 270, a1, a2, q1, q2, q3, y1, y2, y3, y4;
- if (adj2 < 0) a2 = 0
- else if (adj2 > cnstVal2) a2 = cnstVal2
- else a2 = adj2
- var minWH = Math.min(w, h);
- q1 = cnstVal2 - a2;
- if (q1 < a2) q2 = q1
- else q2 = a2
- q3 = q2 / 2;
- var maxAdj1 = q3 * h / minWH;
- if (adj1 < 0) a1 = 0
- else if (adj1 > maxAdj1) a1 = maxAdj1
- else a1 = adj1
- y1 = minWH * a1 / cnstVal2;
- y3 = h * a2 / cnstVal2;
- y2 = y3 - y1;
- y4 = h - y1;
- //console.log("w:",w," h:",h," q1:",q1," q2:",q2," q3:",q3," y1:",y1," y2:",y2," y3:",y3," y4:",y4," maxAdj1:",maxAdj1)
- var d = "M" + 0 + "," + 0 +
- shapeArc(0, y1, w / 2, y1, c3d4, cd, false).replace("M", "L") +
- " L" + w / 2 + "," + y2 +
- shapeArc(w, y2, w / 2, y1, cd2, cd4, false).replace("M", "L") +
- shapeArc(w, y3 + y1, w / 2, y1, c3d4, cd2, false).replace("M", "L") +
- " L" + w / 2 + "," + y4 +
- shapeArc(0, y4, w / 2, y1, 0, cd4, false).replace("M", "L");
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "bracketPair":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 16667 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var r = w, b = h, cd2 = 180, cd4 = 90, c3d4 = 270, a, x1, x2, y2;
- if (adj < 0) a = 0
- else if (adj > cnstVal1) a = cnstVal1
- else a = adj
- x1 = Math.min(w, h) * a / cnstVal2;
- x2 = r - x1;
- y2 = b - x1;
- //console.log("w:",w," h:",h," x1:",x1," x2:",x2," y2:",y2)
- var d = shapeArc(x1, x1, x1, x1, c3d4, cd2, false) +
- shapeArc(x1, y2, x1, x1, cd2, cd4, false).replace("M", "L") +
- shapeArc(x2, x1, x1, x1, c3d4, (c3d4 + cd4), false) +
- shapeArc(x2, y2, x1, x1, 0, cd4, false).replace("M", "L");
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "leftBracket":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 8333 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var maxAdj = cnstVal1 * h / Math.min(w, h);
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var r = w, b = h, cd2 = 180, cd4 = 90, c3d4 = 270, a, y1, y2;
- if (adj < 0) a = 0
- else if (adj > maxAdj) a = maxAdj
- else a = adj
- y1 = Math.min(w, h) * a / cnstVal2;
- if (y1 > w) y1 = w;
- y2 = b - y1;
- var d = "M" + r + "," + b +
- shapeArc(y1, y2, y1, y1, cd4, cd2, false).replace("M", "L") +
- " L" + 0 + "," + y1 +
- shapeArc(y1, y1, y1, y1, cd2, c3d4, false).replace("M", "L") +
- " L" + r + "," + 0
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "rightBracket":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 8333 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var maxAdj = cnstVal1 * h / Math.min(w, h);
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var cd = 360, cd2 = 180, cd4 = 90, c3d4 = 270, a, y1, y2, y3;
- if (adj < 0) a = 0
- else if (adj > maxAdj) a = maxAdj
- else a = adj
- y1 = Math.min(w, h) * a / cnstVal2;
- y2 = h - y1;
- y3 = w - y1;
- //console.log("w:",w," h:",h," y1:",y1," y2:",y2," y3:",y3)
- var d = "M" + 0 + "," + h +
- shapeArc(y3, y2, y1, y1, cd4, 0, false).replace("M", "L") +
- //" L"+ r + "," + y2 +
- " L" + w + "," + h / 2 +
- shapeArc(y3, y1, y1, y1, cd, c3d4, false).replace("M", "L") +
- " L" + 0 + "," + 0
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "moon":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 0.5;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) / 100000;//*96/914400;;
- }
- var hd2, cd2, cd4;
- hd2 = h / 2;
- cd2 = 180;
- cd4 = 90;
- var adj2 = (1 - adj) * w;
- var d = "M" + w + "," + h +
- shapeArc(w, hd2, w, hd2, cd4, (cd4 + cd2), false).replace("M", "L") +
- shapeArc(w, hd2, adj2, hd2, (cd4 + cd2), cd4, false).replace("M", "L") +
- " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "corner":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val = 50000 * slideFactor;
- var sAdj2, sAdj2_val = 50000 * slideFactor;
- var cnsVal = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj2_val = parseInt(sAdj2.substr(4)) * slideFactor;
- }
- }
- }
- var minWH = Math.min(w, h);
- var maxAdj1 = cnsVal * h / minWH;
- var maxAdj2 = cnsVal * w / minWH;
- var a1, a2, x1, dy1, y1;
- if (sAdj1_val < 0) a1 = 0
- else if (sAdj1_val > maxAdj1) a1 = maxAdj1
- else a1 = sAdj1_val
- if (sAdj2_val < 0) a2 = 0
- else if (sAdj2_val > maxAdj2) a2 = maxAdj2
- else a2 = sAdj2_val
- x1 = minWH * a2 / cnsVal;
- dy1 = minWH * a1 / cnsVal;
- y1 = h - dy1;
- var d = "M0,0" +
- " L" + x1 + "," + 0 +
- " L" + x1 + "," + y1 +
- " L" + w + "," + y1 +
- " L" + w + "," + h +
- " L0," + h + " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "diagStripe":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var sAdj1_val = 50000 * slideFactor;
- var cnsVal = 100000 * slideFactor;
- if (shapAdjst !== undefined) {
- sAdj1_val = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var a1, x2, y2;
- if (sAdj1_val < 0) a1 = 0
- else if (sAdj1_val > cnsVal) a1 = cnsVal
- else a1 = sAdj1_val
- x2 = w * a1 / cnsVal;
- y2 = h * a1 / cnsVal;
- var d = "M" + 0 + "," + y2 +
- " L" + x2 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + 0 + "," + h + " z";
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "gear6":
- case "gear9":
- txtRotate = 0;
- var gearNum = shapType.substr(4), d;
- if (gearNum == "6") {
- d = shapeGear(w, h / 3.5, parseInt(gearNum));
- } else { //gearNum=="9"
- d = shapeGear(w, h / 3.5, parseInt(gearNum));
- }
- result += "<path d='" + d + "' transform='rotate(20," + (3 / 7) * h + "," + (3 / 7) * h + ")' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "bentConnector3":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var shapAdjst_val = 0.5;
- if (shapAdjst !== undefined) {
- shapAdjst_val = parseInt(shapAdjst.substr(4)) / 100000;
- // if (isFlipV) {
- // result += " <polyline points='" + w + " 0," + ((1 - shapAdjst_val) * w) + " 0," + ((1 - shapAdjst_val) * w) + " " + h + ",0 " + h + "' fill='transparent'" +
- // "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' ";
- // } else {
- result += " <polyline points='0 0," + (shapAdjst_val) * w + " 0," + (shapAdjst_val) * w + " " + h + "," + w + " " + h + "' fill='transparent'" +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' ";
- //}
- if (headEndNodeAttrs !== undefined && (headEndNodeAttrs["type"] === "triangle" || headEndNodeAttrs["type"] === "arrow")) {
- result += "marker-start='url(#markerTriangle_" + shpId + ")' ";
- }
- if (tailEndNodeAttrs !== undefined && (tailEndNodeAttrs["type"] === "triangle" || tailEndNodeAttrs["type"] === "arrow")) {
- result += "marker-end='url(#markerTriangle_" + shpId + ")' ";
- }
- result += "/>";
- }
- break;
- case "plus":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj1 = 0.25;
- if (shapAdjst !== undefined) {
- adj1 = parseInt(shapAdjst.substr(4)) / 100000;
- }
- var adj2 = (1 - adj1);
- result += " <polygon points='" + adj1 * w + " 0," + adj1 * w + " " + adj1 * h + ",0 " + adj1 * h + ",0 " + adj2 * h + "," +
- adj1 * w + " " + adj2 * h + "," + adj1 * w + " " + h + "," + adj2 * w + " " + h + "," + adj2 * w + " " + adj2 * h + "," + w + " " + adj2 * h + "," +
- +w + " " + adj1 * h + "," + adj2 * w + " " + adj1 * h + "," + adj2 * w + " 0' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "teardrop":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj1 = 100000 * slideFactor;
- var cnsVal1 = adj1;
- var cnsVal2 = 200000 * slideFactor;
- if (shapAdjst !== undefined) {
- adj1 = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var a1, r2, tw, th, sw, sh, dx1, dy1, x1, y1, x2, y2, rd45;
- if (adj1 < 0) a1 = 0
- else if (adj1 > cnsVal2) a1 = cnsVal2
- else a1 = adj1
- r2 = Math.sqrt(2);
- tw = r2 * (w / 2);
- th = r2 * (h / 2);
- sw = (tw * a1) / cnsVal1;
- sh = (th * a1) / cnsVal1;
- rd45 = (45 * (Math.PI) / 180);
- dx1 = sw * (Math.cos(rd45));
- dy1 = sh * (Math.cos(rd45));
- x1 = (w / 2) + dx1;
- y1 = (h / 2) - dy1;
- x2 = ((w / 2) + x1) / 2;
- y2 = ((h / 2) + y1) / 2;
- var d_val = shapeArc(w / 2, h / 2, w / 2, h / 2, 180, 270, false) +
- "Q " + x2 + ",0 " + x1 + "," + y1 +
- "Q " + w + "," + y2 + " " + w + "," + h / 2 +
- shapeArc(w / 2, h / 2, w / 2, h / 2, 0, 90, false).replace("M", "L") +
- shapeArc(w / 2, h / 2, w / 2, h / 2, 90, 180, false).replace("M", "L") + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- // console.log("shapAdjst: ",shapAdjst,", adj1: ",adj1);
- break;
- case "plaque":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj1 = 16667 * slideFactor;
- var cnsVal1 = 50000 * slideFactor;
- var cnsVal2 = 100000 * slideFactor;
- if (shapAdjst !== undefined) {
- adj1 = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var a1, x1, x2, y2;
- if (adj1 < 0) a1 = 0
- else if (adj1 > cnsVal1) a1 = cnsVal1
- else a1 = adj1
- x1 = a1 * (Math.min(w, h)) / cnsVal2;
- x2 = w - x1;
- y2 = h - x1;
- var d_val = "M0," + x1 +
- shapeArc(0, 0, x1, x1, 90, 0, false).replace("M", "L") +
- " L" + x2 + "," + 0 +
- shapeArc(w, 0, x1, x1, 180, 90, false).replace("M", "L") +
- " L" + w + "," + y2 +
- shapeArc(w, h, x1, x1, 270, 180, false).replace("M", "L") +
- " L" + x1 + "," + h +
- shapeArc(0, h, x1, x1, 0, -90, false).replace("M", "L") + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "sun":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var refr = slideFactor;
- var adj1 = 25000 * refr;
- var cnstVal1 = 12500 * refr;
- var cnstVal2 = 46875 * refr;
- if (shapAdjst !== undefined) {
- adj1 = parseInt(shapAdjst.substr(4)) * refr;
- }
- var a1;
- if (adj1 < cnstVal1) a1 = cnstVal1
- else if (adj1 > cnstVal2) a1 = cnstVal2
- else a1 = adj1
- var cnstVa3 = 50000 * refr;
- var cnstVa4 = 100000 * refr;
- var g0 = cnstVa3 - a1,
- g1 = g0 * (30274 * refr) / (32768 * refr),
- g2 = g0 * (12540 * refr) / (32768 * refr),
- g3 = g1 + cnstVa3,
- g4 = g2 + cnstVa3,
- g5 = cnstVa3 - g1,
- g6 = cnstVa3 - g2,
- g7 = g0 * (23170 * refr) / (32768 * refr),
- g8 = cnstVa3 + g7,
- g9 = cnstVa3 - g7,
- g10 = g5 * 3 / 4,
- g11 = g6 * 3 / 4,
- g12 = g10 + 3662 * refr,
- g13 = g11 + 36620 * refr,
- g14 = g11 + 12500 * refr,
- g15 = cnstVa4 - g10,
- g16 = cnstVa4 - g12,
- g17 = cnstVa4 - g13,
- g18 = cnstVa4 - g14,
- ox1 = w * (18436 * refr) / (21600 * refr),
- oy1 = h * (3163 * refr) / (21600 * refr),
- ox2 = w * (3163 * refr) / (21600 * refr),
- oy2 = h * (18436 * refr) / (21600 * refr),
- x8 = w * g8 / cnstVa4,
- x9 = w * g9 / cnstVa4,
- x10 = w * g10 / cnstVa4,
- x12 = w * g12 / cnstVa4,
- x13 = w * g13 / cnstVa4,
- x14 = w * g14 / cnstVa4,
- x15 = w * g15 / cnstVa4,
- x16 = w * g16 / cnstVa4,
- x17 = w * g17 / cnstVa4,
- x18 = w * g18 / cnstVa4,
- x19 = w * a1 / cnstVa4,
- wR = w * g0 / cnstVa4,
- hR = h * g0 / cnstVa4,
- y8 = h * g8 / cnstVa4,
- y9 = h * g9 / cnstVa4,
- y10 = h * g10 / cnstVa4,
- y12 = h * g12 / cnstVa4,
- y13 = h * g13 / cnstVa4,
- y14 = h * g14 / cnstVa4,
- y15 = h * g15 / cnstVa4,
- y16 = h * g16 / cnstVa4,
- y17 = h * g17 / cnstVa4,
- y18 = h * g18 / cnstVa4;
- var d_val = "M" + w + "," + h / 2 +
- " L" + x15 + "," + y18 +
- " L" + x15 + "," + y14 +
- "z" +
- " M" + ox1 + "," + oy1 +
- " L" + x16 + "," + y17 +
- " L" + x13 + "," + y12 +
- "z" +
- " M" + w / 2 + "," + 0 +
- " L" + x18 + "," + y10 +
- " L" + x14 + "," + y10 +
- "z" +
- " M" + ox2 + "," + oy1 +
- " L" + x17 + "," + y12 +
- " L" + x12 + "," + y17 +
- "z" +
- " M" + 0 + "," + h / 2 +
- " L" + x10 + "," + y14 +
- " L" + x10 + "," + y18 +
- "z" +
- " M" + ox2 + "," + oy2 +
- " L" + x12 + "," + y13 +
- " L" + x17 + "," + y16 +
- "z" +
- " M" + w / 2 + "," + h +
- " L" + x14 + "," + y15 +
- " L" + x18 + "," + y15 +
- "z" +
- " M" + ox1 + "," + oy2 +
- " L" + x13 + "," + y16 +
- " L" + x16 + "," + y13 +
- " z" +
- " M" + x19 + "," + h / 2 +
- shapeArc(w / 2, h / 2, wR, hR, 180, 540, false).replace("M", "L") +
- " z";
- //console.log("adj1: ",adj1,d_val);
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "heart":
- var dx1, dx2, x1, x2, x3, x4, y1;
- dx1 = w * 49 / 48;
- dx2 = w * 10 / 48
- x1 = w / 2 - dx1
- x2 = w / 2 - dx2
- x3 = w / 2 + dx2
- x4 = w / 2 + dx1
- y1 = -h / 3;
- var d_val = "M" + w / 2 + "," + h / 4 +
- "C" + x3 + "," + y1 + " " + x4 + "," + h / 4 + " " + w / 2 + "," + h +
- "C" + x1 + "," + h / 4 + " " + x2 + "," + y1 + " " + w / 2 + "," + h / 4 + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "lightningBolt":
- var x1 = w * 5022 / 21600,
- x2 = w * 11050 / 21600,
- x3 = w * 8472 / 21600,
- x4 = w * 8757 / 21600,
- x5 = w * 10012 / 21600,
- x6 = w * 14767 / 21600,
- x7 = w * 12222 / 21600,
- x8 = w * 12860 / 21600,
- x9 = w * 13917 / 21600,
- x10 = w * 7602 / 21600,
- x11 = w * 16577 / 21600,
- y1 = h * 3890 / 21600,
- y2 = h * 6080 / 21600,
- y3 = h * 6797 / 21600,
- y4 = h * 7437 / 21600,
- y5 = h * 12877 / 21600,
- y6 = h * 9705 / 21600,
- y7 = h * 12007 / 21600,
- y8 = h * 13987 / 21600,
- y9 = h * 8382 / 21600,
- y10 = h * 14277 / 21600,
- y11 = h * 14915 / 21600;
- var d_val = "M" + x3 + "," + 0 +
- " L" + x8 + "," + y2 +
- " L" + x2 + "," + y3 +
- " L" + x11 + "," + y7 +
- " L" + x6 + "," + y5 +
- " L" + w + "," + h +
- " L" + x5 + "," + y11 +
- " L" + x7 + "," + y8 +
- " L" + x1 + "," + y6 +
- " L" + x10 + "," + y9 +
- " L" + 0 + "," + y1 + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "cube":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var refr = slideFactor;
- var adj = 25000 * refr;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * refr;
- }
- var d_val;
- var cnstVal2 = 100000 * refr;
- var ss = Math.min(w, h);
- var a, y1, y4, x4;
- a = (adj < 0) ? 0 : (adj > cnstVal2) ? cnstVal2 : adj;
- y1 = ss * a / cnstVal2;
- y4 = h - y1;
- x4 = w - y1;
- d_val = "M" + 0 + "," + y1 +
- " L" + y1 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + y4 +
- " L" + x4 + "," + h +
- " L" + 0 + "," + h +
- " z" +
- "M" + 0 + "," + y1 +
- " L" + x4 + "," + y1 +
- " M" + x4 + "," + y1 +
- " L" + w + "," + 0 +
- "M" + x4 + "," + y1 +
- " L" + x4 + "," + h;
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "bevel":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var refr = slideFactor;
- var adj = 12500 * refr;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * refr;
- }
- var d_val;
- var cnstVal1 = 50000 * refr;
- var cnstVal2 = 100000 * refr;
- var ss = Math.min(w, h);
- var a, x1, x2, y2;
- a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj;
- x1 = ss * a / cnstVal2;
- x2 = w - x1;
- y2 = h - x1;
- d_val = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- " M" + x1 + "," + x1 +
- " L" + x2 + "," + x1 +
- " L" + x2 + "," + y2 +
- " L" + x1 + "," + y2 +
- " z" +
- " M" + 0 + "," + 0 +
- " L" + x1 + "," + x1 +
- " M" + 0 + "," + h +
- " L" + x1 + "," + y2 +
- " M" + w + "," + 0 +
- " L" + x2 + "," + x1 +
- " M" + w + "," + h +
- " L" + x2 + "," + y2;
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "foldedCorner":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var refr = slideFactor;
- var adj = 16667 * refr;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * refr;
- }
- var d_val;
- var cnstVal1 = 50000 * refr;
- var cnstVal2 = 100000 * refr;
- var ss = Math.min(w, h);
- var a, dy2, dy1, x1, x2, y2, y1;
- a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj;
- dy2 = ss * a / cnstVal2;
- dy1 = dy2 / 5;
- x1 = w - dy2;
- x2 = x1 + dy1;
- y2 = h - dy2;
- y1 = y2 + dy1;
- d_val = "M" + x1 + "," + h +
- " L" + x2 + "," + y1 +
- " L" + w + "," + y2 +
- " L" + x1 + "," + h +
- " L" + 0 + "," + h +
- " L" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + y2;
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "cloud":
- case "cloudCallout":
- var x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11,
- rx1, rx2, rx3, rx4, rx5, rx6, rx7, rx8, rx9, rx10, rx11, ry1, ry2, ry3, ry4, ry5, ry6, ry7, ry8, ry9, ry10, ry11;
- x0 = w * 3900 / 43200;;
- x1 = w * 4693 / 43200;
- x2 = w * 6928 / 43200;
- x3 = w * 16478 / 43200;
- x4 = w * 28827 / 43200;
- x5 = w * 34129 / 43200;
- x6 = w * 41798 / 43200;
- x7 = w * 38324 / 43200;
- x8 = w * 29078 / 43200;
- x9 = w * 22141 / 43200;
- x10 = w * 14000 / 43200;
- x11 = w * 4127 / 43200;
- y0 = h * 14370 / 43200;
- y1 = h * 26177 / 43200;
- y2 = h * 34899 / 43200;
- y3 = h * 39090 / 43200;
- y4 = h * 34751 / 43200;
- y5 = h * 22954 / 43200;
- y6 = h * 15354 / 43200;
- y7 = h * 5426 / 43200;
- y8 = h * 3952 / 43200;
- y9 = h * 4720 / 43200;
- y10 = h * 5192 / 43200;
- y11 = h * 15789 / 43200;
- //Path:
- //(path attrs: w = 43200; h = 43200; )
- var rX1 = w * 6753 / 43200, rY1 = h * 9190 / 43200, rX2 = w * 5333 / 43200, rY2 = h * 7267 / 43200, rX3 = w * 4365 / 43200,
- rY3 = h * 5945 / 43200, rX4 = w * 4857 / 43200, rY4 = h * 6595 / 43200, rY5 = h * 7273 / 43200, rX6 = w * 6775 / 43200,
- rY6 = h * 9220 / 43200, rX7 = w * 5785 / 43200, rY7 = h * 7867 / 43200, rX8 = w * 6752 / 43200, rY8 = h * 9215 / 43200,
- rX9 = w * 7720 / 43200, rY9 = h * 10543 / 43200, rX10 = w * 4360 / 43200, rY10 = h * 5918 / 43200, rX11 = w * 4345 / 43200;
- var sA1 = -11429249 / 60000, wA1 = 7426832 / 60000, sA2 = -8646143 / 60000, wA2 = 5396714 / 60000, sA3 = -8748475 / 60000,
- wA3 = 5983381 / 60000, sA4 = -7859164 / 60000, wA4 = 7034504 / 60000, sA5 = -4722533 / 60000, wA5 = 6541615 / 60000,
- sA6 = -2776035 / 60000, wA6 = 7816140 / 60000, sA7 = 37501 / 60000, wA7 = 6842000 / 60000, sA8 = 1347096 / 60000,
- wA8 = 6910353 / 60000, sA9 = 3974558 / 60000, wA9 = 4542661 / 60000, sA10 = -16496525 / 60000, wA10 = 8804134 / 60000,
- sA11 = -14809710 / 60000, wA11 = 9151131 / 60000;
- var cX0, cX1, cX2, cX3, cX4, cX5, cX6, cX7, cX8, cX9, cX10, cY0, cY1, cY2, cY3, cY4, cY5, cY6, cY7, cY8, cY9, cY10;
- var arc1, arc2, arc3, arc4, arc5, arc6, arc7, arc8, arc9, arc10, arc11;
- var lxy1, lxy2, lxy3, lxy4, lxy5, lxy6, lxy7, lxy8, lxy9, lxy10;
- cX0 = x0 - rX1 * Math.cos(sA1 * Math.PI / 180);
- cY0 = y0 - rY1 * Math.sin(sA1 * Math.PI / 180);
- arc1 = shapeArc(cX0, cY0, rX1, rY1, sA1, sA1 + wA1, false).replace("M", "L");
- lxy1 = arc1.substr(arc1.lastIndexOf("L") + 1).split(" ");
- cX1 = parseInt(lxy1[0]) - rX2 * Math.cos(sA2 * Math.PI / 180);
- cY1 = parseInt(lxy1[1]) - rY2 * Math.sin(sA2 * Math.PI / 180);
- arc2 = shapeArc(cX1, cY1, rX2, rY2, sA2, sA2 + wA2, false).replace("M", "L");
- lxy2 = arc2.substr(arc2.lastIndexOf("L") + 1).split(" ");
- cX2 = parseInt(lxy2[0]) - rX3 * Math.cos(sA3 * Math.PI / 180);
- cY2 = parseInt(lxy2[1]) - rY3 * Math.sin(sA3 * Math.PI / 180);
- arc3 = shapeArc(cX2, cY2, rX3, rY3, sA3, sA3 + wA3, false).replace("M", "L");
- lxy3 = arc3.substr(arc3.lastIndexOf("L") + 1).split(" ");
- cX3 = parseInt(lxy3[0]) - rX4 * Math.cos(sA4 * Math.PI / 180);
- cY3 = parseInt(lxy3[1]) - rY4 * Math.sin(sA4 * Math.PI / 180);
- arc4 = shapeArc(cX3, cY3, rX4, rY4, sA4, sA4 + wA4, false).replace("M", "L");
- lxy4 = arc4.substr(arc4.lastIndexOf("L") + 1).split(" ");
- cX4 = parseInt(lxy4[0]) - rX2 * Math.cos(sA5 * Math.PI / 180);
- cY4 = parseInt(lxy4[1]) - rY5 * Math.sin(sA5 * Math.PI / 180);
- arc5 = shapeArc(cX4, cY4, rX2, rY5, sA5, sA5 + wA5, false).replace("M", "L");
- lxy5 = arc5.substr(arc5.lastIndexOf("L") + 1).split(" ");
- cX5 = parseInt(lxy5[0]) - rX6 * Math.cos(sA6 * Math.PI / 180);
- cY5 = parseInt(lxy5[1]) - rY6 * Math.sin(sA6 * Math.PI / 180);
- arc6 = shapeArc(cX5, cY5, rX6, rY6, sA6, sA6 + wA6, false).replace("M", "L");
- lxy6 = arc6.substr(arc6.lastIndexOf("L") + 1).split(" ");
- cX6 = parseInt(lxy6[0]) - rX7 * Math.cos(sA7 * Math.PI / 180);
- cY6 = parseInt(lxy6[1]) - rY7 * Math.sin(sA7 * Math.PI / 180);
- arc7 = shapeArc(cX6, cY6, rX7, rY7, sA7, sA7 + wA7, false).replace("M", "L");
- lxy7 = arc7.substr(arc7.lastIndexOf("L") + 1).split(" ");
- cX7 = parseInt(lxy7[0]) - rX8 * Math.cos(sA8 * Math.PI / 180);
- cY7 = parseInt(lxy7[1]) - rY8 * Math.sin(sA8 * Math.PI / 180);
- arc8 = shapeArc(cX7, cY7, rX8, rY8, sA8, sA8 + wA8, false).replace("M", "L");
- lxy8 = arc8.substr(arc8.lastIndexOf("L") + 1).split(" ");
- cX8 = parseInt(lxy8[0]) - rX9 * Math.cos(sA9 * Math.PI / 180);
- cY8 = parseInt(lxy8[1]) - rY9 * Math.sin(sA9 * Math.PI / 180);
- arc9 = shapeArc(cX8, cY8, rX9, rY9, sA9, sA9 + wA9, false).replace("M", "L");
- lxy9 = arc9.substr(arc9.lastIndexOf("L") + 1).split(" ");
- cX9 = parseInt(lxy9[0]) - rX10 * Math.cos(sA10 * Math.PI / 180);
- cY9 = parseInt(lxy9[1]) - rY10 * Math.sin(sA10 * Math.PI / 180);
- arc10 = shapeArc(cX9, cY9, rX10, rY10, sA10, sA10 + wA10, false).replace("M", "L");
- lxy10 = arc10.substr(arc10.lastIndexOf("L") + 1).split(" ");
- cX10 = parseInt(lxy10[0]) - rX11 * Math.cos(sA11 * Math.PI / 180);
- cY10 = parseInt(lxy10[1]) - rY3 * Math.sin(sA11 * Math.PI / 180);
- arc11 = shapeArc(cX10, cY10, rX11, rY3, sA11, sA11 + wA11, false).replace("M", "L");
- var d1 = "M" + x0 + "," + y0 +
- arc1 +
- arc2 +
- arc3 +
- arc4 +
- arc5 +
- arc6 +
- arc7 +
- arc8 +
- arc9 +
- arc10 +
- arc11 +
- " z";
- if (shapType == "cloudCallout") {
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var refr = slideFactor;
- var sAdj1, adj1 = -20833 * refr;
- var sAdj2, adj2 = 62500 * refr;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * refr;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * refr;
- }
- }
- }
- var d_val;
- var cnstVal2 = 100000 * refr;
- var ss = Math.min(w, h);
- var wd2 = w / 2, hd2 = h / 2;
- var dxPos, dyPos, xPos, yPos, ht, wt, g2, g3, g4, g5, g6, g7, g8, g9, g10, g11, g12, g13, g14, g15, g16,
- g17, g18, g19, g20, g21, g22, g23, g24, g25, g26, x23, x24, x25;
- dxPos = w * adj1 / cnstVal2;
- dyPos = h * adj2 / cnstVal2;
- xPos = wd2 + dxPos;
- yPos = hd2 + dyPos;
- ht = hd2 * Math.cos(Math.atan(dyPos / dxPos));
- wt = wd2 * Math.sin(Math.atan(dyPos / dxPos));
- g2 = wd2 * Math.cos(Math.atan(wt / ht));
- g3 = hd2 * Math.sin(Math.atan(wt / ht));
- //console.log("adj1: ",adj1,"adj2: ",adj2)
- if (adj1 >= 0) {
- g4 = wd2 + g2;
- g5 = hd2 + g3;
- } else {
- g4 = wd2 - g2;
- g5 = hd2 - g3;
- }
- g6 = g4 - xPos;
- g7 = g5 - yPos;
- g8 = Math.sqrt(g6 * g6 + g7 * g7);
- g9 = ss * 6600 / 21600;
- g10 = g8 - g9;
- g11 = g10 / 3;
- g12 = ss * 1800 / 21600;
- g13 = g11 + g12;
- g14 = g13 * g6 / g8;
- g15 = g13 * g7 / g8;
- g16 = g14 + xPos;
- g17 = g15 + yPos;
- g18 = ss * 4800 / 21600;
- g19 = g11 * 2;
- g20 = g18 + g19;
- g21 = g20 * g6 / g8;
- g22 = g20 * g7 / g8;
- g23 = g21 + xPos;
- g24 = g22 + yPos;
- g25 = ss * 1200 / 21600;
- g26 = ss * 600 / 21600;
- x23 = xPos + g26;
- x24 = g16 + g25;
- x25 = g23 + g12;
- d_val = //" M" + x23 + "," + yPos +
- shapeArc(x23 - g26, yPos, g26, g26, 0, 360, false) + //.replace("M","L") +
- " z" +
- " M" + x24 + "," + g17 +
- shapeArc(x24 - g25, g17, g25, g25, 0, 360, false).replace("M", "L") +
- " z" +
- " M" + x25 + "," + g24 +
- shapeArc(x25 - g12, g24, g12, g12, 0, 360, false).replace("M", "L") +
- " z";
- d1 += d_val;
- }
- result += "<path d='" + d1 + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "smileyFace":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var refr = slideFactor;
- var adj = 4653 * refr;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * refr;
- }
- var d_val;
- var cnstVal1 = 50000 * refr;
- var cnstVal2 = 100000 * refr;
- var cnstVal3 = 4653 * refr;
- var ss = Math.min(w, h);
- var a, x1, x2, x3, x4, y1, y3, dy2, y2, y4, dy3, y5, wR, hR, wd2, hd2;
- wd2 = w / 2;
- hd2 = h / 2;
- a = (adj < -cnstVal3) ? -cnstVal3 : (adj > cnstVal3) ? cnstVal3 : adj;
- x1 = w * 4969 / 21699;
- x2 = w * 6215 / 21600;
- x3 = w * 13135 / 21600;
- x4 = w * 16640 / 21600;
- y1 = h * 7570 / 21600;
- y3 = h * 16515 / 21600;
- dy2 = h * a / cnstVal2;
- y2 = y3 - dy2;
- y4 = y3 + dy2;
- dy3 = h * a / cnstVal1;
- y5 = y4 + dy3;
- wR = w * 1125 / 21600;
- hR = h * 1125 / 21600;
- var cX1 = x2 - wR * Math.cos(Math.PI);
- var cY1 = y1 - hR * Math.sin(Math.PI);
- var cX2 = x3 - wR * Math.cos(Math.PI);
- d_val = //eyes
- shapeArc(cX1, cY1, wR, hR, 180, 540, false) +
- shapeArc(cX2, cY1, wR, hR, 180, 540, false) +
- //mouth
- " M" + x1 + "," + y2 +
- " Q" + wd2 + "," + y5 + " " + x4 + "," + y2 +
- " Q" + wd2 + "," + y5 + " " + x1 + "," + y2 +
- //head
- " M" + 0 + "," + hd2 +
- shapeArc(wd2, hd2, wd2, hd2, 180, 540, false).replace("M", "L") +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "verticalScroll":
- case "horizontalScroll":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var refr = slideFactor;
- var adj = 12500 * refr;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * refr;
- }
- var d_val;
- var cnstVal1 = 25000 * refr;
- var cnstVal2 = 100000 * refr;
- var ss = Math.min(w, h);
- var t = 0, l = 0, b = h, r = w;
- var a, ch, ch2, ch4;
- a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj;
- ch = ss * a / cnstVal2;
- ch2 = ch / 2;
- ch4 = ch / 4;
- if (shapType == "verticalScroll") {
- var x3, x4, x6, x7, x5, y3, y4;
- x3 = ch + ch2;
- x4 = ch + ch;
- x6 = r - ch;
- x7 = r - ch2;
- x5 = x6 - ch2;
- y3 = b - ch;
- y4 = b - ch2;
- d_val = "M" + ch + "," + y3 +
- " L" + ch + "," + ch2 +
- shapeArc(x3, ch2, ch2, ch2, 180, 270, false).replace("M", "L") +
- " L" + x7 + "," + t +
- shapeArc(x7, ch2, ch2, ch2, 270, 450, false).replace("M", "L") +
- " L" + x6 + "," + ch +
- " L" + x6 + "," + y4 +
- shapeArc(x5, y4, ch2, ch2, 0, 90, false).replace("M", "L") +
- " L" + ch2 + "," + b +
- shapeArc(ch2, y4, ch2, ch2, 90, 270, false).replace("M", "L") +
- " z" +
- " M" + x3 + "," + t +
- shapeArc(x3, ch2, ch2, ch2, 270, 450, false).replace("M", "L") +
- shapeArc(x3, x3 / 2, ch4, ch4, 90, 270, false).replace("M", "L") +
- " L" + x4 + "," + ch2 +
- " M" + x6 + "," + ch +
- " L" + x3 + "," + ch +
- " M" + ch + "," + y4 +
- shapeArc(ch2, y4, ch2, ch2, 0, 270, false).replace("M", "L") +
- shapeArc(ch2, (y4 + y3) / 2, ch4, ch4, 270, 450, false).replace("M", "L") +
- " z" +
- " M" + ch + "," + y4 +
- " L" + ch + "," + y3;
- } else if (shapType == "horizontalScroll") {
- var y3, y4, y6, y7, y5, x3, x4;
- y3 = ch + ch2;
- y4 = ch + ch;
- y6 = b - ch;
- y7 = b - ch2;
- y5 = y6 - ch2;
- x3 = r - ch;
- x4 = r - ch2;
- d_val = "M" + l + "," + y3 +
- shapeArc(ch2, y3, ch2, ch2, 180, 270, false).replace("M", "L") +
- " L" + x3 + "," + ch +
- " L" + x3 + "," + ch2 +
- shapeArc(x4, ch2, ch2, ch2, 180, 360, false).replace("M", "L") +
- " L" + r + "," + y5 +
- shapeArc(x4, y5, ch2, ch2, 0, 90, false).replace("M", "L") +
- " L" + ch + "," + y6 +
- " L" + ch + "," + y7 +
- shapeArc(ch2, y7, ch2, ch2, 0, 180, false).replace("M", "L") +
- " z" +
- "M" + x4 + "," + ch +
- shapeArc(x4, ch2, ch2, ch2, 90, -180, false).replace("M", "L") +
- shapeArc((x3 + x4) / 2, ch2, ch4, ch4, 180, 0, false).replace("M", "L") +
- " z" +
- " M" + x4 + "," + ch +
- " L" + x3 + "," + ch +
- " M" + ch2 + "," + y4 +
- " L" + ch2 + "," + y3 +
- shapeArc(y3 / 2, y3, ch4, ch4, 180, 360, false).replace("M", "L") +
- shapeArc(ch2, y3, ch2, ch2, 0, 180, false).replace("M", "L") +
- " M" + ch + "," + y3 +
- " L" + ch + "," + y6;
- }
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "wedgeEllipseCallout":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var refr = slideFactor;
- var sAdj1, adj1 = -20833 * refr;
- var sAdj2, adj2 = 62500 * refr;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * refr;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * refr;
- }
- }
- }
- var d_val;
- var cnstVal1 = 100000 * slideFactor;
- var angVal1 = 11 * Math.PI / 180;
- var ss = Math.min(w, h);
- var dxPos, dyPos, xPos, yPos, sdx, sdy, pang, stAng, enAng, dx1, dy1, x1, y1, dx2, dy2,
- x2, y2, stAng1, enAng1, swAng1, swAng2, swAng,
- vc = h / 2, hc = w / 2;
- dxPos = w * adj1 / cnstVal1;
- dyPos = h * adj2 / cnstVal1;
- xPos = hc + dxPos;
- yPos = vc + dyPos;
- sdx = dxPos * h;
- sdy = dyPos * w;
- pang = Math.atan(sdy / sdx);
- stAng = pang + angVal1;
- enAng = pang - angVal1;
- console.log("dxPos: ", dxPos, "dyPos: ", dyPos)
- dx1 = hc * Math.cos(stAng);
- dy1 = vc * Math.sin(stAng);
- dx2 = hc * Math.cos(enAng);
- dy2 = vc * Math.sin(enAng);
- if (dxPos >= 0) {
- x1 = hc + dx1;
- y1 = vc + dy1;
- x2 = hc + dx2;
- y2 = vc + dy2;
- } else {
- x1 = hc - dx1;
- y1 = vc - dy1;
- x2 = hc - dx2;
- y2 = vc - dy2;
- }
- /*
- //stAng = pang+angVal1;
- //enAng = pang-angVal1;
- //dx1 = hc*Math.cos(stAng);
- //dy1 = vc*Math.sin(stAng);
- x1 = hc+dx1;
- y1 = vc+dy1;
- dx2 = hc*Math.cos(enAng);
- dy2 = vc*Math.sin(enAng);
- x2 = hc+dx2;
- y2 = vc+dy2;
- stAng1 = Math.atan(dy1/dx1);
- enAng1 = Math.atan(dy2/dx2);
- swAng1 = enAng1-stAng1;
- swAng2 = swAng1+2*Math.PI;
- swAng = (swAng1 > 0)?swAng1:swAng2;
- var stAng1Dg = stAng1*180/Math.PI;
- var swAngDg = swAng*180/Math.PI;
- var endAng = stAng1Dg + swAngDg;
- */
- d_val = "M" + x1 + "," + y1 +
- " L" + xPos + "," + yPos +
- " L" + x2 + "," + y2 +
- //" z" +
- shapeArc(hc, vc, hc, vc, 0, 360, true);// +
- //shapeArc(hc,vc,hc,vc,stAng1Dg,stAng1Dg+swAngDg,false).replace("M","L") +
- //" z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "wedgeRectCallout":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var refr = slideFactor;
- var sAdj1, adj1 = -20833 * refr;
- var sAdj2, adj2 = 62500 * refr;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * refr;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * refr;
- }
- }
- }
- var d_val;
- var cnstVal1 = 100000 * slideFactor;
- var dxPos, dyPos, xPos, yPos, dx, dy, dq, ady, adq, dz, xg1, xg2, x1, x2,
- yg1, yg2, y1, y2, t1, xl, t2, xt, t3, xr, t4, xb, t5, yl, t6, yt, t7, yr, t8, yb,
- vc = h / 2, hc = w / 2;
- dxPos = w * adj1 / cnstVal1;
- dyPos = h * adj2 / cnstVal1;
- xPos = hc + dxPos;
- yPos = vc + dyPos;
- dx = xPos - hc;
- dy = yPos - vc;
- dq = dxPos * h / w;
- ady = Math.abs(dyPos);
- adq = Math.abs(dq);
- dz = ady - adq;
- xg1 = (dxPos > 0) ? 7 : 2;
- xg2 = (dxPos > 0) ? 10 : 5;
- x1 = w * xg1 / 12;
- x2 = w * xg2 / 12;
- yg1 = (dyPos > 0) ? 7 : 2;
- yg2 = (dyPos > 0) ? 10 : 5;
- y1 = h * yg1 / 12;
- y2 = h * yg2 / 12;
- t1 = (dxPos > 0) ? 0 : xPos;
- xl = (dz > 0) ? 0 : t1;
- t2 = (dyPos > 0) ? x1 : xPos;
- xt = (dz > 0) ? t2 : x1;
- t3 = (dxPos > 0) ? xPos : w;
- xr = (dz > 0) ? w : t3;
- t4 = (dyPos > 0) ? xPos : x1;
- xb = (dz > 0) ? t4 : x1;
- t5 = (dxPos > 0) ? y1 : yPos;
- yl = (dz > 0) ? y1 : t5;
- t6 = (dyPos > 0) ? 0 : yPos;
- yt = (dz > 0) ? t6 : 0;
- t7 = (dxPos > 0) ? yPos : y1;
- yr = (dz > 0) ? y1 : t7;
- t8 = (dyPos > 0) ? yPos : h;
- yb = (dz > 0) ? t8 : h;
- d_val = "M" + 0 + "," + 0 +
- " L" + x1 + "," + 0 +
- " L" + xt + "," + yt +
- " L" + x2 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + y1 +
- " L" + xr + "," + yr +
- " L" + w + "," + y2 +
- " L" + w + "," + h +
- " L" + x2 + "," + h +
- " L" + xb + "," + yb +
- " L" + x1 + "," + h +
- " L" + 0 + "," + h +
- " L" + 0 + "," + y2 +
- " L" + xl + "," + yl +
- " L" + 0 + "," + y1 +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "wedgeRoundRectCallout":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var refr = slideFactor;
- var sAdj1, adj1 = -20833 * refr;
- var sAdj2, adj2 = 62500 * refr;
- var sAdj3, adj3 = 16667 * refr;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * refr;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * refr;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * refr;
- }
- }
- }
- var d_val;
- var cnstVal1 = 100000 * slideFactor;
- var ss = Math.min(w, h);
- var dxPos, dyPos, xPos, yPos, dq, ady, adq, dz, xg1, xg2, x1, x2, yg1, yg2, y1, y2,
- t1, xl, t2, xt, t3, xr, t4, xb, t5, yl, t6, yt, t7, yr, t8, yb, u1, u2, v2,
- vc = h / 2, hc = w / 2;
- dxPos = w * adj1 / cnstVal1;
- dyPos = h * adj2 / cnstVal1;
- xPos = hc + dxPos;
- yPos = vc + dyPos;
- dq = dxPos * h / w;
- ady = Math.abs(dyPos);
- adq = Math.abs(dq);
- dz = ady - adq;
- xg1 = (dxPos > 0) ? 7 : 2;
- xg2 = (dxPos > 0) ? 10 : 5;
- x1 = w * xg1 / 12;
- x2 = w * xg2 / 12;
- yg1 = (dyPos > 0) ? 7 : 2;
- yg2 = (dyPos > 0) ? 10 : 5;
- y1 = h * yg1 / 12;
- y2 = h * yg2 / 12;
- t1 = (dxPos > 0) ? 0 : xPos;
- xl = (dz > 0) ? 0 : t1;
- t2 = (dyPos > 0) ? x1 : xPos;
- xt = (dz > 0) ? t2 : x1;
- t3 = (dxPos > 0) ? xPos : w;
- xr = (dz > 0) ? w : t3;
- t4 = (dyPos > 0) ? xPos : x1;
- xb = (dz > 0) ? t4 : x1;
- t5 = (dxPos > 0) ? y1 : yPos;
- yl = (dz > 0) ? y1 : t5;
- t6 = (dyPos > 0) ? 0 : yPos;
- yt = (dz > 0) ? t6 : 0;
- t7 = (dxPos > 0) ? yPos : y1;
- yr = (dz > 0) ? y1 : t7;
- t8 = (dyPos > 0) ? yPos : h;
- yb = (dz > 0) ? t8 : h;
- u1 = ss * adj3 / cnstVal1;
- u2 = w - u1;
- v2 = h - u1;
- d_val = "M" + 0 + "," + u1 +
- shapeArc(u1, u1, u1, u1, 180, 270, false).replace("M", "L") +
- " L" + x1 + "," + 0 +
- " L" + xt + "," + yt +
- " L" + x2 + "," + 0 +
- " L" + u2 + "," + 0 +
- shapeArc(u2, u1, u1, u1, 270, 360, false).replace("M", "L") +
- " L" + w + "," + y1 +
- " L" + xr + "," + yr +
- " L" + w + "," + y2 +
- " L" + w + "," + v2 +
- shapeArc(u2, v2, u1, u1, 0, 90, false).replace("M", "L") +
- " L" + x2 + "," + h +
- " L" + xb + "," + yb +
- " L" + x1 + "," + h +
- " L" + u1 + "," + h +
- shapeArc(u1, v2, u1, u1, 90, 180, false).replace("M", "L") +
- " L" + 0 + "," + y2 +
- " L" + xl + "," + yl +
- " L" + 0 + "," + y1 +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "accentBorderCallout1":
- case "accentBorderCallout2":
- case "accentBorderCallout3":
- case "borderCallout1":
- case "borderCallout2":
- case "borderCallout3":
- case "accentCallout1":
- case "accentCallout2":
- case "accentCallout3":
- case "callout1":
- case "callout2":
- case "callout3":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var refr = slideFactor;
- var sAdj1, adj1 = 18750 * refr;
- var sAdj2, adj2 = -8333 * refr;
- var sAdj3, adj3 = 18750 * refr;
- var sAdj4, adj4 = -16667 * refr;
- var sAdj5, adj5 = 100000 * refr;
- var sAdj6, adj6 = -16667 * refr;
- var sAdj7, adj7 = 112963 * refr;
- var sAdj8, adj8 = -8333 * refr;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * refr;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * refr;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * refr;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = parseInt(sAdj4.substr(4)) * refr;
- } else if (sAdj_name == "adj5") {
- sAdj5 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj5 = parseInt(sAdj5.substr(4)) * refr;
- } else if (sAdj_name == "adj6") {
- sAdj6 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj6 = parseInt(sAdj6.substr(4)) * refr;
- } else if (sAdj_name == "adj7") {
- sAdj7 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj7 = parseInt(sAdj7.substr(4)) * refr;
- } else if (sAdj_name == "adj8") {
- sAdj8 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj8 = parseInt(sAdj8.substr(4)) * refr;
- }
- }
- }
- var d_val;
- var cnstVal1 = 100000 * refr;
- var isBorder = true;
- switch (shapType) {
- case "borderCallout1":
- case "callout1":
- if (shapType == "borderCallout1") {
- isBorder = true;
- } else {
- isBorder = false;
- }
- if (shapAdjst_ary === undefined) {
- adj1 = 18750 * refr;
- adj2 = -8333 * refr;
- adj3 = 112500 * refr;
- adj4 = -38333 * refr;
- }
- var y1, x1, y2, x2;
- y1 = h * adj1 / cnstVal1;
- x1 = w * adj2 / cnstVal1;
- y2 = h * adj3 / cnstVal1;
- x2 = w * adj4 / cnstVal1;
- d_val = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- " M" + x1 + "," + y1 +
- " L" + x2 + "," + y2;
- break;
- case "borderCallout2":
- case "callout2":
- if (shapType == "borderCallout2") {
- isBorder = true;
- } else {
- isBorder = false;
- }
- if (shapAdjst_ary === undefined) {
- adj1 = 18750 * refr;
- adj2 = -8333 * refr;
- adj3 = 18750 * refr;
- adj4 = -16667 * refr;
- adj5 = 112500 * refr;
- adj6 = -46667 * refr;
- }
- var y1, x1, y2, x2, y3, x3;
- y1 = h * adj1 / cnstVal1;
- x1 = w * adj2 / cnstVal1;
- y2 = h * adj3 / cnstVal1;
- x2 = w * adj4 / cnstVal1;
- y3 = h * adj5 / cnstVal1;
- x3 = w * adj6 / cnstVal1;
- d_val = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- " M" + x1 + "," + y1 +
- " L" + x2 + "," + y2 +
- " L" + x3 + "," + y3 +
- " L" + x2 + "," + y2;
- break;
- case "borderCallout3":
- case "callout3":
- if (shapType == "borderCallout3") {
- isBorder = true;
- } else {
- isBorder = false;
- }
- if (shapAdjst_ary === undefined) {
- adj1 = 18750 * refr;
- adj2 = -8333 * refr;
- adj3 = 18750 * refr;
- adj4 = -16667 * refr;
- adj5 = 100000 * refr;
- adj6 = -16667 * refr;
- adj7 = 112963 * refr;
- adj8 = -8333 * refr;
- }
- var y1, x1, y2, x2, y3, x3, y4, x4;
- y1 = h * adj1 / cnstVal1;
- x1 = w * adj2 / cnstVal1;
- y2 = h * adj3 / cnstVal1;
- x2 = w * adj4 / cnstVal1;
- y3 = h * adj5 / cnstVal1;
- x3 = w * adj6 / cnstVal1;
- y4 = h * adj7 / cnstVal1;
- x4 = w * adj8 / cnstVal1;
- d_val = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- " M" + x1 + "," + y1 +
- " L" + x2 + "," + y2 +
- " L" + x3 + "," + y3 +
- " L" + x4 + "," + y4 +
- " L" + x3 + "," + y3 +
- " L" + x2 + "," + y2;
- break;
- case "accentBorderCallout1":
- case "accentCallout1":
- if (shapType == "accentBorderCallout1") {
- isBorder = true;
- } else {
- isBorder = false;
- }
- if (shapAdjst_ary === undefined) {
- adj1 = 18750 * refr;
- adj2 = -8333 * refr;
- adj3 = 112500 * refr;
- adj4 = -38333 * refr;
- }
- var y1, x1, y2, x2;
- y1 = h * adj1 / cnstVal1;
- x1 = w * adj2 / cnstVal1;
- y2 = h * adj3 / cnstVal1;
- x2 = w * adj4 / cnstVal1;
- d_val = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- " M" + x1 + "," + y1 +
- " L" + x2 + "," + y2 +
- " M" + x1 + "," + 0 +
- " L" + x1 + "," + h;
- break;
- case "accentBorderCallout2":
- case "accentCallout2":
- if (shapType == "accentBorderCallout2") {
- isBorder = true;
- } else {
- isBorder = false;
- }
- if (shapAdjst_ary === undefined) {
- adj1 = 18750 * refr;
- adj2 = -8333 * refr;
- adj3 = 18750 * refr;
- adj4 = -16667 * refr;
- adj5 = 112500 * refr;
- adj6 = -46667 * refr;
- }
- var y1, x1, y2, x2, y3, x3;
- y1 = h * adj1 / cnstVal1;
- x1 = w * adj2 / cnstVal1;
- y2 = h * adj3 / cnstVal1;
- x2 = w * adj4 / cnstVal1;
- y3 = h * adj5 / cnstVal1;
- x3 = w * adj6 / cnstVal1;
- d_val = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- " M" + x1 + "," + y1 +
- " L" + x2 + "," + y2 +
- " L" + x3 + "," + y3 +
- " L" + x2 + "," + y2 +
- " M" + x1 + "," + 0 +
- " L" + x1 + "," + h;
- break;
- case "accentBorderCallout3":
- case "accentCallout3":
- if (shapType == "accentBorderCallout3") {
- isBorder = true;
- } else {
- isBorder = false;
- }
- isBorder = true;
- if (shapAdjst_ary === undefined) {
- adj1 = 18750 * refr;
- adj2 = -8333 * refr;
- adj3 = 18750 * refr;
- adj4 = -16667 * refr;
- adj5 = 100000 * refr;
- adj6 = -16667 * refr;
- adj7 = 112963 * refr;
- adj8 = -8333 * refr;
- }
- var y1, x1, y2, x2, y3, x3, y4, x4;
- y1 = h * adj1 / cnstVal1;
- x1 = w * adj2 / cnstVal1;
- y2 = h * adj3 / cnstVal1;
- x2 = w * adj4 / cnstVal1;
- y3 = h * adj5 / cnstVal1;
- x3 = w * adj6 / cnstVal1;
- y4 = h * adj7 / cnstVal1;
- x4 = w * adj8 / cnstVal1;
- d_val = "M" + 0 + "," + 0 +
- " L" + w + "," + 0 +
- " L" + w + "," + h +
- " L" + 0 + "," + h +
- " z" +
- " M" + x1 + "," + y1 +
- " L" + x2 + "," + y2 +
- " L" + x3 + "," + y3 +
- " L" + x4 + "," + y4 +
- " L" + x3 + "," + y3 +
- " L" + x2 + "," + y2 +
- " M" + x1 + "," + 0 +
- " L" + x1 + "," + h;
- break;
- }
- //console.log("shapType: ", shapType, ",isBorder:", isBorder)
- //if(isBorder){
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- //}else{
- // result += "<path d='"+d_val+"' fill='" + (!imgFillFlg?(grndFillFlg?"url(#linGrd_"+shpId+")":fillColor):"url(#imgPtrn_"+shpId+")") +
- // "' stroke='none' />";
- //}
- break;
- case "leftRightRibbon":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var refr = slideFactor;
- var sAdj1, adj1 = 50000 * refr;
- var sAdj2, adj2 = 50000 * refr;
- var sAdj3, adj3 = 16667 * refr;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * refr;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * refr;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * refr;
- }
- }
- }
- var d_val;
- var cnstVal1 = 33333 * refr;
- var cnstVal2 = 100000 * refr;
- var cnstVal3 = 200000 * refr;
- var cnstVal4 = 400000 * refr;
- var ss = Math.min(w, h);
- var a3, maxAdj1, a1, w1, maxAdj2, a2, x1, x4, dy1, dy2, ly1, ry4, ly2, ry3, ly4, ry1,
- ly3, ry2, hR, x2, x3, y1, y2, wd32 = w / 32, vc = h / 2, hc = w / 2;
- a3 = (adj3 < 0) ? 0 : (adj3 > cnstVal1) ? cnstVal1 : adj3;
- maxAdj1 = cnstVal2 - a3;
- a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1;
- w1 = hc - wd32;
- maxAdj2 = cnstVal2 * w1 / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- x1 = ss * a2 / cnstVal2;
- x4 = w - x1;
- dy1 = h * a1 / cnstVal3;
- dy2 = h * a3 / -cnstVal3;
- ly1 = vc + dy2 - dy1;
- ry4 = vc + dy1 - dy2;
- ly2 = ly1 + dy1;
- ry3 = h - ly2;
- ly4 = ly2 * 2;
- ry1 = h - ly4;
- ly3 = ly4 - ly1;
- ry2 = h - ly3;
- hR = a3 * ss / cnstVal4;
- x2 = hc - wd32;
- x3 = hc + wd32;
- y1 = ly1 + hR;
- y2 = ry2 - hR;
- d_val = "M" + 0 + "," + ly2 +
- "L" + x1 + "," + 0 +
- "L" + x1 + "," + ly1 +
- "L" + hc + "," + ly1 +
- shapeArc(hc, y1, wd32, hR, 270, 450, false).replace("M", "L") +
- shapeArc(hc, y2, wd32, hR, 270, 90, false).replace("M", "L") +
- "L" + x4 + "," + ry2 +
- "L" + x4 + "," + ry1 +
- "L" + w + "," + ry3 +
- "L" + x4 + "," + h +
- "L" + x4 + "," + ry4 +
- "L" + hc + "," + ry4 +
- shapeArc(hc, ry4 - hR, wd32, hR, 90, 180, false).replace("M", "L") +
- "L" + x2 + "," + ly3 +
- "L" + x1 + "," + ly3 +
- "L" + x1 + "," + ly4 +
- " z" +
- "M" + x3 + "," + y1 +
- "L" + x3 + "," + ry2 +
- "M" + x2 + "," + y2 +
- "L" + x2 + "," + ly3;
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "ribbon":
- case "ribbon2":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 16667 * slideFactor;
- var sAdj2, adj2 = 50000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- }
- }
- }
- var d_val;
- var cnstVal1 = 25000 * slideFactor;
- var cnstVal2 = 33333 * slideFactor;
- var cnstVal3 = 75000 * slideFactor;
- var cnstVal4 = 100000 * slideFactor;
- var cnstVal5 = 200000 * slideFactor;
- var cnstVal6 = 400000 * slideFactor;
- var hc = w / 2, t = 0, l = 0, b = h, r = w, wd8 = w / 8, wd32 = w / 32;
- var a1, a2, x10, dx2, x2, x9, x3, x8, x5, x6, x4, x7, y1, y2, y4, y3, hR, y6;
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal2) ? cnstVal2 : adj1;
- a2 = (adj2 < cnstVal1) ? cnstVal1 : (adj2 > cnstVal3) ? cnstVal3 : adj2;
- x10 = r - wd8;
- dx2 = w * a2 / cnstVal5;
- x2 = hc - dx2;
- x9 = hc + dx2;
- x3 = x2 + wd32;
- x8 = x9 - wd32;
- x5 = x2 + wd8;
- x6 = x9 - wd8;
- x4 = x5 - wd32;
- x7 = x6 + wd32;
- hR = h * a1 / cnstVal6;
- if (shapType == "ribbon2") {
- var dy1, dy2, y7;
- dy1 = h * a1 / cnstVal5;
- y1 = b - dy1;
- dy2 = h * a1 / cnstVal4;
- y2 = b - dy2;
- y4 = t + dy2;
- y3 = (y4 + b) / 2;
- y6 = b - hR;///////////////////
- y7 = y1 - hR;
- d_val = "M" + l + "," + b +
- " L" + wd8 + "," + y3 +
- " L" + l + "," + y4 +
- " L" + x2 + "," + y4 +
- " L" + x2 + "," + hR +
- shapeArc(x3, hR, wd32, hR, 180, 270, false).replace("M", "L") +
- " L" + x8 + "," + t +
- shapeArc(x8, hR, wd32, hR, 270, 360, false).replace("M", "L") +
- " L" + x9 + "," + y4 +
- " L" + x9 + "," + y4 +
- " L" + r + "," + y4 +
- " L" + x10 + "," + y3 +
- " L" + r + "," + b +
- " L" + x7 + "," + b +
- shapeArc(x7, y6, wd32, hR, 90, 270, false).replace("M", "L") +
- " L" + x8 + "," + y1 +
- shapeArc(x8, y7, wd32, hR, 90, -90, false).replace("M", "L") +
- " L" + x3 + "," + y2 +
- shapeArc(x3, y7, wd32, hR, 270, 90, false).replace("M", "L") +
- " L" + x4 + "," + y1 +
- shapeArc(x4, y6, wd32, hR, 270, 450, false).replace("M", "L") +
- " z" +
- " M" + x5 + "," + y2 +
- " L" + x5 + "," + y6 +
- "M" + x6 + "," + y6 +
- " L" + x6 + "," + y2 +
- "M" + x2 + "," + y7 +
- " L" + x2 + "," + y4 +
- "M" + x9 + "," + y4 +
- " L" + x9 + "," + y7;
- } else if (shapType == "ribbon") {
- var y5;
- y1 = h * a1 / cnstVal5;
- y2 = h * a1 / cnstVal4;
- y4 = b - y2;
- y3 = y4 / 2;
- y5 = b - hR; ///////////////////////
- y6 = y2 - hR;
- d_val = "M" + l + "," + t +
- " L" + x4 + "," + t +
- shapeArc(x4, hR, wd32, hR, 270, 450, false).replace("M", "L") +
- " L" + x3 + "," + y1 +
- shapeArc(x3, y6, wd32, hR, 270, 90, false).replace("M", "L") +
- " L" + x8 + "," + y2 +
- shapeArc(x8, y6, wd32, hR, 90, -90, false).replace("M", "L") +
- " L" + x7 + "," + y1 +
- shapeArc(x7, hR, wd32, hR, 90, 270, false).replace("M", "L") +
- " L" + r + "," + t +
- " L" + x10 + "," + y3 +
- " L" + r + "," + y4 +
- " L" + x9 + "," + y4 +
- " L" + x9 + "," + y5 +
- shapeArc(x8, y5, wd32, hR, 0, 90, false).replace("M", "L") +
- " L" + x3 + "," + b +
- shapeArc(x3, y5, wd32, hR, 90, 180, false).replace("M", "L") +
- " L" + x2 + "," + y4 +
- " L" + l + "," + y4 +
- " L" + wd8 + "," + y3 +
- " z" +
- " M" + x5 + "," + hR +
- " L" + x5 + "," + y2 +
- "M" + x6 + "," + y2 +
- " L" + x6 + "," + hR +
- "M" + x2 + "," + y4 +
- " L" + x2 + "," + y6 +
- "M" + x9 + "," + y6 +
- " L" + x9 + "," + y4;
- }
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "doubleWave":
- case "wave":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = (shapType == "doubleWave") ? 6250 * slideFactor : 12500 * slideFactor;
- var sAdj2, adj2 = 0;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- }
- }
- }
- var d_val;
- var cnstVal2 = -10000 * slideFactor;
- var cnstVal3 = 50000 * slideFactor;
- var cnstVal4 = 100000 * slideFactor;
- var hc = w / 2, t = 0, l = 0, b = h, r = w, wd8 = w / 8, wd32 = w / 32;
- if (shapType == "doubleWave") {
- var cnstVal1 = 12500 * slideFactor;
- var a1, a2, y1, dy2, y2, y3, y4, y5, y6, of2, dx2, x2, dx8, x8, dx3, x3, dx4, x4, x5, x6, x7, x9, x15, x10, x11, x12, x13, x14;
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal1) ? cnstVal1 : adj1;
- a2 = (adj2 < cnstVal2) ? cnstVal2 : (adj2 > cnstVal4) ? cnstVal4 : adj2;
- y1 = h * a1 / cnstVal4;
- dy2 = y1 * 10 / 3;
- y2 = y1 - dy2;
- y3 = y1 + dy2;
- y4 = b - y1;
- y5 = y4 - dy2;
- y6 = y4 + dy2;
- of2 = w * a2 / cnstVal3;
- dx2 = (of2 > 0) ? 0 : of2;
- x2 = l - dx2;
- dx8 = (of2 > 0) ? of2 : 0;
- x8 = r - dx8;
- dx3 = (dx2 + x8) / 6;
- x3 = x2 + dx3;
- dx4 = (dx2 + x8) / 3;
- x4 = x2 + dx4;
- x5 = (x2 + x8) / 2;
- x6 = x5 + dx3;
- x7 = (x6 + x8) / 2;
- x9 = l + dx8;
- x15 = r + dx2;
- x10 = x9 + dx3;
- x11 = x9 + dx4;
- x12 = (x9 + x15) / 2;
- x13 = x12 + dx3;
- x14 = (x13 + x15) / 2;
- d_val = "M" + x2 + "," + y1 +
- " C" + x3 + "," + y2 + " " + x4 + "," + y3 + " " + x5 + "," + y1 +
- " C" + x6 + "," + y2 + " " + x7 + "," + y3 + " " + x8 + "," + y1 +
- " L" + x15 + "," + y4 +
- " C" + x14 + "," + y6 + " " + x13 + "," + y5 + " " + x12 + "," + y4 +
- " C" + x11 + "," + y6 + " " + x10 + "," + y5 + " " + x9 + "," + y4 +
- " z";
- } else if (shapType == "wave") {
- var cnstVal5 = 20000 * slideFactor;
- var a1, a2, y1, dy2, y2, y3, y4, y5, y6, of2, dx2, x2, dx5, x5, dx3, x3, x4, x6, x10, x7, x8;
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal5) ? cnstVal5 : adj1;
- a2 = (adj2 < cnstVal2) ? cnstVal2 : (adj2 > cnstVal4) ? cnstVal4 : adj2;
- y1 = h * a1 / cnstVal4;
- dy2 = y1 * 10 / 3;
- y2 = y1 - dy2;
- y3 = y1 + dy2;
- y4 = b - y1;
- y5 = y4 - dy2;
- y6 = y4 + dy2;
- of2 = w * a2 / cnstVal3;
- dx2 = (of2 > 0) ? 0 : of2;
- x2 = l - dx2;
- dx5 = (of2 > 0) ? of2 : 0;
- x5 = r - dx5;
- dx3 = (dx2 + x5) / 3;
- x3 = x2 + dx3;
- x4 = (x3 + x5) / 2;
- x6 = l + dx5;
- x10 = r + dx2;
- x7 = x6 + dx3;
- x8 = (x7 + x10) / 2;
- d_val = "M" + x2 + "," + y1 +
- " C" + x3 + "," + y2 + " " + x4 + "," + y3 + " " + x5 + "," + y1 +
- " L" + x10 + "," + y4 +
- " C" + x8 + "," + y6 + " " + x7 + "," + y5 + " " + x6 + "," + y4 +
- " z";
- }
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "ellipseRibbon":
- case "ellipseRibbon2":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 50000 * slideFactor;
- var sAdj3, adj3 = 12500 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- }
- }
- }
- var d_val;
- var cnstVal1 = 25000 * slideFactor;
- var cnstVal3 = 75000 * slideFactor;
- var cnstVal4 = 100000 * slideFactor;
- var cnstVal5 = 200000 * slideFactor;
- var hc = w / 2, t = 0, l = 0, b = h, r = w, wd8 = w / 8;
- var a1, a2, q10, q11, q12, minAdj3, a3, dx2, x2, x3, x4, x5, x6, dy1, f1, q1, q2,
- cx1, cx2, q1, dy3, q3, q4, q5, rh, q8, cx4, q9, cx5;
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal4) ? cnstVal4 : adj1;
- a2 = (adj2 < cnstVal1) ? cnstVal1 : (adj2 > cnstVal3) ? cnstVal3 : adj2;
- q10 = cnstVal4 - a1;
- q11 = q10 / 2;
- q12 = a1 - q11;
- minAdj3 = (0 > q12) ? 0 : q12;
- a3 = (adj3 < minAdj3) ? minAdj3 : (adj3 > a1) ? a1 : adj3;
- dx2 = w * a2 / cnstVal5;
- x2 = hc - dx2;
- x3 = x2 + wd8;
- x4 = r - x3;
- x5 = r - x2;
- x6 = r - wd8;
- dy1 = h * a3 / cnstVal4;
- f1 = 4 * dy1 / w;
- q1 = x3 * x3 / w;
- q2 = x3 - q1;
- cx1 = x3 / 2;
- cx2 = r - cx1;
- q1 = h * a1 / cnstVal4;
- dy3 = q1 - dy1;
- q3 = x2 * x2 / w;
- q4 = x2 - q3;
- q5 = f1 * q4;
- rh = b - q1;
- q8 = dy1 * 14 / 16;
- cx4 = x2 / 2;
- q9 = f1 * cx4;
- cx5 = r - cx4;
- if (shapType == "ellipseRibbon") {
- var y1, cy1, y3, q6, q7, cy3, y2, y5, y6,
- cy4, cy6, y7, cy7, y8;
- y1 = f1 * q2;
- cy1 = f1 * cx1;
- y3 = q5 + dy3;
- q6 = dy1 + dy3 - y3;
- q7 = q6 + dy1;
- cy3 = q7 + dy3;
- y2 = (q8 + rh) / 2;
- y5 = q5 + rh;
- y6 = y3 + rh;
- cy4 = q9 + rh;
- cy6 = cy3 + rh;
- y7 = y1 + dy3;
- cy7 = q1 + q1 - y7;
- y8 = b - dy1;
- //
- d_val = "M" + l + "," + t +
- " Q" + cx1 + "," + cy1 + " " + x3 + "," + y1 +
- " L" + x2 + "," + y3 +
- " Q" + hc + "," + cy3 + " " + x5 + "," + y3 +
- " L" + x4 + "," + y1 +
- " Q" + cx2 + "," + cy1 + " " + r + "," + t +
- " L" + x6 + "," + y2 +
- " L" + r + "," + rh +
- " Q" + cx5 + "," + cy4 + " " + x5 + "," + y5 +
- " L" + x5 + "," + y6 +
- " Q" + hc + "," + cy6 + " " + x2 + "," + y6 +
- " L" + x2 + "," + y5 +
- " Q" + cx4 + "," + cy4 + " " + l + "," + rh +
- " L" + wd8 + "," + y2 +
- " z" +
- "M" + x2 + "," + y5 +
- " L" + x2 + "," + y3 +
- "M" + x5 + "," + y3 +
- " L" + x5 + "," + y5 +
- "M" + x3 + "," + y1 +
- " L" + x3 + "," + y7 +
- "M" + x4 + "," + y7 +
- " L" + x4 + "," + y1;
- } else if (shapType == "ellipseRibbon2") {
- var u1, y1, cu1, cy1, q3, q5, u3, y3, q6, q7, cu3, cy3, rh, q8, u2, y2,
- u5, y5, u6, y6, cu4, cy4, cu6, cy6, u7, y7, cu7, cy7;
- u1 = f1 * q2;
- y1 = b - u1;
- cu1 = f1 * cx1;
- cy1 = b - cu1;
- u3 = q5 + dy3;
- y3 = b - u3;
- q6 = dy1 + dy3 - u3;
- q7 = q6 + dy1;
- cu3 = q7 + dy3;
- cy3 = b - cu3;
- u2 = (q8 + rh) / 2;
- y2 = b - u2;
- u5 = q5 + rh;
- y5 = b - u5;
- u6 = u3 + rh;
- y6 = b - u6;
- cu4 = q9 + rh;
- cy4 = b - cu4;
- cu6 = cu3 + rh;
- cy6 = b - cu6;
- u7 = u1 + dy3;
- y7 = b - u7;
- cu7 = q1 + q1 - u7;
- cy7 = b - cu7;
- //
- d_val = "M" + l + "," + b +
- " L" + wd8 + "," + y2 +
- " L" + l + "," + q1 +
- " Q" + cx4 + "," + cy4 + " " + x2 + "," + y5 +
- " L" + x2 + "," + y6 +
- " Q" + hc + "," + cy6 + " " + x5 + "," + y6 +
- " L" + x5 + "," + y5 +
- " Q" + cx5 + "," + cy4 + " " + r + "," + q1 +
- " L" + x6 + "," + y2 +
- " L" + r + "," + b +
- " Q" + cx2 + "," + cy1 + " " + x4 + "," + y1 +
- " L" + x5 + "," + y3 +
- " Q" + hc + "," + cy3 + " " + x2 + "," + y3 +
- " L" + x3 + "," + y1 +
- " Q" + cx1 + "," + cy1 + " " + l + "," + b +
- " z" +
- "M" + x2 + "," + y3 +
- " L" + x2 + "," + y5 +
- "M" + x5 + "," + y5 +
- " L" + x5 + "," + y3 +
- "M" + x3 + "," + y7 +
- " L" + x3 + "," + y1 +
- "M" + x4 + "," + y1 +
- " L" + x4 + "," + y7;
- }
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "line":
- case "straightConnector1":
- case "bentConnector4":
- case "bentConnector5":
- case "curvedConnector2":
- case "curvedConnector3":
- case "curvedConnector4":
- case "curvedConnector5":
- // if (isFlipV) {
- // result += "<line x1='" + w + "' y1='0' x2='0' y2='" + h + "' stroke='" + border.color +
- // "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' ";
- // } else {
- result += "<line x1='0' y1='0' x2='" + w + "' y2='" + h + "' stroke='" + border.color +
- "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' ";
- //}
- if (headEndNodeAttrs !== undefined && (headEndNodeAttrs["type"] === "triangle" || headEndNodeAttrs["type"] === "arrow")) {
- result += "marker-start='url(#markerTriangle_" + shpId + ")' ";
- }
- if (tailEndNodeAttrs !== undefined && (tailEndNodeAttrs["type"] === "triangle" || tailEndNodeAttrs["type"] === "arrow")) {
- result += "marker-end='url(#markerTriangle_" + shpId + ")' ";
- }
- result += "/>";
- break;
- case "rightArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val = 0.25;//0.5;
- var sAdj2, sAdj2_val = 0.5;
- var max_sAdj2_const = w / h;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = 0.5 - (parseInt(sAdj1.substr(4)) / 200000);
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- var sAdj2_val2 = parseInt(sAdj2.substr(4)) / 100000;
- sAdj2_val = 1 - ((sAdj2_val2) / max_sAdj2_const);
- }
- }
- }
- //console.log("w: "+w+"\nh: "+h+"\nsAdj1: "+sAdj1_val+"\nsAdj2: "+sAdj2_val);
- result += " <polygon points='" + w + " " + h / 2 + "," + sAdj2_val * w + " 0," + sAdj2_val * w + " " + sAdj1_val * h + ",0 " + sAdj1_val * h +
- ",0 " + (1 - sAdj1_val) * h + "," + sAdj2_val * w + " " + (1 - sAdj1_val) * h + ", " + sAdj2_val * w + " " + h + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "leftArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val = 0.25;//0.5;
- var sAdj2, sAdj2_val = 0.5;
- var max_sAdj2_const = w / h;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = 0.5 - (parseInt(sAdj1.substr(4)) / 200000);
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- var sAdj2_val2 = parseInt(sAdj2.substr(4)) / 100000;
- sAdj2_val = (sAdj2_val2) / max_sAdj2_const;
- }
- }
- }
- //console.log("w: "+w+"\nh: "+h+"\nsAdj1: "+sAdj1_val+"\nsAdj2: "+sAdj2_val);
- result += " <polygon points='0 " + h / 2 + "," + sAdj2_val * w + " " + h + "," + sAdj2_val * w + " " + (1 - sAdj1_val) * h + "," + w + " " + (1 - sAdj1_val) * h +
- "," + w + " " + sAdj1_val * h + "," + sAdj2_val * w + " " + sAdj1_val * h + ", " + sAdj2_val * w + " 0' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "downArrow":
- case "flowChartOffpageConnector":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val = 0.25;//0.5;
- var sAdj2, sAdj2_val = 0.5;
- var max_sAdj2_const = h / w;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = parseInt(sAdj1.substr(4)) / 200000;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- var sAdj2_val2 = parseInt(sAdj2.substr(4)) / 100000;
- sAdj2_val = (sAdj2_val2) / max_sAdj2_const;
- }
- }
- }
- if (shapType == "flowChartOffpageConnector") {
- sAdj1_val = 0.5;
- sAdj2_val = 0.212;
- }
- result += " <polygon points='" + (0.5 - sAdj1_val) * w + " 0," + (0.5 - sAdj1_val) * w + " " + (1 - sAdj2_val) * h + ",0 " + (1 - sAdj2_val) * h + "," + (w / 2) + " " + h +
- "," + w + " " + (1 - sAdj2_val) * h + "," + (0.5 + sAdj1_val) * w + " " + (1 - sAdj2_val) * h + ", " + (0.5 + sAdj1_val) * w + " 0' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "upArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val = 0.25;//0.5;
- var sAdj2, sAdj2_val = 0.5;
- var max_sAdj2_const = h / w;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = parseInt(sAdj1.substr(4)) / 200000;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- var sAdj2_val2 = parseInt(sAdj2.substr(4)) / 100000;
- sAdj2_val = (sAdj2_val2) / max_sAdj2_const;
- }
- }
- }
- result += " <polygon points='" + (w / 2) + " 0,0 " + sAdj2_val * h + "," + (0.5 - sAdj1_val) * w + " " + sAdj2_val * h + "," + (0.5 - sAdj1_val) * w + " " + h +
- "," + (0.5 + sAdj1_val) * w + " " + h + "," + (0.5 + sAdj1_val) * w + " " + sAdj2_val * h + ", " + w + " " + sAdj2_val * h + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "leftRightArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val = 0.25;
- var sAdj2, sAdj2_val = 0.25;
- var max_sAdj2_const = w / h;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = 0.5 - (parseInt(sAdj1.substr(4)) / 200000);
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- var sAdj2_val2 = parseInt(sAdj2.substr(4)) / 100000;
- sAdj2_val = (sAdj2_val2) / max_sAdj2_const;
- }
- }
- }
- //console.log("w: "+w+"\nh: "+h+"\nsAdj1: "+sAdj1_val+"\nsAdj2: "+sAdj2_val);
- result += " <polygon points='0 " + h / 2 + "," + sAdj2_val * w + " " + h + "," + sAdj2_val * w + " " + (1 - sAdj1_val) * h + "," + (1 - sAdj2_val) * w + " " + (1 - sAdj1_val) * h +
- "," + (1 - sAdj2_val) * w + " " + h + "," + w + " " + h / 2 + ", " + (1 - sAdj2_val) * w + " 0," + (1 - sAdj2_val) * w + " " + sAdj1_val * h + "," +
- sAdj2_val * w + " " + sAdj1_val * h + "," + sAdj2_val * w + " 0' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "upDownArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, sAdj1_val = 0.25;
- var sAdj2, sAdj2_val = 0.25;
- var max_sAdj2_const = h / w;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- sAdj1_val = 0.5 - (parseInt(sAdj1.substr(4)) / 200000);
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- var sAdj2_val2 = parseInt(sAdj2.substr(4)) / 100000;
- sAdj2_val = (sAdj2_val2) / max_sAdj2_const;
- }
- }
- }
- //console.log("w: "+w+"\nh: "+h+"\nsAdj1: "+sAdj1_val+"\nsAdj2: "+sAdj2_val);
- result += " <polygon points='" + w / 2 + " 0,0 " + sAdj2_val * h + "," + sAdj1_val * w + " " + sAdj2_val * h + "," + sAdj1_val * w + " " + (1 - sAdj2_val) * h +
- ",0 " + (1 - sAdj2_val) * h + "," + w / 2 + " " + h + ", " + w + " " + (1 - sAdj2_val) * h + "," + (1 - sAdj1_val) * w + " " + (1 - sAdj2_val) * h + "," +
- (1 - sAdj1_val) * w + " " + sAdj2_val * h + "," + w + " " + sAdj2_val * h + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "quadArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 22500 * slideFactor;
- var sAdj2, adj2 = 22500 * slideFactor;
- var sAdj3, adj3 = 22500 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, a1, a2, a3, q1, x1, x2, dx2, x3, dx3, x4, x5, x6, y2, y3, y4, y5, y6, maxAdj1, maxAdj3;
- var minWH = Math.min(w, h);
- if (adj2 < 0) a2 = 0
- else if (adj2 > cnstVal1) a2 = cnstVal1
- else a2 = adj2
- maxAdj1 = 2 * a2;
- if (adj1 < 0) a1 = 0
- else if (adj1 > maxAdj1) a1 = maxAdj1
- else a1 = adj1
- q1 = cnstVal2 - maxAdj1;
- maxAdj3 = q1 / 2;
- if (adj3 < 0) a3 = 0
- else if (adj3 > maxAdj3) a3 = maxAdj3
- else a3 = adj3
- x1 = minWH * a3 / cnstVal2;
- dx2 = minWH * a2 / cnstVal2;
- x2 = hc - dx2;
- x5 = hc + dx2;
- dx3 = minWH * a1 / cnstVal3;
- x3 = hc - dx3;
- x4 = hc + dx3;
- x6 = w - x1;
- y2 = vc - dx2;
- y5 = vc + dx2;
- y3 = vc - dx3;
- y4 = vc + dx3;
- y6 = h - x1;
- var d_val = "M" + 0 + "," + vc +
- " L" + x1 + "," + y2 +
- " L" + x1 + "," + y3 +
- " L" + x3 + "," + y3 +
- " L" + x3 + "," + x1 +
- " L" + x2 + "," + x1 +
- " L" + hc + "," + 0 +
- " L" + x5 + "," + x1 +
- " L" + x4 + "," + x1 +
- " L" + x4 + "," + y3 +
- " L" + x6 + "," + y3 +
- " L" + x6 + "," + y2 +
- " L" + w + "," + vc +
- " L" + x6 + "," + y5 +
- " L" + x6 + "," + y4 +
- " L" + x4 + "," + y4 +
- " L" + x4 + "," + y6 +
- " L" + x5 + "," + y6 +
- " L" + hc + "," + h +
- " L" + x2 + "," + y6 +
- " L" + x3 + "," + y6 +
- " L" + x3 + "," + y4 +
- " L" + x1 + "," + y4 +
- " L" + x1 + "," + y5 + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "leftRightUpArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 25000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, a1, a2, a3, q1, x1, x2, dx2, x3, dx3, x4, x5, x6, y2, dy2, y3, y4, y5, maxAdj1, maxAdj3;
- var minWH = Math.min(w, h);
- if (adj2 < 0) a2 = 0
- else if (adj2 > cnstVal1) a2 = cnstVal1
- else a2 = adj2
- maxAdj1 = 2 * a2;
- if (adj1 < 0) a1 = 0
- else if (adj1 > maxAdj1) a1 = maxAdj1
- else a1 = adj1
- q1 = cnstVal2 - maxAdj1;
- maxAdj3 = q1 / 2;
- if (adj3 < 0) a3 = 0
- else if (adj3 > maxAdj3) a3 = maxAdj3
- else a3 = adj3
- x1 = minWH * a3 / cnstVal2;
- dx2 = minWH * a2 / cnstVal2;
- x2 = hc - dx2;
- x5 = hc + dx2;
- dx3 = minWH * a1 / cnstVal3;
- x3 = hc - dx3;
- x4 = hc + dx3;
- x6 = w - x1;
- dy2 = minWH * a2 / cnstVal1;
- y2 = h - dy2;
- y4 = h - dx2;
- y3 = y4 - dx3;
- y5 = y4 + dx3;
- var d_val = "M" + 0 + "," + y4 +
- " L" + x1 + "," + y2 +
- " L" + x1 + "," + y3 +
- " L" + x3 + "," + y3 +
- " L" + x3 + "," + x1 +
- " L" + x2 + "," + x1 +
- " L" + hc + "," + 0 +
- " L" + x5 + "," + x1 +
- " L" + x4 + "," + x1 +
- " L" + x4 + "," + y3 +
- " L" + x6 + "," + y3 +
- " L" + x6 + "," + y2 +
- " L" + w + "," + y4 +
- " L" + x6 + "," + h +
- " L" + x6 + "," + y5 +
- " L" + x1 + "," + y5 +
- " L" + x1 + "," + h + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "leftUpArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 25000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, a1, a2, a3, x1, x2, dx4, dx3, x3, x4, x5, y2, y3, y4, y5, maxAdj1, maxAdj3;
- var minWH = Math.min(w, h);
- if (adj2 < 0) a2 = 0
- else if (adj2 > cnstVal1) a2 = cnstVal1
- else a2 = adj2
- maxAdj1 = 2 * a2;
- if (adj1 < 0) a1 = 0
- else if (adj1 > maxAdj1) a1 = maxAdj1
- else a1 = adj1
- maxAdj3 = cnstVal2 - maxAdj1;
- if (adj3 < 0) a3 = 0
- else if (adj3 > maxAdj3) a3 = maxAdj3
- else a3 = adj3
- x1 = minWH * a3 / cnstVal2;
- dx2 = minWH * a2 / cnstVal1;
- x2 = w - dx2;
- y2 = h - dx2;
- dx4 = minWH * a2 / cnstVal2;
- x4 = w - dx4;
- y4 = h - dx4;
- dx3 = minWH * a1 / cnstVal3;
- x3 = x4 - dx3;
- x5 = x4 + dx3;
- y3 = y4 - dx3;
- y5 = y4 + dx3;
- var d_val = "M" + 0 + "," + y4 +
- " L" + x1 + "," + y2 +
- " L" + x1 + "," + y3 +
- " L" + x3 + "," + y3 +
- " L" + x3 + "," + x1 +
- " L" + x2 + "," + x1 +
- " L" + x4 + "," + 0 +
- " L" + w + "," + x1 +
- " L" + x5 + "," + x1 +
- " L" + x5 + "," + y5 +
- " L" + x1 + "," + y5 +
- " L" + x1 + "," + h + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "bentUpArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 25000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, a1, a2, a3, dx1, x1, dx2, x2, dx3, x3, x4, y1, y2, dy2;
- var minWH = Math.min(w, h);
- if (adj1 < 0) a1 = 0
- else if (adj1 > cnstVal1) a1 = cnstVal1
- else a1 = adj1
- if (adj2 < 0) a2 = 0
- else if (adj2 > cnstVal1) a2 = cnstVal1
- else a2 = adj2
- if (adj3 < 0) a3 = 0
- else if (adj3 > maxAdj3) a3 = maxAdj3
- else a3 = adj3
- y1 = minWH * a3 / cnstVal2;
- dx1 = minWH * a2 / cnstVal1;
- x1 = w - dx1;
- dx3 = minWH * a2 / cnstVal2;
- x3 = w - dx3;
- dx2 = minWH * a1 / cnstVal3;
- x2 = x3 - dx2;
- x4 = x3 + dx2;
- dy2 = minWH * a1 / cnstVal2;
- y2 = h - dy2;
- var d_val = "M" + 0 + "," + y2 +
- " L" + x2 + "," + y2 +
- " L" + x2 + "," + y1 +
- " L" + x1 + "," + y1 +
- " L" + x3 + "," + 0 +
- " L" + w + "," + y1 +
- " L" + x4 + "," + y1 +
- " L" + x4 + "," + h +
- " L" + 0 + "," + h + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "bentArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 25000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var sAdj4, adj4 = 43750 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = parseInt(sAdj4.substr(4)) * slideFactor;
- }
- }
- }
- var a1, a2, a3, a4, x3, x4, y3, y4, y5, y6, maxAdj1, maxAdj4;
- var minWH = Math.min(w, h);
- if (adj2 < 0) a2 = 0
- else if (adj2 > cnstVal1) a2 = cnstVal1
- else a2 = adj2
- maxAdj1 = 2 * a2;
- if (adj1 < 0) a1 = 0
- else if (adj1 > maxAdj1) a1 = maxAdj1
- else a1 = adj1
- if (adj3 < 0) a3 = 0
- else if (adj3 > cnstVal1) a3 = cnstVal1
- else a3 = adj3
- var th, aw2, th2, dh2, ah, bw, bh, bs, bd, bd3, bd2,
- th = minWH * a1 / cnstVal2;
- aw2 = minWH * a2 / cnstVal2;
- th2 = th / 2;
- dh2 = aw2 - th2;
- ah = minWH * a3 / cnstVal2;
- bw = w - ah;
- bh = h - dh2;
- bs = (bw < bh) ? bw : bh;
- maxAdj4 = cnstVal2 * bs / minWH;
- if (adj4 < 0) a4 = 0
- else if (adj4 > maxAdj4) a4 = maxAdj4
- else a4 = adj4
- bd = minWH * a4 / cnstVal2;
- bd3 = bd - th;
- bd2 = (bd3 > 0) ? bd3 : 0;
- x3 = th + bd2;
- x4 = w - ah;
- y3 = dh2 + th;
- y4 = y3 + dh2;
- y5 = dh2 + bd;
- y6 = y3 + bd2;
- var d_val = "M" + 0 + "," + h +
- " L" + 0 + "," + y5 +
- shapeArc(bd, y5, bd, bd, 180, 270, false).replace("M", "L") +
- " L" + x4 + "," + dh2 +
- " L" + x4 + "," + 0 +
- " L" + w + "," + aw2 +
- " L" + x4 + "," + y4 +
- " L" + x4 + "," + y3 +
- " L" + x3 + "," + y3 +
- shapeArc(x3, y6, bd2, bd2, 270, 180, false).replace("M", "L") +
- " L" + th + "," + h + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "uturnArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 25000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var sAdj4, adj4 = 43750 * slideFactor;
- var sAdj5, adj5 = 75000 * slideFactor;
- var cnstVal1 = 25000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = parseInt(sAdj4.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj5") {
- sAdj5 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj5 = parseInt(sAdj5.substr(4)) * slideFactor;
- }
- }
- }
- var a1, a2, a3, a4, a5, q1, q2, q3, x3, x4, x5, x6, x7, x8, x9, y4, y5, minAdj5, maxAdj1, maxAdj3, maxAdj4;
- var minWH = Math.min(w, h);
- if (adj2 < 0) a2 = 0
- else if (adj2 > cnstVal1) a2 = cnstVal1
- else a2 = adj2
- maxAdj1 = 2 * a2;
- if (adj1 < 0) a1 = 0
- else if (adj1 > maxAdj1) a1 = maxAdj1
- else a1 = adj1
- q2 = a1 * minWH / h;
- q3 = cnstVal2 - q2;
- maxAdj3 = q3 * h / minWH;
- if (adj3 < 0) a3 = 0
- else if (adj3 > maxAdj3) a3 = maxAdj3
- else a3 = adj3
- q1 = a3 + a1;
- minAdj5 = q1 * minWH / h;
- if (adj5 < minAdj5) a5 = minAdj5
- else if (adj5 > cnstVal2) a5 = cnstVal2
- else a5 = adj5
- var th, aw2, th2, dh2, ah, bw, bs, bd, bd3, bd2,
- th = minWH * a1 / cnstVal2;
- aw2 = minWH * a2 / cnstVal2;
- th2 = th / 2;
- dh2 = aw2 - th2;
- y5 = h * a5 / cnstVal2;
- ah = minWH * a3 / cnstVal2;
- y4 = y5 - ah;
- x9 = w - dh2;
- bw = x9 / 2;
- bs = (bw < y4) ? bw : y4;
- maxAdj4 = cnstVal2 * bs / minWH;
- if (adj4 < 0) a4 = 0
- else if (adj4 > maxAdj4) a4 = maxAdj4
- else a4 = adj4
- bd = minWH * a4 / cnstVal2;
- bd3 = bd - th;
- bd2 = (bd3 > 0) ? bd3 : 0;
- x3 = th + bd2;
- x8 = w - aw2;
- x6 = x8 - aw2;
- x7 = x6 + dh2;
- x4 = x9 - bd;
- x5 = x7 - bd2;
- cx = (th + x7) / 2
- var cy = (y4 + th) / 2
- var d_val = "M" + 0 + "," + h +
- " L" + 0 + "," + bd +
- shapeArc(bd, bd, bd, bd, 180, 270, false).replace("M", "L") +
- " L" + x4 + "," + 0 +
- shapeArc(x4, bd, bd, bd, 270, 360, false).replace("M", "L") +
- " L" + x9 + "," + y4 +
- " L" + w + "," + y4 +
- " L" + x8 + "," + y5 +
- " L" + x6 + "," + y4 +
- " L" + x7 + "," + y4 +
- " L" + x7 + "," + x3 +
- shapeArc(x5, x3, bd2, bd2, 0, -90, false).replace("M", "L") +
- " L" + x3 + "," + th +
- shapeArc(x3, x3, bd2, bd2, 270, 180, false).replace("M", "L") +
- " L" + th + "," + h + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "stripedRightArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 50000 * slideFactor;
- var sAdj2, adj2 = 50000 * slideFactor;
- var cnstVal1 = 100000 * slideFactor;
- var cnstVal2 = 200000 * slideFactor;
- var cnstVal3 = 84375 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- }
- }
- }
- var a1, a2, x4, x5, dx5, x6, dx6, y1, dy1, y2, maxAdj2, vc = h / 2;
- var minWH = Math.min(w, h);
- maxAdj2 = cnstVal3 * w / minWH;
- if (adj1 < 0) a1 = 0
- else if (adj1 > cnstVal1) a1 = cnstVal1
- else a1 = adj1
- if (adj2 < 0) a2 = 0
- else if (adj2 > maxAdj2) a2 = maxAdj2
- else a2 = adj2
- x4 = minWH * 5 / 32;
- dx5 = minWH * a2 / cnstVal1;
- x5 = w - dx5;
- dy1 = h * a1 / cnstVal2;
- y1 = vc - dy1;
- y2 = vc + dy1;
- //dx6 = dy1*dx5/hd2;
- //x6 = w-dx6;
- var ssd8 = minWH / 8,
- ssd16 = minWH / 16,
- ssd32 = minWH / 32;
- var d_val = "M" + 0 + "," + y1 +
- " L" + ssd32 + "," + y1 +
- " L" + ssd32 + "," + y2 +
- " L" + 0 + "," + y2 + " z" +
- " M" + ssd16 + "," + y1 +
- " L" + ssd8 + "," + y1 +
- " L" + ssd8 + "," + y2 +
- " L" + ssd16 + "," + y2 + " z" +
- " M" + x4 + "," + y1 +
- " L" + x5 + "," + y1 +
- " L" + x5 + "," + 0 +
- " L" + w + "," + vc +
- " L" + x5 + "," + h +
- " L" + x5 + "," + y2 +
- " L" + x4 + "," + y2 + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "notchedRightArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 50000 * slideFactor;
- var sAdj2, adj2 = 50000 * slideFactor;
- var cnstVal1 = 100000 * slideFactor;
- var cnstVal2 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- }
- }
- }
- var a1, a2, x1, x2, dx2, y1, dy1, y2, maxAdj2, vc = h / 2, hd2 = vc;
- var minWH = Math.min(w, h);
- maxAdj2 = cnstVal1 * w / minWH;
- if (adj1 < 0) a1 = 0
- else if (adj1 > cnstVal1) a1 = cnstVal1
- else a1 = adj1
- if (adj2 < 0) a2 = 0
- else if (adj2 > maxAdj2) a2 = maxAdj2
- else a2 = adj2
- dx2 = minWH * a2 / cnstVal1;
- x2 = w - dx2;
- dy1 = h * a1 / cnstVal2;
- y1 = vc - dy1;
- y2 = vc + dy1;
- x1 = dy1 * dx2 / hd2;
- var d_val = "M" + 0 + "," + y1 +
- " L" + x2 + "," + y1 +
- " L" + x2 + "," + 0 +
- " L" + w + "," + vc +
- " L" + x2 + "," + h +
- " L" + x2 + "," + y2 +
- " L" + 0 + "," + y2 +
- " L" + x1 + "," + vc + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "homePlate":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 50000 * slideFactor;
- var cnstVal1 = 100000 * slideFactor;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var a, x1, dx1, maxAdj, vc = h / 2;
- var minWH = Math.min(w, h);
- maxAdj = cnstVal1 * w / minWH;
- if (adj < 0) a = 0
- else if (adj > maxAdj) a = maxAdj
- else a = adj
- dx1 = minWH * a / cnstVal1;
- x1 = w - dx1;
- var d_val = "M" + 0 + "," + 0 +
- " L" + x1 + "," + 0 +
- " L" + w + "," + vc +
- " L" + x1 + "," + h +
- " L" + 0 + "," + h + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "chevron":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 50000 * slideFactor;
- var cnstVal1 = 100000 * slideFactor;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var a, x1, dx1, x2, maxAdj, vc = h / 2;
- var minWH = Math.min(w, h);
- maxAdj = cnstVal1 * w / minWH;
- if (adj < 0) a = 0
- else if (adj > maxAdj) a = maxAdj
- else a = adj
- x1 = minWH * a / cnstVal1;
- x2 = w - x1;
- var d_val = "M" + 0 + "," + 0 +
- " L" + x2 + "," + 0 +
- " L" + w + "," + vc +
- " L" + x2 + "," + h +
- " L" + 0 + "," + h +
- " L" + x1 + "," + vc + " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "rightArrowCallout":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 25000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var sAdj4, adj4 = 64977 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = parseInt(sAdj4.substr(4)) * slideFactor;
- }
- }
- }
- var maxAdj2, a2, maxAdj1, a1, maxAdj3, a3, q2, maxAdj4, a4, dy1, dy2, y1, y2, y3, y4, dx3, x3, x2, x1;
- var vc = h / 2, r = w, b = h, l = 0, t = 0;
- var ss = Math.min(w, h);
- maxAdj2 = cnstVal1 * h / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- maxAdj1 = a2 * 2;
- a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1;
- maxAdj3 = cnstVal2 * w / ss;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- q2 = a3 * ss / w;
- maxAdj4 = cnstVal - q2;
- a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4;
- dy1 = ss * a2 / cnstVal2;
- dy2 = ss * a1 / cnstVal3;
- y1 = vc - dy1;
- y2 = vc - dy2;
- y3 = vc + dy2;
- y4 = vc + dy1;
- dx3 = ss * a3 / cnstVal2;
- x3 = r - dx3;
- x2 = w * a4 / cnstVal2;
- x1 = x2 / 2;
- var d_val = "M" + l + "," + t +
- " L" + x2 + "," + t +
- " L" + x2 + "," + y2 +
- " L" + x3 + "," + y2 +
- " L" + x3 + "," + y1 +
- " L" + r + "," + vc +
- " L" + x3 + "," + y4 +
- " L" + x3 + "," + y3 +
- " L" + x2 + "," + y3 +
- " L" + x2 + "," + b +
- " L" + l + "," + b +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "downArrowCallout":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 25000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var sAdj4, adj4 = 64977 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = parseInt(sAdj4.substr(4)) * slideFactor;
- }
- }
- }
- var maxAdj2, a2, maxAdj1, a1, maxAdj3, a3, q2, maxAdj4, a4, dx1, dx2, x1, x2, x3, x4, dy3, y3, y2, y1;
- var hc = w / 2, r = w, b = h, l = 0, t = 0;
- var ss = Math.min(w, h);
- maxAdj2 = cnstVal1 * w / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- maxAdj1 = a2 * 2;
- a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1;
- maxAdj3 = cnstVal2 * h / ss;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- q2 = a3 * ss / h;
- maxAdj4 = cnstVal2 - q2;
- a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4;
- dx1 = ss * a2 / cnstVal2;
- dx2 = ss * a1 / cnstVal3;
- x1 = hc - dx1;
- x2 = hc - dx2;
- x3 = hc + dx2;
- x4 = hc + dx1;
- dy3 = ss * a3 / cnstVal2;
- y3 = b - dy3;
- y2 = h * a4 / cnstVal2;
- y1 = y2 / 2;
- var d_val = "M" + l + "," + t +
- " L" + r + "," + t +
- " L" + r + "," + y2 +
- " L" + x3 + "," + y2 +
- " L" + x3 + "," + y3 +
- " L" + x4 + "," + y3 +
- " L" + hc + "," + b +
- " L" + x1 + "," + y3 +
- " L" + x2 + "," + y3 +
- " L" + x2 + "," + y2 +
- " L" + l + "," + y2 +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "leftArrowCallout":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 25000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var sAdj4, adj4 = 64977 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = parseInt(sAdj4.substr(4)) * slideFactor;
- }
- }
- }
- var maxAdj2, a2, maxAdj1, a1, maxAdj3, a3, q2, maxAdj4, a4, dy1, dy2, y1, y2, y3, y4, x1, dx2, x2, x3;
- var vc = h / 2, r = w, b = h, l = 0, t = 0;
- var ss = Math.min(w, h);
- maxAdj2 = cnstVal1 * h / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- maxAdj1 = a2 * 2;
- a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1;
- maxAdj3 = cnstVal2 * w / ss;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- q2 = a3 * ss / w;
- maxAdj4 = cnstVal2 - q2;
- a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4;
- dy1 = ss * a2 / cnstVal2;
- dy2 = ss * a1 / cnstVal3;
- y1 = vc - dy1;
- y2 = vc - dy2;
- y3 = vc + dy2;
- y4 = vc + dy1;
- x1 = ss * a3 / cnstVal2;
- dx2 = w * a4 / cnstVal2;
- x2 = r - dx2;
- x3 = (x2 + r) / 2;
- var d_val = "M" + l + "," + vc +
- " L" + x1 + "," + y1 +
- " L" + x1 + "," + y2 +
- " L" + x2 + "," + y2 +
- " L" + x2 + "," + t +
- " L" + r + "," + t +
- " L" + r + "," + b +
- " L" + x2 + "," + b +
- " L" + x2 + "," + y3 +
- " L" + x1 + "," + y3 +
- " L" + x1 + "," + y4 +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "upArrowCallout":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 25000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var sAdj4, adj4 = 64977 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = parseInt(sAdj4.substr(4)) * slideFactor;
- }
- }
- }
- var maxAdj2, a2, maxAdj1, a1, maxAdj3, a3, q2, maxAdj4, a4, dx1, dx2, x1, x2, x3, x4, y1, dy2, y2, y3;
- var hc = w / 2, r = w, b = h, l = 0, t = 0;
- var ss = Math.min(w, h);
- maxAdj2 = cnstVal1 * w / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- maxAdj1 = a2 * 2;
- a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1;
- maxAdj3 = cnstVal2 * h / ss;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- q2 = a3 * ss / h;
- maxAdj4 = cnstVal2 - q2;
- a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4;
- dx1 = ss * a2 / cnstVal2;
- dx2 = ss * a1 / cnstVal3;
- x1 = hc - dx1;
- x2 = hc - dx2;
- x3 = hc + dx2;
- x4 = hc + dx1;
- y1 = ss * a3 / cnstVal2;
- dy2 = h * a4 / cnstVal2;
- y2 = b - dy2;
- y3 = (y2 + b) / 2;
- var d_val = "M" + l + "," + y2 +
- " L" + x2 + "," + y2 +
- " L" + x2 + "," + y1 +
- " L" + x1 + "," + y1 +
- " L" + hc + "," + t +
- " L" + x4 + "," + y1 +
- " L" + x3 + "," + y1 +
- " L" + x3 + "," + y2 +
- " L" + r + "," + y2 +
- " L" + r + "," + b +
- " L" + l + "," + b +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "leftRightArrowCallout":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 25000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var sAdj4, adj4 = 48123 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = parseInt(sAdj4.substr(4)) * slideFactor;
- }
- }
- }
- var maxAdj2, a2, maxAdj1, a1, maxAdj3, a3, q2, maxAdj4, a4, dy1, dy2, y1, y2, y3, y4, x1, x4, dx2, x2, x3;
- var vc = h / 2, hc = w / 2, r = w, b = h, l = 0, t = 0;
- var ss = Math.min(w, h);
- maxAdj2 = cnstVal1 * h / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- maxAdj1 = a2 * 2;
- a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1;
- maxAdj3 = cnstVal1 * w / ss;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- q2 = a3 * ss / wd2;
- maxAdj4 = cnstVal2 - q2;
- a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4;
- dy1 = ss * a2 / cnstVal2;
- dy2 = ss * a1 / cnstVal3;
- y1 = vc - dy1;
- y2 = vc - dy2;
- y3 = vc + dy2;
- y4 = vc + dy1;
- x1 = ss * a3 / cnstVal2;
- x4 = r - x1;
- dx2 = w * a4 / cnstVal3;
- x2 = hc - dx2;
- x3 = hc + dx2;
- var d_val = "M" + l + "," + vc +
- " L" + x1 + "," + y1 +
- " L" + x1 + "," + y2 +
- " L" + x2 + "," + y2 +
- " L" + x2 + "," + t +
- " L" + x3 + "," + t +
- " L" + x3 + "," + y2 +
- " L" + x4 + "," + y2 +
- " L" + x4 + "," + y1 +
- " L" + r + "," + vc +
- " L" + x4 + "," + y4 +
- " L" + x4 + "," + y3 +
- " L" + x3 + "," + y3 +
- " L" + x3 + "," + b +
- " L" + x2 + "," + b +
- " L" + x2 + "," + y3 +
- " L" + x1 + "," + y3 +
- " L" + x1 + "," + y4 +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "quadArrowCallout":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 18515 * slideFactor;
- var sAdj2, adj2 = 18515 * slideFactor;
- var sAdj3, adj3 = 18515 * slideFactor;
- var sAdj4, adj4 = 48123 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = parseInt(sAdj4.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, r = w, b = h, l = 0, t = 0;
- var ss = Math.min(w, h);
- var a2, maxAdj1, a1, maxAdj3, a3, q2, maxAdj4, a4, dx2, dx3, ah, dx1, dy1, x8, x2, x7, x3, x6, x4, x5, y8, y2, y7, y3, y6, y4, y5;
- a2 = (adj2 < 0) ? 0 : (adj2 > cnstVal1) ? cnstVal1 : adj2;
- maxAdj1 = a2 * 2;
- a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1;
- maxAdj3 = cnstVal1 - a2;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- q2 = a3 * 2;
- maxAdj4 = cnstVal2 - q2;
- a4 = (adj4 < a1) ? a1 : (adj4 > maxAdj4) ? maxAdj4 : adj4;
- dx2 = ss * a2 / cnstVal2;
- dx3 = ss * a1 / cnstVal3;
- ah = ss * a3 / cnstVal2;
- dx1 = w * a4 / cnstVal3;
- dy1 = h * a4 / cnstVal3;
- x8 = r - ah;
- x2 = hc - dx1;
- x7 = hc + dx1;
- x3 = hc - dx2;
- x6 = hc + dx2;
- x4 = hc - dx3;
- x5 = hc + dx3;
- y8 = b - ah;
- y2 = vc - dy1;
- y7 = vc + dy1;
- y3 = vc - dx2;
- y6 = vc + dx2;
- y4 = vc - dx3;
- y5 = vc + dx3;
- var d_val = "M" + l + "," + vc +
- " L" + ah + "," + y3 +
- " L" + ah + "," + y4 +
- " L" + x2 + "," + y4 +
- " L" + x2 + "," + y2 +
- " L" + x4 + "," + y2 +
- " L" + x4 + "," + ah +
- " L" + x3 + "," + ah +
- " L" + hc + "," + t +
- " L" + x6 + "," + ah +
- " L" + x5 + "," + ah +
- " L" + x5 + "," + y2 +
- " L" + x7 + "," + y2 +
- " L" + x7 + "," + y4 +
- " L" + x8 + "," + y4 +
- " L" + x8 + "," + y3 +
- " L" + r + "," + vc +
- " L" + x8 + "," + y6 +
- " L" + x8 + "," + y5 +
- " L" + x7 + "," + y5 +
- " L" + x7 + "," + y7 +
- " L" + x5 + "," + y7 +
- " L" + x5 + "," + y8 +
- " L" + x6 + "," + y8 +
- " L" + hc + "," + b +
- " L" + x3 + "," + y8 +
- " L" + x4 + "," + y8 +
- " L" + x4 + "," + y7 +
- " L" + x2 + "," + y7 +
- " L" + x2 + "," + y5 +
- " L" + ah + "," + y5 +
- " L" + ah + "," + y6 +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "curvedDownArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 50000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, wd2 = w / 2, r = w, b = h, l = 0, t = 0, c3d4 = 270, cd2 = 180, cd4 = 90;
- var ss = Math.min(w, h);
- var maxAdj2, a2, a1, th, aw, q1, wR, q7, q8, q9, q10, q11, idy, maxAdj3, a3, ah, x3, q2, q3, q4, q5, dx, x5, x7, q6, dh, x4, x8, aw2, x6, y1, swAng, mswAng, iy, ix, q12, dang2, stAng, stAng2, swAng2, swAng3;
- maxAdj2 = cnstVal1 * w / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal2) ? cnstVal2 : adj1;
- th = ss * a1 / cnstVal2;
- aw = ss * a2 / cnstVal2;
- q1 = (th + aw) / 4;
- wR = wd2 - q1;
- q7 = wR * 2;
- q8 = q7 * q7;
- q9 = th * th;
- q10 = q8 - q9;
- q11 = Math.sqrt(q10);
- idy = q11 * h / q7;
- maxAdj3 = cnstVal2 * idy / ss;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- ah = ss * adj3 / cnstVal2;
- x3 = wR + th;
- q2 = h * h;
- q3 = ah * ah;
- q4 = q2 - q3;
- q5 = Math.sqrt(q4);
- dx = q5 * wR / h;
- x5 = wR + dx;
- x7 = x3 + dx;
- q6 = aw - th;
- dh = q6 / 2;
- x4 = x5 - dh;
- x8 = x7 + dh;
- aw2 = aw / 2;
- x6 = r - aw2;
- y1 = b - ah;
- swAng = Math.atan(dx / ah);
- var swAngDeg = swAng * 180 / Math.PI;
- mswAng = -swAngDeg;
- iy = b - idy;
- ix = (wR + x3) / 2;
- q12 = th / 2;
- dang2 = Math.atan(q12 / idy);
- var dang2Deg = dang2 * 180 / Math.PI;
- stAng = c3d4 + swAngDeg;
- stAng2 = c3d4 - dang2Deg;
- swAng2 = dang2Deg - cd4;
- swAng3 = cd4 + dang2Deg;
- //var cX = x5 - Math.cos(stAng*Math.PI/180) * wR;
- //var cY = y1 - Math.sin(stAng*Math.PI/180) * h;
- var d_val = "M" + x6 + "," + b +
- " L" + x4 + "," + y1 +
- " L" + x5 + "," + y1 +
- shapeArc(wR, h, wR, h, stAng, (stAng + mswAng), false).replace("M", "L") +
- " L" + x3 + "," + t +
- shapeArc(x3, h, wR, h, c3d4, (c3d4 + swAngDeg), false).replace("M", "L") +
- " L" + (x5 + th) + "," + y1 +
- " L" + x8 + "," + y1 +
- " z" +
- "M" + x3 + "," + t +
- shapeArc(x3, h, wR, h, stAng2, (stAng2 + swAng2), false).replace("M", "L") +
- shapeArc(wR, h, wR, h, cd2, (cd2 + swAng3), false).replace("M", "L");
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "curvedLeftArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 50000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, hd2 = h / 2, r = w, b = h, l = 0, t = 0, c3d4 = 270, cd2 = 180, cd4 = 90;
- var ss = Math.min(w, h);
- var maxAdj2, a2, a1, th, aw, q1, hR, q7, q8, q9, q10, q11, iDx, maxAdj3, a3, ah, y3, q2, q3, q4, q5, dy, y5, y7, q6, dh, y4, y8, aw2, y6, x1, swAng, mswAng, ix, iy, q12, dang2, swAng2, swAng3, stAng3;
- maxAdj2 = cnstVal1 * h / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- a1 = (adj1 < 0) ? 0 : (adj1 > a2) ? a2 : adj1;
- th = ss * a1 / cnstVal2;
- aw = ss * a2 / cnstVal2;
- q1 = (th + aw) / 4;
- hR = hd2 - q1;
- q7 = hR * 2;
- q8 = q7 * q7;
- q9 = th * th;
- q10 = q8 - q9;
- q11 = Math.sqrt(q10);
- iDx = q11 * w / q7;
- maxAdj3 = cnstVal2 * iDx / ss;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- ah = ss * a3 / cnstVal2;
- y3 = hR + th;
- q2 = w * w;
- q3 = ah * ah;
- q4 = q2 - q3;
- q5 = Math.sqrt(q4);
- dy = q5 * hR / w;
- y5 = hR + dy;
- y7 = y3 + dy;
- q6 = aw - th;
- dh = q6 / 2;
- y4 = y5 - dh;
- y8 = y7 + dh;
- aw2 = aw / 2;
- y6 = b - aw2;
- x1 = l + ah;
- swAng = Math.atan(dy / ah);
- mswAng = -swAng;
- ix = l + iDx;
- iy = (hR + y3) / 2;
- q12 = th / 2;
- dang2 = Math.atan(q12 / iDx);
- swAng2 = dang2 - swAng;
- swAng3 = swAng + dang2;
- stAng3 = -dang2;
- var swAngDg, swAng2Dg, swAng3Dg, stAng3dg;
- swAngDg = swAng * 180 / Math.PI;
- swAng2Dg = swAng2 * 180 / Math.PI;
- swAng3Dg = swAng3 * 180 / Math.PI;
- stAng3dg = stAng3 * 180 / Math.PI;
- var d_val = "M" + r + "," + y3 +
- shapeArc(l, hR, w, hR, 0, -cd4, false).replace("M", "L") +
- " L" + l + "," + t +
- shapeArc(l, y3, w, hR, c3d4, (c3d4 + cd4), false).replace("M", "L") +
- " L" + r + "," + y3 +
- shapeArc(l, y3, w, hR, 0, swAngDg, false).replace("M", "L") +
- " L" + x1 + "," + y7 +
- " L" + x1 + "," + y8 +
- " L" + l + "," + y6 +
- " L" + x1 + "," + y4 +
- " L" + x1 + "," + y5 +
- shapeArc(l, hR, w, hR, swAngDg, (swAngDg + swAng2Dg), false).replace("M", "L") +
- shapeArc(l, hR, w, hR, 0, -cd4, false).replace("M", "L") +
- shapeArc(l, y3, w, hR, c3d4, (c3d4 + cd4), false).replace("M", "L");
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "curvedRightArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 50000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, hd2 = h / 2, r = w, b = h, l = 0, t = 0, c3d4 = 270, cd2 = 180, cd4 = 90;
- var ss = Math.min(w, h);
- var maxAdj2, a2, a1, th, aw, q1, hR, q7, q8, q9, q10, q11, iDx, maxAdj3, a3, ah, y3, q2, q3, q4, q5, dy,
- y5, y7, q6, dh, y4, y8, aw2, y6, x1, swAng, stAng, mswAng, ix, iy, q12, dang2, swAng2, swAng3, stAng3;
- maxAdj2 = cnstVal1 * h / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- a1 = (adj1 < 0) ? 0 : (adj1 > a2) ? a2 : adj1;
- th = ss * a1 / cnstVal2;
- aw = ss * a2 / cnstVal2;
- q1 = (th + aw) / 4;
- hR = hd2 - q1;
- q7 = hR * 2;
- q8 = q7 * q7;
- q9 = th * th;
- q10 = q8 - q9;
- q11 = Math.sqrt(q10);
- iDx = q11 * w / q7;
- maxAdj3 = cnstVal2 * iDx / ss;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- ah = ss * a3 / cnstVal2;
- y3 = hR + th;
- q2 = w * w;
- q3 = ah * ah;
- q4 = q2 - q3;
- q5 = Math.sqrt(q4);
- dy = q5 * hR / w;
- y5 = hR + dy;
- y7 = y3 + dy;
- q6 = aw - th;
- dh = q6 / 2;
- y4 = y5 - dh;
- y8 = y7 + dh;
- aw2 = aw / 2;
- y6 = b - aw2;
- x1 = r - ah;
- swAng = Math.atan(dy / ah);
- stAng = Math.PI + 0 - swAng;
- mswAng = -swAng;
- ix = r - iDx;
- iy = (hR + y3) / 2;
- q12 = th / 2;
- dang2 = Math.atan(q12 / iDx);
- swAng2 = dang2 - Math.PI / 2;
- swAng3 = Math.PI / 2 + dang2;
- stAng3 = Math.PI - dang2;
- var stAngDg, mswAngDg, swAngDg, swAng2dg;
- stAngDg = stAng * 180 / Math.PI;
- mswAngDg = mswAng * 180 / Math.PI;
- swAngDg = swAng * 180 / Math.PI;
- swAng2dg = swAng2 * 180 / Math.PI;
- var d_val = "M" + l + "," + hR +
- shapeArc(w, hR, w, hR, cd2, cd2 + mswAngDg, false).replace("M", "L") +
- " L" + x1 + "," + y5 +
- " L" + x1 + "," + y4 +
- " L" + r + "," + y6 +
- " L" + x1 + "," + y8 +
- " L" + x1 + "," + y7 +
- shapeArc(w, y3, w, hR, stAngDg, stAngDg + swAngDg, false).replace("M", "L") +
- " L" + l + "," + hR +
- shapeArc(w, hR, w, hR, cd2, cd2 + cd4, false).replace("M", "L") +
- " L" + r + "," + th +
- shapeArc(w, y3, w, hR, c3d4, c3d4 + swAng2dg, false).replace("M", "L")
- "";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "curvedUpArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 25000 * slideFactor;
- var sAdj2, adj2 = 50000 * slideFactor;
- var sAdj3, adj3 = 25000 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, wd2 = w / 2, r = w, b = h, l = 0, t = 0, c3d4 = 270, cd2 = 180, cd4 = 90;
- var ss = Math.min(w, h);
- var maxAdj2, a2, a1, th, aw, q1, wR, q7, q8, q9, q10, q11, idy, maxAdj3, a3, ah, x3, q2, q3, q4, q5, dx, x5, x7, q6, dh, x4, x8, aw2, x6, y1, swAng, mswAng, iy, ix, q12, dang2, swAng2, mswAng2, stAng3, swAng3, stAng2;
- maxAdj2 = cnstVal1 * w / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal2) ? cnstVal2 : adj1;
- th = ss * a1 / cnstVal2;
- aw = ss * a2 / cnstVal2;
- q1 = (th + aw) / 4;
- wR = wd2 - q1;
- q7 = wR * 2;
- q8 = q7 * q7;
- q9 = th * th;
- q10 = q8 - q9;
- q11 = Math.sqrt(q10);
- idy = q11 * h / q7;
- maxAdj3 = cnstVal2 * idy / ss;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- ah = ss * adj3 / cnstVal2;
- x3 = wR + th;
- q2 = h * h;
- q3 = ah * ah;
- q4 = q2 - q3;
- q5 = Math.sqrt(q4);
- dx = q5 * wR / h;
- x5 = wR + dx;
- x7 = x3 + dx;
- q6 = aw - th;
- dh = q6 / 2;
- x4 = x5 - dh;
- x8 = x7 + dh;
- aw2 = aw / 2;
- x6 = r - aw2;
- y1 = t + ah;
- swAng = Math.atan(dx / ah);
- mswAng = -swAng;
- iy = t + idy;
- ix = (wR + x3) / 2;
- q12 = th / 2;
- dang2 = Math.atan(q12 / idy);
- swAng2 = dang2 - swAng;
- mswAng2 = -swAng2;
- stAng3 = Math.PI / 2 - swAng;
- swAng3 = swAng + dang2;
- stAng2 = Math.PI / 2 - dang2;
- var stAng2dg, swAng2dg, swAngDg, swAng2dg;
- stAng2dg = stAng2 * 180 / Math.PI;
- swAng2dg = swAng2 * 180 / Math.PI;
- stAng3dg = stAng3 * 180 / Math.PI;
- swAngDg = swAng * 180 / Math.PI;
- var d_val = //"M" + ix + "," +iy +
- shapeArc(wR, 0, wR, h, stAng2dg, stAng2dg + swAng2dg, false) + //.replace("M","L") +
- " L" + x5 + "," + y1 +
- " L" + x4 + "," + y1 +
- " L" + x6 + "," + t +
- " L" + x8 + "," + y1 +
- " L" + x7 + "," + y1 +
- shapeArc(x3, 0, wR, h, stAng3dg, stAng3dg + swAngDg, false).replace("M", "L") +
- " L" + wR + "," + b +
- shapeArc(wR, 0, wR, h, cd4, cd2, false).replace("M", "L") +
- " L" + th + "," + t +
- shapeArc(x3, 0, wR, h, cd2, cd4, false).replace("M", "L") +
- "";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "mathDivide":
- case "mathEqual":
- case "mathMinus":
- case "mathMultiply":
- case "mathNotEqual":
- case "mathPlus":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1;
- var sAdj2, adj2;
- var sAdj3, adj3;
- if (shapAdjst_ary !== undefined) {
- if (shapAdjst_ary.constructor === Array) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4));
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4));
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = parseInt(sAdj3.substr(4));
- }
- }
- } else {
- sAdj1 = getTextByPathList(shapAdjst_ary, ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4));
- }
- }
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var cnstVal3 = 200000 * slideFactor;
- var dVal;
- var hc = w / 2, vc = h / 2, hd2 = h / 2;
- if (shapType == "mathNotEqual") {
- if (shapAdjst_ary === undefined) {
- adj1 = 23520 * slideFactor;
- adj2 = 110 * Math.PI / 180;
- adj3 = 11760 * slideFactor;
- } else {
- adj1 = adj1 * slideFactor;
- adj2 = (adj2 / 60000) * Math.PI / 180;
- adj3 = adj3 * slideFactor;
- }
- var a1, crAng, a2a1, maxAdj3, a3, dy1, dy2, dx1, x1, x8, y2, y3, y1, y4,
- cadj2, xadj2, len, bhw, bhw2, x7, dx67, x6, dx57, x5, dx47, x4, dx37,
- x3, dx27, x2, rx7, rx6, rx5, rx4, rx3, rx2, dx7, rxt, lxt, rx, lx,
- dy3, dy4, ry, ly, dlx, drx, dly, dry, xC1, xC2, yC1, yC2, yC3, yC4;
- var angVal1 = 70 * Math.PI / 180, angVal2 = 110 * Math.PI / 180;
- var cnstVal4 = 73490 * slideFactor;
- //var cd4 = 90;
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal1) ? cnstVal1 : adj1;
- crAng = (adj2 < angVal1) ? angVal1 : (adj2 > angVal2) ? angVal2 : adj2;
- a2a1 = a1 * 2;
- maxAdj3 = cnstVal2 - a2a1;
- a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- dy1 = h * a1 / cnstVal2;
- dy2 = h * a3 / cnstVal3;
- dx1 = w * cnstVal4 / cnstVal3;
- x1 = hc - dx1;
- x8 = hc + dx1;
- y2 = vc - dy2;
- y3 = vc + dy2;
- y1 = y2 - dy1;
- y4 = y3 + dy1;
- cadj2 = crAng - Math.PI / 2;
- xadj2 = hd2 * Math.tan(cadj2);
- len = Math.sqrt(xadj2 * xadj2 + hd2 * hd2);
- bhw = len * dy1 / hd2;
- bhw2 = bhw / 2;
- x7 = hc + xadj2 - bhw2;
- dx67 = xadj2 * y1 / hd2;
- x6 = x7 - dx67;
- dx57 = xadj2 * y2 / hd2;
- x5 = x7 - dx57;
- dx47 = xadj2 * y3 / hd2;
- x4 = x7 - dx47;
- dx37 = xadj2 * y4 / hd2;
- x3 = x7 - dx37;
- dx27 = xadj2 * 2;
- x2 = x7 - dx27;
- rx7 = x7 + bhw;
- rx6 = x6 + bhw;
- rx5 = x5 + bhw;
- rx4 = x4 + bhw;
- rx3 = x3 + bhw;
- rx2 = x2 + bhw;
- dx7 = dy1 * hd2 / len;
- rxt = x7 + dx7;
- lxt = rx7 - dx7;
- rx = (cadj2 > 0) ? rxt : rx7;
- lx = (cadj2 > 0) ? x7 : lxt;
- dy3 = dy1 * xadj2 / len;
- dy4 = -dy3;
- ry = (cadj2 > 0) ? dy3 : 0;
- ly = (cadj2 > 0) ? 0 : dy4;
- dlx = w - rx;
- drx = w - lx;
- dly = h - ry;
- dry = h - ly;
- xC1 = (rx + lx) / 2;
- xC2 = (drx + dlx) / 2;
- yC1 = (ry + ly) / 2;
- yC2 = (y1 + y2) / 2;
- yC3 = (y3 + y4) / 2;
- yC4 = (dry + dly) / 2;
- dVal = "M" + x1 + "," + y1 +
- " L" + x6 + "," + y1 +
- " L" + lx + "," + ly +
- " L" + rx + "," + ry +
- " L" + rx6 + "," + y1 +
- " L" + x8 + "," + y1 +
- " L" + x8 + "," + y2 +
- " L" + rx5 + "," + y2 +
- " L" + rx4 + "," + y3 +
- " L" + x8 + "," + y3 +
- " L" + x8 + "," + y4 +
- " L" + rx3 + "," + y4 +
- " L" + drx + "," + dry +
- " L" + dlx + "," + dly +
- " L" + x3 + "," + y4 +
- " L" + x1 + "," + y4 +
- " L" + x1 + "," + y3 +
- " L" + x4 + "," + y3 +
- " L" + x5 + "," + y2 +
- " L" + x1 + "," + y2 +
- " z";
- } else if (shapType == "mathDivide") {
- if (shapAdjst_ary === undefined) {
- adj1 = 23520 * slideFactor;
- adj2 = 5880 * slideFactor;
- adj3 = 11760 * slideFactor;
- } else {
- adj1 = adj1 * slideFactor;
- adj2 = adj2 * slideFactor;
- adj3 = adj3 * slideFactor;
- }
- var a1, ma1, ma3h, ma3w, maxAdj3, a3, m4a3, maxAdj2, a2, dy1, yg, rad, dx1,
- y3, y4, a, y2, y1, y5, x1, x3, x2;
- var cnstVal4 = 1000 * slideFactor;
- var cnstVal5 = 36745 * slideFactor;
- var cnstVal6 = 73490 * slideFactor;
- a1 = (adj1 < cnstVal4) ? cnstVal4 : (adj1 > cnstVal5) ? cnstVal5 : adj1;
- ma1 = -a1;
- ma3h = (cnstVal6 + ma1) / 4;
- ma3w = cnstVal5 * w / h;
- maxAdj3 = (ma3h < ma3w) ? ma3h : ma3w;
- a3 = (adj3 < cnstVal4) ? cnstVal4 : (adj3 > maxAdj3) ? maxAdj3 : adj3;
- m4a3 = -4 * a3;
- maxAdj2 = cnstVal6 + m4a3 - a1;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- dy1 = h * a1 / cnstVal3;
- yg = h * a2 / cnstVal2;
- rad = h * a3 / cnstVal2;
- dx1 = w * cnstVal6 / cnstVal3;
- y3 = vc - dy1;
- y4 = vc + dy1;
- a = yg + rad;
- y2 = y3 - a;
- y1 = y2 - rad;
- y5 = h - y1;
- x1 = hc - dx1;
- x3 = hc + dx1;
- x2 = hc - rad;
- var cd4 = 90, c3d4 = 270;
- var cX1 = hc - Math.cos(c3d4 * Math.PI / 180) * rad;
- var cY1 = y1 - Math.sin(c3d4 * Math.PI / 180) * rad;
- var cX2 = hc - Math.cos(Math.PI / 2) * rad;
- var cY2 = y5 - Math.sin(Math.PI / 2) * rad;
- dVal = "M" + hc + "," + y1 +
- shapeArc(cX1, cY1, rad, rad, c3d4, c3d4 + 360, false).replace("M", "L") +
- " z" +
- " M" + hc + "," + y5 +
- shapeArc(cX2, cY2, rad, rad, cd4, cd4 + 360, false).replace("M", "L") +
- " z" +
- " M" + x1 + "," + y3 +
- " L" + x3 + "," + y3 +
- " L" + x3 + "," + y4 +
- " L" + x1 + "," + y4 +
- " z";
- } else if (shapType == "mathEqual") {
- if (shapAdjst_ary === undefined) {
- adj1 = 23520 * slideFactor;
- adj2 = 11760 * slideFactor;
- } else {
- adj1 = adj1 * slideFactor;
- adj2 = adj2 * slideFactor;
- }
- var cnstVal5 = 36745 * slideFactor;
- var cnstVal6 = 73490 * slideFactor;
- var a1, a2a1, mAdj2, a2, dy1, dy2, dx1, y2, y3, y1, y4, x1, x2, yC1, yC2;
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal5) ? cnstVal5 : adj1;
- a2a1 = a1 * 2;
- mAdj2 = cnstVal2 - a2a1;
- a2 = (adj2 < 0) ? 0 : (adj2 > mAdj2) ? mAdj2 : adj2;
- dy1 = h * a1 / cnstVal2;
- dy2 = h * a2 / cnstVal3;
- dx1 = w * cnstVal6 / cnstVal3;
- y2 = vc - dy2;
- y3 = vc + dy2;
- y1 = y2 - dy1;
- y4 = y3 + dy1;
- x1 = hc - dx1;
- x2 = hc + dx1;
- yC1 = (y1 + y2) / 2;
- yC2 = (y3 + y4) / 2;
- dVal = "M" + x1 + "," + y1 +
- " L" + x2 + "," + y1 +
- " L" + x2 + "," + y2 +
- " L" + x1 + "," + y2 +
- " z" +
- "M" + x1 + "," + y3 +
- " L" + x2 + "," + y3 +
- " L" + x2 + "," + y4 +
- " L" + x1 + "," + y4 +
- " z";
- } else if (shapType == "mathMinus") {
- if (shapAdjst_ary === undefined) {
- adj1 = 23520 * slideFactor;
- } else {
- adj1 = adj1 * slideFactor;
- }
- var cnstVal6 = 73490 * slideFactor;
- var a1, dy1, dx1, y1, y2, x1, x2;
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal2) ? cnstVal2 : adj1;
- dy1 = h * a1 / cnstVal3;
- dx1 = w * cnstVal6 / cnstVal3;
- y1 = vc - dy1;
- y2 = vc + dy1;
- x1 = hc - dx1;
- x2 = hc + dx1;
- dVal = "M" + x1 + "," + y1 +
- " L" + x2 + "," + y1 +
- " L" + x2 + "," + y2 +
- " L" + x1 + "," + y2 +
- " z";
- } else if (shapType == "mathMultiply") {
- if (shapAdjst_ary === undefined) {
- adj1 = 23520 * slideFactor;
- } else {
- adj1 = adj1 * slideFactor;
- }
- var cnstVal6 = 51965 * slideFactor;
- var a1, th, a, sa, ca, ta, dl, rw, lM, xM, yM, dxAM, dyAM,
- xA, yA, xB, yB, xBC, yBC, yC, xD, xE, yFE, xFE, xF, xL, yG, yH, yI, xC2, yC3;
- var ss = Math.min(w, h);
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal6) ? cnstVal6 : adj1;
- th = ss * a1 / cnstVal2;
- a = Math.atan(h / w);
- sa = 1 * Math.sin(a);
- ca = 1 * Math.cos(a);
- ta = 1 * Math.tan(a);
- dl = Math.sqrt(w * w + h * h);
- rw = dl * cnstVal6 / cnstVal2;
- lM = dl - rw;
- xM = ca * lM / 2;
- yM = sa * lM / 2;
- dxAM = sa * th / 2;
- dyAM = ca * th / 2;
- xA = xM - dxAM;
- yA = yM + dyAM;
- xB = xM + dxAM;
- yB = yM - dyAM;
- xBC = hc - xB;
- yBC = xBC * ta;
- yC = yBC + yB;
- xD = w - xB;
- xE = w - xA;
- yFE = vc - yA;
- xFE = yFE / ta;
- xF = xE - xFE;
- xL = xA + xFE;
- yG = h - yA;
- yH = h - yB;
- yI = h - yC;
- xC2 = w - xM;
- yC3 = h - yM;
- dVal = "M" + xA + "," + yA +
- " L" + xB + "," + yB +
- " L" + hc + "," + yC +
- " L" + xD + "," + yB +
- " L" + xE + "," + yA +
- " L" + xF + "," + vc +
- " L" + xE + "," + yG +
- " L" + xD + "," + yH +
- " L" + hc + "," + yI +
- " L" + xB + "," + yH +
- " L" + xA + "," + yG +
- " L" + xL + "," + vc +
- " z";
- } else if (shapType == "mathPlus") {
- if (shapAdjst_ary === undefined) {
- adj1 = 23520 * slideFactor;
- } else {
- adj1 = adj1 * slideFactor;
- }
- var cnstVal6 = 73490 * slideFactor;
- var ss = Math.min(w, h);
- var a1, dx1, dy1, dx2, x1, x2, x3, x4, y1, y2, y3, y4;
- a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal6) ? cnstVal6 : adj1;
- dx1 = w * cnstVal6 / cnstVal3;
- dy1 = h * cnstVal6 / cnstVal3;
- dx2 = ss * a1 / cnstVal3;
- x1 = hc - dx1;
- x2 = hc - dx2;
- x3 = hc + dx2;
- x4 = hc + dx1;
- y1 = vc - dy1;
- y2 = vc - dx2;
- y3 = vc + dx2;
- y4 = vc + dy1;
- dVal = "M" + x1 + "," + y2 +
- " L" + x2 + "," + y2 +
- " L" + x2 + "," + y1 +
- " L" + x3 + "," + y1 +
- " L" + x3 + "," + y2 +
- " L" + x4 + "," + y2 +
- " L" + x4 + "," + y3 +
- " L" + x3 + "," + y3 +
- " L" + x3 + "," + y4 +
- " L" + x2 + "," + y4 +
- " L" + x2 + "," + y3 +
- " L" + x1 + "," + y3 +
- " z";
- }
- result += "<path d='" + dVal + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- //console.log(shapType);
- break;
- case "can":
- case "flowChartMagneticDisk":
- case "flowChartMagneticDrum":
- var shapAdjst = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd", "attrs", "fmla"]);
- var adj = 25000 * slideFactor;
- var cnstVal1 = 50000 * slideFactor;
- var cnstVal2 = 200000 * slideFactor;
- if (shapAdjst !== undefined) {
- adj = parseInt(shapAdjst.substr(4)) * slideFactor;
- }
- var ss = Math.min(w, h);
- var maxAdj, a, y1, y2, y3, dVal;
- if (shapType == "flowChartMagneticDisk" || shapType == "flowChartMagneticDrum") {
- adj = 50000 * slideFactor;
- }
- maxAdj = cnstVal1 * h / ss;
- a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj;
- y1 = ss * a / cnstVal2;
- y2 = y1 + y1;
- y3 = h - y1;
- var cd2 = 180, wd2 = w / 2;
- var tranglRott = "";
- if (shapType == "flowChartMagneticDrum") {
- tranglRott = "transform='rotate(90 " + w / 2 + "," + h / 2 + ")'";
- }
- dVal = shapeArc(wd2, y1, wd2, y1, 0, cd2, false) +
- shapeArc(wd2, y1, wd2, y1, cd2, cd2 + cd2, false).replace("M", "L") +
- " L" + w + "," + y3 +
- shapeArc(wd2, y3, wd2, y1, 0, cd2, false).replace("M", "L") +
- " L" + 0 + "," + y1;
- result += "<path " + tranglRott + " d='" + dVal + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "swooshArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var refr = slideFactor;
- var sAdj1, adj1 = 25000 * refr;
- var sAdj2, adj2 = 16667 * refr;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * refr;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = parseInt(sAdj2.substr(4)) * refr;
- }
- }
- }
- var cnstVal1 = 1 * refr;
- var cnstVal2 = 70000 * refr;
- var cnstVal3 = 75000 * refr;
- var cnstVal4 = 100000 * refr;
- var ss = Math.min(w, h);
- var ssd8 = ss / 8;
- var hd6 = h / 6;
- var a1, maxAdj2, a2, ad1, ad2, xB, yB, alfa, dx0, xC, dx1, yF, xF, xE, yE, dy2, dy22, dy3, yD, dy4, yP1, xP1, dy5, yP2, xP2;
- a1 = (adj1 < cnstVal1) ? cnstVal1 : (adj1 > cnstVal3) ? cnstVal3 : adj1;
- maxAdj2 = cnstVal2 * w / ss;
- a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2;
- ad1 = h * a1 / cnstVal4;
- ad2 = ss * a2 / cnstVal4;
- xB = w - ad2;
- yB = ssd8;
- alfa = (Math.PI / 2) / 14;
- dx0 = ssd8 * Math.tan(alfa);
- xC = xB - dx0;
- dx1 = ad1 * Math.tan(alfa);
- yF = yB + ad1;
- xF = xB + dx1;
- xE = xF + dx0;
- yE = yF + ssd8;
- dy2 = yE - 0;
- dy22 = dy2 / 2;
- dy3 = h / 20;
- yD = dy22 - dy3;
- dy4 = hd6;
- yP1 = hd6 + dy4;
- xP1 = w / 6;
- dy5 = hd6 / 2;
- yP2 = yF + dy5;
- xP2 = w / 4;
- var dVal = "M" + 0 + "," + h +
- " Q" + xP1 + "," + yP1 + " " + xB + "," + yB +
- " L" + xC + "," + 0 +
- " L" + w + "," + yD +
- " L" + xE + "," + yE +
- " L" + xF + "," + yF +
- " Q" + xP2 + "," + yP2 + " " + 0 + "," + h +
- " z";
- result += "<path d='" + dVal + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "circularArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 12500 * slideFactor;
- var sAdj2, adj2 = (1142319 / 60000) * Math.PI / 180;
- var sAdj3, adj3 = (20457681 / 60000) * Math.PI / 180;
- var sAdj4, adj4 = (10800000 / 60000) * Math.PI / 180;
- var sAdj5, adj5 = 12500 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = (parseInt(sAdj2.substr(4)) / 60000) * Math.PI / 180;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = (parseInt(sAdj3.substr(4)) / 60000) * Math.PI / 180;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = (parseInt(sAdj4.substr(4)) / 60000) * Math.PI / 180;
- } else if (sAdj_name == "adj5") {
- sAdj5 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj5 = parseInt(sAdj5.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, r = w, b = h, l = 0, t = 0, wd2 = w / 2, hd2 = h / 2;
- var ss = Math.min(w, h);
- var a5, maxAdj1, a1, enAng, stAng, th, thh, th2, rw1, rh1, rw2, rh2, rw3, rh3, wtH, htH, dxH,
- dyH, xH, yH, rI, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15, u16, u17,
- u18, u19, u20, u21, maxAng, aAng, ptAng, wtA, htA, dxA, dyA, xA, yA, wtE, htE, dxE, dyE, xE, yE,
- dxG, dyG, xG, yG, dxB, dyB, xB, yB, sx1, sy1, sx2, sy2, rO, x1O, y1O, x2O, y2O, dxO, dyO, dO,
- q1, q2, DO, q3, q4, q5, q6, q7, q8, sdelO, ndyO, sdyO, q9, q10, q11, dxF1, q12, dxF2, adyO,
- q13, q14, dyF1, q15, dyF2, q16, q17, q18, q19, q20, q21, q22, dxF, dyF, sdxF, sdyF, xF, yF,
- x1I, y1I, x2I, y2I, dxI, dyI, dI, v1, v2, DI, v3, v4, v5, v6, v7, v8, sdelI, v9, v10, v11,
- dxC1, v12, dxC2, adyI, v13, v14, dyC1, v15, dyC2, v16, v17, v18, v19, v20, v21, v22, dxC, dyC,
- sdxC, sdyC, xC, yC, ist0, ist1, istAng, isw1, isw2, iswAng, p1, p2, p3, p4, p5, xGp, yGp,
- xBp, yBp, en0, en1, en2, sw0, sw1, swAng;
- var cnstVal1 = 25000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var rdAngVal1 = (1 / 60000) * Math.PI / 180;
- var rdAngVal2 = (21599999 / 60000) * Math.PI / 180;
- var rdAngVal3 = 2 * Math.PI;
- a5 = (adj5 < 0) ? 0 : (adj5 > cnstVal1) ? cnstVal1 : adj5;
- maxAdj1 = a5 * 2;
- a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1;
- enAng = (adj3 < rdAngVal1) ? rdAngVal1 : (adj3 > rdAngVal2) ? rdAngVal2 : adj3;
- stAng = (adj4 < 0) ? 0 : (adj4 > rdAngVal2) ? rdAngVal2 : adj4; //////////////////////////////////////////
- th = ss * a1 / cnstVal2;
- thh = ss * a5 / cnstVal2;
- th2 = th / 2;
- rw1 = wd2 + th2 - thh;
- rh1 = hd2 + th2 - thh;
- rw2 = rw1 - th;
- rh2 = rh1 - th;
- rw3 = rw2 + th2;
- rh3 = rh2 + th2;
- wtH = rw3 * Math.sin(enAng);
- htH = rh3 * Math.cos(enAng);
- //dxH = rw3*Math.cos(Math.atan(wtH/htH));
- //dyH = rh3*Math.sin(Math.atan(wtH/htH));
- dxH = rw3 * Math.cos(Math.atan2(wtH, htH));
- dyH = rh3 * Math.sin(Math.atan2(wtH, htH));
- xH = hc + dxH;
- yH = vc + dyH;
- rI = (rw2 < rh2) ? rw2 : rh2;
- u1 = dxH * dxH;
- u2 = dyH * dyH;
- u3 = rI * rI;
- u4 = u1 - u3;
- u5 = u2 - u3;
- u6 = u4 * u5 / u1;
- u7 = u6 / u2;
- u8 = 1 - u7;
- u9 = Math.sqrt(u8);
- u10 = u4 / dxH;
- u11 = u10 / dyH;
- u12 = (1 + u9) / u11;
- //u13 = Math.atan(u12/1);
- u13 = Math.atan2(u12, 1);
- u14 = u13 + rdAngVal3;
- u15 = (u13 > 0) ? u13 : u14;
- u16 = u15 - enAng;
- u17 = u16 + rdAngVal3;
- u18 = (u16 > 0) ? u16 : u17;
- u19 = u18 - cd2;
- u20 = u18 - rdAngVal3;
- u21 = (u19 > 0) ? u20 : u18;
- maxAng = Math.abs(u21);
- aAng = (adj2 < 0) ? 0 : (adj2 > maxAng) ? maxAng : adj2;
- ptAng = enAng + aAng;
- wtA = rw3 * Math.sin(ptAng);
- htA = rh3 * Math.cos(ptAng);
- //dxA = rw3*Math.cos(Math.atan(wtA/htA));
- //dyA = rh3*Math.sin(Math.atan(wtA/htA));
- dxA = rw3 * Math.cos(Math.atan2(wtA, htA));
- dyA = rh3 * Math.sin(Math.atan2(wtA, htA));
- xA = hc + dxA;
- yA = vc + dyA;
- wtE = rw1 * Math.sin(stAng);
- htE = rh1 * Math.cos(stAng);
- //dxE = rw1*Math.cos(Math.atan(wtE/htE));
- //dyE = rh1*Math.sin(Math.atan(wtE/htE));
- dxE = rw1 * Math.cos(Math.atan2(wtE, htE));
- dyE = rh1 * Math.sin(Math.atan2(wtE, htE));
- xE = hc + dxE;
- yE = vc + dyE;
- dxG = thh * Math.cos(ptAng);
- dyG = thh * Math.sin(ptAng);
- xG = xH + dxG;
- yG = yH + dyG;
- dxB = thh * Math.cos(ptAng);
- dyB = thh * Math.sin(ptAng);
- xB = xH - dxB;
- yB = yH - dyB;
- sx1 = xB - hc;
- sy1 = yB - vc;
- sx2 = xG - hc;
- sy2 = yG - vc;
- rO = (rw1 < rh1) ? rw1 : rh1;
- x1O = sx1 * rO / rw1;
- y1O = sy1 * rO / rh1;
- x2O = sx2 * rO / rw1;
- y2O = sy2 * rO / rh1;
- dxO = x2O - x1O;
- dyO = y2O - y1O;
- dO = Math.sqrt(dxO * dxO + dyO * dyO);
- q1 = x1O * y2O;
- q2 = x2O * y1O;
- DO = q1 - q2;
- q3 = rO * rO;
- q4 = dO * dO;
- q5 = q3 * q4;
- q6 = DO * DO;
- q7 = q5 - q6;
- q8 = (q7 > 0) ? q7 : 0;
- sdelO = Math.sqrt(q8);
- ndyO = dyO * -1;
- sdyO = (ndyO > 0) ? -1 : 1;
- q9 = sdyO * dxO;
- q10 = q9 * sdelO;
- q11 = DO * dyO;
- dxF1 = (q11 + q10) / q4;
- q12 = q11 - q10;
- dxF2 = q12 / q4;
- adyO = Math.abs(dyO);
- q13 = adyO * sdelO;
- q14 = DO * dxO / -1;
- dyF1 = (q14 + q13) / q4;
- q15 = q14 - q13;
- dyF2 = q15 / q4;
- q16 = x2O - dxF1;
- q17 = x2O - dxF2;
- q18 = y2O - dyF1;
- q19 = y2O - dyF2;
- q20 = Math.sqrt(q16 * q16 + q18 * q18);
- q21 = Math.sqrt(q17 * q17 + q19 * q19);
- q22 = q21 - q20;
- dxF = (q22 > 0) ? dxF1 : dxF2;
- dyF = (q22 > 0) ? dyF1 : dyF2;
- sdxF = dxF * rw1 / rO;
- sdyF = dyF * rh1 / rO;
- xF = hc + sdxF;
- yF = vc + sdyF;
- x1I = sx1 * rI / rw2;
- y1I = sy1 * rI / rh2;
- x2I = sx2 * rI / rw2;
- y2I = sy2 * rI / rh2;
- dxI = x2I - x1I;
- dyI = y2I - y1I;
- dI = Math.sqrt(dxI * dxI + dyI * dyI);
- v1 = x1I * y2I;
- v2 = x2I * y1I;
- DI = v1 - v2;
- v3 = rI * rI;
- v4 = dI * dI;
- v5 = v3 * v4;
- v6 = DI * DI;
- v7 = v5 - v6;
- v8 = (v7 > 0) ? v7 : 0;
- sdelI = Math.sqrt(v8);
- v9 = sdyO * dxI;
- v10 = v9 * sdelI;
- v11 = DI * dyI;
- dxC1 = (v11 + v10) / v4;
- v12 = v11 - v10;
- dxC2 = v12 / v4;
- adyI = Math.abs(dyI);
- v13 = adyI * sdelI;
- v14 = DI * dxI / -1;
- dyC1 = (v14 + v13) / v4;
- v15 = v14 - v13;
- dyC2 = v15 / v4;
- v16 = x1I - dxC1;
- v17 = x1I - dxC2;
- v18 = y1I - dyC1;
- v19 = y1I - dyC2;
- v20 = Math.sqrt(v16 * v16 + v18 * v18);
- v21 = Math.sqrt(v17 * v17 + v19 * v19);
- v22 = v21 - v20;
- dxC = (v22 > 0) ? dxC1 : dxC2;
- dyC = (v22 > 0) ? dyC1 : dyC2;
- sdxC = dxC * rw2 / rI;
- sdyC = dyC * rh2 / rI;
- xC = hc + sdxC;
- yC = vc + sdyC;
- //ist0 = Math.atan(sdyC/sdxC);
- ist0 = Math.atan2(sdyC, sdxC);
- ist1 = ist0 + rdAngVal3;
- istAng = (ist0 > 0) ? ist0 : ist1;
- isw1 = stAng - istAng;
- isw2 = isw1 - rdAngVal3;
- iswAng = (isw1 > 0) ? isw2 : isw1;
- p1 = xF - xC;
- p2 = yF - yC;
- p3 = Math.sqrt(p1 * p1 + p2 * p2);
- p4 = p3 / 2;
- p5 = p4 - thh;
- xGp = (p5 > 0) ? xF : xG;
- yGp = (p5 > 0) ? yF : yG;
- xBp = (p5 > 0) ? xC : xB;
- yBp = (p5 > 0) ? yC : yB;
- //en0 = Math.atan(sdyF/sdxF);
- en0 = Math.atan2(sdyF, sdxF);
- en1 = en0 + rdAngVal3;
- en2 = (en0 > 0) ? en0 : en1;
- sw0 = en2 - stAng;
- sw1 = sw0 + rdAngVal3;
- swAng = (sw0 > 0) ? sw0 : sw1;
- var strtAng = stAng * 180 / Math.PI
- var endAng = strtAng + (swAng * 180 / Math.PI);
- var stiAng = istAng * 180 / Math.PI;
- var swiAng = iswAng * 180 / Math.PI;
- var ediAng = stiAng + swiAng;
- var d_val = shapeArc(w / 2, h / 2, rw1, rh1, strtAng, endAng, false) +
- " L" + xGp + "," + yGp +
- " L" + xA + "," + yA +
- " L" + xBp + "," + yBp +
- " L" + xC + "," + yC +
- shapeArc(w / 2, h / 2, rw2, rh2, stiAng, ediAng, false).replace("M", "L") +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "leftCircularArrow":
- var shapAdjst_ary = getTextByPathList(node, ["p:spPr", "a:prstGeom", "a:avLst", "a:gd"]);
- var sAdj1, adj1 = 12500 * slideFactor;
- var sAdj2, adj2 = (-1142319 / 60000) * Math.PI / 180;
- var sAdj3, adj3 = (1142319 / 60000) * Math.PI / 180;
- var sAdj4, adj4 = (10800000 / 60000) * Math.PI / 180;
- var sAdj5, adj5 = 12500 * slideFactor;
- if (shapAdjst_ary !== undefined) {
- for (var i = 0; i < shapAdjst_ary.length; i++) {
- var sAdj_name = getTextByPathList(shapAdjst_ary[i], ["attrs", "name"]);
- if (sAdj_name == "adj1") {
- sAdj1 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj1 = parseInt(sAdj1.substr(4)) * slideFactor;
- } else if (sAdj_name == "adj2") {
- sAdj2 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj2 = (parseInt(sAdj2.substr(4)) / 60000) * Math.PI / 180;
- } else if (sAdj_name == "adj3") {
- sAdj3 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj3 = (parseInt(sAdj3.substr(4)) / 60000) * Math.PI / 180;
- } else if (sAdj_name == "adj4") {
- sAdj4 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj4 = (parseInt(sAdj4.substr(4)) / 60000) * Math.PI / 180;
- } else if (sAdj_name == "adj5") {
- sAdj5 = getTextByPathList(shapAdjst_ary[i], ["attrs", "fmla"]);
- adj5 = parseInt(sAdj5.substr(4)) * slideFactor;
- }
- }
- }
- var vc = h / 2, hc = w / 2, r = w, b = h, l = 0, t = 0, wd2 = w / 2, hd2 = h / 2;
- var ss = Math.min(w, h);
- var cnstVal1 = 25000 * slideFactor;
- var cnstVal2 = 100000 * slideFactor;
- var rdAngVal1 = (1 / 60000) * Math.PI / 180;
- var rdAngVal2 = (21599999 / 60000) * Math.PI / 180;
- var rdAngVal3 = 2 * Math.PI;
- var a5, maxAdj1, a1, enAng, stAng, th, thh, th2, rw1, rh1, rw2, rh2, rw3, rh3, wtH, htH, dxH, dyH, xH, yH, rI,
- u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15, u16, u17, u18, u19, u20, u21, u22,
- minAng, u23, a2, aAng, ptAng, wtA, htA, dxA, dyA, xA, yA, wtE, htE, dxE, dyE, xE, yE, wtD, htD, dxD, dyD,
- xD, yD, dxG, dyG, xG, yG, dxB, dyB, xB, yB, sx1, sy1, sx2, sy2, rO, x1O, y1O, x2O, y2O, dxO, dyO, dO,
- q1, q2, DO, q3, q4, q5, q6, q7, q8, sdelO, ndyO, sdyO, q9, q10, q11, dxF1, q12, dxF2, adyO, q13, q14, dyF1,
- q15, dyF2, q16, q17, q18, q19, q20, q21, q22, dxF, dyF, sdxF, sdyF, xF, yF, x1I, y1I, x2I, y2I, dxI, dyI, dI,
- v1, v2, DI, v3, v4, v5, v6, v7, v8, sdelI, v9, v10, v11, dxC1, v12, dxC2, adyI, v13, v14, dyC1, v15, dyC2, v16,
- v17, v18, v19, v20, v21, v22, dxC, dyC, sdxC, sdyC, xC, yC, ist0, ist1, istAng0, isw1, isw2, iswAng0, istAng,
- iswAng, p1, p2, p3, p4, p5, xGp, yGp, xBp, yBp, en0, en1, en2, sw0, sw1, swAng, stAng0;
- a5 = (adj5 < 0) ? 0 : (adj5 > cnstVal1) ? cnstVal1 : adj5;
- maxAdj1 = a5 * 2;
- a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1;
- enAng = (adj3 < rdAngVal1) ? rdAngVal1 : (adj3 > rdAngVal2) ? rdAngVal2 : adj3;
- stAng = (adj4 < 0) ? 0 : (adj4 > rdAngVal2) ? rdAngVal2 : adj4;
- th = ss * a1 / cnstVal2;
- thh = ss * a5 / cnstVal2;
- th2 = th / 2;
- rw1 = wd2 + th2 - thh;
- rh1 = hd2 + th2 - thh;
- rw2 = rw1 - th;
- rh2 = rh1 - th;
- rw3 = rw2 + th2;
- rh3 = rh2 + th2;
- wtH = rw3 * Math.sin(enAng);
- htH = rh3 * Math.cos(enAng);
- dxH = rw3 * Math.cos(Math.atan2(wtH, htH));
- dyH = rh3 * Math.sin(Math.atan2(wtH, htH));
- xH = hc + dxH;
- yH = vc + dyH;
- rI = (rw2 < rh2) ? rw2 : rh2;
- u1 = dxH * dxH;
- u2 = dyH * dyH;
- u3 = rI * rI;
- u4 = u1 - u3;
- u5 = u2 - u3;
- u6 = u4 * u5 / u1;
- u7 = u6 / u2;
- u8 = 1 - u7;
- u9 = Math.sqrt(u8);
- u10 = u4 / dxH;
- u11 = u10 / dyH;
- u12 = (1 + u9) / u11;
- u13 = Math.atan2(u12, 1);
- u14 = u13 + rdAngVal3;
- u15 = (u13 > 0) ? u13 : u14;
- u16 = u15 - enAng;
- u17 = u16 + rdAngVal3;
- u18 = (u16 > 0) ? u16 : u17;
- u19 = u18 - cd2;
- u20 = u18 - rdAngVal3;
- u21 = (u19 > 0) ? u20 : u18;
- u22 = Math.abs(u21);
- minAng = u22 * -1;
- u23 = Math.abs(adj2);
- a2 = u23 * -1;
- aAng = (a2 < minAng) ? minAng : (a2 > 0) ? 0 : a2;
- ptAng = enAng + aAng;
- wtA = rw3 * Math.sin(ptAng);
- htA = rh3 * Math.cos(ptAng);
- dxA = rw3 * Math.cos(Math.atan2(wtA, htA));
- dyA = rh3 * Math.sin(Math.atan2(wtA, htA));
- xA = hc + dxA;
- yA = vc + dyA;
- wtE = rw1 * Math.sin(stAng);
- htE = rh1 * Math.cos(stAng);
- dxE = rw1 * Math.cos(Math.atan2(wtE, htE));
- dyE = rh1 * Math.sin(Math.atan2(wtE, htE));
- xE = hc + dxE;
- yE = vc + dyE;
- wtD = rw2 * Math.sin(stAng);
- htD = rh2 * Math.cos(stAng);
- dxD = rw2 * Math.cos(Math.atan2(wtD, htD));
- dyD = rh2 * Math.sin(Math.atan2(wtD, htD));
- xD = hc + dxD;
- yD = vc + dyD;
- dxG = thh * Math.cos(ptAng);
- dyG = thh * Math.sin(ptAng);
- xG = xH + dxG;
- yG = yH + dyG;
- dxB = thh * Math.cos(ptAng);
- dyB = thh * Math.sin(ptAng);
- xB = xH - dxB;
- yB = yH - dyB;
- sx1 = xB - hc;
- sy1 = yB - vc;
- sx2 = xG - hc;
- sy2 = yG - vc;
- rO = (rw1 < rh1) ? rw1 : rh1;
- x1O = sx1 * rO / rw1;
- y1O = sy1 * rO / rh1;
- x2O = sx2 * rO / rw1;
- y2O = sy2 * rO / rh1;
- dxO = x2O - x1O;
- dyO = y2O - y1O;
- dO = Math.sqrt(dxO * dxO + dyO * dyO);
- q1 = x1O * y2O;
- q2 = x2O * y1O;
- DO = q1 - q2;
- q3 = rO * rO;
- q4 = dO * dO;
- q5 = q3 * q4;
- q6 = DO * DO;
- q7 = q5 - q6;
- q8 = (q7 > 0) ? q7 : 0;
- sdelO = Math.sqrt(q8);
- ndyO = dyO * -1;
- sdyO = (ndyO > 0) ? -1 : 1;
- q9 = sdyO * dxO;
- q10 = q9 * sdelO;
- q11 = DO * dyO;
- dxF1 = (q11 + q10) / q4;
- q12 = q11 - q10;
- dxF2 = q12 / q4;
- adyO = Math.abs(dyO);
- q13 = adyO * sdelO;
- q14 = DO * dxO / -1;
- dyF1 = (q14 + q13) / q4;
- q15 = q14 - q13;
- dyF2 = q15 / q4;
- q16 = x2O - dxF1;
- q17 = x2O - dxF2;
- q18 = y2O - dyF1;
- q19 = y2O - dyF2;
- q20 = Math.sqrt(q16 * q16 + q18 * q18);
- q21 = Math.sqrt(q17 * q17 + q19 * q19);
- q22 = q21 - q20;
- dxF = (q22 > 0) ? dxF1 : dxF2;
- dyF = (q22 > 0) ? dyF1 : dyF2;
- sdxF = dxF * rw1 / rO;
- sdyF = dyF * rh1 / rO;
- xF = hc + sdxF;
- yF = vc + sdyF;
- x1I = sx1 * rI / rw2;
- y1I = sy1 * rI / rh2;
- x2I = sx2 * rI / rw2;
- y2I = sy2 * rI / rh2;
- dxI = x2I - x1I;
- dyI = y2I - y1I;
- dI = Math.sqrt(dxI * dxI + dyI * dyI);
- v1 = x1I * y2I;
- v2 = x2I * y1I;
- DI = v1 - v2;
- v3 = rI * rI;
- v4 = dI * dI;
- v5 = v3 * v4;
- v6 = DI * DI;
- v7 = v5 - v6;
- v8 = (v7 > 0) ? v7 : 0;
- sdelI = Math.sqrt(v8);
- v9 = sdyO * dxI;
- v10 = v9 * sdelI;
- v11 = DI * dyI;
- dxC1 = (v11 + v10) / v4;
- v12 = v11 - v10;
- dxC2 = v12 / v4;
- adyI = Math.abs(dyI);
- v13 = adyI * sdelI;
- v14 = DI * dxI / -1;
- dyC1 = (v14 + v13) / v4;
- v15 = v14 - v13;
- dyC2 = v15 / v4;
- v16 = x1I - dxC1;
- v17 = x1I - dxC2;
- v18 = y1I - dyC1;
- v19 = y1I - dyC2;
- v20 = Math.sqrt(v16 * v16 + v18 * v18);
- v21 = Math.sqrt(v17 * v17 + v19 * v19);
- v22 = v21 - v20;
- dxC = (v22 > 0) ? dxC1 : dxC2;
- dyC = (v22 > 0) ? dyC1 : dyC2;
- sdxC = dxC * rw2 / rI;
- sdyC = dyC * rh2 / rI;
- xC = hc + sdxC;
- yC = vc + sdyC;
- ist0 = Math.atan2(sdyC, sdxC);
- ist1 = ist0 + rdAngVal3;
- istAng0 = (ist0 > 0) ? ist0 : ist1;
- isw1 = stAng - istAng0;
- isw2 = isw1 + rdAngVal3;
- iswAng0 = (isw1 > 0) ? isw1 : isw2;
- istAng = istAng0 + iswAng0;
- iswAng = -iswAng0;
- p1 = xF - xC;
- p2 = yF - yC;
- p3 = Math.sqrt(p1 * p1 + p2 * p2);
- p4 = p3 / 2;
- p5 = p4 - thh;
- xGp = (p5 > 0) ? xF : xG;
- yGp = (p5 > 0) ? yF : yG;
- xBp = (p5 > 0) ? xC : xB;
- yBp = (p5 > 0) ? yC : yB;
- en0 = Math.atan2(sdyF, sdxF);
- en1 = en0 + rdAngVal3;
- en2 = (en0 > 0) ? en0 : en1;
- sw0 = en2 - stAng;
- sw1 = sw0 - rdAngVal3;
- swAng = (sw0 > 0) ? sw1 : sw0;
- stAng0 = stAng + swAng;
- var strtAng = stAng0 * 180 / Math.PI;
- var endAng = stAng * 180 / Math.PI;
- var stiAng = istAng * 180 / Math.PI;
- var swiAng = iswAng * 180 / Math.PI;
- var ediAng = stiAng + swiAng;
- var d_val = "M" + xE + "," + yE +
- " L" + xD + "," + yD +
- shapeArc(w / 2, h / 2, rw2, rh2, stiAng, ediAng, false).replace("M", "L") +
- " L" + xBp + "," + yBp +
- " L" + xA + "," + yA +
- " L" + xGp + "," + yGp +
- " L" + xF + "," + yF +
- shapeArc(w / 2, h / 2, rw1, rh1, strtAng, endAng, false).replace("M", "L") +
- " z";
- result += "<path d='" + d_val + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + border.color + "' stroke-width='" + border.width + "' stroke-dasharray='" + border.strokeDasharray + "' />";
- break;
- case "leftRightCircularArrow":
- case "chartPlus":
- case "chartStar":
- case "chartX":
- case "cornerTabs":
- case "flowChartOfflineStorage":
- case "folderCorner":
- case "funnel":
- case "lineInv":
- case "nonIsoscelesTrapezoid":
- case "plaqueTabs":
- case "squareTabs":
- case "upDownArrowCallout":
- console.log(shapType, " -unsupported shape type.");
- break;
- case undefined:
- default:
- console.warn("Undefine shape type.(" + shapType + ")");
- }
- result += "</svg>";
- result += "<div class='block " + getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) + //block content
- " " + getContentDir(node, type, warpObj) +
- "' _id='" + id + "' _idx='" + idx + "' _type='" + type + "' _name='" + name +
- "' style='" +
- getPosition(slideXfrmNode, pNode, slideLayoutXfrmNode, slideMasterXfrmNode, sType) +
- getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +
- " z-index: " + order + ";" +
- "transform: rotate(" + ((txtRotate !== undefined) ? txtRotate : 0) + "deg);" +
- "'>";
- // TextBody
- if (node["p:txBody"] !== undefined && (isUserDrawnBg === undefined || isUserDrawnBg === true)) {
- if (type != "diagram" && type != "textBox") {
- type = "shape";
- }
- result += genTextBody(node["p:txBody"], node, slideLayoutSpNode, slideMasterSpNode, type, idx, warpObj); //type='shape'
- }
- result += "</div>";
- } else if (custShapType !== undefined) {
- //custGeom here - Amir ///////////////////////////////////////////////////////
- //http://officeopenxml.com/drwSp-custGeom.php
- var pathLstNode = getTextByPathList(custShapType, ["a:pathLst"]);
- var pathNodes = getTextByPathList(pathLstNode, ["a:path"]);
- //var pathNode = getTextByPathList(pathLstNode, ["a:path", "attrs"]);
- var maxX = parseInt(pathNodes["attrs"]["w"]);// * slideFactor;
- var maxY = parseInt(pathNodes["attrs"]["h"]);// * slideFactor;
- var cX = (1 / maxX) * w;
- var cY = (1 / maxY) * h;
- //console.log("w = "+w+"\nh = "+h+"\nmaxX = "+maxX +"\nmaxY = " + maxY);
- //cheke if it is close shape
- //console.log("custShapType : ", custShapType, ", pathLstNode: ", pathLstNode, ", node: ", node);//, ", y:", y, ", w:", w, ", h:", h);
- var moveToNode = getTextByPathList(pathNodes, ["a:moveTo"]);
- var total_shapes = moveToNode.length;
- var lnToNodes = pathNodes["a:lnTo"]; //total a:pt : 1
- var cubicBezToNodes = pathNodes["a:cubicBezTo"]; //total a:pt : 3
- var arcToNodes = pathNodes["a:arcTo"]; //total a:pt : 0?1? ; attrs: ~4 ()
- var closeNode = getTextByPathList(pathNodes, ["a:close"]); //total a:pt : 0
- //quadBezTo //total a:pt : 2 - TODO
- //console.log("ia moveToNode array: ", Array.isArray(moveToNode))
- if (!Array.isArray(moveToNode)) {
- moveToNode = [moveToNode];
- }
- //console.log("ia moveToNode array: ", Array.isArray(moveToNode))
- var multiSapeAry = [];
- if (moveToNode.length > 0) {
- //a:moveTo
- Object.keys(moveToNode).forEach(function (key) {
- var moveToPtNode = moveToNode[key]["a:pt"];
- if (moveToPtNode !== undefined) {
- Object.keys(moveToPtNode).forEach(function (key2) {
- var ptObj = {};
- var moveToNoPt = moveToPtNode[key2];
- var spX = moveToNoPt["attrs", "x"];//parseInt(moveToNoPt["attrs", "x"]) * slideFactor;
- var spY = moveToNoPt["attrs", "y"];//parseInt(moveToNoPt["attrs", "y"]) * slideFactor;
- var ptOrdr = moveToNoPt["attrs", "order"];
- ptObj.type = "movto";
- ptObj.order = ptOrdr;
- ptObj.x = spX;
- ptObj.y = spY;
- multiSapeAry.push(ptObj);
- //console.log(key2, lnToNoPt);
- });
- }
- });
- //a:lnTo
- if (lnToNodes !== undefined) {
- Object.keys(lnToNodes).forEach(function (key) {
- var lnToPtNode = lnToNodes[key]["a:pt"];
- if (lnToPtNode !== undefined) {
- Object.keys(lnToPtNode).forEach(function (key2) {
- var ptObj = {};
- var lnToNoPt = lnToPtNode[key2];
- var ptX = lnToNoPt["attrs", "x"];
- var ptY = lnToNoPt["attrs", "y"];
- var ptOrdr = lnToNoPt["attrs", "order"];
- ptObj.type = "lnto";
- ptObj.order = ptOrdr;
- ptObj.x = ptX;
- ptObj.y = ptY;
- multiSapeAry.push(ptObj);
- //console.log(key2, lnToNoPt);
- });
- }
- });
- }
- //a:cubicBezTo
- if (cubicBezToNodes !== undefined) {
- var cubicBezToPtNodesAry = [];
- //console.log("cubicBezToNodes: ", cubicBezToNodes, ", is arry: ", Array.isArray(cubicBezToNodes))
- if (!Array.isArray(cubicBezToNodes)) {
- cubicBezToNodes = [cubicBezToNodes];
- }
- Object.keys(cubicBezToNodes).forEach(function (key) {
- //console.log("cubicBezTo[" + key + "]:");
- cubicBezToPtNodesAry.push(cubicBezToNodes[key]["a:pt"]);
- });
- //console.log("cubicBezToNodes: ", cubicBezToPtNodesAry)
- cubicBezToPtNodesAry.forEach(function (key2) {
- //console.log("cubicBezToPtNodesAry: key2 : ", key2)
- var nodeObj = {};
- nodeObj.type = "cubicBezTo";
- nodeObj.order = key2[0]["attrs"]["order"];
- var pts_ary = [];
- key2.forEach(function (pt) {
- var pt_obj = {
- x: pt["attrs"]["x"],
- y: pt["attrs"]["y"]
- }
- pts_ary.push(pt_obj)
- })
- nodeObj.cubBzPt = pts_ary;//key2;
- multiSapeAry.push(nodeObj);
- });
- }
- //a:arcTo
- if (arcToNodes !== undefined) {
- var arcToNodesAttrs = arcToNodes["attrs"];
- var arcOrder = arcToNodesAttrs["order"];
- var hR = arcToNodesAttrs["hR"];
- var wR = arcToNodesAttrs["wR"];
- var stAng = arcToNodesAttrs["stAng"];
- var swAng = arcToNodesAttrs["swAng"];
- var shftX = 0;
- var shftY = 0;
- var arcToPtNode = getTextByPathList(arcToNodes, ["a:pt", "attrs"]);
- if (arcToPtNode !== undefined) {
- shftX = arcToPtNode["x"];
- shftY = arcToPtNode["y"];
- //console.log("shftX: ",shftX," shftY: ",shftY)
- }
- var ptObj = {};
- ptObj.type = "arcTo";
- ptObj.order = arcOrder;
- ptObj.hR = hR;
- ptObj.wR = wR;
- ptObj.stAng = stAng;
- ptObj.swAng = swAng;
- ptObj.shftX = shftX;
- ptObj.shftY = shftY;
- multiSapeAry.push(ptObj);
- }
- //a:quadBezTo - TODO
- //a:close
- if (closeNode !== undefined) {
- if (!Array.isArray(closeNode)) {
- closeNode = [closeNode];
- }
- // Object.keys(closeNode).forEach(function (key) {
- // //console.log("cubicBezTo[" + key + "]:");
- // cubicBezToPtNodesAry.push(closeNode[key]["a:pt"]);
- // });
- Object.keys(closeNode).forEach(function (key) {
- //console.log("custShapType >> closeNode: key: ", key);
- var clsAttrs = closeNode[key]["attrs"];
- //var clsAttrs = closeNode["attrs"];
- var clsOrder = clsAttrs["order"];
- var ptObj = {};
- ptObj.type = "close";
- ptObj.order = clsOrder;
- multiSapeAry.push(ptObj);
- });
- }
- // console.log("custShapType >> multiSapeAry: ", multiSapeAry);
- multiSapeAry.sort(function (a, b) {
- return a.order - b.order;
- });
- //console.log("custShapType >>sorted multiSapeAry: ");
- //console.log(multiSapeAry);
- var k = 0;
- var isClose = false;
- var d = "";
- while (k < multiSapeAry.length) {
- if (multiSapeAry[k].type == "movto") {
- //start point
- var spX = parseInt(multiSapeAry[k].x) * cX;//slideFactor;
- var spY = parseInt(multiSapeAry[k].y) * cY;//slideFactor;
- // if (d == "") {
- // d = "M" + spX + "," + spY;
- // } else {
- // //shape without close : then close the shape and start new path
- // result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- // "' stroke='" + ((border === undefined) ? "" : border.color) + "' stroke-width='" + ((border === undefined) ? "" : border.width) + "' stroke-dasharray='" + ((border === undefined) ? "" : border.strokeDasharray) + "' ";
- // result += "/>";
- // if (headEndNodeAttrs !== undefined && (headEndNodeAttrs["type"] === "triangle" || headEndNodeAttrs["type"] === "arrow")) {
- // result += "marker-start='url(#markerTriangle_" + shpId + ")' ";
- // }
- // if (tailEndNodeAttrs !== undefined && (tailEndNodeAttrs["type"] === "triangle" || tailEndNodeAttrs["type"] === "arrow")) {
- // result += "marker-end='url(#markerTriangle_" + shpId + ")' ";
- // }
- // result += "/>";
- // d = "M" + spX + "," + spY;
- // isClose = true;
- // }
- d += " M" + spX + "," + spY;
- } else if (multiSapeAry[k].type == "lnto") {
- var Lx = parseInt(multiSapeAry[k].x) * cX;//slideFactor;
- var Ly = parseInt(multiSapeAry[k].y) * cY;//slideFactor;
- d += " L" + Lx + "," + Ly;
- } else if (multiSapeAry[k].type == "cubicBezTo") {
- var Cx1 = parseInt(multiSapeAry[k].cubBzPt[0].x) * cX;//slideFactor;
- var Cy1 = parseInt(multiSapeAry[k].cubBzPt[0].y) * cY;//slideFactor;
- var Cx2 = parseInt(multiSapeAry[k].cubBzPt[1].x) * cX;//slideFactor;
- var Cy2 = parseInt(multiSapeAry[k].cubBzPt[1].y) * cY;//slideFactor;
- var Cx3 = parseInt(multiSapeAry[k].cubBzPt[2].x) * cX;//slideFactor;
- var Cy3 = parseInt(multiSapeAry[k].cubBzPt[2].y) * cY;//slideFactor;
- d += " C" + Cx1 + "," + Cy1 + " " + Cx2 + "," + Cy2 + " " + Cx3 + "," + Cy3;
- } else if (multiSapeAry[k].type == "arcTo") {
- var hR = parseInt(multiSapeAry[k].hR) * cX;//slideFactor;
- var wR = parseInt(multiSapeAry[k].wR) * cY;//slideFactor;
- var stAng = parseInt(multiSapeAry[k].stAng) / 60000;
- var swAng = parseInt(multiSapeAry[k].swAng) / 60000;
- //var shftX = parseInt(multiSapeAry[k].shftX) * slideFactor;
- //var shftY = parseInt(multiSapeAry[k].shftY) * slideFactor;
- var endAng = stAng + swAng;
- d += shapeArc(wR, hR, wR, hR, stAng, endAng, false);
- } else if (multiSapeAry[k].type == "quadBezTo") {
- console.log("custShapType: quadBezTo - TODO")
- } else if (multiSapeAry[k].type == "close") {
- // result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- // "' stroke='" + ((border === undefined) ? "" : border.color) + "' stroke-width='" + ((border === undefined) ? "" : border.width) + "' stroke-dasharray='" + ((border === undefined) ? "" : border.strokeDasharray) + "' ";
- // result += "/>";
- // d = "";
- // isClose = true;
- d += "z";
- }
- k++;
- }
- //if (!isClose) {
- //only one "moveTo" and no "close"
- result += "<path d='" + d + "' fill='" + (!imgFillFlg ? (grndFillFlg ? "url(#linGrd_" + shpId + ")" : fillColor) : "url(#imgPtrn_" + shpId + ")") +
- "' stroke='" + ((border === undefined) ? "" : border.color) + "' stroke-width='" + ((border === undefined) ? "" : border.width) + "' stroke-dasharray='" + ((border === undefined) ? "" : border.strokeDasharray) + "' ";
- result += "/>";
- //console.log(result);
- }
- result += "</svg>";
- result += "<div class='block " + getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) + //block content
- " " + getContentDir(node, type, warpObj) +
- "' _id='" + id + "' _idx='" + idx + "' _type='" + type + "' _name='" + name +
- "' style='" +
- getPosition(slideXfrmNode, pNode, slideLayoutXfrmNode, slideMasterXfrmNode, sType) +
- getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +
- " z-index: " + order + ";" +
- "transform: rotate(" + ((txtRotate !== undefined) ? txtRotate : 0) + "deg);" +
- "'>";
- // TextBody
- if (node["p:txBody"] !== undefined && (isUserDrawnBg === undefined || isUserDrawnBg === true)) {
- if (type != "diagram" && type != "textBox") {
- type = "shape";
- }
- result += genTextBody(node["p:txBody"], node, slideLayoutSpNode, slideMasterSpNode, type, idx, warpObj); //type=shape
- }
- result += "</div>";
- // result = "";
- } else {
- result += "<div class='block " + getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) +//block content
- " " + getContentDir(node, type, warpObj) +
- "' _id='" + id + "' _idx='" + idx + "' _type='" + type + "' _name='" + name +
- "' style='" +
- getPosition(slideXfrmNode, pNode, slideLayoutXfrmNode, slideMasterXfrmNode, sType) +
- getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +
- getBorder(node, pNode, false, "shape", warpObj) +
- getShapeFill(node, pNode, false, warpObj, source) +
- " z-index: " + order + ";" +
- "transform: rotate(" + ((txtRotate !== undefined) ? txtRotate : 0) + "deg);" +
- "'>";
- // TextBody
- if (node["p:txBody"] !== undefined && (isUserDrawnBg === undefined || isUserDrawnBg === true)) {
- result += genTextBody(node["p:txBody"], node, slideLayoutSpNode, slideMasterSpNode, type, idx, warpObj);
- }
- result += "</div>";
- }
- //console.log("div block result:\n", result)
- return result;
- }
- function shapePie(H, w, adj1, adj2, isClose) {
- var pieVal = parseInt(adj2);
- var piAngle = parseInt(adj1);
- var size = parseInt(H),
- radius = (size / 2),
- value = pieVal - piAngle;
- if (value < 0) {
- value = 360 + value;
- }
- //console.log("value: ",value)
- value = Math.min(Math.max(value, 0), 360);
- //calculate x,y coordinates of the point on the circle to draw the arc to.
- var x = Math.cos((2 * Math.PI) / (360 / value));
- var y = Math.sin((2 * Math.PI) / (360 / value));
- //d is a string that describes the path of the slice.
- var longArc, d, rot;
- if (isClose) {
- longArc = (value <= 180) ? 0 : 1;
- d = "M" + radius + "," + radius + " L" + radius + "," + 0 + " A" + radius + "," + radius + " 0 " + longArc + ",1 " + (radius + y * radius) + "," + (radius - x * radius) + " z";
- rot = "rotate(" + (piAngle - 270) + ", " + radius + ", " + radius + ")";
- } else {
- longArc = (value <= 180) ? 0 : 1;
- var radius1 = radius;
- var radius2 = w / 2;
- d = "M" + radius1 + "," + 0 + " A" + radius2 + "," + radius1 + " 0 " + longArc + ",1 " + (radius2 + y * radius2) + "," + (radius1 - x * radius1);
- rot = "rotate(" + (piAngle + 90) + ", " + radius + ", " + radius + ")";
- }
- return [d, rot];
- }
- function shapeGear(w, h, points) {
- var innerRadius = h;//gear.innerRadius;
- var outerRadius = 1.5 * innerRadius;
- var cx = outerRadius;//Math.max(innerRadius, outerRadius), // center x
- cy = outerRadius;//Math.max(innerRadius, outerRadius), // center y
- notches = points,//gear.points, // num. of notches
- radiusO = outerRadius, // outer radius
- radiusI = innerRadius, // inner radius
- taperO = 50, // outer taper %
- taperI = 35, // inner taper %
- // pre-calculate values for loop
- pi2 = 2 * Math.PI, // cache 2xPI (360deg)
- angle = pi2 / (notches * 2), // angle between notches
- taperAI = angle * taperI * 0.005, // inner taper offset (100% = half notch)
- taperAO = angle * taperO * 0.005, // outer taper offset
- a = angle, // iterator (angle)
- toggle = false;
- // move to starting point
- var d = " M" + (cx + radiusO * Math.cos(taperAO)) + " " + (cy + radiusO * Math.sin(taperAO));
- // loop
- for (; a <= pi2 + angle; a += angle) {
- // draw inner to outer line
- if (toggle) {
- d += " L" + (cx + radiusI * Math.cos(a - taperAI)) + "," + (cy + radiusI * Math.sin(a - taperAI));
- d += " L" + (cx + radiusO * Math.cos(a + taperAO)) + "," + (cy + radiusO * Math.sin(a + taperAO));
- } else { // draw outer to inner line
- d += " L" + (cx + radiusO * Math.cos(a - taperAO)) + "," + (cy + radiusO * Math.sin(a - taperAO)); // outer line
- d += " L" + (cx + radiusI * Math.cos(a + taperAI)) + "," + (cy + radiusI * Math.sin(a + taperAI));// inner line
- }
- // switch level
- toggle = !toggle;
- }
- // close the final line
- d += " ";
- return d;
- }
- function shapeArc(cX, cY, rX, rY, stAng, endAng, isClose) {
- var dData;
- var angle = stAng;
- if (endAng >= stAng) {
- while (angle <= endAng) {
- var radians = angle * (Math.PI / 180); // convert degree to radians
- var x = cX + Math.cos(radians) * rX;
- var y = cY + Math.sin(radians) * rY;
- if (angle == stAng) {
- dData = " M" + x + " " + y;
- }
- dData += " L" + x + " " + y;
- angle++;
- }
- } else {
- while (angle > endAng) {
- var radians = angle * (Math.PI / 180); // convert degree to radians
- var x = cX + Math.cos(radians) * rX;
- var y = cY + Math.sin(radians) * rY;
- if (angle == stAng) {
- dData = " M " + x + " " + y;
- }
- dData += " L " + x + " " + y;
- angle--;
- }
- }
- dData += (isClose ? " z" : "");
- return dData;
- }
- function shapeSnipRoundRect(w, h, adj1, adj2, shapeType, adjType) {
- /*
- shapeType: snip,round
- adjType: cornr1,cornr2,cornrAll,diag
- */
- var adjA, adjB, adjC, adjD;
- if (adjType == "cornr1") {
- adjA = 0;
- adjB = 0;
- adjC = 0;
- adjD = adj1;
- } else if (adjType == "cornr2") {
- adjA = adj1;
- adjB = adj2;
- adjC = adj2;
- adjD = adj1;
- } else if (adjType == "cornrAll") {
- adjA = adj1;
- adjB = adj1;
- adjC = adj1;
- adjD = adj1;
- } else if (adjType == "diag") {
- adjA = adj1;
- adjB = adj2;
- adjC = adj1;
- adjD = adj2;
- }
- //d is a string that describes the path of the slice.
- var d;
- if (shapeType == "round") {
- d = "M0" + "," + (h / 2 + (1 - adjB) * (h / 2)) + " Q" + 0 + "," + h + " " + adjB * (w / 2) + "," + h + " L" + (w / 2 + (1 - adjC) * (w / 2)) + "," + h +
- " Q" + w + "," + h + " " + w + "," + (h / 2 + (h / 2) * (1 - adjC)) + "L" + w + "," + (h / 2) * adjD +
- " Q" + w + "," + 0 + " " + (w / 2 + (w / 2) * (1 - adjD)) + ",0 L" + (w / 2) * adjA + ",0" +
- " Q" + 0 + "," + 0 + " 0," + (h / 2) * (adjA) + " z";
- } else if (shapeType == "snip") {
- d = "M0" + "," + adjA * (h / 2) + " L0" + "," + (h / 2 + (h / 2) * (1 - adjB)) + "L" + adjB * (w / 2) + "," + h +
- " L" + (w / 2 + (w / 2) * (1 - adjC)) + "," + h + "L" + w + "," + (h / 2 + (h / 2) * (1 - adjC)) +
- " L" + w + "," + adjD * (h / 2) + "L" + (w / 2 + (w / 2) * (1 - adjD)) + ",0 L" + ((w / 2) * adjA) + ",0 z";
- }
- return d;
- }
- /*
- function shapePolygon(sidesNum) {
- var sides = sidesNum;
- var radius = 100;
- var angle = 2 * Math.PI / sides;
- var points = [];
-
- for (var i = 0; i < sides; i++) {
- points.push(radius + radius * Math.sin(i * angle));
- points.push(radius - radius * Math.cos(i * angle));
- }
-
- return points;
- }
- */
- function processPicNode(node, warpObj, source, sType) {
- //console.log("processPicNode node:", node, "source:", source, "sType:", sType, "warpObj;", warpObj);
- var rtrnData = "";
- var mediaPicFlag = false;
- var order = node["attrs"]["order"];
- var rid = node["p:blipFill"]["a:blip"]["attrs"]["r:embed"];
- var resObj;
- if (source == "slideMasterBg") {
- resObj = warpObj["masterResObj"];
- } else if (source == "slideLayoutBg") {
- resObj = warpObj["layoutResObj"];
- } else {
- //imgName = warpObj["slideResObj"][rid]["target"];
- resObj = warpObj["slideResObj"];
- }
- var imgName = resObj[rid]["target"];
- //console.log("processPicNode imgName:", imgName);
- var imgFileExt = extractFileExtension(imgName).toLowerCase();
- var zip = warpObj["zip"];
- var imgArrayBuffer = zip.file(imgName).asArrayBuffer();
- var mimeType = "";
- var xfrmNode = node["p:spPr"]["a:xfrm"];
- if (xfrmNode === undefined) {
- var idx = getTextByPathList(node, ["p:nvPicPr", "p:nvPr", "p:ph", "attrs", "idx"]);
- var type = getTextByPathList(node, ["p:nvPicPr", "p:nvPr", "p:ph", "attrs", "type"]);
- if (idx !== undefined) {
- xfrmNode = getTextByPathList(warpObj["slideLayoutTables"], ["idxTable", idx, "p:spPr", "a:xfrm"]);
- }
- }
- ///////////////////////////////////////Amir//////////////////////////////
- var rotate = 0;
- var rotateNode = getTextByPathList(node, ["p:spPr", "a:xfrm", "attrs", "rot"]);
- if (rotateNode !== undefined) {
- rotate = angleToDegrees(rotateNode);
- }
- //video
- var vdoNode = getTextByPathList(node, ["p:nvPicPr", "p:nvPr", "a:videoFile"]);
- var vdoRid, vdoFile, vdoFileExt, vdoMimeType, uInt8Array, blob, vdoBlob, mediaSupportFlag = false, isVdeoLink = false;
- var mediaProcess = settings.mediaProcess;
- if (vdoNode !== undefined & mediaProcess) {
- vdoRid = vdoNode["attrs"]["r:link"];
- vdoFile = resObj[vdoRid]["target"];
- var checkIfLink = IsVideoLink(vdoFile);
- if (checkIfLink) {
- vdoFile = escapeHtml(vdoFile);
- //vdoBlob = vdoFile;
- isVdeoLink = true;
- mediaSupportFlag = true;
- mediaPicFlag = true;
- } else {
- vdoFileExt = extractFileExtension(vdoFile).toLowerCase();
- if (vdoFileExt == "mp4" || vdoFileExt == "webm" || vdoFileExt == "ogg") {
- uInt8Array = zip.file(vdoFile).asArrayBuffer();
- vdoMimeType = getMimeType(vdoFileExt);
- blob = new Blob([uInt8Array], {
- type: vdoMimeType
- });
- vdoBlob = URL.createObjectURL(blob);
- mediaSupportFlag = true;
- mediaPicFlag = true;
- }
- }
- }
- //Audio
- var audioNode = getTextByPathList(node, ["p:nvPicPr", "p:nvPr", "a:audioFile"]);
- var audioRid, audioFile, audioFileExt, audioMimeType, uInt8ArrayAudio, blobAudio, audioBlob;
- var audioPlayerFlag = false;
- var audioObjc;
- if (audioNode !== undefined & mediaProcess) {
- audioRid = audioNode["attrs"]["r:link"];
- audioFile = resObj[audioRid]["target"];
- audioFileExt = extractFileExtension(audioFile).toLowerCase();
- if (audioFileExt == "mp3" || audioFileExt == "wav" || audioFileExt == "ogg") {
- uInt8ArrayAudio = zip.file(audioFile).asArrayBuffer();
- blobAudio = new Blob([uInt8ArrayAudio]);
- audioBlob = URL.createObjectURL(blobAudio);
- var cx = parseInt(xfrmNode["a:ext"]["attrs"]["cx"]) * 20;
- var cy = xfrmNode["a:ext"]["attrs"]["cy"];
- var x = parseInt(xfrmNode["a:off"]["attrs"]["x"]) / 2.5;
- var y = xfrmNode["a:off"]["attrs"]["y"];
- audioObjc = {
- "a:ext": {
- "attrs": {
- "cx": cx,
- "cy": cy
- }
- },
- "a:off": {
- "attrs": {
- "x": x,
- "y": y
- }
- }
- }
- audioPlayerFlag = true;
- mediaSupportFlag = true;
- mediaPicFlag = true;
- }
- }
- //console.log(node)
- //////////////////////////////////////////////////////////////////////////
- mimeType = getMimeType(imgFileExt);
- rtrnData = "<div class='block content' style='" +
- ((mediaProcess && audioPlayerFlag) ? getPosition(audioObjc, node, undefined, undefined) : getPosition(xfrmNode, node, undefined, undefined)) +
- ((mediaProcess && audioPlayerFlag) ? getSize(audioObjc, undefined, undefined) : getSize(xfrmNode, undefined, undefined)) +
- " z-index: " + order + ";" +
- "transform: rotate(" + rotate + "deg);'>";
- if ((vdoNode === undefined && audioNode === undefined) || !mediaProcess || !mediaSupportFlag) {
- rtrnData += "<img src='data:" + mimeType + ";base64," + base64ArrayBuffer(imgArrayBuffer) + "' style='width: 100%; height: 100%'/>";
- } else if ((vdoNode !== undefined || audioNode !== undefined) && mediaProcess && mediaSupportFlag) {
- if (vdoNode !== undefined && !isVdeoLink) {
- rtrnData += "<video src='" + vdoBlob + "' controls style='width: 100%; height: 100%'>Your browser does not support the video tag.</video>";
- } else if (vdoNode !== undefined && isVdeoLink) {
- rtrnData += "<iframe src='" + vdoFile + "' controls style='width: 100%; height: 100%'></iframe >";
- }
- if (audioNode !== undefined) {
- rtrnData += '<audio id="audio_player" controls ><source src="' + audioBlob + '"></audio>';
- //'<button onclick="audio_player.play()">Play</button>'+
- //'<button onclick="audio_player.pause()">Pause</button>';
- }
- }
- if (!mediaSupportFlag && mediaPicFlag) {
- rtrnData += "<span style='color:red;font-size:40px;position: absolute;'>This media file Not supported by HTML5</span>";
- }
- if ((vdoNode !== undefined || audioNode !== undefined) && !mediaProcess && mediaSupportFlag) {
- console.log("Founded supported media file but media process disabled (mediaProcess=false)");
- }
- rtrnData += "</div>";
- //console.log(rtrnData)
- return rtrnData;
- }
- function processGraphicFrameNode(node, warpObj, source, sType) {
- var result = "";
- var graphicTypeUri = getTextByPathList(node, ["a:graphic", "a:graphicData", "attrs", "uri"]);
- switch (graphicTypeUri) {
- case "http://schemas.openxmlformats.org/drawingml/2006/table":
- result = genTable(node, warpObj);
- break;
- case "http://schemas.openxmlformats.org/drawingml/2006/chart":
- result = genChart(node, warpObj);
- break;
- case "http://schemas.openxmlformats.org/drawingml/2006/diagram":
- result = genDiagram(node, warpObj, source, sType);
- break;
- case "http://schemas.openxmlformats.org/presentationml/2006/ole":
- //result = genDiagram(node, warpObj, source, sType);
- var oleObjNode = getTextByPathList(node, ["a:graphic", "a:graphicData", "mc:AlternateContent", "mc:Fallback","p:oleObj"]);
-
- if (oleObjNode === undefined) {
- oleObjNode = getTextByPathList(node, ["a:graphic", "a:graphicData", "p:oleObj"]);
- }
- //console.log("node:", node, "oleObjNode:", oleObjNode)
- if (oleObjNode !== undefined){
- result = processGroupSpNode(oleObjNode, warpObj, source);
- }
- break;
- default:
- }
- return result;
- }
- function processSpPrNode(node, warpObj) {
- /*
- * 2241 <xsd:complexType name="CT_ShapeProperties">
- * 2242 <xsd:sequence>
- * 2243 <xsd:element name="xfrm" type="CT_Transform2D" minOccurs="0" maxOccurs="1"/>
- * 2244 <xsd:group ref="EG_Geometry" minOccurs="0" maxOccurs="1"/>
- * 2245 <xsd:group ref="EG_FillProperties" minOccurs="0" maxOccurs="1"/>
- * 2246 <xsd:element name="ln" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/>
- * 2247 <xsd:group ref="EG_EffectProperties" minOccurs="0" maxOccurs="1"/>
- * 2248 <xsd:element name="scene3d" type="CT_Scene3D" minOccurs="0" maxOccurs="1"/>
- * 2249 <xsd:element name="sp3d" type="CT_Shape3D" minOccurs="0" maxOccurs="1"/>
- * 2250 <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
- * 2251 </xsd:sequence>
- * 2252 <xsd:attribute name="bwMode" type="ST_BlackWhiteMode" use="optional"/>
- * 2253 </xsd:complexType>
- */
- // TODO:
- }
- var is_first_br = false;
- function genTextBody(textBodyNode, spNode, slideLayoutSpNode, slideMasterSpNode, type, idx, warpObj, tbl_col_width) {
- var text = "";
- var slideMasterTextStyles = warpObj["slideMasterTextStyles"];
- if (textBodyNode === undefined) {
- return text;
- }
- //rtl : <p:txBody>
- // <a:bodyPr wrap="square" rtlCol="1">
- var pFontStyle = getTextByPathList(spNode, ["p:style", "a:fontRef"]);
- //console.log("genTextBody spNode: ", getTextByPathList(spNode,["p:spPr","a:xfrm","a:ext"]));
- //var lstStyle = textBodyNode["a:lstStyle"];
-
- var apNode = textBodyNode["a:p"];
- if (apNode.constructor !== Array) {
- apNode = [apNode];
- }
- for (var i = 0; i < apNode.length; i++) {
- var pNode = apNode[i];
- var rNode = pNode["a:r"];
- var fldNode = pNode["a:fld"];
- var brNode = pNode["a:br"];
- if (rNode !== undefined) {
- rNode = (rNode.constructor === Array) ? rNode : [rNode];
- }
- if (rNode !== undefined && fldNode !== undefined) {
- fldNode = (fldNode.constructor === Array) ? fldNode : [fldNode];
- rNode = rNode.concat(fldNode)
- }
- if (rNode !== undefined && brNode !== undefined) {
- is_first_br = true;
- brNode = (brNode.constructor === Array) ? brNode : [brNode];
- brNode.forEach(function (item, indx) {
- item.type = "br";
- });
- if (brNode.length > 1) {
- brNode.shift();
- }
- rNode = rNode.concat(brNode)
- //console.log("single a:p rNode:", rNode, "brNode:", brNode )
- rNode.sort(function (a, b) {
- return a.attrs.order - b.attrs.order;
- });
- //console.log("sorted rNode:",rNode)
- }
- //rtlStr = "";//"dir='"+isRTL+"'";
- var styleText = "";
- var marginsVer = getVerticalMargins(pNode, textBodyNode, type, idx, warpObj);
- if (marginsVer != "") {
- styleText = marginsVer;
- }
- if (type == "body" || type == "obj" || type == "shape") {
- styleText += "font-size: 0px;";
- //styleText += "line-height: 0;";
- styleText += "font-weight: 100;";
- styleText += "font-style: normal;";
- }
- var cssName = "";
- if (styleText in styleTable) {
- cssName = styleTable[styleText]["name"];
- } else {
- cssName = "_css_" + (Object.keys(styleTable).length + 1);
- styleTable[styleText] = {
- "name": cssName,
- "text": styleText
- };
- }
- //console.log("textBodyNode: ", textBodyNode["a:lstStyle"])
- var prg_width_node = getTextByPathList(spNode, ["p:spPr", "a:xfrm", "a:ext", "attrs", "cx"]);
- var prg_height_node;// = getTextByPathList(spNode, ["p:spPr", "a:xfrm", "a:ext", "attrs", "cy"]);
- var sld_prg_width = ((prg_width_node !== undefined) ? ("width:" + (parseInt(prg_width_node) * slideFactor) + "px;") : "width:inherit;");
- var sld_prg_height = ((prg_height_node !== undefined) ? ("height:" + (parseInt(prg_height_node) * slideFactor) + "px;") : "");
- var prg_dir = getPregraphDir(pNode, textBodyNode, idx, type, warpObj);
- text += "<div style='display: flex;" + sld_prg_width + sld_prg_height + "' class='slide-prgrph " + getHorizontalAlign(pNode, textBodyNode, idx, type, prg_dir, warpObj) + " " +
- prg_dir + " " + cssName + "' >";
- var buText_ary = genBuChar(pNode, i, spNode, textBodyNode, pFontStyle, idx, type, warpObj);
- var isBullate = (buText_ary[0] !== undefined && buText_ary[0] !== null && buText_ary[0] != "" ) ? true : false;
- var bu_width = (buText_ary[1] !== undefined && buText_ary[1] !== null && isBullate) ? buText_ary[1] + buText_ary[2] : 0;
- text += (buText_ary[0] !== undefined) ? buText_ary[0]:"";
- //get text margin
- var margin_ary = getPregraphMargn(pNode, idx, type, isBullate, warpObj);
- var margin = margin_ary[0];
- var mrgin_val = margin_ary[1];
- if (prg_width_node === undefined && tbl_col_width !== undefined && prg_width_node != 0){
- //sorce : table text
- prg_width_node = tbl_col_width;
- }
- var prgrph_text = "";
- //var prgr_txt_art = [];
- var total_text_len = 0;
- if (rNode === undefined && pNode !== undefined) {
- // without r
- var prgr_text = genSpanElement(pNode, undefined, spNode, textBodyNode, pFontStyle, slideLayoutSpNode, idx, type, 1, warpObj, isBullate);
- if (isBullate) {
- var txt_obj = $(prgr_text)
- .css({ 'position': 'absolute', 'float': 'left', 'white-space': 'nowrap', 'visibility': 'hidden' })
- .appendTo($('body'));
- total_text_len += txt_obj.outerWidth();
- txt_obj.remove();
- }
- prgrph_text += prgr_text;
- } else if (rNode !== undefined) {
- // with multi r
- for (var j = 0; j < rNode.length; j++) {
- var prgr_text = genSpanElement(rNode[j], j, pNode, textBodyNode, pFontStyle, slideLayoutSpNode, idx, type, rNode.length, warpObj, isBullate);
- if (isBullate) {
- var txt_obj = $(prgr_text)
- .css({ 'position': 'absolute', 'float': 'left', 'white-space': 'nowrap', 'visibility': 'hidden'})
- .appendTo($('body'));
- total_text_len += txt_obj.outerWidth();
- txt_obj.remove();
- }
- prgrph_text += prgr_text;
- }
- }
- prg_width_node = parseInt(prg_width_node) * slideFactor - bu_width - mrgin_val;
- if (isBullate) {
- //get prg_width_node if there is a bulltes
- //console.log("total_text_len: ", total_text_len, "prg_width_node:", prg_width_node)
- if (total_text_len < prg_width_node ){
- prg_width_node = total_text_len + bu_width;
- }
- }
- var prg_width = ((prg_width_node !== undefined) ? ("width:" + (prg_width_node )) + "px;" : "width:inherit;");
- text += "<div style='height: 100%;direction: initial;overflow-wrap:break-word;word-wrap: break-word;" + prg_width + margin + "' >";
- text += prgrph_text;
- text += "</div>";
- text += "</div>";
- }
- return text;
- }
-
- function genBuChar(node, i, spNode, textBodyNode, pFontStyle, idx, type, warpObj) {
- //console.log("genBuChar node: ", node, ", spNode: ", spNode, ", pFontStyle: ", pFontStyle, "type", type)
- ///////////////////////////////////////Amir///////////////////////////////
- var sldMstrTxtStyles = warpObj["slideMasterTextStyles"];
- var lstStyle = textBodyNode["a:lstStyle"];
- var rNode = getTextByPathList(node, ["a:r"]);
- if (rNode !== undefined && rNode.constructor === Array) {
- rNode = rNode[0]; //bullet only to first "a:r"
- }
- var lvl = parseInt(getTextByPathList(node["a:pPr"], ["attrs", "lvl"])) + 1;
- if (isNaN(lvl)) {
- lvl = 1;
- }
- var lvlStr = "a:lvl" + lvl + "pPr";
- var dfltBultColor, dfltBultSize, bultColor, bultSize, color_tye;
- if (rNode !== undefined) {
- dfltBultColor = getFontColorPr(rNode, spNode, lstStyle, pFontStyle, lvl, idx, type, warpObj);
- color_tye = dfltBultColor[2];
- dfltBultSize = getFontSize(rNode, textBodyNode, pFontStyle, lvl, type, warpObj);
- } else {
- return "";
- }
- //console.log("Bullet Size: " + bultSize);
- var bullet = "", marRStr = "", marLStr = "", margin_val=0, font_val=0;
- /////////////////////////////////////////////////////////////////
- var pPrNode = node["a:pPr"];
- var BullNONE = getTextByPathList(pPrNode, ["a:buNone"]);
- if (BullNONE !== undefined) {
- return "";
- }
- var buType = "TYPE_NONE";
- var layoutMasterNode = getLayoutAndMasterNode(node, idx, type, warpObj);
- var pPrNodeLaout = layoutMasterNode.nodeLaout;
- var pPrNodeMaster = layoutMasterNode.nodeMaster;
- var buChar = getTextByPathList(pPrNode, ["a:buChar", "attrs", "char"]);
- var buNum = getTextByPathList(pPrNode, ["a:buAutoNum", "attrs", "type"]);
- var buPic = getTextByPathList(pPrNode, ["a:buBlip"]);
- if (buChar !== undefined) {
- buType = "TYPE_BULLET";
- }
- if (buNum !== undefined) {
- buType = "TYPE_NUMERIC";
- }
- if (buPic !== undefined) {
- buType = "TYPE_BULPIC";
- }
- var buFontSize = getTextByPathList(pPrNode, ["a:buSzPts", "attrs", "val"]);
- if (buFontSize === undefined) {
- buFontSize = getTextByPathList(pPrNode, ["a:buSzPct", "attrs", "val"]);
- if (buFontSize !== undefined) {
- var prcnt = parseInt(buFontSize) / 100000;
- //dfltBultSize = XXpt
- //var dfltBultSizeNoPt = dfltBultSize.substr(0, dfltBultSize.length - 2);
- var dfltBultSizeNoPt = parseInt(dfltBultSize, "px");
- bultSize = prcnt * (parseInt(dfltBultSizeNoPt)) + "px";// + "pt";
- }
- } else {
- bultSize = (parseInt(buFontSize) / 100) * fontSizeFactor + "px";
- }
- //get definde bullet COLOR
- var buClrNode = getTextByPathList(pPrNode, ["a:buClr"]);
- if (buChar === undefined && buNum === undefined && buPic === undefined) {
- if (lstStyle !== undefined) {
- BullNONE = getTextByPathList(lstStyle, [lvlStr,"a:buNone"]);
- if (BullNONE !== undefined) {
- return "";
- }
- buType = "TYPE_NONE";
- buChar = getTextByPathList(lstStyle, [lvlStr,"a:buChar", "attrs", "char"]);
- buNum = getTextByPathList(lstStyle, [lvlStr,"a:buAutoNum", "attrs", "type"]);
- buPic = getTextByPathList(lstStyle, [lvlStr,"a:buBlip"]);
- if (buChar !== undefined) {
- buType = "TYPE_BULLET";
- }
- if (buNum !== undefined) {
- buType = "TYPE_NUMERIC";
- }
- if (buPic !== undefined) {
- buType = "TYPE_BULPIC";
- }
- if (buChar !== undefined || buNum !== undefined || buPic !== undefined) {
- pPrNode = lstStyle[lvlStr];
- }
- }
- }
- if (buChar === undefined && buNum === undefined && buPic === undefined) {
- //check in slidelayout and masterlayout - TODO
- if (pPrNodeLaout !== undefined) {
- BullNONE = getTextByPathList(pPrNodeLaout, ["a:buNone"]);
- if (BullNONE !== undefined) {
- return "";
- }
- buType = "TYPE_NONE";
- buChar = getTextByPathList(pPrNodeLaout, ["a:buChar", "attrs", "char"]);
- buNum = getTextByPathList(pPrNodeLaout, ["a:buAutoNum", "attrs", "type"]);
- buPic = getTextByPathList(pPrNodeLaout, ["a:buBlip"]);
- if (buChar !== undefined) {
- buType = "TYPE_BULLET";
- }
- if (buNum !== undefined) {
- buType = "TYPE_NUMERIC";
- }
- if (buPic !== undefined) {
- buType = "TYPE_BULPIC";
- }
- }
- if (buChar === undefined && buNum === undefined && buPic === undefined) {
- //masterlayout
- if (pPrNodeMaster !== undefined) {
- BullNONE = getTextByPathList(pPrNodeMaster, ["a:buNone"]);
- if (BullNONE !== undefined) {
- return "";
- }
- buType = "TYPE_NONE";
- buChar = getTextByPathList(pPrNodeMaster, ["a:buChar", "attrs", "char"]);
- buNum = getTextByPathList(pPrNodeMaster, ["a:buAutoNum", "attrs", "type"]);
- buPic = getTextByPathList(pPrNodeMaster, ["a:buBlip"]);
- if (buChar !== undefined) {
- buType = "TYPE_BULLET";
- }
- if (buNum !== undefined) {
- buType = "TYPE_NUMERIC";
- }
- if (buPic !== undefined) {
- buType = "TYPE_BULPIC";
- }
- }
- }
- }
- //rtl
- var getRtlVal = getTextByPathList(pPrNode, ["attrs", "rtl"]);
- if (getRtlVal === undefined) {
- getRtlVal = getTextByPathList(pPrNodeLaout, ["attrs", "rtl"]);
- if (getRtlVal === undefined && type != "shape") {
- getRtlVal = getTextByPathList(pPrNodeMaster, ["attrs", "rtl"]);
- }
- }
- var isRTL = false;
- if (getRtlVal !== undefined && getRtlVal == "1") {
- isRTL = true;
- }
- //align
- var alignNode = getTextByPathList(pPrNode, ["attrs", "algn"]); //"l" | "ctr" | "r" | "just" | "justLow" | "dist" | "thaiDist
- if (alignNode === undefined) {
- alignNode = getTextByPathList(pPrNodeLaout, ["attrs", "algn"]);
- if (alignNode === undefined) {
- alignNode = getTextByPathList(pPrNodeMaster, ["attrs", "algn"]);
- }
- }
- //indent?
- var indentNode = getTextByPathList(pPrNode, ["attrs", "indent"]);
- if (indentNode === undefined) {
- indentNode = getTextByPathList(pPrNodeLaout, ["attrs", "indent"]);
- if (indentNode === undefined) {
- indentNode = getTextByPathList(pPrNodeMaster, ["attrs", "indent"]);
- }
- }
- var indent = 0;
- if (indentNode !== undefined) {
- indent = parseInt(indentNode) * slideFactor;
- }
- //marL
- var marLNode = getTextByPathList(pPrNode, ["attrs", "marL"]);
- if (marLNode === undefined) {
- marLNode = getTextByPathList(pPrNodeLaout, ["attrs", "marL"]);
- if (marLNode === undefined) {
- marLNode = getTextByPathList(pPrNodeMaster, ["attrs", "marL"]);
- }
- }
- //console.log("genBuChar() isRTL", isRTL, "alignNode:", alignNode)
- if (marLNode !== undefined) {
- var marginLeft = parseInt(marLNode) * slideFactor;
- if (isRTL) {// && alignNode == "r") {
- marLStr = "padding-right:";// "margin-right: ";
- } else {
- marLStr = "padding-left:";//"margin-left: ";
- }
- margin_val = ((marginLeft + indent < 0) ? 0 : (marginLeft + indent));
- marLStr += margin_val + "px;";
- }
-
- //marR?
- var marRNode = getTextByPathList(pPrNode, ["attrs", "marR"]);
- if (marRNode === undefined && marLNode === undefined) {
- //need to check if this posble - TODO
- marRNode = getTextByPathList(pPrNodeLaout, ["attrs", "marR"]);
- if (marRNode === undefined) {
- marRNode = getTextByPathList(pPrNodeMaster, ["attrs", "marR"]);
- }
- }
- if (marRNode !== undefined) {
- var marginRight = parseInt(marRNode) * slideFactor;
- if (isRTL) {// && alignNode == "r") {
- marLStr = "padding-right:";// "margin-right: ";
- } else {
- marLStr = "padding-left:";//"margin-left: ";
- }
- marRStr += ((marginRight + indent < 0) ? 0 : (marginRight + indent)) + "px;";
- }
- if (buType != "TYPE_NONE") {
- //var buFontAttrs = getTextByPathList(pPrNode, ["a:buFont", "attrs"]);
- }
- //console.log("Bullet Type: " + buType);
- //console.log("NumericTypr: " + buNum);
- //console.log("buChar: " + (buChar === undefined?'':buChar.charCodeAt(0)));
- //get definde bullet COLOR
- if (buClrNode === undefined){
- //lstStyle
- buClrNode = getTextByPathList(lstStyle, [lvlStr, "a:buClr"]);
- }
- if (buClrNode === undefined) {
- buClrNode = getTextByPathList(pPrNodeLaout, ["a:buClr"]);
- if (buClrNode === undefined) {
- buClrNode = getTextByPathList(pPrNodeMaster, ["a:buClr"]);
- }
- }
- var defBultColor;
- if (buClrNode !== undefined) {
- defBultColor = getSolidFill(buClrNode, undefined, undefined, warpObj);
- } else {
- if (pFontStyle !== undefined) {
- //console.log("genBuChar pFontStyle: ", pFontStyle)
- defBultColor = getSolidFill(pFontStyle, undefined, undefined, warpObj);
- }
- }
- if (defBultColor === undefined || defBultColor == "NONE") {
- bultColor = dfltBultColor;
- } else {
- bultColor = [defBultColor, "", "solid"];
- color_tye = "solid";
- }
- //console.log("genBuChar node:", node, "pPrNode", pPrNode, " buClrNode: ", buClrNode, "defBultColor:", defBultColor,"dfltBultColor:" , dfltBultColor , "bultColor:", bultColor)
- //console.log("genBuChar: buClrNode: ", buClrNode, "bultColor", bultColor)
- //get definde bullet SIZE
- if (buFontSize === undefined) {
- buFontSize = getTextByPathList(pPrNodeLaout, ["a:buSzPts", "attrs", "val"]);
- if (buFontSize === undefined) {
- buFontSize = getTextByPathList(pPrNodeLaout, ["a:buSzPct", "attrs", "val"]);
- if (buFontSize !== undefined) {
- var prcnt = parseInt(buFontSize) / 100000;
- //var dfltBultSizeNoPt = dfltBultSize.substr(0, dfltBultSize.length - 2);
- var dfltBultSizeNoPt = parseInt(dfltBultSize, "px");
- bultSize = prcnt * (parseInt(dfltBultSizeNoPt)) + "px";// + "pt";
- }
- }else{
- bultSize = (parseInt(buFontSize) / 100) * fontSizeFactor + "px";
- }
- }
- if (buFontSize === undefined) {
- buFontSize = getTextByPathList(pPrNodeMaster, ["a:buSzPts", "attrs", "val"]);
- if (buFontSize === undefined) {
- buFontSize = getTextByPathList(pPrNodeMaster, ["a:buSzPct", "attrs", "val"]);
- if (buFontSize !== undefined) {
- var prcnt = parseInt(buFontSize) / 100000;
- //dfltBultSize = XXpt
- //var dfltBultSizeNoPt = dfltBultSize.substr(0, dfltBultSize.length - 2);
- var dfltBultSizeNoPt = parseInt(dfltBultSize, "px");
- bultSize = prcnt * (parseInt(dfltBultSizeNoPt)) + "px";// + "pt";
- }
- } else {
- bultSize = (parseInt(buFontSize) / 100) * fontSizeFactor + "px";
- }
- }
- if (buFontSize === undefined) {
- bultSize = dfltBultSize;
- }
- font_val = parseInt(bultSize, "px");
- ////////////////////////////////////////////////////////////////////////
- if (buType == "TYPE_BULLET") {
- var typefaceNode = getTextByPathList(pPrNode, ["a:buFont", "attrs", "typeface"]);
- var typeface = "";
- if (typefaceNode !== undefined) {
- typeface = "font-family: " + typefaceNode;
- }
- // var marginLeft = parseInt(getTextByPathList(marLNode)) * slideFactor;
- // var marginRight = parseInt(getTextByPathList(marRNode)) * slideFactor;
- // if (isNaN(marginLeft)) {
- // marginLeft = 328600 * slideFactor;
- // }
- // if (isNaN(marginRight)) {
- // marginRight = 0;
- // }
- bullet = "<div style='height: 100%;" + typeface + ";" +
- marLStr + marRStr +
- "font-size:" + bultSize + ";" ;
-
- //bullet += "display: table-cell;";
- //"line-height: 0px;";
- if (color_tye == "solid") {
- if (bultColor[0] !== undefined && bultColor[0] != "") {
- bullet += "color:#" + bultColor[0] + "; ";
- }
- if (bultColor[1] !== undefined && bultColor[1] != "" && bultColor[1] != ";") {
- bullet += "text-shadow:" + bultColor[1] + ";";
- }
- //no highlight/background-color to bullet
- // if (bultColor[3] !== undefined && bultColor[3] != "") {
- // styleText += "background-color: #" + bultColor[3] + ";";
- // }
- } else if (color_tye == "pattern" || color_tye == "pic" || color_tye == "gradient") {
- if (color_tye == "pattern") {
- bullet += "background:" + bultColor[0][0] + ";";
- if (bultColor[0][1] !== null && bultColor[0][1] !== undefined && bultColor[0][1] != "") {
- bullet += "background-size:" + bultColor[0][1] + ";";//" 2px 2px;" +
- }
- if (bultColor[0][2] !== null && bultColor[0][2] !== undefined && bultColor[0][2] != "") {
- bullet += "background-position:" + bultColor[0][2] + ";";//" 2px 2px;" +
- }
- // bullet += "-webkit-background-clip: text;" +
- // "background-clip: text;" +
- // "color: transparent;" +
- // "-webkit-text-stroke: " + bultColor[1].border + ";" +
- // "filter: " + bultColor[1].effcts + ";";
- } else if (color_tye == "pic") {
- bullet += bultColor[0] + ";";
- // bullet += "-webkit-background-clip: text;" +
- // "background-clip: text;" +
- // "color: transparent;" +
- // "-webkit-text-stroke: " + bultColor[1].border + ";";
- } else if (color_tye == "gradient") {
- var colorAry = bultColor[0].color;
- var rot = bultColor[0].rot;
- bullet += "background: linear-gradient(" + rot + "deg,";
- for (var i = 0; i < colorAry.length; i++) {
- if (i == colorAry.length - 1) {
- bullet += "#" + colorAry[i] + ");";
- } else {
- bullet += "#" + colorAry[i] + ", ";
- }
- }
- // bullet += "color: transparent;" +
- // "-webkit-background-clip: text;" +
- // "background-clip: text;" +
- // "-webkit-text-stroke: " + bultColor[1].border + ";";
- }
- bullet += "-webkit-background-clip: text;" +
- "background-clip: text;" +
- "color: transparent;";
- if (bultColor[1].border !== undefined && bultColor[1].border !== "") {
- bullet += "-webkit-text-stroke: " + bultColor[1].border + ";";
- }
- if (bultColor[1].effcts !== undefined && bultColor[1].effcts !== "") {
- bullet += "filter: " + bultColor[1].effcts + ";";
- }
- }
- if (isRTL) {
- //bullet += "display: inline-block;white-space: nowrap ;direction:rtl"; // float: right;
- bullet += "white-space: nowrap ;direction:rtl"; // display: table-cell;;
- }
- var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
- var htmlBu = buChar;
- if (!isIE11) {
- //ie11 does not support unicode ?
- htmlBu = getHtmlBullet(typefaceNode, buChar);
- }
- bullet += "'><div style='line-height: " + (font_val/2) + "px;'>" + htmlBu + "</div></div>"; //font_val
- //}
- // else {
- // marginLeft = 328600 * slideFactor * lvl;
- // bullet = "<div style='" + marLStr + "'>" + buChar + "</div>";
- // }
- } else if (buType == "TYPE_NUMERIC") { ///////////Amir///////////////////////////////
- //if (buFontAttrs !== undefined) {
- // var marginLeft = parseInt(getTextByPathList(pPrNode, ["attrs", "marL"])) * slideFactor;
- // var marginRight = parseInt(buFontAttrs["pitchFamily"]);
- // if (isNaN(marginLeft)) {
- // marginLeft = 328600 * slideFactor;
- // }
- // if (isNaN(marginRight)) {
- // marginRight = 0;
- // }
- //var typeface = buFontAttrs["typeface"];
- bullet = "<div style='height: 100%;" + marLStr + marRStr +
- "color:#" + bultColor[0] + ";" +
- "font-size:" + bultSize + ";";// +
- //"line-height: 0px;";
- if (isRTL) {
- bullet += "display: inline-block;white-space: nowrap ;direction:rtl;"; // float: right;
- } else {
- bullet += "display: inline-block;white-space: nowrap ;direction:ltr;"; //float: left;
- }
- bullet += "' data-bulltname = '" + buNum + "' data-bulltlvl = '" + lvl + "' class='numeric-bullet-style'></div>";
- // } else {
- // marginLeft = 328600 * slideFactor * lvl;
- // bullet = "<div style='margin-left: " + marginLeft + "px;";
- // if (isRTL) {
- // bullet += " float: right; direction:rtl;";
- // } else {
- // bullet += " float: left; direction:ltr;";
- // }
- // bullet += "' data-bulltname = '" + buNum + "' data-bulltlvl = '" + lvl + "' class='numeric-bullet-style'></div>";
- // }
- } else if (buType == "TYPE_BULPIC") { //PIC BULLET
- // var marginLeft = parseInt(getTextByPathList(pPrNode, ["attrs", "marL"])) * slideFactor;
- // var marginRight = parseInt(getTextByPathList(pPrNode, ["attrs", "marR"])) * slideFactor;
- // if (isNaN(marginRight)) {
- // marginRight = 0;
- // }
- // //console.log("marginRight: "+marginRight)
- // //buPic
- // if (isNaN(marginLeft)) {
- // marginLeft = 328600 * slideFactor;
- // } else {
- // marginLeft = 0;
- // }
- //var buPicId = getTextByPathList(buPic, ["a:blip","a:extLst","a:ext","asvg:svgBlip" , "attrs", "r:embed"]);
- var buPicId = getTextByPathList(buPic, ["a:blip", "attrs", "r:embed"]);
- var svgPicPath = "";
- var buImg;
- if (buPicId !== undefined) {
- //svgPicPath = warpObj["slideResObj"][buPicId]["target"];
- //buImg = warpObj["zip"].file(svgPicPath).asText();
- //}else{
- //buPicId = getTextByPathList(buPic, ["a:blip", "attrs", "r:embed"]);
- var imgPath = warpObj["slideResObj"][buPicId]["target"];
- //console.log("imgPath: ", imgPath);
- var imgArrayBuffer = warpObj["zip"].file(imgPath).asArrayBuffer();
- var imgExt = imgPath.split(".").pop();
- var imgMimeType = getMimeType(imgExt);
- buImg = "<img src='data:" + imgMimeType + ";base64," + base64ArrayBuffer(imgArrayBuffer) + "' style='width: 100%;'/>"// height: 100%
- //console.log("imgPath: "+imgPath+"\nimgMimeType: "+imgMimeType)
- }
- if (buPicId === undefined) {
- buImg = "‣";
- }
- bullet = "<div style='height: 100%;" + marLStr + marRStr +
- "width:" + bultSize + ";display: inline-block; ";// +
- //"line-height: 0px;";
- if (isRTL) {
- bullet += "display: inline-block;white-space: nowrap ;direction:rtl;"; //direction:rtl; float: right;
- }
- bullet += "'>" + buImg + " </div>";
- //////////////////////////////////////////////////////////////////////////////////////
- }
- // else {
- // bullet = "<div style='margin-left: " + 328600 * slideFactor * lvl + "px" +
- // "; margin-right: " + 0 + "px;'></div>";
- // }
- //console.log("genBuChar: width: ", $(bullet).outerWidth())
- return [bullet, margin_val, font_val];//$(bullet).outerWidth()];
- }
- function getHtmlBullet(typefaceNode, buChar) {
- //http://www.alanwood.net/demos/wingdings.html
- //not work for IE11
- //console.log("genBuChar typefaceNode:", typefaceNode, " buChar:", buChar, "charCodeAt:", buChar.charCodeAt(0))
- switch (buChar) {
- case "§":
- return "■";//"■"; //9632 | U+25A0 | Black square
- break;
- case "q":
- return "❑";//"❑"; // 10065 | U+2751 | Lower right shadowed white square
- break;
- case "v":
- return "❖";//"❖"; //10070 | U+2756 | Black diamond minus white X
- break;
- case "Ø":
- return "⮚";//"⮚"; //11162 | U+2B9A | Three-D top-lighted rightwards equilateral arrowhead
- break;
- case "ü":
- return "✔";//"✔"; //10004 | U+2714 | Heavy check mark
- break;
- default:
- if (/*typefaceNode == "Wingdings" ||*/ typefaceNode == "Wingdings 2" || typefaceNode == "Wingdings 3"){
- var wingCharCode = getDingbatToUnicode(typefaceNode, buChar);
- if (wingCharCode !== null){
- return "&#" + wingCharCode + ";";
- }
- }
- return "&#" + (buChar.charCodeAt(0)) + ";";
- }
- }
- function getDingbatToUnicode(typefaceNode, buChar){
- if (dingbat_unicode){
- var dingbat_code = buChar.codePointAt(0) & 0xFFF;
- var char_unicode = null;
- var len = dingbat_unicode.length;
- var i = 0;
- while (len--) {
- // blah blah
- var item = dingbat_unicode[i];
- if (item.f == typefaceNode && item.code == dingbat_code) {
- char_unicode = item.unicode;
- break;
- }
- i++;
- }
- return char_unicode
- }
- }
- function getLayoutAndMasterNode(node, idx, type, warpObj) {
- var pPrNodeLaout, pPrNodeMaster;
- var pPrNode = node["a:pPr"];
- //lvl
- var lvl = 1;
- var lvlNode = getTextByPathList(pPrNode, ["attrs", "lvl"]);
- if (lvlNode !== undefined) {
- lvl = parseInt(lvlNode) + 1;
- }
- if (idx !== undefined) {
- //slidelayout
- pPrNodeLaout = getTextByPathList(warpObj["slideLayoutTables"]["idxTable"][idx], ["p:txBody", "a:lstStyle", "a:lvl" + lvl + "pPr"]);
- if (pPrNodeLaout === undefined) {
- pPrNodeLaout = getTextByPathList(warpObj["slideLayoutTables"]["idxTable"][idx], ["p:txBody", "a:p", "a:pPr"]);
- if (pPrNodeLaout === undefined) {
- pPrNodeLaout = getTextByPathList(warpObj["slideLayoutTables"]["idxTable"][idx], ["p:txBody", "a:p", (lvl - 1), "a:pPr"]);
- }
- }
- }
- if (type !== undefined) {
- //slidelayout
- var lvlStr = "a:lvl" + lvl + "pPr";
- if (pPrNodeLaout === undefined) {
- pPrNodeLaout = getTextByPathList(warpObj, ["slideLayoutTables", "typeTable", type, "p:txBody", "a:lstStyle", lvlStr]);
- }
- //masterlayout
- if (type == "title" || type == "ctrTitle") {
- pPrNodeMaster = getTextByPathList(warpObj, ["slideMasterTextStyles", "p:titleStyle", lvlStr]);
- } else if (type == "body" || type == "obj" || type == "subTitle") {
- pPrNodeMaster = getTextByPathList(warpObj, ["slideMasterTextStyles", "p:bodyStyle", lvlStr]);
- } else if (type == "shape" || type == "diagram") {
- pPrNodeMaster = getTextByPathList(warpObj, ["slideMasterTextStyles", "p:otherStyle", lvlStr]);
- } else if (type == "textBox") {
- pPrNodeMaster = getTextByPathList(warpObj, ["defaultTextStyle", lvlStr]);
- } else {
- pPrNodeMaster = getTextByPathList(warpObj, ["slideMasterTables", "typeTable", type, "p:txBody", "a:lstStyle", lvlStr]);
- }
- }
- return {
- "nodeLaout": pPrNodeLaout,
- "nodeMaster": pPrNodeMaster
- };
- }
- function genSpanElement(node, rIndex, pNode, textBodyNode, pFontStyle, slideLayoutSpNode, idx, type, rNodeLength, warpObj, isBullate) {
- //https://codepen.io/imdunn/pen/GRgwaye ?
- var text_style = "";
- var lstStyle = textBodyNode["a:lstStyle"];
- var slideMasterTextStyles = warpObj["slideMasterTextStyles"];
- var text = node["a:t"];
- //var text_count = text.length;
- var openElemnt = "<sapn";//"<bdi";
- var closeElemnt = "</sapn>";// "</bdi>";
- var styleText = "";
- if (text === undefined && node["type"] !== undefined) {
- if (is_first_br) {
- //openElemnt = "<br";
- //closeElemnt = "";
- //return "<br style='font-size: initial'>"
- is_first_br = false;
- return "<sapn class='line-break-br' ></sapn>";
- } else {
- // styleText += "display: block;";
- // openElemnt = "<sapn";
- // closeElemnt = "</sapn>";
- }
- styleText += "display: block;";
- //openElemnt = "<sapn";
- //closeElemnt = "</sapn>";
- } else {
- is_first_br = true;
- }
- if (typeof text !== 'string') {
- text = getTextByPathList(node, ["a:fld", "a:t"]);
- if (typeof text !== 'string') {
- text = " ";
- //return "<span class='text-block '> </span>";
- }
- // if (text === undefined) {
- // return "";
- // }
- }
- var pPrNode = pNode["a:pPr"];
- //lvl
- var lvl = 1;
- var lvlNode = getTextByPathList(pPrNode, ["attrs", "lvl"]);
- if (lvlNode !== undefined) {
- lvl = parseInt(lvlNode) + 1;
- }
- //console.log("genSpanElement node: ", node, "rIndex: ", rIndex, ", pNode: ", pNode, ",pPrNode: ", pPrNode, "pFontStyle:", pFontStyle, ", idx: ", idx, "type:", type, warpObj);
- var layoutMasterNode = getLayoutAndMasterNode(pNode, idx, type, warpObj);
- var pPrNodeLaout = layoutMasterNode.nodeLaout;
- var pPrNodeMaster = layoutMasterNode.nodeMaster;
- //Language
- var lang = getTextByPathList(node, ["a:rPr", "attrs", "lang"]);
- var isRtlLan = (lang !== undefined && rtl_langs_array.indexOf(lang) !== -1)?true:false;
- //rtl
- var getRtlVal = getTextByPathList(pPrNode, ["attrs", "rtl"]);
- if (getRtlVal === undefined) {
- getRtlVal = getTextByPathList(pPrNodeLaout, ["attrs", "rtl"]);
- if (getRtlVal === undefined && type != "shape") {
- getRtlVal = getTextByPathList(pPrNodeMaster, ["attrs", "rtl"]);
- }
- }
- var isRTL = false;
- var dirStr = "ltr";
- if (getRtlVal !== undefined && getRtlVal == "1") {
- isRTL = true;
- dirStr = "rtl";
- }
- var linkID = getTextByPathList(node, ["a:rPr", "a:hlinkClick", "attrs", "r:id"]);
- var linkTooltip = "";
- var defLinkClr;
- if (linkID !== undefined) {
- linkTooltip = getTextByPathList(node, ["a:rPr", "a:hlinkClick", "attrs", "tooltip"]);
- if (linkTooltip !== undefined) {
- linkTooltip = "title='" + linkTooltip + "'";
- }
- defLinkClr = getSchemeColorFromTheme("a:hlink", undefined, undefined, warpObj);
- var linkClrNode = getTextByPathList(node, ["a:rPr", "a:solidFill"]);// getTextByPathList(node, ["a:rPr", "a:solidFill"]);
- var rPrlinkClr = getSolidFill(linkClrNode, undefined, undefined, warpObj);
- //console.log("genSpanElement defLinkClr: ", defLinkClr, "rPrlinkClr:", rPrlinkClr)
- if (rPrlinkClr !== undefined && rPrlinkClr != "") {
- defLinkClr = rPrlinkClr;
- }
- }
- /////////////////////////////////////////////////////////////////////////////////////
- //getFontColor
- var fontClrPr = getFontColorPr(node, pNode, lstStyle, pFontStyle, lvl, idx, type, warpObj);
- var fontClrType = fontClrPr[2];
- //console.log("genSpanElement fontClrPr: ", fontClrPr, "linkID", linkID);
- if (fontClrType == "solid") {
- if (linkID === undefined && fontClrPr[0] !== undefined && fontClrPr[0] != "") {
- styleText += "color: #" + fontClrPr[0] + ";";
- }
- else if (linkID !== undefined && defLinkClr !== undefined) {
- styleText += "color: #" + defLinkClr + ";";
- }
- if (fontClrPr[1] !== undefined && fontClrPr[1] != "" && fontClrPr[1] != ";") {
- styleText += "text-shadow:" + fontClrPr[1] + ";";
- }
- if (fontClrPr[3] !== undefined && fontClrPr[3] != "") {
- styleText += "background-color: #" + fontClrPr[3] + ";";
- }
- } else if (fontClrType == "pattern" || fontClrType == "pic" || fontClrType == "gradient") {
- if (fontClrType == "pattern") {
- styleText += "background:" + fontClrPr[0][0] + ";";
- if (fontClrPr[0][1] !== null && fontClrPr[0][1] !== undefined && fontClrPr[0][1] != "") {
- styleText += "background-size:" + fontClrPr[0][1] + ";";//" 2px 2px;" +
- }
- if (fontClrPr[0][2] !== null && fontClrPr[0][2] !== undefined && fontClrPr[0][2] != "") {
- styleText += "background-position:" + fontClrPr[0][2] + ";";//" 2px 2px;" +
- }
- // styleText += "-webkit-background-clip: text;" +
- // "background-clip: text;" +
- // "color: transparent;" +
- // "-webkit-text-stroke: " + fontClrPr[1].border + ";" +
- // "filter: " + fontClrPr[1].effcts + ";";
- } else if (fontClrType == "pic") {
- styleText += fontClrPr[0] + ";";
- // styleText += "-webkit-background-clip: text;" +
- // "background-clip: text;" +
- // "color: transparent;" +
- // "-webkit-text-stroke: " + fontClrPr[1].border + ";";
- } else if (fontClrType == "gradient") {
- var colorAry = fontClrPr[0].color;
- var rot = fontClrPr[0].rot;
- styleText += "background: linear-gradient(" + rot + "deg,";
- for (var i = 0; i < colorAry.length; i++) {
- if (i == colorAry.length - 1) {
- styleText += "#" + colorAry[i] + ");";
- } else {
- styleText += "#" + colorAry[i] + ", ";
- }
- }
- // styleText += "-webkit-background-clip: text;" +
- // "background-clip: text;" +
- // "color: transparent;" +
- // "-webkit-text-stroke: " + fontClrPr[1].border + ";";
- }
- styleText += "-webkit-background-clip: text;" +
- "background-clip: text;" +
- "color: transparent;";
- if (fontClrPr[1].border !== undefined && fontClrPr[1].border !== "") {
- styleText += "-webkit-text-stroke: " + fontClrPr[1].border + ";";
- }
- if (fontClrPr[1].effcts !== undefined && fontClrPr[1].effcts !== "") {
- styleText += "filter: " + fontClrPr[1].effcts + ";";
- }
- }
- var font_size = getFontSize(node, textBodyNode, pFontStyle, lvl, type, warpObj);
- //text_style += "font-size:" + font_size + ";"
-
- text_style += "font-size:" + font_size + ";" +
- // marLStr +
- "font-family:" + getFontType(node, type, warpObj, pFontStyle) + ";" +
- "font-weight:" + getFontBold(node, type, slideMasterTextStyles) + ";" +
- "font-style:" + getFontItalic(node, type, slideMasterTextStyles) + ";" +
- "text-decoration:" + getFontDecoration(node, type, slideMasterTextStyles) + ";" +
- "text-align:" + getTextHorizontalAlign(node, pNode, type, warpObj) + ";" +
- "vertical-align:" + getTextVerticalAlign(node, type, slideMasterTextStyles) + ";";
- //rNodeLength
- //console.log("genSpanElement node:", node, "lang:", lang, "isRtlLan:", isRtlLan, "span parent dir:", dirStr)
- if (isRtlLan) { //|| rIndex === undefined
- styleText += "direction:rtl;";
- }else{ //|| rIndex === undefined
- styleText += "direction:ltr;";
- }
- // } else if (dirStr == "rtl" && isRtlLan ) {
- // styleText += "direction:rtl;";
- // } else if (dirStr == "ltr" && !isRtlLan ) {
- // styleText += "direction:ltr;";
- // } else if (dirStr == "ltr" && isRtlLan){
- // styleText += "direction:ltr;";
- // }else{
- // styleText += "direction:inherit;";
- // }
- // if (dirStr == "rtl" && !isRtlLan) { //|| rIndex === undefined
- // styleText += "direction:ltr;";
- // } else if (dirStr == "rtl" && isRtlLan) {
- // styleText += "direction:rtl;";
- // } else if (dirStr == "ltr" && !isRtlLan) {
- // styleText += "direction:ltr;";
- // } else if (dirStr == "ltr" && isRtlLan) {
- // styleText += "direction:rtl;";
- // } else {
- // styleText += "direction:inherit;";
- // }
- // //"direction:" + dirStr + ";";
- //if (rNodeLength == 1 || rIndex == 0 ){
- //styleText += "display: table-cell;white-space: nowrap;";
- //}
- var highlight = getTextByPathList(node, ["a:rPr", "a:highlight"]);
- if (highlight !== undefined) {
- styleText += "background-color:#" + getSolidFill(highlight, undefined, undefined, warpObj) + ";";
- //styleText += "Opacity:" + getColorOpacity(highlight) + ";";
- }
- //letter-spacing:
- var spcNode = getTextByPathList(node, ["a:rPr", "attrs", "spc"]);
- if (spcNode === undefined) {
- spcNode = getTextByPathList(pPrNodeLaout, ["a:defRPr", "attrs", "spc"]);
- if (spcNode === undefined) {
- spcNode = getTextByPathList(pPrNodeMaster, ["a:defRPr", "attrs", "spc"]);
- }
- }
- if (spcNode !== undefined) {
- var ltrSpc = parseInt(spcNode) / 100; //pt
- styleText += "letter-spacing: " + ltrSpc + "px;";// + "pt;";
- }
- //Text Cap Types
- var capNode = getTextByPathList(node, ["a:rPr", "attrs", "cap"]);
- if (capNode === undefined) {
- capNode = getTextByPathList(pPrNodeLaout, ["a:defRPr", "attrs", "cap"]);
- if (capNode === undefined) {
- capNode = getTextByPathList(pPrNodeMaster, ["a:defRPr", "attrs", "cap"]);
- }
- }
- if (capNode == "small" || capNode == "all") {
- styleText += "text-transform: uppercase";
- }
- //styleText += "word-break: break-word;";
- //console.log("genSpanElement node: ", node, ", capNode: ", capNode, ",pPrNodeLaout: ", pPrNodeLaout, ", pPrNodeMaster: ", pPrNodeMaster, "warpObj:", warpObj);
- var cssName = "";
- if (styleText in styleTable) {
- cssName = styleTable[styleText]["name"];
- } else {
- cssName = "_css_" + (Object.keys(styleTable).length + 1);
- styleTable[styleText] = {
- "name": cssName,
- "text": styleText
- };
- }
- var linkColorSyle = "";
- if (fontClrType == "solid" && linkID !== undefined) {
- linkColorSyle = "style='color: inherit;'";
- }
- if (linkID !== undefined && linkID != "") {
- var linkURL = warpObj["slideResObj"][linkID]["target"];
- linkURL = escapeHtml(linkURL);
- return openElemnt + " class='text-block " + cssName + "' style='" + text_style + "'><a href='" + linkURL + "' " + linkColorSyle + " " + linkTooltip + " target='_blank'>" +
- text.replace(/\t/g, ' ').replace(/\s/g, " ") + "</a>" + closeElemnt;
- } else {
- return openElemnt + " class='text-block " + cssName + "' style='" + text_style + "'>" + text.replace(/\t/g, ' ').replace(/\s/g, " ") + closeElemnt;//"</bdi>";
- }
- }
- function getPregraphMargn(pNode, idx, type, isBullate, warpObj){
- if (!isBullate){
- return ["",0];
- }
- var marLStr = "", marRStr = "" , maginVal = 0;
- var pPrNode = pNode["a:pPr"];
- var layoutMasterNode = getLayoutAndMasterNode(pNode, idx, type, warpObj);
- var pPrNodeLaout = layoutMasterNode.nodeLaout;
- var pPrNodeMaster = layoutMasterNode.nodeMaster;
-
- // var lang = getTextByPathList(node, ["a:rPr", "attrs", "lang"]);
- // var isRtlLan = (lang !== undefined && rtl_langs_array.indexOf(lang) !== -1) ? true : false;
- //rtl
- var getRtlVal = getTextByPathList(pPrNode, ["attrs", "rtl"]);
- if (getRtlVal === undefined) {
- getRtlVal = getTextByPathList(pPrNodeLaout, ["attrs", "rtl"]);
- if (getRtlVal === undefined && type != "shape") {
- getRtlVal = getTextByPathList(pPrNodeMaster, ["attrs", "rtl"]);
- }
- }
- var isRTL = false;
- var dirStr = "ltr";
- if (getRtlVal !== undefined && getRtlVal == "1") {
- isRTL = true;
- dirStr = "rtl";
- }
- //align
- var alignNode = getTextByPathList(pPrNode, ["attrs", "algn"]); //"l" | "ctr" | "r" | "just" | "justLow" | "dist" | "thaiDist
- if (alignNode === undefined) {
- alignNode = getTextByPathList(pPrNodeLaout, ["attrs", "algn"]);
- if (alignNode === undefined) {
- alignNode = getTextByPathList(pPrNodeMaster, ["attrs", "algn"]);
- }
- }
- //indent?
- var indentNode = getTextByPathList(pPrNode, ["attrs", "indent"]);
- if (indentNode === undefined) {
- indentNode = getTextByPathList(pPrNodeLaout, ["attrs", "indent"]);
- if (indentNode === undefined) {
- indentNode = getTextByPathList(pPrNodeMaster, ["attrs", "indent"]);
- }
- }
- var indent = 0;
- if (indentNode !== undefined) {
- indent = parseInt(indentNode) * slideFactor;
- }
- //
- //marL
- var marLNode = getTextByPathList(pPrNode, ["attrs", "marL"]);
- if (marLNode === undefined) {
- marLNode = getTextByPathList(pPrNodeLaout, ["attrs", "marL"]);
- if (marLNode === undefined) {
- marLNode = getTextByPathList(pPrNodeMaster, ["attrs", "marL"]);
- }
- }
- var marginLeft = 0;
- if (marLNode !== undefined) {
- marginLeft = parseInt(marLNode) * slideFactor;
- }
- if ((indentNode !== undefined || marLNode !== undefined)) {
- //var lvlIndent = defTabSz * lvl;
- if (isRTL) {// && alignNode == "r") {
- //marLStr = "margin-right: ";
- marLStr = "padding-right: ";
- } else {
- //marLStr = "margin-left: ";
- marLStr = "padding-left: ";
- }
- if (isBullate) {
- maginVal = Math.abs(0 - indent);
- marLStr += maginVal + "px;"; // (minus bullate numeric lenght/size - TODO
- } else {
- maginVal = Math.abs(marginLeft + indent);
- marLStr += maginVal + "px;"; // (minus bullate numeric lenght/size - TODO
- }
- }
- //marR?
- var marRNode = getTextByPathList(pPrNode, ["attrs", "marR"]);
- if (marRNode === undefined && marLNode === undefined) {
- //need to check if this posble - TODO
- marRNode = getTextByPathList(pPrNodeLaout, ["attrs", "marR"]);
- if (marRNode === undefined) {
- marRNode = getTextByPathList(pPrNodeMaster, ["attrs", "marR"]);
- }
- }
- if (marRNode !== undefined && isBullate) {
- var marginRight = parseInt(marRNode) * slideFactor;
- if (isRTL) {// && alignNode == "r") {
- //marRStr = "margin-right: ";
- marRStr = "padding-right: ";
- } else {
- //marRStr = "margin-left: ";
- marRStr = "padding-left: ";
- }
- marRStr += Math.abs(0 - indent) + "px;";
- }
- return [marLStr, maginVal];
- }
- function genGlobalCSS() {
- var cssText = "";
- //console.log("styleTable: ", styleTable)
- for (var key in styleTable) {
- var tagname = "";
- // if (settings.slideMode && settings.slideType == "revealjs") {
- // tagname = "section";
- // } else {
- // tagname = "div";
- // }
- //ADD suffix
- cssText += tagname + " ." + styleTable[key]["name"] +
- ((styleTable[key]["suffix"]) ? styleTable[key]["suffix"] : "") +
- "{" + styleTable[key]["text"] + "}\n"; //section > div
- }
- //cssText += " .slide{margin-bottom: 5px;}\n"; // TODO
- if (settings.slideMode && settings.slideType == "divs2slidesjs") {
- //divId
- //console.log("slideWidth: ", slideWidth)
- cssText += "#all_slides_warpper{margin-right: auto;margin-left: auto;padding-top:10px;width: " + slideWidth + "px;}\n"; // TODO
- }
- return cssText;
- }
- function genTable(node, warpObj) {
- var order = node["attrs"]["order"];
- var tableNode = getTextByPathList(node, ["a:graphic", "a:graphicData", "a:tbl"]);
- var xfrmNode = getTextByPathList(node, ["p:xfrm"]);
- /////////////////////////////////////////Amir////////////////////////////////////////////////
- var getTblPr = getTextByPathList(node, ["a:graphic", "a:graphicData", "a:tbl", "a:tblPr"]);
- var getColsGrid = getTextByPathList(node, ["a:graphic", "a:graphicData", "a:tbl", "a:tblGrid", "a:gridCol"]);
- var tblDir = "";
- if (getTblPr !== undefined) {
- var isRTL = getTblPr["attrs"]["rtl"];
- tblDir = (isRTL == 1 ? "dir=rtl" : "dir=ltr");
- }
- var firstRowAttr = getTblPr["attrs"]["firstRow"]; //associated element <a:firstRow> in the table styles
- var firstColAttr = getTblPr["attrs"]["firstCol"]; //associated element <a:firstCol> in the table styles
- var lastRowAttr = getTblPr["attrs"]["lastRow"]; //associated element <a:lastRow> in the table styles
- var lastColAttr = getTblPr["attrs"]["lastCol"]; //associated element <a:lastCol> in the table styles
- var bandRowAttr = getTblPr["attrs"]["bandRow"]; //associated element <a:band1H>, <a:band2H> in the table styles
- var bandColAttr = getTblPr["attrs"]["bandCol"]; //associated element <a:band1V>, <a:band2V> in the table styles
- //console.log("getTblPr: ", getTblPr);
- var tblStylAttrObj = {
- isFrstRowAttr: (firstRowAttr !== undefined && firstRowAttr == "1") ? 1 : 0,
- isFrstColAttr: (firstColAttr !== undefined && firstColAttr == "1") ? 1 : 0,
- isLstRowAttr: (lastRowAttr !== undefined && lastRowAttr == "1") ? 1 : 0,
- isLstColAttr: (lastColAttr !== undefined && lastColAttr == "1") ? 1 : 0,
- isBandRowAttr: (bandRowAttr !== undefined && bandRowAttr == "1") ? 1 : 0,
- isBandColAttr: (bandColAttr !== undefined && bandColAttr == "1") ? 1 : 0
- }
- var thisTblStyle;
- var tbleStyleId = getTblPr["a:tableStyleId"];
- if (tbleStyleId !== undefined) {
- var tbleStylList = tableStyles["a:tblStyleLst"]["a:tblStyle"];
- if (tbleStylList !== undefined) {
- if (tbleStylList.constructor === Array) {
- for (var k = 0; k < tbleStylList.length; k++) {
- if (tbleStylList[k]["attrs"]["styleId"] == tbleStyleId) {
- thisTblStyle = tbleStylList[k];
- }
- }
- } else {
- if (tbleStylList["attrs"]["styleId"] == tbleStyleId) {
- thisTblStyle = tbleStylList;
- }
- }
- }
- }
- if (thisTblStyle !== undefined) {
- thisTblStyle["tblStylAttrObj"] = tblStylAttrObj;
- warpObj["thisTbiStyle"] = thisTblStyle;
- }
- var tblStyl = getTextByPathList(thisTblStyle, ["a:wholeTbl", "a:tcStyle"]);
- var tblBorderStyl = getTextByPathList(tblStyl, ["a:tcBdr"]);
- var tbl_borders = "";
- if (tblBorderStyl !== undefined) {
- tbl_borders = getTableBorders(tblBorderStyl, warpObj);
- }
- var tbl_bgcolor = "";
- var tbl_opacity = 1;
- var tbl_bgFillschemeClr = getTextByPathList(thisTblStyle, ["a:tblBg", "a:fillRef"]);
- //console.log( "thisTblStyle:", thisTblStyle, "warpObj:", warpObj)
- if (tbl_bgFillschemeClr !== undefined) {
- tbl_bgcolor = getSolidFill(tbl_bgFillschemeClr, undefined, undefined, warpObj);
- }
- if (tbl_bgFillschemeClr === undefined) {
- tbl_bgFillschemeClr = getTextByPathList(thisTblStyle, ["a:wholeTbl", "a:tcStyle", "a:fill", "a:solidFill"]);
- tbl_bgcolor = getSolidFill(tbl_bgFillschemeClr, undefined, undefined, warpObj);
- }
- if (tbl_bgcolor !== "") {
- tbl_bgcolor = "background-color: #" + tbl_bgcolor + ";";
- }
- ////////////////////////////////////////////////////////////////////////////////////////////
- var tableHtml = "<table " + tblDir + " style='border-collapse: collapse;" +
- getPosition(xfrmNode, node, undefined, undefined) +
- getSize(xfrmNode, undefined, undefined) +
- " z-index: " + order + ";" +
- tbl_borders + ";" +
- tbl_bgcolor + "'>";
- var trNodes = tableNode["a:tr"];
- if (trNodes.constructor !== Array) {
- trNodes = [trNodes];
- }
- //if (trNodes.constructor === Array) {
- //multi rows
- var totalrowSpan = 0;
- var rowSpanAry = [];
- for (var i = 0; i < trNodes.length; i++) {
- //////////////rows Style ////////////Amir
- var rowHeightParam = trNodes[i]["attrs"]["h"];
- var rowHeight = 0;
- var rowsStyl = "";
- if (rowHeightParam !== undefined) {
- rowHeight = parseInt(rowHeightParam) * slideFactor;
- rowsStyl += "height:" + rowHeight + "px;";
- }
- var fillColor = "";
- var row_borders = "";
- var fontClrPr = "";
- var fontWeight = "";
- var band_1H_fillColor;
- var band_2H_fillColor;
- if (thisTblStyle !== undefined && thisTblStyle["a:wholeTbl"] !== undefined) {
- var bgFillschemeClr = getTextByPathList(thisTblStyle, ["a:wholeTbl", "a:tcStyle", "a:fill", "a:solidFill"]);
- if (bgFillschemeClr !== undefined) {
- var local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj);
- if (local_fillColor !== undefined) {
- fillColor = local_fillColor;
- }
- }
- var rowTxtStyl = getTextByPathList(thisTblStyle, ["a:wholeTbl", "a:tcTxStyle"]);
- if (rowTxtStyl !== undefined) {
- var local_fontColor = getSolidFill(rowTxtStyl, undefined, undefined, warpObj);
- if (local_fontColor !== undefined) {
- fontClrPr = local_fontColor;
- }
- var local_fontWeight = ((getTextByPathList(rowTxtStyl, ["attrs", "b"]) == "on") ? "bold" : "");
- if (local_fontWeight != "") {
- fontWeight = local_fontWeight
- }
- }
- }
- if (i == 0 && tblStylAttrObj["isFrstRowAttr"] == 1 && thisTblStyle !== undefined) {
- var bgFillschemeClr = getTextByPathList(thisTblStyle, ["a:firstRow", "a:tcStyle", "a:fill", "a:solidFill"]);
- if (bgFillschemeClr !== undefined) {
- var local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj);
- if (local_fillColor !== undefined) {
- fillColor = local_fillColor;
- }
- }
- var borderStyl = getTextByPathList(thisTblStyle, ["a:firstRow", "a:tcStyle", "a:tcBdr"]);
- if (borderStyl !== undefined) {
- var local_row_borders = getTableBorders(borderStyl, warpObj);
- if (local_row_borders != "") {
- row_borders = local_row_borders;
- }
- }
- var rowTxtStyl = getTextByPathList(thisTblStyle, ["a:firstRow", "a:tcTxStyle"]);
- if (rowTxtStyl !== undefined) {
- var local_fontClrPr = getSolidFill(rowTxtStyl, undefined, undefined, warpObj);
- if (local_fontClrPr !== undefined) {
- fontClrPr = local_fontClrPr;
- }
- var local_fontWeight = ((getTextByPathList(rowTxtStyl, ["attrs", "b"]) == "on") ? "bold" : "");
- if (local_fontWeight !== "") {
- fontWeight = local_fontWeight;
- }
- }
- } else if (i > 0 && tblStylAttrObj["isBandRowAttr"] == 1 && thisTblStyle !== undefined) {
- fillColor = "";
- row_borders = undefined;
- if ((i % 2) == 0 && thisTblStyle["a:band2H"] !== undefined) {
- // console.log("i: ", i, 'thisTblStyle["a:band2H"]:', thisTblStyle["a:band2H"])
- //check if there is a row bg
- var bgFillschemeClr = getTextByPathList(thisTblStyle, ["a:band2H", "a:tcStyle", "a:fill", "a:solidFill"]);
- if (bgFillschemeClr !== undefined) {
- var local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj);
- if (local_fillColor !== "") {
- fillColor = local_fillColor;
- band_2H_fillColor = local_fillColor;
- }
- }
- var borderStyl = getTextByPathList(thisTblStyle, ["a:band2H", "a:tcStyle", "a:tcBdr"]);
- if (borderStyl !== undefined) {
- var local_row_borders = getTableBorders(borderStyl, warpObj);
- if (local_row_borders != "") {
- row_borders = local_row_borders;
- }
- }
- var rowTxtStyl = getTextByPathList(thisTblStyle, ["a:band2H", "a:tcTxStyle"]);
- if (rowTxtStyl !== undefined) {
- var local_fontClrPr = getSolidFill(rowTxtStyl, undefined, undefined, warpObj);
- if (local_fontClrPr !== undefined) {
- fontClrPr = local_fontClrPr;
- }
- }
- var local_fontWeight = ((getTextByPathList(rowTxtStyl, ["attrs", "b"]) == "on") ? "bold" : "");
- if (local_fontWeight !== "") {
- fontWeight = local_fontWeight;
- }
- }
- if ((i % 2) != 0 && thisTblStyle["a:band1H"] !== undefined) {
- var bgFillschemeClr = getTextByPathList(thisTblStyle, ["a:band1H", "a:tcStyle", "a:fill", "a:solidFill"]);
- if (bgFillschemeClr !== undefined) {
- var local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj);
- if (local_fillColor !== undefined) {
- fillColor = local_fillColor;
- band_1H_fillColor = local_fillColor;
- }
- }
- var borderStyl = getTextByPathList(thisTblStyle, ["a:band1H", "a:tcStyle", "a:tcBdr"]);
- if (borderStyl !== undefined) {
- var local_row_borders = getTableBorders(borderStyl, warpObj);
- if (local_row_borders != "") {
- row_borders = local_row_borders;
- }
- }
- var rowTxtStyl = getTextByPathList(thisTblStyle, ["a:band1H", "a:tcTxStyle"]);
- if (rowTxtStyl !== undefined) {
- var local_fontClrPr = getSolidFill(rowTxtStyl, undefined, undefined, warpObj);
- if (local_fontClrPr !== undefined) {
- fontClrPr = local_fontClrPr;
- }
- var local_fontWeight = ((getTextByPathList(rowTxtStyl, ["attrs", "b"]) == "on") ? "bold" : "");
- if (local_fontWeight != "") {
- fontWeight = local_fontWeight;
- }
- }
- }
- }
- //last row
- if (i == (trNodes.length - 1) && tblStylAttrObj["isLstRowAttr"] == 1 && thisTblStyle !== undefined) {
- var bgFillschemeClr = getTextByPathList(thisTblStyle, ["a:lastRow", "a:tcStyle", "a:fill", "a:solidFill"]);
- if (bgFillschemeClr !== undefined) {
- var local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj);
- if (local_fillColor !== undefined) {
- fillColor = local_fillColor;
- }
- // var local_colorOpacity = getColorOpacity(bgFillschemeClr);
- // if(local_colorOpacity !== undefined){
- // colorOpacity = local_colorOpacity;
- // }
- }
- var borderStyl = getTextByPathList(thisTblStyle, ["a:lastRow", "a:tcStyle", "a:tcBdr"]);
- if (borderStyl !== undefined) {
- var local_row_borders = getTableBorders(borderStyl, warpObj);
- if (local_row_borders != "") {
- row_borders = local_row_borders;
- }
- }
- var rowTxtStyl = getTextByPathList(thisTblStyle, ["a:lastRow", "a:tcTxStyle"]);
- if (rowTxtStyl !== undefined) {
- var local_fontClrPr = getSolidFill(rowTxtStyl, undefined, undefined, warpObj);
- if (local_fontClrPr !== undefined) {
- fontClrPr = local_fontClrPr;
- }
- var local_fontWeight = ((getTextByPathList(rowTxtStyl, ["attrs", "b"]) == "on") ? "bold" : "");
- if (local_fontWeight !== "") {
- fontWeight = local_fontWeight;
- }
- }
- }
- rowsStyl += ((row_borders !== undefined) ? row_borders : "");
- rowsStyl += ((fontClrPr !== undefined) ? " color: #" + fontClrPr + ";" : "");
- rowsStyl += ((fontWeight != "") ? " font-weight:" + fontWeight + ";" : "");
- if (fillColor !== undefined && fillColor != "") {
- //rowsStyl += "background-color: rgba(" + hexToRgbNew(fillColor) + "," + colorOpacity + ");";
- rowsStyl += "background-color: #" + fillColor + ";";
- }
- tableHtml += "<tr style='" + rowsStyl + "'>";
- ////////////////////////////////////////////////
- var tcNodes = trNodes[i]["a:tc"];
- if (tcNodes !== undefined) {
- if (tcNodes.constructor === Array) {
- //multi columns
- var j = 0;
- if (rowSpanAry.length == 0) {
- rowSpanAry = Array.apply(null, Array(tcNodes.length)).map(function () { return 0 });
- }
- var totalColSpan = 0;
- while (j < tcNodes.length) {
- if (rowSpanAry[j] == 0 && totalColSpan == 0) {
- var a_sorce;
- //j=0 : first col
- if (j == 0 && tblStylAttrObj["isFrstColAttr"] == 1) {
- a_sorce = "a:firstCol";
- if (tblStylAttrObj["isLstRowAttr"] == 1 && i == (trNodes.length - 1) &&
- getTextByPathList(thisTblStyle, ["a:seCell"]) !== undefined) {
- a_sorce = "a:seCell";
- } else if (tblStylAttrObj["isFrstRowAttr"] == 1 && i == 0 &&
- getTextByPathList(thisTblStyle, ["a:neCell"]) !== undefined) {
- a_sorce = "a:neCell";
- }
- } else if ((j > 0 && tblStylAttrObj["isBandColAttr"] == 1) &&
- !(tblStylAttrObj["isFrstColAttr"] == 1 && i == 0) &&
- !(tblStylAttrObj["isLstRowAttr"] == 1 && i == (trNodes.length - 1)) &&
- j != (tcNodes.length - 1)) {
- if ((j % 2) != 0) {
- var aBandNode = getTextByPathList(thisTblStyle, ["a:band2V"]);
- if (aBandNode === undefined) {
- aBandNode = getTextByPathList(thisTblStyle, ["a:band1V"]);
- if (aBandNode !== undefined) {
- a_sorce = "a:band2V";
- }
- } else {
- a_sorce = "a:band2V";
- }
- }
- }
- if (j == (tcNodes.length - 1) && tblStylAttrObj["isLstColAttr"] == 1) {
- a_sorce = "a:lastCol";
- if (tblStylAttrObj["isLstRowAttr"] == 1 && i == (trNodes.length - 1) && getTextByPathList(thisTblStyle, ["a:swCell"]) !== undefined) {
- a_sorce = "a:swCell";
- } else if (tblStylAttrObj["isFrstRowAttr"] == 1 && i == 0 && getTextByPathList(thisTblStyle, ["a:nwCell"]) !== undefined) {
- a_sorce = "a:nwCell";
- }
- }
- var cellParmAry = getTableCellParams(tcNodes[j], getColsGrid, i , j , thisTblStyle, a_sorce, warpObj)
- var text = cellParmAry[0];
- var colStyl = cellParmAry[1];
- var cssName = cellParmAry[2];
- var rowSpan = cellParmAry[3];
- var colSpan = cellParmAry[4];
- if (rowSpan !== undefined) {
- totalrowSpan++;
- rowSpanAry[j] = parseInt(rowSpan) - 1;
- tableHtml += "<td class='" + cssName + "' data-row='" + i + "," + j + "' rowspan ='" +
- parseInt(rowSpan) + "' style='" + colStyl + "'>" + text + "</td>";
- } else if (colSpan !== undefined) {
- tableHtml += "<td class='" + cssName + "' data-row='" + i + "," + j + "' colspan = '" +
- parseInt(colSpan) + "' style='" + colStyl + "'>" + text + "</td>";
- totalColSpan = parseInt(colSpan) - 1;
- } else {
- tableHtml += "<td class='" + cssName + "' data-row='" + i + "," + j + "' style = '" + colStyl + "'>" + text + "</td>";
- }
- } else {
- if (rowSpanAry[j] != 0) {
- rowSpanAry[j] -= 1;
- }
- if (totalColSpan != 0) {
- totalColSpan--;
- }
- }
- j++;
- }
- } else {
- //single column
- var a_sorce;
- if (tblStylAttrObj["isFrstColAttr"] == 1 && !(tblStylAttrObj["isLstRowAttr"] == 1)) {
- a_sorce = "a:firstCol";
- } else if ((tblStylAttrObj["isBandColAttr"] == 1) && !(tblStylAttrObj["isLstRowAttr"] == 1)) {
- var aBandNode = getTextByPathList(thisTblStyle, ["a:band2V"]);
- if (aBandNode === undefined) {
- aBandNode = getTextByPathList(thisTblStyle, ["a:band1V"]);
- if (aBandNode !== undefined) {
- a_sorce = "a:band2V";
- }
- } else {
- a_sorce = "a:band2V";
- }
- }
- if (tblStylAttrObj["isLstColAttr"] == 1 && !(tblStylAttrObj["isLstRowAttr"] == 1)) {
- a_sorce = "a:lastCol";
- }
- var cellParmAry = getTableCellParams(tcNodes, getColsGrid , i , undefined , thisTblStyle, a_sorce, warpObj)
- var text = cellParmAry[0];
- var colStyl = cellParmAry[1];
- var cssName = cellParmAry[2];
- var rowSpan = cellParmAry[3];
- if (rowSpan !== undefined) {
- tableHtml += "<td class='" + cssName + "' rowspan='" + parseInt(rowSpan) + "' style = '" + colStyl + "'>" + text + "</td>";
- } else {
- tableHtml += "<td class='" + cssName + "' style='" + colStyl + "'>" + text + "</td>";
- }
- }
- }
- tableHtml += "</tr>";
- }
- //////////////////////////////////////////////////////////////////////////////////
-
- return tableHtml;
- }
-
- function getTableCellParams(tcNodes, getColsGrid , row_idx , col_idx , thisTblStyle, cellSource, warpObj) {
- //thisTblStyle["a:band1V"] => thisTblStyle[cellSource]
- //text, cell-width, cell-borders,
- //var text = genTextBody(tcNodes["a:txBody"], tcNodes, undefined, undefined, undefined, undefined, warpObj);//tableStyles
- var rowSpan = getTextByPathList(tcNodes, ["attrs", "rowSpan"]);
- var colSpan = getTextByPathList(tcNodes, ["attrs", "gridSpan"]);
- var vMerge = getTextByPathList(tcNodes, ["attrs", "vMerge"]);
- var hMerge = getTextByPathList(tcNodes, ["attrs", "hMerge"]);
- var colStyl = "word-wrap: break-word;";
- var colWidth;
- var celFillColor = "";
- var col_borders = "";
- var colFontClrPr = "";
- var colFontWeight = "";
- var lin_bottm = "",
- lin_top = "",
- lin_left = "",
- lin_right = "",
- lin_bottom_left_to_top_right = "",
- lin_top_left_to_bottom_right = "";
-
- var colSapnInt = parseInt(colSpan);
- var total_col_width = 0;
- if (!isNaN(colSapnInt) && colSapnInt > 1){
- for (var k = 0; k < colSapnInt ; k++) {
- total_col_width += parseInt(getTextByPathList(getColsGrid[col_idx + k], ["attrs", "w"]));
- }
- }else{
- total_col_width = getTextByPathList((col_idx === undefined) ? getColsGrid : getColsGrid[col_idx], ["attrs", "w"]);
- }
-
- var text = genTextBody(tcNodes["a:txBody"], tcNodes, undefined, undefined, undefined, undefined, warpObj, total_col_width);//tableStyles
- if (total_col_width != 0 /*&& row_idx == 0*/) {
- colWidth = parseInt(total_col_width) * slideFactor;
- colStyl += "width:" + colWidth + "px;";
- }
- //cell bords
- lin_bottm = getTextByPathList(tcNodes, ["a:tcPr", "a:lnB"]);
- if (lin_bottm === undefined && cellSource !== undefined) {
- if (cellSource !== undefined)
- lin_bottm = getTextByPathList(thisTblStyle[cellSource], ["a:tcStyle", "a:tcBdr", "a:bottom", "a:ln"]);
- if (lin_bottm === undefined) {
- lin_bottm = getTextByPathList(thisTblStyle, ["a:wholeTbl", "a:tcStyle", "a:tcBdr", "a:bottom", "a:ln"]);
- }
- }
- lin_top = getTextByPathList(tcNodes, ["a:tcPr", "a:lnT"]);
- if (lin_top === undefined) {
- if (cellSource !== undefined)
- lin_top = getTextByPathList(thisTblStyle[cellSource], ["a:tcStyle", "a:tcBdr", "a:top", "a:ln"]);
- if (lin_top === undefined) {
- lin_top = getTextByPathList(thisTblStyle, ["a:wholeTbl", "a:tcStyle", "a:tcBdr", "a:top", "a:ln"]);
- }
- }
- lin_left = getTextByPathList(tcNodes, ["a:tcPr", "a:lnL"]);
- if (lin_left === undefined) {
- if (cellSource !== undefined)
- lin_left = getTextByPathList(thisTblStyle[cellSource], ["a:tcStyle", "a:tcBdr", "a:left", "a:ln"]);
- if (lin_left === undefined) {
- lin_left = getTextByPathList(thisTblStyle, ["a:wholeTbl", "a:tcStyle", "a:tcBdr", "a:left", "a:ln"]);
- }
- }
- lin_right = getTextByPathList(tcNodes, ["a:tcPr", "a:lnR"]);
- if (lin_right === undefined) {
- if (cellSource !== undefined)
- lin_right = getTextByPathList(thisTblStyle[cellSource], ["a:tcStyle", "a:tcBdr", "a:right", "a:ln"]);
- if (lin_right === undefined) {
- lin_right = getTextByPathList(thisTblStyle, ["a:wholeTbl", "a:tcStyle", "a:tcBdr", "a:right", "a:ln"]);
- }
- }
- lin_bottom_left_to_top_right = getTextByPathList(tcNodes, ["a:tcPr", "a:lnBlToTr"]);
- lin_top_left_to_bottom_right = getTextByPathList(tcNodes, ["a:tcPr", "a:InTlToBr"]);
- if (lin_bottm !== undefined && lin_bottm != "") {
- var bottom_line_border = getBorder(lin_bottm, undefined, false, "", warpObj)
- if (bottom_line_border != "") {
- colStyl += "border-bottom:" + bottom_line_border + ";";
- }
- }
- if (lin_top !== undefined && lin_top != "") {
- var top_line_border = getBorder(lin_top, undefined, false, "", warpObj);
- if (top_line_border != "") {
- colStyl += "border-top: " + top_line_border + ";";
- }
- }
- if (lin_left !== undefined && lin_left != "") {
- var left_line_border = getBorder(lin_left, undefined, false, "", warpObj)
- if (left_line_border != "") {
- colStyl += "border-left: " + left_line_border + ";";
- }
- }
- if (lin_right !== undefined && lin_right != "") {
- var right_line_border = getBorder(lin_right, undefined, false, "", warpObj)
- if (right_line_border != "") {
- colStyl += "border-right:" + right_line_border + ";";
- }
- }
- //cell fill color custom
- var getCelFill = getTextByPathList(tcNodes, ["a:tcPr"]);
- if (getCelFill !== undefined && getCelFill != "") {
- var cellObj = {
- "p:spPr": getCelFill
- };
- celFillColor = getShapeFill(cellObj, undefined, false, warpObj, "slide")
- }
- //cell fill color theme
- if (celFillColor == "" || celFillColor == "background-color: inherit;") {
- var bgFillschemeClr;
- if (cellSource !== undefined)
- bgFillschemeClr = getTextByPathList(thisTblStyle, [cellSource, "a:tcStyle", "a:fill", "a:solidFill"]);
- if (bgFillschemeClr !== undefined) {
- var local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj);
- if (local_fillColor !== undefined) {
- celFillColor = " background-color: #" + local_fillColor + ";";
- }
- }
- }
- var cssName = "";
- if (celFillColor !== undefined && celFillColor != "") {
- if (celFillColor in styleTable) {
- cssName = styleTable[celFillColor]["name"];
- } else {
- cssName = "_tbl_cell_css_" + (Object.keys(styleTable).length + 1);
- styleTable[celFillColor] = {
- "name": cssName,
- "text": celFillColor
- };
- }
- }
- //border
- // var borderStyl = getTextByPathList(thisTblStyle, [cellSource, "a:tcStyle", "a:tcBdr"]);
- // if (borderStyl !== undefined) {
- // var local_col_borders = getTableBorders(borderStyl, warpObj);
- // if (local_col_borders != "") {
- // col_borders = local_col_borders;
- // }
- // }
- // if (col_borders != "") {
- // colStyl += col_borders;
- // }
- //Text style
- var rowTxtStyl;
- if (cellSource !== undefined) {
- rowTxtStyl = getTextByPathList(thisTblStyle, [cellSource, "a:tcTxStyle"]);
- }
- // if (rowTxtStyl === undefined) {
- // rowTxtStyl = getTextByPathList(thisTblStyle, ["a:wholeTbl", "a:tcTxStyle"]);
- // }
- if (rowTxtStyl !== undefined) {
- var local_fontClrPr = getSolidFill(rowTxtStyl, undefined, undefined, warpObj);
- if (local_fontClrPr !== undefined) {
- colFontClrPr = local_fontClrPr;
- }
- var local_fontWeight = ((getTextByPathList(rowTxtStyl, ["attrs", "b"]) == "on") ? "bold" : "");
- if (local_fontWeight !== "") {
- colFontWeight = local_fontWeight;
- }
- }
- colStyl += ((colFontClrPr !== "") ? "color: #" + colFontClrPr + ";" : "");
- colStyl += ((colFontWeight != "") ? " font-weight:" + colFontWeight + ";" : "");
- return [text, colStyl, cssName, rowSpan, colSpan];
- }
- function genChart(node, warpObj) {
- var order = node["attrs"]["order"];
- var xfrmNode = getTextByPathList(node, ["p:xfrm"]);
- var result = "<div id='chart" + chartID + "' class='block content' style='" +
- getPosition(xfrmNode, node, undefined, undefined) + getSize(xfrmNode, undefined, undefined) +
- " z-index: " + order + ";'></div>";
- var rid = node["a:graphic"]["a:graphicData"]["c:chart"]["attrs"]["r:id"];
- var refName = warpObj["slideResObj"][rid]["target"];
- var content = readXmlFile(warpObj["zip"], refName);
- var plotArea = getTextByPathList(content, ["c:chartSpace", "c:chart", "c:plotArea"]);
- var chartData = null;
- for (var key in plotArea) {
- switch (key) {
- case "c:lineChart":
- chartData = {
- "type": "createChart",
- "data": {
- "chartID": "chart" + chartID,
- "chartType": "lineChart",
- "chartData": extractChartData(plotArea[key]["c:ser"])
- }
- };
- break;
- case "c:barChart":
- chartData = {
- "type": "createChart",
- "data": {
- "chartID": "chart" + chartID,
- "chartType": "barChart",
- "chartData": extractChartData(plotArea[key]["c:ser"])
- }
- };
- break;
- case "c:pieChart":
- chartData = {
- "type": "createChart",
- "data": {
- "chartID": "chart" + chartID,
- "chartType": "pieChart",
- "chartData": extractChartData(plotArea[key]["c:ser"])
- }
- };
- break;
- case "c:pie3DChart":
- chartData = {
- "type": "createChart",
- "data": {
- "chartID": "chart" + chartID,
- "chartType": "pie3DChart",
- "chartData": extractChartData(plotArea[key]["c:ser"])
- }
- };
- break;
- case "c:areaChart":
- chartData = {
- "type": "createChart",
- "data": {
- "chartID": "chart" + chartID,
- "chartType": "areaChart",
- "chartData": extractChartData(plotArea[key]["c:ser"])
- }
- };
- break;
- case "c:scatterChart":
- chartData = {
- "type": "createChart",
- "data": {
- "chartID": "chart" + chartID,
- "chartType": "scatterChart",
- "chartData": extractChartData(plotArea[key]["c:ser"])
- }
- };
- break;
- case "c:catAx":
- break;
- case "c:valAx":
- break;
- default:
- }
- }
- if (chartData !== null) {
- MsgQueue.push(chartData);
- }
- chartID++;
- return result;
- }
- function genDiagram(node, warpObj, source, sType) {
- //console.log(warpObj)
- //readXmlFile(zip, sldFileName)
- /**files define the diagram:
- * 1-colors#.xml,
- * 2-data#.xml,
- * 3-layout#.xml,
- * 4-quickStyle#.xml.
- * 5-drawing#.xml, which Microsoft added as an extension for persisting diagram layout information.
- */
- ///get colors#.xml, data#.xml , layout#.xml , quickStyle#.xml
- var order = node["attrs"]["order"];
- var zip = warpObj["zip"];
- var xfrmNode = getTextByPathList(node, ["p:xfrm"]);
- var dgmRelIds = getTextByPathList(node, ["a:graphic", "a:graphicData", "dgm:relIds", "attrs"]);
- //console.log(dgmRelIds)
- var dgmClrFileId = dgmRelIds["r:cs"];
- var dgmDataFileId = dgmRelIds["r:dm"];
- var dgmLayoutFileId = dgmRelIds["r:lo"];
- var dgmQuickStyleFileId = dgmRelIds["r:qs"];
- var dgmClrFileName = warpObj["slideResObj"][dgmClrFileId].target,
- dgmDataFileName = warpObj["slideResObj"][dgmDataFileId].target,
- dgmLayoutFileName = warpObj["slideResObj"][dgmLayoutFileId].target;
- dgmQuickStyleFileName = warpObj["slideResObj"][dgmQuickStyleFileId].target;
- //console.log("dgmClrFileName: " , dgmClrFileName,", dgmDataFileName: ",dgmDataFileName,", dgmLayoutFileName: ",dgmLayoutFileName,", dgmQuickStyleFileName: ",dgmQuickStyleFileName);
- var dgmClr = readXmlFile(zip, dgmClrFileName);
- var dgmData = readXmlFile(zip, dgmDataFileName);
- var dgmLayout = readXmlFile(zip, dgmLayoutFileName);
- var dgmQuickStyle = readXmlFile(zip, dgmQuickStyleFileName);
- //console.log(dgmClr,dgmData,dgmLayout,dgmQuickStyle)
- ///get drawing#.xml
- // var dgmDrwFileName = "";
- // var dataModelExt = getTextByPathList(dgmData, ["dgm:dataModel", "dgm:extLst", "a:ext", "dsp:dataModelExt", "attrs"]);
- // if (dataModelExt !== undefined) {
- // var dgmDrwFileId = dataModelExt["relId"];
- // dgmDrwFileName = warpObj["slideResObj"][dgmDrwFileId]["target"];
- // }
- // var dgmDrwFile = "";
- // if (dgmDrwFileName != "") {
- // dgmDrwFile = readXmlFile(zip, dgmDrwFileName);
- // }
- // var dgmDrwSpArray = getTextByPathList(dgmDrwFile, ["dsp:drawing", "dsp:spTree", "dsp:sp"]);
- //var dgmDrwSpArray = getTextByPathList(warpObj["digramFileContent"], ["dsp:drawing", "dsp:spTree", "dsp:sp"]);
- var dgmDrwSpArray = getTextByPathList(warpObj["digramFileContent"], ["p:drawing", "p:spTree", "p:sp"]);
- var rslt = "";
- if (dgmDrwSpArray !== undefined) {
- var dgmDrwSpArrayLen = dgmDrwSpArray.length;
- for (var i = 0; i < dgmDrwSpArrayLen; i++) {
- var dspSp = dgmDrwSpArray[i];
- // var dspSpObjToStr = JSON.stringify(dspSp);
- // var pSpStr = dspSpObjToStr.replace(/dsp:/g, "p:");
- // var pSpStrToObj = JSON.parse(pSpStr);
- //console.log("pSpStrToObj[" + i + "]: ", pSpStrToObj);
- //rslt += processSpNode(pSpStrToObj, node, warpObj, "diagramBg", sType)
- rslt += processSpNode(dspSp, node, warpObj, "diagramBg", sType)
- }
- // dgmDrwFile: "dsp:"-> "p:"
- }
- return "<div class='block diagram-content' style='" +
- getPosition(xfrmNode, node, undefined, undefined, sType) +
- getSize(xfrmNode, undefined, undefined) +
- "'>" + rslt + "</div>";
- }
- function getPosition(slideSpNode, pNode, slideLayoutSpNode, slideMasterSpNode, sType) {
- var off;
- var x = -1, y = -1;
- if (slideSpNode !== undefined) {
- off = slideSpNode["a:off"]["attrs"];
- }
- if (off === undefined && slideLayoutSpNode !== undefined) {
- off = slideLayoutSpNode["a:off"]["attrs"];
- } else if (off === undefined && slideMasterSpNode !== undefined) {
- off = slideMasterSpNode["a:off"]["attrs"];
- }
- var offX = 0, offY = 0;
- var grpX = 0, grpY = 0;
- if (sType == "group") {
- var grpXfrmNode = getTextByPathList(pNode, ["p:grpSpPr", "a:xfrm"]);
- if (xfrmNode !== undefined) {
- grpX = parseInt(grpXfrmNode["a:off"]["attrs"]["x"]) * slideFactor;
- grpY = parseInt(grpXfrmNode["a:off"]["attrs"]["y"]) * slideFactor;
- // var chx = parseInt(grpXfrmNode["a:chOff"]["attrs"]["x"]) * slideFactor;
- // var chy = parseInt(grpXfrmNode["a:chOff"]["attrs"]["y"]) * slideFactor;
- // var cx = parseInt(grpXfrmNode["a:ext"]["attrs"]["cx"]) * slideFactor;
- // var cy = parseInt(grpXfrmNode["a:ext"]["attrs"]["cy"]) * slideFactor;
- // var chcx = parseInt(grpXfrmNode["a:chExt"]["attrs"]["cx"]) * slideFactor;
- // var chcy = parseInt(grpXfrmNode["a:chExt"]["attrs"]["cy"]) * slideFactor;
- // var rotate = parseInt(grpXfrmNode["attrs"]["rot"])
- }
- }
- if (sType == "group-rotate" && pNode["p:grpSpPr"] !== undefined) {
- var xfrmNode = pNode["p:grpSpPr"]["a:xfrm"];
- // var ox = parseInt(xfrmNode["a:off"]["attrs"]["x"]) * slideFactor;
- // var oy = parseInt(xfrmNode["a:off"]["attrs"]["y"]) * slideFactor;
- var chx = parseInt(xfrmNode["a:chOff"]["attrs"]["x"]) * slideFactor;
- var chy = parseInt(xfrmNode["a:chOff"]["attrs"]["y"]) * slideFactor;
- offX = chx;
- offY = chy;
- }
- if (off === undefined) {
- return "";
- } else {
- x = parseInt(off["x"]) * slideFactor;
- y = parseInt(off["y"]) * slideFactor;
- // if (type = "body")
- // console.log("getPosition: slideSpNode: ", slideSpNode, ", type: ", type, "x: ", x, "offX:", offX, "y:", y, "offY:", offY)
- return (isNaN(x) || isNaN(y)) ? "" : "top:" + (y - offY + grpY) + "px; left:" + (x - offX + grpX) + "px;";
- }
- }
- function getSize(slideSpNode, slideLayoutSpNode, slideMasterSpNode) {
- var ext = undefined;
- var w = -1, h = -1;
- if (slideSpNode !== undefined) {
- ext = slideSpNode["a:ext"]["attrs"];
- } else if (slideLayoutSpNode !== undefined) {
- ext = slideLayoutSpNode["a:ext"]["attrs"];
- } else if (slideMasterSpNode !== undefined) {
- ext = slideMasterSpNode["a:ext"]["attrs"];
- }
- if (ext === undefined) {
- return "";
- } else {
- w = parseInt(ext["cx"]) * slideFactor;
- h = parseInt(ext["cy"]) * slideFactor;
- return (isNaN(w) || isNaN(h)) ? "" : "width:" + w + "px; height:" + h + "px;";
- }
- }
- function getVerticalMargins(pNode, textBodyNode, type, idx, warpObj) {
- //margin-top ;
- //a:pPr => a:spcBef => a:spcPts (/100) | a:spcPct (/?)
- //margin-bottom
- //a:pPr => a:spcAft => a:spcPts (/100) | a:spcPct (/?)
- //+
- //a:pPr =>a:lnSpc => a:spcPts (/?) | a:spcPct (/?)
- //console.log("getVerticalMargins ", pNode, type,idx, warpObj)
- //var lstStyle = textBodyNode["a:lstStyle"];
- var lvl = 1
- var spcBefNode = getTextByPathList(pNode, ["a:pPr", "a:spcBef", "a:spcPts", "attrs", "val"]);
- var spcAftNode = getTextByPathList(pNode, ["a:pPr", "a:spcAft", "a:spcPts", "attrs", "val"]);
- var lnSpcNode = getTextByPathList(pNode, ["a:pPr", "a:lnSpc", "a:spcPct", "attrs", "val"]);
- var lnSpcNodeType = "Pct";
- if (lnSpcNode === undefined) {
- lnSpcNode = getTextByPathList(pNode, ["a:pPr", "a:lnSpc", "a:spcPts", "attrs", "val"]);
- if (lnSpcNode !== undefined) {
- lnSpcNodeType = "Pts";
- }
- }
- var lvlNode = getTextByPathList(pNode, ["a:pPr", "attrs", "lvl"]);
- if (lvlNode !== undefined) {
- lvl = parseInt(lvlNode) + 1;
- }
- var fontSize;
- if (getTextByPathList(pNode, ["a:r"]) !== undefined) {
- var fontSizeStr = getFontSize(pNode["a:r"], textBodyNode,undefined, lvl, type, warpObj);
- if (fontSizeStr != "inherit") {
- fontSize = parseInt(fontSizeStr, "px"); //pt
- }
- }
- //var spcBef = "";
- //console.log("getVerticalMargins 1", fontSizeStr, fontSize, lnSpcNode, parseInt(lnSpcNode) / 100000, spcBefNode, spcAftNode)
- // if(spcBefNode !== undefined){
- // spcBef = "margin-top:" + parseInt(spcBefNode)/100 + "pt;"
- // }
- // else{
- // //i did not found case with percentage
- // spcBefNode = getTextByPathList(pNode, ["a:pPr", "a:spcBef", "a:spcPct","attrs","val"]);
- // if(spcBefNode !== undefined){
- // spcBef = "margin-top:" + parseInt(spcBefNode)/100 + "%;"
- // }
- // }
- //var spcAft = "";
- // if(spcAftNode !== undefined){
- // spcAft = "margin-bottom:" + parseInt(spcAftNode)/100 + "pt;"
- // }
- // else{
- // //i did not found case with percentage
- // spcAftNode = getTextByPathList(pNode, ["a:pPr", "a:spcAft", "a:spcPct","attrs","val"]);
- // if(spcAftNode !== undefined){
- // spcBef = "margin-bottom:" + parseInt(spcAftNode)/100 + "%;"
- // }
- // }
- // if(spcAftNode !== undefined){
- // //check in layout and then in master
- // }
- var isInLayoutOrMaster = true;
- if(type == "shape" || type == "textBox"){
- isInLayoutOrMaster = false;
- }
- if (isInLayoutOrMaster && (spcBefNode === undefined || spcAftNode === undefined || lnSpcNode === undefined)) {
- //check in layout
- if (idx !== undefined) {
- var laypPrNode = getTextByPathList(warpObj, ["slideLayoutTables", "idxTable", idx, "p:txBody", "a:p", (lvl - 1), "a:pPr"]);
- if (spcBefNode === undefined) {
- spcBefNode = getTextByPathList(laypPrNode, ["a:spcBef", "a:spcPts", "attrs", "val"]);
- // if(spcBefNode !== undefined){
- // spcBef = "margin-top:" + parseInt(spcBefNode)/100 + "pt;"
- // }
- // else{
- // //i did not found case with percentage
- // spcBefNode = getTextByPathList(laypPrNode, ["a:spcBef", "a:spcPct","attrs","val"]);
- // if(spcBefNode !== undefined){
- // spcBef = "margin-top:" + parseInt(spcBefNode)/100 + "%;"
- // }
- // }
- }
- if (spcAftNode === undefined) {
- spcAftNode = getTextByPathList(laypPrNode, ["a:spcAft", "a:spcPts", "attrs", "val"]);
- // if(spcAftNode !== undefined){
- // spcAft = "margin-bottom:" + parseInt(spcAftNode)/100 + "pt;"
- // }
- // else{
- // //i did not found case with percentage
- // spcAftNode = getTextByPathList(laypPrNode, ["a:spcAft", "a:spcPct","attrs","val"]);
- // if(spcAftNode !== undefined){
- // spcBef = "margin-bottom:" + parseInt(spcAftNode)/100 + "%;"
- // }
- // }
- }
- if (lnSpcNode === undefined) {
- lnSpcNode = getTextByPathList(laypPrNode, ["a:lnSpc", "a:spcPct", "attrs", "val"]);
- if (lnSpcNode === undefined) {
- lnSpcNode = getTextByPathList(laypPrNode, ["a:pPr", "a:lnSpc", "a:spcPts", "attrs", "val"]);
- if (lnSpcNode !== undefined) {
- lnSpcNodeType = "Pts";
- }
- }
- }
- }
- }
- if (isInLayoutOrMaster && (spcBefNode === undefined || spcAftNode === undefined || lnSpcNode === undefined)) {
- //check in master
- //slideMasterTextStyles
- var slideMasterTextStyles = warpObj["slideMasterTextStyles"];
- var dirLoc = "";
- var lvl = "a:lvl" + lvl + "pPr";
- switch (type) {
- case "title":
- case "ctrTitle":
- dirLoc = "p:titleStyle";
- break;
- case "body":
- case "obj":
- case "dt":
- case "ftr":
- case "sldNum":
- case "textBox":
- // case "shape":
- dirLoc = "p:bodyStyle";
- break;
- case "shape":
- //case "textBox":
- default:
- dirLoc = "p:otherStyle";
- }
- // if (type == "shape" || type == "textBox") {
- // lvl = "a:lvl1pPr";
- // }
- var inLvlNode = getTextByPathList(slideMasterTextStyles, [dirLoc, lvl]);
- if (inLvlNode !== undefined) {
- if (spcBefNode === undefined) {
- spcBefNode = getTextByPathList(inLvlNode, ["a:spcBef", "a:spcPts", "attrs", "val"]);
- // if(spcBefNode !== undefined){
- // spcBef = "margin-top:" + parseInt(spcBefNode)/100 + "pt;"
- // }
- // else{
- // //i did not found case with percentage
- // spcBefNode = getTextByPathList(inLvlNode, ["a:spcBef", "a:spcPct","attrs","val"]);
- // if(spcBefNode !== undefined){
- // spcBef = "margin-top:" + parseInt(spcBefNode)/100 + "%;"
- // }
- // }
- }
- if (spcAftNode === undefined) {
- spcAftNode = getTextByPathList(inLvlNode, ["a:spcAft", "a:spcPts", "attrs", "val"]);
- // if(spcAftNode !== undefined){
- // spcAft = "margin-bottom:" + parseInt(spcAftNode)/100 + "pt;"
- // }
- // else{
- // //i did not found case with percentage
- // spcAftNode = getTextByPathList(inLvlNode, ["a:spcAft", "a:spcPct","attrs","val"]);
- // if(spcAftNode !== undefined){
- // spcBef = "margin-bottom:" + parseInt(spcAftNode)/100 + "%;"
- // }
- // }
- }
- if (lnSpcNode === undefined) {
- lnSpcNode = getTextByPathList(inLvlNode, ["a:lnSpc", "a:spcPct", "attrs", "val"]);
- if (lnSpcNode === undefined) {
- lnSpcNode = getTextByPathList(inLvlNode, ["a:pPr", "a:lnSpc", "a:spcPts", "attrs", "val"]);
- if (lnSpcNode !== undefined) {
- lnSpcNodeType = "Pts";
- }
- }
- }
- }
- }
- var spcBefor = 0, spcAfter = 0, spcLines = 0;
- var marginTopBottomStr = "";
- if (spcBefNode !== undefined) {
- spcBefor = parseInt(spcBefNode) / 100;
- }
- if (spcAftNode !== undefined) {
- spcAfter = parseInt(spcAftNode) / 100;
- }
-
- if (lnSpcNode !== undefined && fontSize !== undefined) {
- if (lnSpcNodeType == "Pts") {
- marginTopBottomStr += "padding-top: " + ((parseInt(lnSpcNode) / 100) - fontSize) + "px;";//+ "pt;";
- } else {
- var fct = parseInt(lnSpcNode) / 100000;
- spcLines = fontSize * (fct - 1) - fontSize;// fontSize *
- var pTop = (fct > 1) ? spcLines : 0;
- var pBottom = (fct > 1) ? fontSize : 0;
- // marginTopBottomStr += "padding-top: " + spcLines + "pt;";
- // marginTopBottomStr += "padding-bottom: " + pBottom + "pt;";
- marginTopBottomStr += "padding-top: " + pBottom + "px;";// + "pt;";
- marginTopBottomStr += "padding-bottom: " + spcLines + "px;";// + "pt;";
- }
- }
- //if (spcBefNode !== undefined || lnSpcNode !== undefined) {
- marginTopBottomStr += "margin-top: " + (spcBefor - 1) + "px;";// + "pt;"; //margin-top: + spcLines // minus 1 - to fix space
- //}
- if (spcAftNode !== undefined || lnSpcNode !== undefined) {
- //marginTopBottomStr += "margin-bottom: " + ((spcAfter - fontSize < 0) ? 0 : (spcAfter - fontSize)) + "pt;"; //margin-bottom: + spcLines
- //marginTopBottomStr += "margin-bottom: " + spcAfter * (1 / 4) + "px;";// + "pt;";
- marginTopBottomStr += "margin-bottom: " + spcAfter + "px;";// + "pt;";
- }
- //console.log("getVerticalMargins 2 fontSize:", fontSize, "lnSpcNode:", lnSpcNode, "spcLines:", spcLines, "spcBefor:", spcBefor, "spcAfter:", spcAfter)
- //console.log("getVerticalMargins 3 ", marginTopBottomStr, pNode, warpObj)
- //return spcAft + spcBef;
- return marginTopBottomStr;
- }
- function getHorizontalAlign(node, textBodyNode, idx, type, prg_dir, warpObj) {
- var algn = getTextByPathList(node, ["a:pPr", "attrs", "algn"]);
- if (algn === undefined) {
- //var layoutMasterNode = getLayoutAndMasterNode(node, idx, type, warpObj);
- // var pPrNodeLaout = layoutMasterNode.nodeLaout;
- // var pPrNodeMaster = layoutMasterNode.nodeMaster;
- var lvlIdx = 1;
- var lvlNode = getTextByPathList(node, ["a:pPr", "attrs", "lvl"]);
- if (lvlNode !== undefined) {
- lvlIdx = parseInt(lvlNode) + 1;
- }
- var lvlStr = "a:lvl" + lvlIdx + "pPr";
- var lstStyle = textBodyNode["a:lstStyle"];
- algn = getTextByPathList(lstStyle, [lvlStr, "attrs", "algn"]);
- if (algn === undefined && idx !== undefined ) {
- //slidelayout
- algn = getTextByPathList(warpObj["slideLayoutTables"]["idxTable"][idx], ["p:txBody", "a:lstStyle", lvlStr, "attrs", "algn"]);
- if (algn === undefined) {
- algn = getTextByPathList(warpObj["slideLayoutTables"]["idxTable"][idx], ["p:txBody", "a:p", "a:pPr", "attrs", "algn"]);
- if (algn === undefined) {
- algn = getTextByPathList(warpObj["slideLayoutTables"]["idxTable"][idx], ["p:txBody", "a:p", (lvlIdx - 1), "a:pPr", "attrs", "algn"]);
- }
- }
- }
- if (algn === undefined) {
- if (type !== undefined) {
- //slidelayout
- algn = getTextByPathList(warpObj, ["slideLayoutTables", "typeTable", type, "p:txBody", "a:lstStyle", lvlStr, "attrs", "algn"]);
- if (algn === undefined) {
- //masterlayout
- if (type == "title" || type == "ctrTitle") {
- algn = getTextByPathList(warpObj, ["slideMasterTextStyles", "p:titleStyle", lvlStr, "attrs", "algn"]);
- } else if (type == "body" || type == "obj" || type == "subTitle") {
- algn = getTextByPathList(warpObj, ["slideMasterTextStyles", "p:bodyStyle", lvlStr, "attrs", "algn"]);
- } else if (type == "shape" || type == "diagram") {
- algn = getTextByPathList(warpObj, ["slideMasterTextStyles", "p:otherStyle", lvlStr, "attrs", "algn"]);
- } else if (type == "textBox") {
- algn = getTextByPathList(warpObj, ["defaultTextStyle", lvlStr, "attrs", "algn"]);
- } else {
- algn = getTextByPathList(warpObj, ["slideMasterTables", "typeTable", type, "p:txBody", "a:lstStyle", lvlStr, "attrs", "algn"]);
- }
- }
- } else {
- algn = getTextByPathList(warpObj, ["slideMasterTextStyles", "p:bodyStyle", lvlStr, "attrs", "algn"]);
- }
- }
- }
- if (algn === undefined) {
- if (type == "title" || type == "subTitle" || type == "ctrTitle") {
- return "h-mid";
- } else if (type == "sldNum") {
- return "h-right";
- }
- }
- if (algn !== undefined) {
- switch (algn) {
- case "l":
- if (prg_dir == "pregraph-rtl"){
- //return "h-right";
- return "h-left-rtl";
- }else{
- return "h-left";
- }
- break;
- case "r":
- if (prg_dir == "pregraph-rtl") {
- //return "h-left";
- return "h-right-rtl";
- }else{
- return "h-right";
- }
- break;
- case "ctr":
- return "h-mid";
- break;
- case "just":
- case "dist":
- default:
- return "h-" + algn;
- }
- }
- //return algn === "ctr" ? "h-mid" : algn === "r" ? "h-right" : "h-left";
- }
- function getPregraphDir(node, textBodyNode, idx, type, warpObj) {
- var rtl = getTextByPathList(node, ["a:pPr", "attrs", "rtl"]);
- //console.log("getPregraphDir node:", node, "textBodyNode", textBodyNode, "rtl:", rtl, "idx", idx, "type", type, "warpObj", warpObj)
-
- if (rtl === undefined) {
- var layoutMasterNode = getLayoutAndMasterNode(node, idx, type, warpObj);
- var pPrNodeLaout = layoutMasterNode.nodeLaout;
- var pPrNodeMaster = layoutMasterNode.nodeMaster;
- rtl = getTextByPathList(pPrNodeLaout, ["attrs", "rtl"]);
- if (rtl === undefined && type != "shape") {
- rtl = getTextByPathList(pPrNodeMaster, ["attrs", "rtl"]);
- }
- }
- if (rtl == "1") {
- return "pregraph-rtl";
- } else if (rtl == "0") {
- return "pregraph-ltr";
- }
- return "pregraph-inherit";
- // var contentDir = getContentDir(type, warpObj);
- // console.log("getPregraphDir node:", node["a:r"], "rtl:", rtl, "idx", idx, "type", type, "contentDir:", contentDir)
- // if (contentDir == "content"){
- // return "pregraph-ltr";
- // } else if (contentDir == "content-rtl"){
- // return "pregraph-rtl";
- // }
- // return "";
- }
- function getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) {
- //X, <a:bodyPr anchor="ctr">, <a:bodyPr anchor="b">
- var anchor = getTextByPathList(node, ["p:txBody", "a:bodyPr", "attrs", "anchor"]);
- //console.log("getVerticalAlign anchor:", anchor, "slideLayoutSpNode: ", slideLayoutSpNode)
- if (anchor === undefined) {
- //console.log("getVerticalAlign type:", type," node:", node, "slideLayoutSpNode:", slideLayoutSpNode, "slideMasterSpNode:", slideMasterSpNode)
- anchor = getTextByPathList(slideLayoutSpNode, ["p:txBody", "a:bodyPr", "attrs", "anchor"]);
- if (anchor === undefined) {
- anchor = getTextByPathList(slideMasterSpNode, ["p:txBody", "a:bodyPr", "attrs", "anchor"]);
- if (anchor === undefined) {
- //"If this attribute is omitted, then a value of t, or top is implied."
- anchor = "t";//getTextByPathList(slideMasterSpNode, ["p:txBody", "a:bodyPr", "attrs", "anchor"]);
- }
- }
- }
- //console.log("getVerticalAlign:", node, slideLayoutSpNode, slideMasterSpNode, type, anchor)
- return (anchor === "ctr")?"v-mid" : ((anchor === "b") ? "v-down" : "v-up");
- }
- function getContentDir(node, type, warpObj) {
- return "content";
- var defRtl = getTextByPathList(node, ["p:txBody", "a:lstStyle", "a:defPPr", "attrs", "rtl"]);
- if (defRtl !== undefined) {
- if (defRtl == "1"){
- return "content-rtl";
- } else if (defRtl == "0") {
- return "content";
- }
- }
- //var lvl1Rtl = getTextByPathList(node, ["p:txBody", "a:lstStyle", "lvl1pPr", "attrs", "rtl"]);
- // if (lvl1Rtl !== undefined) {
- // if (lvl1Rtl == "1") {
- // return "content-rtl";
- // } else if (lvl1Rtl == "0") {
- // return "content";
- // }
- // }
- var rtlCol = getTextByPathList(node, ["p:txBody", "a:bodyPr", "attrs", "rtlCol"]);
- if (rtlCol !== undefined) {
- if (rtlCol == "1") {
- return "content-rtl";
- } else if (rtlCol == "0") {
- return "content";
- }
- }
- //console.log("getContentDir node:", node, "rtlCol:", rtlCol)
- if (type === undefined) {
- return "content";
- }
- var slideMasterTextStyles = warpObj["slideMasterTextStyles"];
- var dirLoc = "";
- switch (type) {
- case "title":
- case "ctrTitle":
- dirLoc = "p:titleStyle";
- break;
- case "body":
- case "dt":
- case "ftr":
- case "sldNum":
- case "textBox":
- dirLoc = "p:bodyStyle";
- break;
- case "shape":
- dirLoc = "p:otherStyle";
- }
- if (slideMasterTextStyles !== undefined && dirLoc !== "") {
- var dirVal = getTextByPathList(slideMasterTextStyles[dirLoc], ["a:lvl1pPr", "attrs", "rtl"]);
- if (dirVal == "1") {
- return "content-rtl";
- }
- }
- // else {
- // if (type == "textBox") {
- // var dirVal = getTextByPathList(warpObj, ["defaultTextStyle", "a:lvl1pPr", "attrs", "rtl"]);
- // if (dirVal == "1") {
- // return "content-rtl";
- // }
- // }
- // }
- return "content";
- //console.log("getContentDir() type:", type, "slideMasterTextStyles:", slideMasterTextStyles,"dirNode:",dirVal)
- }
- function getFontType(node, type, warpObj, pFontStyle) {
- var typeface = getTextByPathList(node, ["a:rPr", "a:latin", "attrs", "typeface"]);
- if (typeface === undefined) {
- var fontIdx = "";
- var fontGrup = "";
- if (pFontStyle !== undefined) {
- fontIdx = getTextByPathList(pFontStyle, ["attrs", "idx"]);
- }
- var fontSchemeNode = getTextByPathList(warpObj["themeContent"], ["a:theme", "a:themeElements", "a:fontScheme"]);
- if (fontIdx == "") {
- if (type == "title" || type == "subTitle" || type == "ctrTitle") {
- fontIdx = "major";
- } else {
- fontIdx = "minor";
- }
- }
- fontGrup = "a:" + fontIdx + "Font";
- typeface = getTextByPathList(fontSchemeNode, [fontGrup, "a:latin", "attrs", "typeface"]);
- }
- return (typeface === undefined) ? "inherit" : typeface;
- }
- function getFontColorPr(node, pNode, lstStyle, pFontStyle, lvl, idx, type, warpObj) {
- //text border using: text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
- //{getFontColor(..) return color} -> getFontColorPr(..) return array[color,textBordr/shadow]
- //https://stackoverflow.com/questions/2570972/css-font-border
- //https://www.w3schools.com/cssref/css3_pr_text-shadow.asp
- //themeContent
- //console.log("getFontColorPr>> type:", type, ", node: ", node)
- var rPrNode = getTextByPathList(node, ["a:rPr"]);
- var filTyp, color, textBordr, colorType = "", highlightColor = "";
- //console.log("getFontColorPr type:", type, ", node: ", node, "pNode:", pNode, "pFontStyle:", pFontStyle)
- if (rPrNode !== undefined) {
- filTyp = getFillType(rPrNode);
- if (filTyp == "SOLID_FILL") {
- var solidFillNode = rPrNode["a:solidFill"];// getTextByPathList(node, ["a:rPr", "a:solidFill"]);
- color = getSolidFill(solidFillNode, undefined, undefined, warpObj);
- var highlightNode = rPrNode["a:highlight"];
- if (highlightNode !== undefined) {
- highlightColor = getSolidFill(highlightNode, undefined, undefined, warpObj);
- }
- colorType = "solid";
- } else if (filTyp == "PATTERN_FILL") {
- var pattFill = rPrNode["a:pattFill"];// getTextByPathList(node, ["a:rPr", "a:pattFill"]);
- color = getPatternFill(pattFill, warpObj);
- colorType = "pattern";
- } else if (filTyp == "PIC_FILL") {
- color = getBgPicFill(rPrNode, "slideBg", warpObj, undefined, undefined);
- //color = getPicFill("slideBg", rPrNode["a:blipFill"], warpObj);
- colorType = "pic";
- } else if (filTyp == "GRADIENT_FILL") {
- var shpFill = rPrNode["a:gradFill"];
- color = getGradientFill(shpFill, warpObj);
- colorType = "gradient";
- }
- }
- if (color === undefined && getTextByPathList(lstStyle, ["a:lvl" + lvl + "pPr", "a:defRPr"]) !== undefined) {
- //lstStyle
- var lstStyledefRPr = getTextByPathList(lstStyle, ["a:lvl" + lvl + "pPr", "a:defRPr"]);
- filTyp = getFillType(lstStyledefRPr);
- if (filTyp == "SOLID_FILL") {
- var solidFillNode = lstStyledefRPr["a:solidFill"];// getTextByPathList(node, ["a:rPr", "a:solidFill"]);
- color = getSolidFill(solidFillNode, undefined, undefined, warpObj);
- var highlightNode = lstStyledefRPr["a:highlight"];
- if (highlightNode !== undefined) {
- highlightColor = getSolidFill(highlightNode, undefined, undefined, warpObj);
- }
- colorType = "solid";
- } else if (filTyp == "PATTERN_FILL") {
- var pattFill = lstStyledefRPr["a:pattFill"];// getTextByPathList(node, ["a:rPr", "a:pattFill"]);
- color = getPatternFill(pattFill, warpObj);
- colorType = "pattern";
- } else if (filTyp == "PIC_FILL") {
- color = getBgPicFill(lstStyledefRPr, "slideBg", warpObj, undefined, undefined);
- //color = getPicFill("slideBg", rPrNode["a:blipFill"], warpObj);
- colorType = "pic";
- } else if (filTyp == "GRADIENT_FILL") {
- var shpFill = lstStyledefRPr["a:gradFill"];
- color = getGradientFill(shpFill, warpObj);
- colorType = "gradient";
- }
- }
- if (color === undefined) {
- var sPstyle = getTextByPathList(pNode, ["p:style", "a:fontRef"]);
- if (sPstyle !== undefined) {
- color = getSolidFill(sPstyle, undefined, undefined, warpObj);
- if (color !== undefined) {
- colorType = "solid";
- }
- var highlightNode = sPstyle["a:highlight"]; //is "a:highlight" node in 'a:fontRef' ?
- if (highlightNode !== undefined) {
- highlightColor = getSolidFill(highlightNode, undefined, undefined, warpObj);
- }
- }
- if (color === undefined) {
- if (pFontStyle !== undefined) {
- color = getSolidFill(pFontStyle, undefined, undefined, warpObj);
- if (color !== undefined) {
- colorType = "solid";
- }
- }
- }
- }
- //console.log("getFontColorPr node", node, "colorType: ", colorType,"color: ",color)
- if (color === undefined) {
- var layoutMasterNode = getLayoutAndMasterNode(pNode, idx, type, warpObj);
- var pPrNodeLaout = layoutMasterNode.nodeLaout;
- var pPrNodeMaster = layoutMasterNode.nodeMaster;
- if (pPrNodeLaout !== undefined) {
- var defRpRLaout = getTextByPathList(pPrNodeLaout, ["a:defRPr", "a:solidFill"]);
- if (defRpRLaout !== undefined) {
- color = getSolidFill(defRpRLaout, undefined, undefined, warpObj);
- var highlightNode = getTextByPathList(pPrNodeLaout, ["a:defRPr", "a:highlight"]);
- if (highlightNode !== undefined) {
- highlightColor = getSolidFill(highlightNode, undefined, undefined, warpObj);
- }
- colorType = "solid";
- }
- }
- if (color === undefined) {
- if (pPrNodeMaster !== undefined) {
- var defRprMaster = getTextByPathList(pPrNodeMaster, ["a:defRPr", "a:solidFill"]);
- if (defRprMaster !== undefined) {
- color = getSolidFill(defRprMaster, undefined, undefined, warpObj);
- var highlightNode = getTextByPathList(pPrNodeMaster, ["a:defRPr", "a:highlight"]);
- if (highlightNode !== undefined) {
- highlightColor = getSolidFill(highlightNode, undefined, undefined, warpObj);
- }
- colorType = "solid";
- }
- }
- }
- }
- var txtEffects = [];
- var txtEffObj = {}
- //textBordr
- var txtBrdrNode = getTextByPathList(node, ["a:rPr", "a:ln"]);
- var textBordr = "";
- if (txtBrdrNode !== undefined && txtBrdrNode["a:noFill"] === undefined) {
- var txBrd = getBorder(node, pNode, false, "text", warpObj);
- var txBrdAry = txBrd.split(" ");
- //var brdSize = (parseInt(txBrdAry[0].substring(0, txBrdAry[0].indexOf("pt")))) + "px";
- var brdSize = (parseInt(txBrdAry[0].substring(0, txBrdAry[0].indexOf("px")))) + "px";
- var brdClr = txBrdAry[2];
- //var brdTyp = txBrdAry[1]; //not in use
- //console.log("getFontColorPr txBrdAry:", txBrdAry)
- if (colorType == "solid") {
- textBordr = "-" + brdSize + " 0 " + brdClr + ", 0 " + brdSize + " " + brdClr + ", " + brdSize + " 0 " + brdClr + ", 0 -" + brdSize + " " + brdClr;
- // if (oShadowStr != "") {
- // textBordr += "," + oShadowStr;
- // } else {
- // textBordr += ";";
- // }
- txtEffects.push(textBordr);
- } else {
- //textBordr = brdSize + " " + brdClr;
- txtEffObj.border = brdSize + " " + brdClr;
- }
- }
- // else {
- // //if no border but exist/not exist shadow
- // if (colorType == "solid") {
- // textBordr = oShadowStr;
- // } else {
- // //TODO
- // }
- // }
- var txtGlowNode = getTextByPathList(node, ["a:rPr", "a:effectLst", "a:glow"]);
- var oGlowStr = "";
- if (txtGlowNode !== undefined) {
- var glowClr = getSolidFill(txtGlowNode, undefined, undefined, warpObj);
- var rad = (txtGlowNode["attrs"]["rad"]) ? (txtGlowNode["attrs"]["rad"] * slideFactor) : 0;
- oGlowStr = "0 0 " + rad + "px #" + glowClr +
- ", 0 0 " + rad + "px #" + glowClr +
- ", 0 0 " + rad + "px #" + glowClr +
- ", 0 0 " + rad + "px #" + glowClr +
- ", 0 0 " + rad + "px #" + glowClr +
- ", 0 0 " + rad + "px #" + glowClr +
- ", 0 0 " + rad + "px #" + glowClr;
- if (colorType == "solid") {
- txtEffects.push(oGlowStr);
- } else {
- // txtEffObj.glow = {
- // radiuse: rad,
- // color: glowClr
- // }
- txtEffects.push(
- "drop-shadow(0 0 " + rad / 3 + "px #" + glowClr + ") " +
- "drop-shadow(0 0 " + rad * 2 / 3 + "px #" + glowClr + ") " +
- "drop-shadow(0 0 " + rad + "px #" + glowClr + ")"
- );
- }
- }
- var txtShadow = getTextByPathList(node, ["a:rPr", "a:effectLst", "a:outerShdw"]);
- var oShadowStr = "";
- if (txtShadow !== undefined) {
- //https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/drop-shadow()
- //https://stackoverflow.com/questions/60468487/css-text-with-linear-gradient-shadow-and-text-outline
- //https://css-tricks.com/creating-playful-effects-with-css-text-shadows/
- //https://designshack.net/articles/css/12-fun-css-text-shadows-you-can-copy-and-paste/
- var shadowClr = getSolidFill(txtShadow, undefined, undefined, warpObj);
- var outerShdwAttrs = txtShadow["attrs"];
- // algn: "bl"
- // dir: "2640000"
- // dist: "38100"
- // rotWithShape: "0/1" - Specifies whether the shadow rotates with the shape if the shape is rotated.
- //blurRad (Blur Radius) - Specifies the blur radius of the shadow.
- //kx (Horizontal Skew) - Specifies the horizontal skew angle.
- //ky (Vertical Skew) - Specifies the vertical skew angle.
- //sx (Horizontal Scaling Factor) - Specifies the horizontal scaling slideFactor; negative scaling causes a flip.
- //sy (Vertical Scaling Factor) - Specifies the vertical scaling slideFactor; negative scaling causes a flip.
- var algn = outerShdwAttrs["algn"];
- var dir = (outerShdwAttrs["dir"]) ? (parseInt(outerShdwAttrs["dir"]) / 60000) : 0;
- var dist = parseInt(outerShdwAttrs["dist"]) * slideFactor;//(px) //* (3 / 4); //(pt)
- var rotWithShape = outerShdwAttrs["rotWithShape"];
- var blurRad = (outerShdwAttrs["blurRad"]) ? (parseInt(outerShdwAttrs["blurRad"]) * slideFactor + "px") : "";
- var sx = (outerShdwAttrs["sx"]) ? (parseInt(outerShdwAttrs["sx"]) / 100000) : 1;
- var sy = (outerShdwAttrs["sy"]) ? (parseInt(outerShdwAttrs["sy"]) / 100000) : 1;
- var vx = dist * Math.sin(dir * Math.PI / 180);
- var hx = dist * Math.cos(dir * Math.PI / 180);
- //console.log("getFontColorPr outerShdwAttrs:", outerShdwAttrs, ", shadowClr:", shadowClr, ", algn: ", algn, ",dir: ", dir, ", dist: ", dist, ",rotWithShape: ", rotWithShape, ", color: ", color)
- if (!isNaN(vx) && !isNaN(hx)) {
- oShadowStr = hx + "px " + vx + "px " + blurRad + " #" + shadowClr;// + ";";
- if (colorType == "solid") {
- txtEffects.push(oShadowStr);
- } else {
- // txtEffObj.oShadow = {
- // hx: hx,
- // vx: vx,
- // radius: blurRad,
- // color: shadowClr
- // }
- //txtEffObj.oShadow = hx + "px " + vx + "px " + blurRad + " #" + shadowClr;
- txtEffects.push("drop-shadow(" + hx + "px " + vx + "px " + blurRad + " #" + shadowClr + ")");
- }
- }
- //console.log("getFontColorPr vx:", vx, ", hx: ", hx, ", sx: ", sx, ", sy: ", sy, ",oShadowStr: ", oShadowStr)
- }
- //console.log("getFontColorPr>>> color:", color)
- // if (color === undefined || color === "FFF") {
- // color = "#000";
- // } else {
- // color = "" + color;
- // }
- var text_effcts = "", txt_effects;
- if (colorType == "solid") {
- if (txtEffects.length > 0) {
- text_effcts = txtEffects.join(",");
- }
- txt_effects = text_effcts + ";"
- } else {
- if (txtEffects.length > 0) {
- text_effcts = txtEffects.join(" ");
- }
- txtEffObj.effcts = text_effcts;
- txt_effects = txtEffObj
- }
- //console.log("getFontColorPr txt_effects:", txt_effects)
- //return [color, textBordr, colorType];
- return [color, txt_effects, colorType, highlightColor];
- }
- function getFontSize(node, textBodyNode, pFontStyle, lvl, type, warpObj) {
- // if(type == "sldNum")
- //console.log("getFontSize node:", node, "lstStyle", lstStyle, "lvl:", lvl, 'type:', type, "warpObj:", warpObj)
- var lstStyle = (textBodyNode !== undefined)? textBodyNode["a:lstStyle"] : undefined;
- var lvlpPr = "a:lvl" + lvl + "pPr";
- var fontSize = undefined;
- var sz, kern;
- if (node["a:rPr"] !== undefined) {
- fontSize = parseInt(node["a:rPr"]["attrs"]["sz"]) / 100;
- }
- if (isNaN(fontSize) || fontSize === undefined && node["a:fld"] !== undefined) {
- sz = getTextByPathList(node["a:fld"], ["a:rPr", "attrs", "sz"]);
- fontSize = parseInt(sz) / 100;
- }
- if ((isNaN(fontSize) || fontSize === undefined) && node["a:t"] === undefined) {
- sz = getTextByPathList(node["a:endParaRPr"], [ "attrs", "sz"]);
- fontSize = parseInt(sz) / 100;
- }
- if ((isNaN(fontSize) || fontSize === undefined) && lstStyle !== undefined) {
- sz = getTextByPathList(lstStyle, [lvlpPr, "a:defRPr", "attrs", "sz"]);
- fontSize = parseInt(sz) / 100;
- }
- //a:spAutoFit
- var isAutoFit = false;
- var isKerning = false;
- if (textBodyNode !== undefined){
- var spAutoFitNode = getTextByPathList(textBodyNode, ["a:bodyPr", "a:spAutoFit"]);
- // if (spAutoFitNode === undefined) {
- // spAutoFitNode = getTextByPathList(textBodyNode, ["a:bodyPr", "a:normAutofit"]);
- // }
- if (spAutoFitNode !== undefined){
- isAutoFit = true;
- isKerning = true;
- }
- }
- if (isNaN(fontSize) || fontSize === undefined) {
- // if (type == "shape" || type == "textBox") {
- // type = "body";
- // lvlpPr = "a:lvl1pPr";
- // }
- sz = getTextByPathList(warpObj["slideLayoutTables"], ["typeTable", type, "p:txBody", "a:lstStyle", lvlpPr, "a:defRPr", "attrs", "sz"]);
- fontSize = parseInt(sz) / 100;
- kern = getTextByPathList(warpObj["slideLayoutTables"], ["typeTable", type, "p:txBody", "a:lstStyle", lvlpPr, "a:defRPr", "attrs", "kern"]);
- if (isKerning && kern !== undefined && !isNaN(fontSize) && (fontSize - parseInt(kern) / 100) > 0){
- fontSize = fontSize - parseInt(kern) / 100;
- }
- }
- if (isNaN(fontSize) || fontSize === undefined) {
- // if (type == "shape" || type == "textBox") {
- // type = "body";
- // lvlpPr = "a:lvl1pPr";
- // }
- sz = getTextByPathList(warpObj["slideMasterTables"], ["typeTable", type, "p:txBody", "a:lstStyle", lvlpPr, "a:defRPr", "attrs", "sz"]);
- kern = getTextByPathList(warpObj["slideMasterTables"], ["typeTable", type, "p:txBody", "a:lstStyle", lvlpPr, "a:defRPr", "attrs", "kern"]);
- if (sz === undefined) {
- if (type == "title" || type == "subTitle" || type == "ctrTitle") {
- sz = getTextByPathList(warpObj["slideMasterTextStyles"], ["p:titleStyle", lvlpPr, "a:defRPr", "attrs", "sz"]);
- kern = getTextByPathList(warpObj["slideMasterTextStyles"], ["p:titleStyle", lvlpPr, "a:defRPr", "attrs", "kern"]);
- } else if (type == "body" || type == "obj" || type == "dt" || type == "sldNum" || type === "textBox") {
- sz = getTextByPathList(warpObj["slideMasterTextStyles"], ["p:bodyStyle", lvlpPr, "a:defRPr", "attrs", "sz"]);
- kern = getTextByPathList(warpObj["slideMasterTextStyles"], ["p:bodyStyle", lvlpPr, "a:defRPr", "attrs", "kern"]);
- }
- else if (type == "shape") {
- //textBox and shape text does not indent
- sz = getTextByPathList(warpObj["slideMasterTextStyles"], ["p:otherStyle", lvlpPr, "a:defRPr", "attrs", "sz"]);
- kern = getTextByPathList(warpObj["slideMasterTextStyles"], ["p:otherStyle", lvlpPr, "a:defRPr", "attrs", "kern"]);
- isKerning = false;
- }
- if (sz === undefined) {
- sz = getTextByPathList(warpObj["defaultTextStyle"], [lvlpPr, "a:defRPr", "attrs", "sz"]);
- kern = (kern === undefined)? getTextByPathList(warpObj["defaultTextStyle"], [lvlpPr, "a:defRPr", "attrs", "kern"]) : undefined;
- isKerning = false;
- }
- // else if (type === undefined || type == "shape") {
- // sz = getTextByPathList(warpObj["slideMasterTextStyles"], ["p:otherStyle", lvlpPr, "a:defRPr", "attrs", "sz"]);
- // kern = getTextByPathList(warpObj["slideMasterTextStyles"], ["p:otherStyle", lvlpPr, "a:defRPr", "attrs", "kern"]);
- // }
- // else if (type == "textBox") {
- // sz = getTextByPathList(warpObj["slideMasterTextStyles"], ["p:otherStyle", lvlpPr, "a:defRPr", "attrs", "sz"]);
- // kern = getTextByPathList(warpObj["slideMasterTextStyles"], ["p:otherStyle", lvlpPr, "a:defRPr", "attrs", "kern"]);
- // }
- }
- fontSize = parseInt(sz) / 100;
- if (isKerning && kern !== undefined && !isNaN(fontSize) && ((fontSize - parseInt(kern) / 100) > parseInt(kern) / 100 )) {
- fontSize = fontSize - parseInt(kern) / 100;
- //fontSize = parseInt(kern) / 100;
- }
- }
- var baseline = getTextByPathList(node, ["a:rPr", "attrs", "baseline"]);
- if (baseline !== undefined && !isNaN(fontSize)) {
- var baselineVl = parseInt(baseline) / 100000;
- //fontSize -= 10;
- // fontSize = fontSize * baselineVl;
- fontSize -= baselineVl;
- }
- if (!isNaN(fontSize)){
- var normAutofit = getTextByPathList(textBodyNode, ["a:bodyPr", "a:normAutofit", "attrs", "fontScale"]);
- if (normAutofit !== undefined && normAutofit != 0){
- //console.log("fontSize", fontSize, "normAutofit: ", normAutofit, normAutofit/100000)
- fontSize = Math.round(fontSize * (normAutofit / 100000))
- }
- }
- return isNaN(fontSize) ? ((type == "br") ? "initial" : "inherit") : (fontSize * fontSizeFactor + "px");// + "pt");
- }
- function getFontBold(node, type, slideMasterTextStyles) {
- return (node["a:rPr"] !== undefined && node["a:rPr"]["attrs"]["b"] === "1") ? "bold" : "inherit";
- }
- function getFontItalic(node, type, slideMasterTextStyles) {
- return (node["a:rPr"] !== undefined && node["a:rPr"]["attrs"]["i"] === "1") ? "italic" : "inherit";
- }
- function getFontDecoration(node, type, slideMasterTextStyles) {
- ///////////////////////////////Amir///////////////////////////////
- if (node["a:rPr"] !== undefined) {
- var underLine = node["a:rPr"]["attrs"]["u"] !== undefined ? node["a:rPr"]["attrs"]["u"] : "none";
- var strikethrough = node["a:rPr"]["attrs"]["strike"] !== undefined ? node["a:rPr"]["attrs"]["strike"] : 'noStrike';
- //console.log("strikethrough: "+strikethrough);
- if (underLine != "none" && strikethrough == "noStrike") {
- return "underline";
- } else if (underLine == "none" && strikethrough != "noStrike") {
- return "line-through";
- } else if (underLine != "none" && strikethrough != "noStrike") {
- return "underline line-through";
- } else {
- return "inherit";
- }
- } else {
- return "inherit";
- }
- /////////////////////////////////////////////////////////////////
- //return (node["a:rPr"] !== undefined && node["a:rPr"]["attrs"]["u"] === "sng") ? "underline" : "inherit";
- }
- ////////////////////////////////////Amir/////////////////////////////////////
- function getTextHorizontalAlign(node, pNode, type, warpObj) {
- //console.log("getTextHorizontalAlign: type: ", type, ", node: ", node)
- var getAlgn = getTextByPathList(node, ["a:pPr", "attrs", "algn"]);
- if (getAlgn === undefined) {
- getAlgn = getTextByPathList(pNode, ["a:pPr", "attrs", "algn"]);
- }
- if (getAlgn === undefined) {
- if (type == "title" || type == "ctrTitle" || type == "subTitle") {
- var lvlIdx = 1;
- var lvlNode = getTextByPathList(pNode, ["a:pPr", "attrs", "lvl"]);
- if (lvlNode !== undefined) {
- lvlIdx = parseInt(lvlNode) + 1;
- }
- var lvlStr = "a:lvl" + lvlIdx + "pPr";
- getAlgn = getTextByPathList(warpObj, ["slideLayoutTables", "typeTable", type, "p:txBody", "a:lstStyle", lvlStr, "attrs", "algn"]);
- if (getAlgn === undefined) {
- getAlgn = getTextByPathList(warpObj, ["slideMasterTables", "typeTable", type, "p:txBody", "a:lstStyle", lvlStr, "attrs", "algn"]);
- if (getAlgn === undefined) {
- getAlgn = getTextByPathList(warpObj, ["slideMasterTextStyles", "p:titleStyle", lvlStr, "attrs", "algn"]);
- if (getAlgn === undefined && type === "subTitle") {
- getAlgn = getTextByPathList(warpObj, ["slideMasterTextStyles", "p:bodyStyle", lvlStr, "attrs", "algn"]);
- }
- }
- }
- } else if (type == "body") {
- getAlgn = getTextByPathList(warpObj, ["slideMasterTextStyles", "p:bodyStyle", "a:lvl1pPr", "attrs", "algn"]);
- } else {
- getAlgn = getTextByPathList(warpObj, ["slideMasterTables", "typeTable", type, "p:txBody", "a:lstStyle", "a:lvl1pPr", "attrs", "algn"]);
- }
- }
- var align = "inherit";
- if (getAlgn !== undefined) {
- switch (getAlgn) {
- case "l":
- align = "left";
- break;
- case "r":
- align = "right";
- break;
- case "ctr":
- align = "center";
- break;
- case "just":
- align = "justify";
- break;
- case "dist":
- align = "justify";
- break;
- default:
- align = "inherit";
- }
- }
- return align;
- }
- /////////////////////////////////////////////////////////////////////
- function getTextVerticalAlign(node, type, slideMasterTextStyles) {
- var baseline = getTextByPathList(node, ["a:rPr", "attrs", "baseline"]);
- return baseline === undefined ? "baseline" : (parseInt(baseline) / 1000) + "%";
- }
- function getTableBorders(node, warpObj) {
- var borderStyle = "";
- if (node["a:bottom"] !== undefined) {
- var obj = {
- "p:spPr": {
- "a:ln": node["a:bottom"]["a:ln"]
- }
- }
- var borders = getBorder(obj, undefined, false, "shape", warpObj);
- borderStyle += borders.replace("border", "border-bottom");
- }
- if (node["a:top"] !== undefined) {
- var obj = {
- "p:spPr": {
- "a:ln": node["a:top"]["a:ln"]
- }
- }
- var borders = getBorder(obj, undefined, false, "shape", warpObj);
- borderStyle += borders.replace("border", "border-top");
- }
- if (node["a:right"] !== undefined) {
- var obj = {
- "p:spPr": {
- "a:ln": node["a:right"]["a:ln"]
- }
- }
- var borders = getBorder(obj, undefined, false, "shape", warpObj);
- borderStyle += borders.replace("border", "border-right");
- }
- if (node["a:left"] !== undefined) {
- var obj = {
- "p:spPr": {
- "a:ln": node["a:left"]["a:ln"]
- }
- }
- var borders = getBorder(obj, undefined, false, "shape", warpObj);
- borderStyle += borders.replace("border", "border-left");
- }
- return borderStyle;
- }
- //////////////////////////////////////////////////////////////////
- function getBorder(node, pNode, isSvgMode, bType, warpObj) {
- //console.log("getBorder", node, pNode, isSvgMode, bType)
- var cssText, lineNode, subNodeTxt;
- if (bType == "shape") {
- cssText = "border: ";
- lineNode = node["p:spPr"]["a:ln"];
- //subNodeTxt = "p:spPr";
- //node["p:style"]["a:lnRef"] =
- } else if (bType == "text") {
- cssText = "";
- lineNode = node["a:rPr"]["a:ln"];
- //subNodeTxt = "a:rPr";
- }
- //var is_noFill = getTextByPathList(node, ["p:spPr", "a:noFill"]);
- var is_noFill = getTextByPathList(lineNode, ["a:noFill"]);
- if (is_noFill !== undefined) {
- return "hidden";
- }
- //console.log("lineNode: ", lineNode)
- if (lineNode == undefined) {
- var lnRefNode = getTextByPathList(node, ["p:style", "a:lnRef"])
- if (lnRefNode !== undefined){
- var lnIdx = getTextByPathList(lnRefNode, ["attrs", "idx"]);
- //console.log("lnIdx:", lnIdx, "lnStyleLst:", warpObj["themeContent"]["a:theme"]["a:themeElements"]["a:fmtScheme"]["a:lnStyleLst"]["a:ln"][Number(lnIdx) -1])
- lineNode = warpObj["themeContent"]["a:theme"]["a:themeElements"]["a:fmtScheme"]["a:lnStyleLst"]["a:ln"][Number(lnIdx) - 1];
- }
- }
- if (lineNode == undefined) {
- //is table
- cssText = "";
- lineNode = node
- }
- var borderColor;
- if (lineNode !== undefined) {
- // Border width: 1pt = 12700, default = 0.75pt
- var borderWidth = parseInt(getTextByPathList(lineNode, ["attrs", "w"])) / 12700;
- if (isNaN(borderWidth) || borderWidth < 1) {
- cssText += (4/3) + "px ";//"1pt ";
- } else {
- cssText += borderWidth + "px ";// + "pt ";
- }
- // Border type
- var borderType = getTextByPathList(lineNode, ["a:prstDash", "attrs", "val"]);
- if (borderType === undefined) {
- borderType = getTextByPathList(lineNode, ["attrs", "cmpd"]);
- }
- var strokeDasharray = "0";
- switch (borderType) {
- case "solid":
- cssText += "solid";
- strokeDasharray = "0";
- break;
- case "dash":
- cssText += "dashed";
- strokeDasharray = "5";
- break;
- case "dashDot":
- cssText += "dashed";
- strokeDasharray = "5, 5, 1, 5";
- break;
- case "dot":
- cssText += "dotted";
- strokeDasharray = "1, 5";
- break;
- case "lgDash":
- cssText += "dashed";
- strokeDasharray = "10, 5";
- break;
- case "dbl":
- cssText += "double";
- strokeDasharray = "0";
- break;
- case "lgDashDotDot":
- cssText += "dashed";
- strokeDasharray = "10, 5, 1, 5, 1, 5";
- break;
- case "sysDash":
- cssText += "dashed";
- strokeDasharray = "5, 2";
- break;
- case "sysDashDot":
- cssText += "dashed";
- strokeDasharray = "5, 2, 1, 5";
- break;
- case "sysDashDotDot":
- cssText += "dashed";
- strokeDasharray = "5, 2, 1, 5, 1, 5";
- break;
- case "sysDot":
- cssText += "dotted";
- strokeDasharray = "2, 5";
- break;
- case undefined:
- //console.log(borderType);
- default:
- cssText += "solid";
- strokeDasharray = "0";
- }
- // Border color
- var fillTyp = getFillType(lineNode);
- //console.log("getBorder:node : fillTyp", fillTyp)
- if (fillTyp == "NO_FILL") {
- borderColor = isSvgMode ? "none" : "";//"background-color: initial;";
- } else if (fillTyp == "SOLID_FILL") {
- borderColor = getSolidFill(lineNode["a:solidFill"], undefined, undefined, warpObj);
- } else if (fillTyp == "GRADIENT_FILL") {
- borderColor = getGradientFill(lineNode["a:gradFill"], warpObj);
- //console.log("shpFill",shpFill,grndColor.color)
- } else if (fillTyp == "PATTERN_FILL") {
- borderColor = getPatternFill(lineNode["a:pattFill"], warpObj);
- }
- }
- //console.log("getBorder:node : borderColor", borderColor)
- // 2. drawingML namespace
- if (borderColor === undefined) {
- //var schemeClrNode = getTextByPathList(node, ["p:style", "a:lnRef", "a:schemeClr"]);
- // if (schemeClrNode !== undefined) {
- // var schemeClr = "a:" + getTextByPathList(schemeClrNode, ["attrs", "val"]);
- // var borderColor = getSchemeColorFromTheme(schemeClr, undefined, undefined);
- // }
- var lnRefNode = getTextByPathList(node, ["p:style", "a:lnRef"]);
- //console.log("getBorder: lnRef : ", lnRefNode)
- if (lnRefNode !== undefined) {
- borderColor = getSolidFill(lnRefNode, undefined, undefined, warpObj);
- }
- // if (borderColor !== undefined) {
- // var shade = getTextByPathList(schemeClrNode, ["a:shade", "attrs", "val"]);
- // if (shade !== undefined) {
- // shade = parseInt(shade) / 10000;
- // var color = tinycolor("#" + borderColor);
- // borderColor = color.darken(shade).toHex8();//.replace("#", "");
- // }
- // }
- }
- //console.log("getBorder: borderColor : ", borderColor)
- if (borderColor === undefined) {
- if (isSvgMode) {
- borderColor = "none";
- } else {
- borderColor = "hidden";
- }
- } else {
- borderColor = "#" + borderColor; //wrong if not solid fill - TODO
- }
- cssText += " " + borderColor + " ";//wrong if not solid fill - TODO
- if (isSvgMode) {
- return { "color": borderColor, "width": borderWidth, "type": borderType, "strokeDasharray": strokeDasharray };
- } else {
- return cssText + ";";
- }
- // } else {
- // if (isSvgMode) {
- // return { "color": 'none', "width": '0', "type": 'none', "strokeDasharray": '0' };
- // } else {
- // return "hidden";
- // }
- // }
- }
- function getBackground(warpObj, slideSize, index) {
- //var rslt = "";
- var slideContent = warpObj["slideContent"];
- var slideLayoutContent = warpObj["slideLayoutContent"];
- var slideMasterContent = warpObj["slideMasterContent"];
- var nodesSldLayout = getTextByPathList(slideLayoutContent, ["p:sldLayout", "p:cSld", "p:spTree"]);
- var nodesSldMaster = getTextByPathList(slideMasterContent, ["p:sldMaster", "p:cSld", "p:spTree"]);
- // console.log("slideContent : ", slideContent)
- // console.log("slideLayoutContent : ", slideLayoutContent)
- // console.log("slideMasterContent : ", slideMasterContent)
- //console.log("warpObj : ", warpObj)
- var showMasterSp = getTextByPathList(slideLayoutContent, ["p:sldLayout", "attrs", "showMasterSp"]);
- //console.log("slideLayoutContent : ", slideLayoutContent, ", showMasterSp: ", showMasterSp)
- var bgColor = getSlideBackgroundFill(warpObj, index);
- var result = "<div class='slide-background-" + index + "' style='width:" + slideSize.width + "px; height:" + slideSize.height + "px;" + bgColor + "'>"
- var node_ph_type_ary = [];
- if (nodesSldLayout !== undefined) {
- for (var nodeKey in nodesSldLayout) {
- if (nodesSldLayout[nodeKey].constructor === Array) {
- for (var i = 0; i < nodesSldLayout[nodeKey].length; i++) {
- var ph_type = getTextByPathList(nodesSldLayout[nodeKey][i], ["p:nvSpPr", "p:nvPr", "p:ph", "attrs", "type"]);
- // if (ph_type !== undefined && ph_type != "pic") {
- // node_ph_type_ary.push(ph_type);
- // }
- if (ph_type != "pic") {
- result += processNodesInSlide(nodeKey, nodesSldLayout[nodeKey][i], nodesSldLayout, warpObj, "slideLayoutBg"); //slideLayoutBg , slideMasterBg
- }
- }
- } else {
- var ph_type = getTextByPathList(nodesSldLayout[nodeKey], ["p:nvSpPr", "p:nvPr", "p:ph", "attrs", "type"]);
- // if (ph_type !== undefined && ph_type != "pic") {
- // node_ph_type_ary.push(ph_type);
- // }
- if (ph_type != "pic") {
- result += processNodesInSlide(nodeKey, nodesSldLayout[nodeKey], nodesSldLayout, warpObj, "slideLayoutBg"); //slideLayoutBg, slideMasterBg
- }
- }
- }
- }
- if (nodesSldMaster !== undefined && (showMasterSp == "1" || showMasterSp === undefined)) {
- for (var nodeKey in nodesSldMaster) {
- if (nodesSldMaster[nodeKey].constructor === Array) {
- for (var i = 0; i < nodesSldMaster[nodeKey].length; i++) {
- var ph_type = getTextByPathList(nodesSldMaster[nodeKey][i], ["p:nvSpPr", "p:nvPr", "p:ph", "attrs", "type"]);
- //if (node_ph_type_ary.indexOf(ph_type) > -1) {
- result += processNodesInSlide(nodeKey, nodesSldMaster[nodeKey][i], nodesSldMaster, warpObj, "slideMasterBg"); //slideLayoutBg , slideMasterBg
- //}
- }
- } else {
- var ph_type = getTextByPathList(nodesSldMaster[nodeKey], ["p:nvSpPr", "p:nvPr", "p:ph", "attrs", "type"]);
- //if (node_ph_type_ary.indexOf(ph_type) > -1) {
- result += processNodesInSlide(nodeKey, nodesSldMaster[nodeKey], nodesSldMaster, warpObj, "slideMasterBg"); //slideLayoutBg, slideMasterBg
- //}
- }
- }
- }
- return result;
- }
- function getSlideBackgroundFill(warpObj, index) {
- var slideContent = warpObj["slideContent"];
- var slideLayoutContent = warpObj["slideLayoutContent"];
- var slideMasterContent = warpObj["slideMasterContent"];
- //console.log("slideContent: ", slideContent)
- //console.log("slideLayoutContent: ", slideLayoutContent)
- //console.log("slideMasterContent: ", slideMasterContent)
- //getFillType(node)
- var bgPr = getTextByPathList(slideContent, ["p:sld", "p:cSld", "p:bg", "p:bgPr"]);
- var bgRef = getTextByPathList(slideContent, ["p:sld", "p:cSld", "p:bg", "p:bgRef"]);
- //console.log("slideContent >> bgPr: ", bgPr, ", bgRef: ", bgRef)
- var bgcolor;
- if (bgPr !== undefined) {
- //bgcolor = "background-color: blue;";
- var bgFillTyp = getFillType(bgPr);
- if (bgFillTyp == "SOLID_FILL") {
- var sldFill = bgPr["a:solidFill"];
- var clrMapOvr;
- var sldClrMapOvr = getTextByPathList(slideContent, ["p:sld", "p:clrMapOvr", "a:overrideClrMapping", "attrs"]);
- if (sldClrMapOvr !== undefined) {
- clrMapOvr = sldClrMapOvr;
- } else {
- var sldClrMapOvr = getTextByPathList(slideLayoutContent, ["p:sldLayout", "p:clrMapOvr", "a:overrideClrMapping", "attrs"]);
- if (sldClrMapOvr !== undefined) {
- clrMapOvr = sldClrMapOvr;
- } else {
- clrMapOvr = getTextByPathList(slideMasterContent, ["p:sldMaster", "p:clrMap", "attrs"]);
- }
- }
- var sldBgClr = getSolidFill(sldFill, clrMapOvr, undefined, warpObj);
- //var sldTint = getColorOpacity(sldFill);
- //console.log("bgColor: ", bgColor)
- //bgcolor = "background: rgba(" + hexToRgbNew(bgColor) + "," + sldTint + ");";
- bgcolor = "background: #" + sldBgClr + ";";
- } else if (bgFillTyp == "GRADIENT_FILL") {
- bgcolor = getBgGradientFill(bgPr, undefined, slideMasterContent, warpObj);
- } else if (bgFillTyp == "PIC_FILL") {
- //console.log("PIC_FILL - ", bgFillTyp, bgPr, warpObj);
- bgcolor = getBgPicFill(bgPr, "slideBg", warpObj, undefined, index);
- }
- //console.log(slideContent,slideMasterContent,color_ary,tint_ary,rot,bgcolor)
- } else if (bgRef !== undefined) {
- //console.log("slideContent",bgRef)
- var clrMapOvr;
- var sldClrMapOvr = getTextByPathList(slideContent, ["p:sld", "p:clrMapOvr", "a:overrideClrMapping", "attrs"]);
- if (sldClrMapOvr !== undefined) {
- clrMapOvr = sldClrMapOvr;
- } else {
- var sldClrMapOvr = getTextByPathList(slideLayoutContent, ["p:sldLayout", "p:clrMapOvr", "a:overrideClrMapping", "attrs"]);
- if (sldClrMapOvr !== undefined) {
- clrMapOvr = sldClrMapOvr;
- } else {
- clrMapOvr = getTextByPathList(slideMasterContent, ["p:sldMaster", "p:clrMap", "attrs"]);
- }
- }
- var phClr = getSolidFill(bgRef, clrMapOvr, undefined, warpObj);
- // if (bgRef["a:srgbClr"] !== undefined) {
- // phClr = getTextByPathList(bgRef, ["a:srgbClr", "attrs", "val"]); //#...
- // } else if (bgRef["a:schemeClr"] !== undefined) { //a:schemeClr
- // var schemeClr = getTextByPathList(bgRef, ["a:schemeClr", "attrs", "val"]);
- // phClr = getSchemeColorFromTheme("a:" + schemeClr, slideMasterContent, undefined); //#...
- // }
- var idx = Number(bgRef["attrs"]["idx"]);
- if (idx == 0 || idx == 1000) {
- //no background
- } else if (idx > 0 && idx < 1000) {
- //fillStyleLst in themeContent
- //themeContent["a:fmtScheme"]["a:fillStyleLst"]
- //bgcolor = "background: red;";
- } else if (idx > 1000) {
- //bgFillStyleLst in themeContent
- //themeContent["a:fmtScheme"]["a:bgFillStyleLst"]
- var trueIdx = idx - 1000;
- // themeContent["a:theme"]["a:themeElements"]["a:fmtScheme"]["a:bgFillStyleLst"];
- var bgFillLst = warpObj["themeContent"]["a:theme"]["a:themeElements"]["a:fmtScheme"]["a:bgFillStyleLst"];
- var sortblAry = [];
- Object.keys(bgFillLst).forEach(function (key) {
- var bgFillLstTyp = bgFillLst[key];
- if (key != "attrs") {
- if (bgFillLstTyp.constructor === Array) {
- for (var i = 0; i < bgFillLstTyp.length; i++) {
- var obj = {};
- obj[key] = bgFillLstTyp[i];
- obj["idex"] = bgFillLstTyp[i]["attrs"]["order"];
- obj["attrs"] = {
- "order": bgFillLstTyp[i]["attrs"]["order"]
- }
- sortblAry.push(obj)
- }
- } else {
- var obj = {};
- obj[key] = bgFillLstTyp;
- obj["idex"] = bgFillLstTyp["attrs"]["order"];
- obj["attrs"] = {
- "order": bgFillLstTyp["attrs"]["order"]
- }
- sortblAry.push(obj)
- }
- }
- });
- var sortByOrder = sortblAry.slice(0);
- sortByOrder.sort(function (a, b) {
- return a.idex - b.idex;
- });
- var bgFillLstIdx = sortByOrder[trueIdx - 1];
- var bgFillTyp = getFillType(bgFillLstIdx);
- if (bgFillTyp == "SOLID_FILL") {
- var sldFill = bgFillLstIdx["a:solidFill"];
- var sldBgClr = getSolidFill(sldFill, clrMapOvr, undefined, warpObj);
- //var sldTint = getColorOpacity(sldFill);
- //bgcolor = "background: rgba(" + hexToRgbNew(phClr) + "," + sldTint + ");";
- bgcolor = "background: #" + sldBgClr + ";";
- //console.log("slideMasterContent - sldFill",sldFill)
- } else if (bgFillTyp == "GRADIENT_FILL") {
- bgcolor = getBgGradientFill(bgFillLstIdx, phClr, slideMasterContent, warpObj);
- } else {
- console.log(bgFillTyp)
- }
- }
- }
- else {
- bgPr = getTextByPathList(slideLayoutContent, ["p:sldLayout", "p:cSld", "p:bg", "p:bgPr"]);
- bgRef = getTextByPathList(slideLayoutContent, ["p:sldLayout", "p:cSld", "p:bg", "p:bgRef"]);
- //console.log("slideLayoutContent >> bgPr: ", bgPr, ", bgRef: ", bgRef)
- var clrMapOvr;
- var sldClrMapOvr = getTextByPathList(slideLayoutContent, ["p:sldLayout", "p:clrMapOvr", "a:overrideClrMapping", "attrs"]);
- if (sldClrMapOvr !== undefined) {
- clrMapOvr = sldClrMapOvr;
- } else {
- clrMapOvr = getTextByPathList(slideMasterContent, ["p:sldMaster", "p:clrMap", "attrs"]);
- }
- if (bgPr !== undefined) {
- var bgFillTyp = getFillType(bgPr);
- if (bgFillTyp == "SOLID_FILL") {
- var sldFill = bgPr["a:solidFill"];
- var sldBgClr = getSolidFill(sldFill, clrMapOvr, undefined, warpObj);
- //var sldTint = getColorOpacity(sldFill);
- // bgcolor = "background: rgba(" + hexToRgbNew(bgColor) + "," + sldTint + ");";
- bgcolor = "background: #" + sldBgClr + ";";
- } else if (bgFillTyp == "GRADIENT_FILL") {
- bgcolor = getBgGradientFill(bgPr, undefined, slideMasterContent, warpObj);
- } else if (bgFillTyp == "PIC_FILL") {
- bgcolor = getBgPicFill(bgPr, "slideLayoutBg", warpObj, undefined, index);
- }
- //console.log("slideLayoutContent",bgcolor)
- } else if (bgRef !== undefined) {
- console.log("slideLayoutContent: bgRef", bgRef)
- //bgcolor = "background: white;";
- var phClr = getSolidFill(bgRef, clrMapOvr, undefined, warpObj);
- var idx = Number(bgRef["attrs"]["idx"]);
- //console.log("phClr=", phClr, "idx=", idx)
- if (idx == 0 || idx == 1000) {
- //no background
- } else if (idx > 0 && idx < 1000) {
- //fillStyleLst in themeContent
- //themeContent["a:fmtScheme"]["a:fillStyleLst"]
- //bgcolor = "background: red;";
- } else if (idx > 1000) {
- //bgFillStyleLst in themeContent
- //themeContent["a:fmtScheme"]["a:bgFillStyleLst"]
- var trueIdx = idx - 1000;
- var bgFillLst = warpObj["themeContent"]["a:theme"]["a:themeElements"]["a:fmtScheme"]["a:bgFillStyleLst"];
- var sortblAry = [];
- Object.keys(bgFillLst).forEach(function (key) {
- //console.log("cubicBezTo[" + key + "]:");
- var bgFillLstTyp = bgFillLst[key];
- if (key != "attrs") {
- if (bgFillLstTyp.constructor === Array) {
- for (var i = 0; i < bgFillLstTyp.length; i++) {
- var obj = {};
- obj[key] = bgFillLstTyp[i];
- obj["idex"] = bgFillLstTyp[i]["attrs"]["order"];
- obj["attrs"] = {
- "order": bgFillLstTyp[i]["attrs"]["order"]
- }
- sortblAry.push(obj)
- }
- } else {
- var obj = {};
- obj[key] = bgFillLstTyp;
- obj["idex"] = bgFillLstTyp["attrs"]["order"];
- obj["attrs"] = {
- "order": bgFillLstTyp["attrs"]["order"]
- }
- sortblAry.push(obj)
- }
- }
- });
- var sortByOrder = sortblAry.slice(0);
- sortByOrder.sort(function (a, b) {
- return a.idex - b.idex;
- });
- var bgFillLstIdx = sortByOrder[trueIdx - 1];
- var bgFillTyp = getFillType(bgFillLstIdx);
- if (bgFillTyp == "SOLID_FILL") {
- var sldFill = bgFillLstIdx["a:solidFill"];
- //console.log("sldFill: ", sldFill)
- //var sldTint = getColorOpacity(sldFill);
- //bgcolor = "background: rgba(" + hexToRgbNew(phClr) + "," + sldTint + ");";
- var sldBgClr = getSolidFill(sldFill, clrMapOvr, phClr, warpObj);
- //console.log("bgcolor: ", bgcolor)
- bgcolor = "background: #" + sldBgClr + ";";
- } else if (bgFillTyp == "GRADIENT_FILL") {
- //console.log("GRADIENT_FILL: ", bgFillLstIdx, phClr)
- bgcolor = getBgGradientFill(bgFillLstIdx, phClr, slideMasterContent, warpObj);
- } else if (bgFillTyp == "PIC_FILL") {
- //theme rels
- //console.log("PIC_FILL - ", bgFillTyp, bgFillLstIdx, bgFillLst, warpObj);
- bgcolor = getBgPicFill(bgFillLstIdx, "themeBg", warpObj, phClr, index);
- } else {
- console.log(bgFillTyp)
- }
- }
- } else {
- bgPr = getTextByPathList(slideMasterContent, ["p:sldMaster", "p:cSld", "p:bg", "p:bgPr"]);
- bgRef = getTextByPathList(slideMasterContent, ["p:sldMaster", "p:cSld", "p:bg", "p:bgRef"]);
- var clrMap = getTextByPathList(slideMasterContent, ["p:sldMaster", "p:clrMap", "attrs"]);
- //console.log("slideMasterContent >> bgPr: ", bgPr, ", bgRef: ", bgRef)
- if (bgPr !== undefined) {
- var bgFillTyp = getFillType(bgPr);
- if (bgFillTyp == "SOLID_FILL") {
- var sldFill = bgPr["a:solidFill"];
- var sldBgClr = getSolidFill(sldFill, clrMap, undefined, warpObj);
- // var sldTint = getColorOpacity(sldFill);
- // bgcolor = "background: rgba(" + hexToRgbNew(bgColor) + "," + sldTint + ");";
- bgcolor = "background: #" + sldBgClr + ";";
- } else if (bgFillTyp == "GRADIENT_FILL") {
- bgcolor = getBgGradientFill(bgPr, undefined, slideMasterContent, warpObj);
- } else if (bgFillTyp == "PIC_FILL") {
- bgcolor = getBgPicFill(bgPr, "slideMasterBg", warpObj, undefined, index);
- }
- } else if (bgRef !== undefined) {
- //var obj={
- // "a:solidFill": bgRef
- //}
- var phClr = getSolidFill(bgRef, clrMap, undefined, warpObj);
- // var phClr;
- // if (bgRef["a:srgbClr"] !== undefined) {
- // phClr = getTextByPathList(bgRef, ["a:srgbClr", "attrs", "val"]); //#...
- // } else if (bgRef["a:schemeClr"] !== undefined) { //a:schemeClr
- // var schemeClr = getTextByPathList(bgRef, ["a:schemeClr", "attrs", "val"]);
- // phClr = getSchemeColorFromTheme("a:" + schemeClr, slideMasterContent, undefined); //#...
- // }
- var idx = Number(bgRef["attrs"]["idx"]);
- //console.log("phClr=", phClr, "idx=", idx)
- if (idx == 0 || idx == 1000) {
- //no background
- } else if (idx > 0 && idx < 1000) {
- //fillStyleLst in themeContent
- //themeContent["a:fmtScheme"]["a:fillStyleLst"]
- //bgcolor = "background: red;";
- } else if (idx > 1000) {
- //bgFillStyleLst in themeContent
- //themeContent["a:fmtScheme"]["a:bgFillStyleLst"]
- var trueIdx = idx - 1000;
- var bgFillLst = warpObj["themeContent"]["a:theme"]["a:themeElements"]["a:fmtScheme"]["a:bgFillStyleLst"];
- var sortblAry = [];
- Object.keys(bgFillLst).forEach(function (key) {
- //console.log("cubicBezTo[" + key + "]:");
- var bgFillLstTyp = bgFillLst[key];
- if (key != "attrs") {
- if (bgFillLstTyp.constructor === Array) {
- for (var i = 0; i < bgFillLstTyp.length; i++) {
- var obj = {};
- obj[key] = bgFillLstTyp[i];
- obj["idex"] = bgFillLstTyp[i]["attrs"]["order"];
- obj["attrs"] = {
- "order": bgFillLstTyp[i]["attrs"]["order"]
- }
- sortblAry.push(obj)
- }
- } else {
- var obj = {};
- obj[key] = bgFillLstTyp;
- obj["idex"] = bgFillLstTyp["attrs"]["order"];
- obj["attrs"] = {
- "order": bgFillLstTyp["attrs"]["order"]
- }
- sortblAry.push(obj)
- }
- }
- });
- var sortByOrder = sortblAry.slice(0);
- sortByOrder.sort(function (a, b) {
- return a.idex - b.idex;
- });
- var bgFillLstIdx = sortByOrder[trueIdx - 1];
- var bgFillTyp = getFillType(bgFillLstIdx);
- //console.log("bgFillLstIdx: ", bgFillLstIdx, ", bgFillTyp: ", bgFillTyp, ", phClr: ", phClr);
- if (bgFillTyp == "SOLID_FILL") {
- var sldFill = bgFillLstIdx["a:solidFill"];
- //console.log("sldFill: ", sldFill)
- //var sldTint = getColorOpacity(sldFill);
- //bgcolor = "background: rgba(" + hexToRgbNew(phClr) + "," + sldTint + ");";
- var sldBgClr = getSolidFill(sldFill, clrMap, phClr, warpObj);
- //console.log("bgcolor: ", bgcolor)
- bgcolor = "background: #" + sldBgClr + ";";
- } else if (bgFillTyp == "GRADIENT_FILL") {
- //console.log("GRADIENT_FILL: ", bgFillLstIdx, phClr)
- bgcolor = getBgGradientFill(bgFillLstIdx, phClr, slideMasterContent, warpObj);
- } else if (bgFillTyp == "PIC_FILL") {
- //theme rels
- // console.log("PIC_FILL - ", bgFillTyp, bgFillLstIdx, bgFillLst, warpObj);
- bgcolor = getBgPicFill(bgFillLstIdx, "themeBg", warpObj, phClr, index);
- } else {
- console.log(bgFillTyp)
- }
- }
- }
- }
- }
- //console.log("bgcolor: ", bgcolor)
- return bgcolor;
- }
- function getBgGradientFill(bgPr, phClr, slideMasterContent, warpObj) {
- var bgcolor = "";
- if (bgPr !== undefined) {
- var grdFill = bgPr["a:gradFill"];
- var gsLst = grdFill["a:gsLst"]["a:gs"];
- //var startColorNode, endColorNode;
- var color_ary = [];
- var pos_ary = [];
- //var tint_ary = [];
- for (var i = 0; i < gsLst.length; i++) {
- var lo_tint;
- var lo_color = "";
- var lo_color = getSolidFill(gsLst[i], slideMasterContent["p:sldMaster"]["p:clrMap"]["attrs"], phClr, warpObj);
- var pos = getTextByPathList(gsLst[i], ["attrs", "pos"])
- //console.log("pos: ", pos)
- if (pos !== undefined) {
- pos_ary[i] = pos / 1000 + "%";
- } else {
- pos_ary[i] = "";
- }
- //console.log("lo_color", lo_color)
- color_ary[i] = "#" + lo_color;
- //tint_ary[i] = (lo_tint !== undefined) ? parseInt(lo_tint) / 100000 : 1;
- }
- //get rot
- var lin = grdFill["a:lin"];
- var rot = 90;
- if (lin !== undefined) {
- rot = angleToDegrees(lin["attrs"]["ang"]);// + 270;
- //console.log("rot: ", rot)
- rot = rot + 90;
- }
- bgcolor = "background: linear-gradient(" + rot + "deg,";
- for (var i = 0; i < gsLst.length; i++) {
- if (i == gsLst.length - 1) {
- //if (phClr === undefined) {
- //bgcolor += "rgba(" + hexToRgbNew(color_ary[i]) + "," + tint_ary[i] + ")" + ");";
- bgcolor += color_ary[i] + " " + pos_ary[i] + ");";
- //} else {
- //bgcolor += "rgba(" + hexToRgbNew(phClr) + "," + tint_ary[i] + ")" + ");";
- // bgcolor += "" + phClr + ";";;
- //}
- } else {
- //if (phClr === undefined) {
- //bgcolor += "rgba(" + hexToRgbNew(color_ary[i]) + "," + tint_ary[i] + ")" + ", ";
- bgcolor += color_ary[i] + " " + pos_ary[i] + ", ";;
- //} else {
- //bgcolor += "rgba(" + hexToRgbNew(phClr) + "," + tint_ary[i] + ")" + ", ";
- // bgcolor += phClr + ", ";
- //}
- }
- }
- } else {
- if (phClr !== undefined) {
- //bgcolor = "rgba(" + hexToRgbNew(phClr) + ",0);";
- //bgcolor = phClr + ");";
- bgcolor = "background: #" + phClr + ";";
- }
- }
- return bgcolor;
- }
- function getBgPicFill(bgPr, sorce, warpObj, phClr, index) {
- //console.log("getBgPicFill bgPr", bgPr)
- var bgcolor;
- var picFillBase64 = getPicFill(sorce, bgPr["a:blipFill"], warpObj);
- var ordr = bgPr["attrs"]["order"];
- var aBlipNode = bgPr["a:blipFill"]["a:blip"];
- //a:duotone
- var duotone = getTextByPathList(aBlipNode, ["a:duotone"]);
- if (duotone !== undefined) {
- //console.log("pic duotone: ", duotone)
- var clr_ary = [];
- // duotone.forEach(function (clr) {
- // console.log("pic duotone clr: ", clr)
- // })
- Object.keys(duotone).forEach(function (clr_type) {
- //console.log("pic duotone clr: clr_type: ", clr_type, duotone[clr_type])
- if (clr_type != "attrs") {
- var obj = {};
- obj[clr_type] = duotone[clr_type];
- clr_ary.push(getSolidFill(obj, undefined, phClr, warpObj));
- }
- // Object.keys(duotone[clr_type]).forEach(function (clr) {
- // if (clr != "order") {
- // var obj = {};
- // obj[clr_type] = duotone[clr_type][clr];
- // clr_ary.push(getSolidFill(obj, undefined, phClr, warpObj));
- // }
- // })
- })
- //console.log("pic duotone clr_ary: ", clr_ary);
- //filter: url(file.svg#filter-element-id)
- //https://codepen.io/bhenbe/pen/QEZOvd
- //https://www.w3schools.com/cssref/css3_pr_filter.asp
- // var color1 = clr_ary[0];
- // var color2 = clr_ary[1];
- // var cssName = "";
- // var styleText_before_after = "content: '';" +
- // "display: block;" +
- // "width: 100%;" +
- // "height: 100%;" +
- // // "z-index: 1;" +
- // "position: absolute;" +
- // "top: 0;" +
- // "left: 0;";
- // var cssName = "slide-background-" + index + "::before," + " .slide-background-" + index + "::after";
- // styleTable[styleText_before_after] = {
- // "name": cssName,
- // "text": styleText_before_after
- // };
- // var styleText_after = "background-color: #" + clr_ary[1] + ";" +
- // "mix-blend-mode: darken;";
- // cssName = "slide-background-" + index + "::after";
- // styleTable[styleText_after] = {
- // "name": cssName,
- // "text": styleText_after
- // };
- // var styleText_before = "background-color: #" + clr_ary[0] + ";" +
- // "mix-blend-mode: lighten;";
- // cssName = "slide-background-" + index + "::before";
- // styleTable[styleText_before] = {
- // "name": cssName,
- // "text": styleText_before
- // };
- }
- //a:alphaModFix
- var aphaModFixNode = getTextByPathList(aBlipNode, ["a:alphaModFix", "attrs"])
- var imgOpacity = "";
- if (aphaModFixNode !== undefined && aphaModFixNode["amt"] !== undefined && aphaModFixNode["amt"] != "") {
- var amt = parseInt(aphaModFixNode["amt"]) / 100000;
- //var opacity = amt;
- imgOpacity = "opacity:" + amt + ";";
- }
- //a:tile
- var tileNode = getTextByPathList(bgPr, ["a:blipFill", "a:tile", "attrs"])
- var prop_style = "";
- if (tileNode !== undefined && tileNode["sx"] !== undefined) {
- var sx = (parseInt(tileNode["sx"]) / 100000);
- var sy = (parseInt(tileNode["sy"]) / 100000);
- var tx = (parseInt(tileNode["tx"]) / 100000);
- var ty = (parseInt(tileNode["ty"]) / 100000);
- var algn = tileNode["algn"]; //tl(top left),t(top), tr(top right), l(left), ctr(center), r(right), bl(bottom left), b(bottm) , br(bottom right)
- var flip = tileNode["flip"]; //none,x,y ,xy
- prop_style += "background-repeat: round;"; //repeat|repeat-x|repeat-y|no-repeat|space|round|initial|inherit;
- //prop_style += "background-size: 300px 100px;"; size (w,h,sx, sy) -TODO
- //prop_style += "background-position: 50% 40%;"; //offset (tx, ty) -TODO
- }
- //a:srcRect
- //a:stretch => a:fillRect =>attrs (l:-17000, r:-17000)
- var stretch = getTextByPathList(bgPr, ["a:blipFill", "a:stretch"]);
- if (stretch !== undefined) {
- var fillRect = getTextByPathList(stretch, ["a:fillRect", "attrs"]);
- //console.log("getBgPicFill=>bgPr: ", bgPr)
- // var top = fillRect["t"], right = fillRect["r"], bottom = fillRect["b"], left = fillRect["l"];
- prop_style += "background-repeat: no-repeat;";
- prop_style += "background-position: center;";
- if (fillRect !== undefined) {
- //prop_style += "background-size: contain, cover;";
- prop_style += "background-size: 100% 100%;;";
- }
- }
- bgcolor = "background: url(" + picFillBase64 + "); z-index: " + ordr + ";" + prop_style + imgOpacity;
- return bgcolor;
- }
- // function hexToRgbNew(hex) {
- // var arrBuff = new ArrayBuffer(4);
- // var vw = new DataView(arrBuff);
- // vw.setUint32(0, parseInt(hex, 16), false);
- // var arrByte = new Uint8Array(arrBuff);
- // return arrByte[1] + "," + arrByte[2] + "," + arrByte[3];
- // }
- function getShapeFill(node, pNode, isSvgMode, warpObj, source) {
- // 1. presentationML
- // p:spPr/ [a:noFill, solidFill, gradFill, blipFill, pattFill, grpFill]
- // From slide
- //Fill Type:
- //console.log("getShapeFill ShapeFill: ", node, ", isSvgMode; ", isSvgMode)
- var fillType = getFillType(getTextByPathList(node, ["p:spPr"]));
- //var noFill = getTextByPathList(node, ["p:spPr", "a:noFill"]);
- var fillColor;
- if (fillType == "NO_FILL") {
- return isSvgMode ? "none" : "";//"background-color: initial;";
- } else if (fillType == "SOLID_FILL") {
- var shpFill = node["p:spPr"]["a:solidFill"];
- fillColor = getSolidFill(shpFill, undefined, undefined, warpObj);
- } else if (fillType == "GRADIENT_FILL") {
- var shpFill = node["p:spPr"]["a:gradFill"];
- fillColor = getGradientFill(shpFill, warpObj);
- //console.log("shpFill",shpFill,grndColor.color)
- } else if (fillType == "PATTERN_FILL") {
- var shpFill = node["p:spPr"]["a:pattFill"];
- fillColor = getPatternFill(shpFill, warpObj);
- } else if (fillType == "PIC_FILL") {
- var shpFill = node["p:spPr"]["a:blipFill"];
- fillColor = getPicFill(source, shpFill, warpObj);
- }
- //console.log("getShapeFill ShapeFill: ", node, ", isSvgMode; ", isSvgMode, ", fillType: ", fillType, ", fillColor: ", fillColor, ", source: ", source)
- // 2. drawingML namespace
- if (fillColor === undefined) {
- var clrName = getTextByPathList(node, ["p:style", "a:fillRef"]);
- var idx = parseInt(getTextByPathList(node, ["p:style", "a:fillRef", "attrs", "idx"]));
- if (idx == 0 || idx == 1000) {
- //no fill
- return isSvgMode ? "none" : "";
- } else if (idx > 0 && idx < 1000) {
- // <a:fillStyleLst> fill
- } else if (idx > 1000) {
- //<a:bgFillStyleLst>
- }
- fillColor = getSolidFill(clrName, undefined, undefined, warpObj);
- }
- // 3. is group fill
- if (fillColor === undefined) {
- var grpFill = getTextByPathList(node, ["p:spPr", "a:grpFill"]);
- if (grpFill !== undefined) {
- //fillColor = getSolidFill(clrName, undefined, undefined, undefined, warpObj);
- //get parent fill style - TODO
- //console.log("ShapeFill: grpFill: ", grpFill, ", pNode: ", pNode)
- var grpShpFill = pNode["p:grpSpPr"];
- var spShpNode = { "p:spPr": grpShpFill }
- return getShapeFill(spShpNode, node, isSvgMode, warpObj, source);
- } else if (fillType == "NO_FILL") {
- return isSvgMode ? "none" : "";
- }
- }
- //console.log("ShapeFill: fillColor: ", fillColor, ", fillType; ", fillType)
- if (fillColor !== undefined) {
- if (fillType == "GRADIENT_FILL") {
- if (isSvgMode) {
- // console.log("GRADIENT_FILL color", fillColor.color[0])
- return fillColor;
- } else {
- var colorAry = fillColor.color;
- var rot = fillColor.rot;
- var bgcolor = "background: linear-gradient(" + rot + "deg,";
- for (var i = 0; i < colorAry.length; i++) {
- if (i == colorAry.length - 1) {
- bgcolor += "#" + colorAry[i] + ");";
- } else {
- bgcolor += "#" + colorAry[i] + ", ";
- }
- }
- return bgcolor;
- }
- } else if (fillType == "PIC_FILL") {
- if (isSvgMode) {
- return fillColor;
- } else {
- return "background-image:url(" + fillColor + ");";
- }
- } else if (fillType == "PATTERN_FILL") {
- /////////////////////////////////////////////////////////////Need to check -----------TODO
- // if (isSvgMode) {
- // var color = tinycolor(fillColor);
- // fillColor = color.toRgbString();
- // return fillColor;
- // } else {
- var bgPtrn = "", bgSize = "", bgPos = "";
- bgPtrn = fillColor[0];
- if (fillColor[1] !== null && fillColor[1] !== undefined && fillColor[1] != "") {
- bgSize = " background-size:" + fillColor[1] + ";";
- }
- if (fillColor[2] !== null && fillColor[2] !== undefined && fillColor[2] != "") {
- bgPos = " background-position:" + fillColor[2] + ";";
- }
- return "background: " + bgPtrn + ";" + bgSize + bgPos;
- //}
- } else {
- if (isSvgMode) {
- var color = tinycolor(fillColor);
- fillColor = color.toRgbString();
- return fillColor;
- } else {
- //console.log(node,"fillColor: ",fillColor,"fillType: ",fillType,"isSvgMode: ",isSvgMode)
- return "background-color: #" + fillColor + ";";
- }
- }
- } else {
- if (isSvgMode) {
- return "none";
- } else {
- return "background-color: inherit;";
- }
- }
- }
- ///////////////////////Amir//////////////////////////////
- function getFillType(node) {
- //Need to test/////////////////////////////////////////////
- //SOLID_FILL
- //PIC_FILL
- //GRADIENT_FILL
- //PATTERN_FILL
- //NO_FILL
- var fillType = "";
- if (node["a:noFill"] !== undefined) {
- fillType = "NO_FILL";
- }
- if (node["a:solidFill"] !== undefined) {
- fillType = "SOLID_FILL";
- }
- if (node["a:gradFill"] !== undefined) {
- fillType = "GRADIENT_FILL";
- }
- if (node["a:pattFill"] !== undefined) {
- fillType = "PATTERN_FILL";
- }
- if (node["a:blipFill"] !== undefined) {
- fillType = "PIC_FILL";
- }
- if (node["a:grpFill"] !== undefined) {
- fillType = "GROUP_FILL";
- }
- return fillType;
- }
- function getGradientFill(node, warpObj) {
- //console.log("getGradientFill: node", node)
- var gsLst = node["a:gsLst"]["a:gs"];
- //get start color
- var color_ary = [];
- var tint_ary = [];
- for (var i = 0; i < gsLst.length; i++) {
- var lo_tint;
- var lo_color = getSolidFill(gsLst[i], undefined, undefined, warpObj);
- //console.log("lo_color",lo_color)
- color_ary[i] = lo_color;
- }
- //get rot
- var lin = node["a:lin"];
- var rot = 0;
- if (lin !== undefined) {
- rot = angleToDegrees(lin["attrs"]["ang"]) + 90;
- }
- return {
- "color": color_ary,
- "rot": rot
- }
- }
- function getPicFill(type, node, warpObj) {
- //Need to test/////////////////////////////////////////////
- //rId
- //TODO - Image Properties - Tile, Stretch, or Display Portion of Image
- //(http://officeopenxml.com/drwPic-tile.php)
- var img;
- var rId = node["a:blip"]["attrs"]["r:embed"];
- var imgPath;
- //console.log("getPicFill(...) rId: ", rId, ", warpObj: ", warpObj, ", type: ", type)
- if (type == "slideBg" || type == "slide") {
- imgPath = getTextByPathList(warpObj, ["slideResObj", rId, "target"]);
- } else if (type == "slideLayoutBg") {
- imgPath = getTextByPathList(warpObj, ["layoutResObj", rId, "target"]);
- } else if (type == "slideMasterBg") {
- imgPath = getTextByPathList(warpObj, ["masterResObj", rId, "target"]);
- } else if (type == "themeBg") {
- imgPath = getTextByPathList(warpObj, ["themeResObj", rId, "target"]);
- } else if (type == "diagramBg") {
- imgPath = getTextByPathList(warpObj, ["diagramResObj", rId, "target"]);
- }
- if (imgPath === undefined) {
- return undefined;
- }
- img = getTextByPathList(warpObj, ["loaded-images", imgPath]); //, type, rId
- if (img === undefined) {
- imgPath = escapeHtml(imgPath);
- var imgExt = imgPath.split(".").pop();
- if (imgExt == "xml") {
- return undefined;
- }
- var imgArrayBuffer = warpObj["zip"].file(imgPath).asArrayBuffer();
- var imgMimeType = getMimeType(imgExt);
- img = "data:" + imgMimeType + ";base64," + base64ArrayBuffer(imgArrayBuffer);
- //warpObj["loaded-images"][imgPath] = img; //"defaultTextStyle": defaultTextStyle,
- setTextByPathList(warpObj, ["loaded-images", imgPath], img); //, type, rId
- }
- return img;
- }
- function getPatternFill(node, warpObj) {
- //https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Images/Using_CSS_gradients
- //https://cssgradient.io/blog/css-gradient-text/
- //https://css-tricks.com/background-patterns-simplified-by-conic-gradients/
- //https://stackoverflow.com/questions/6705250/how-to-get-a-pattern-into-a-written-text-via-css
- //https://stackoverflow.com/questions/14072142/striped-text-in-css
- //https://css-tricks.com/stripes-css/
- //https://yuanchuan.dev/gradient-shapes/
- var fgColor = "", bgColor = "", prst = "";
- var bgClr = node["a:bgClr"];
- var fgClr = node["a:fgClr"];
- prst = node["attrs"]["prst"];
- fgColor = getSolidFill(fgClr, undefined, undefined, warpObj);
- bgColor = getSolidFill(bgClr, undefined, undefined, warpObj);
- //var angl_ary = getAnglefromParst(prst);
- //var ptrClr = "repeating-linear-gradient(" + angl + "deg, #" + bgColor + ",#" + fgColor + " 2px);"
- //linear-gradient(0deg, black 10 %, transparent 10 %, transparent 90 %, black 90 %, black),
- //linear-gradient(90deg, black 10 %, transparent 10 %, transparent 90 %, black 90 %, black);
- var linear_gradient = getLinerGrandient(prst, bgColor, fgColor);
- //console.log("getPatternFill: node:", node, ", prst: ", prst, ", fgColor: ", fgColor, ", bgColor:", bgColor, ', linear_gradient: ', linear_gradient)
- return linear_gradient;
- }
- function getLinerGrandient(prst, bgColor, fgColor) {
- // dashDnDiag (Dashed Downward Diagonal)-V
- // dashHorz (Dashed Horizontal)-V
- // dashUpDiag(Dashed Upward DIagonal)-V
- // dashVert(Dashed Vertical)-V
- // diagBrick(Diagonal Brick)-V
- // divot(Divot)-VX
- // dkDnDiag(Dark Downward Diagonal)-V
- // dkHorz(Dark Horizontal)-V
- // dkUpDiag(Dark Upward Diagonal)-V
- // dkVert(Dark Vertical)-V
- // dotDmnd(Dotted Diamond)-VX
- // dotGrid(Dotted Grid)-V
- // horzBrick(Horizontal Brick)-V
- // lgCheck(Large Checker Board)-V
- // lgConfetti(Large Confetti)-V
- // lgGrid(Large Grid)-V
- // ltDnDiag(Light Downward Diagonal)-V
- // ltHorz(Light Horizontal)-V
- // ltUpDiag(Light Upward Diagonal)-V
- // ltVert(Light Vertical)-V
- // narHorz(Narrow Horizontal)-V
- // narVert(Narrow Vertical)-V
- // openDmnd(Open Diamond)-V
- // pct10(10 %)-V
- // pct20(20 %)-V
- // pct25(25 %)-V
- // pct30(30 %)-V
- // pct40(40 %)-V
- // pct5(5 %)-V
- // pct50(50 %)-V
- // pct60(60 %)-V
- // pct70(70 %)-V
- // pct75(75 %)-V
- // pct80(80 %)-V
- // pct90(90 %)-V
- // smCheck(Small Checker Board) -V
- // smConfetti(Small Confetti)-V
- // smGrid(Small Grid) -V
- // solidDmnd(Solid Diamond)-V
- // sphere(Sphere)-V
- // trellis(Trellis)-VX
- // wave(Wave)-V
- // wdDnDiag(Wide Downward Diagonal)-V
- // wdUpDiag(Wide Upward Diagonal)-V
- // weave(Weave)-V
- // zigZag(Zig Zag)-V
- // shingle(Shingle)-V
- // plaid(Plaid)-V
- // cross (Cross)
- // diagCross(Diagonal Cross)
- // dnDiag(Downward Diagonal)
- // horz(Horizontal)
- // upDiag(Upward Diagonal)
- // vert(Vertical)
- switch (prst) {
- case "smGrid":
- return ["linear-gradient(to right, #" + fgColor + " -1px, transparent 1px ), " +
- "linear-gradient(to bottom, #" + fgColor + " -1px, transparent 1px) #" + bgColor + ";", "4px 4px"];
- break
- case "dotGrid":
- return ["linear-gradient(to right, #" + fgColor + " -1px, transparent 1px ), " +
- "linear-gradient(to bottom, #" + fgColor + " -1px, transparent 1px) #" + bgColor + ";", "8px 8px"];
- break
- case "lgGrid":
- return ["linear-gradient(to right, #" + fgColor + " -1px, transparent 1.5px ), " +
- "linear-gradient(to bottom, #" + fgColor + " -1px, transparent 1.5px) #" + bgColor + ";", "8px 8px"];
- break
- case "wdUpDiag":
- //return ["repeating-linear-gradient(-45deg, #" + bgColor + ", #" + bgColor + " 1px,#" + fgColor + " 5px);"];
- return ["repeating-linear-gradient(-45deg, transparent 1px , transparent 4px, #" + fgColor + " 7px)" + "#" + bgColor + ";"];
- // return ["linear-gradient(45deg, transparent 0%, transparent calc(50% - 1px), #" + fgColor + " 50%, transparent calc(50% + 1px), transparent 100%) " +
- // "#" + bgColor + ";", "6px 6px"];
- break
- case "dkUpDiag":
- return ["repeating-linear-gradient(-45deg, transparent 1px , #" + bgColor + " 5px)" + "#" + fgColor + ";"];
- break
- case "ltUpDiag":
- return ["repeating-linear-gradient(-45deg, transparent 1px , transparent 2px, #" + fgColor + " 4px)" + "#" + bgColor + ";"];
- break
- case "wdDnDiag":
- return ["repeating-linear-gradient(45deg, transparent 1px , transparent 4px, #" + fgColor + " 7px)" + "#" + bgColor + ";"];
- break
- case "dkDnDiag":
- return ["repeating-linear-gradient(45deg, transparent 1px , #" + bgColor + " 5px)" + "#" + fgColor + ";"];
- break
- case "ltDnDiag":
- return ["repeating-linear-gradient(45deg, transparent 1px , transparent 2px, #" + fgColor + " 4px)" + "#" + bgColor + ";"];
- break
- case "dkHorz":
- return ["repeating-linear-gradient(0deg, transparent 1px , transparent 2px, #" + bgColor + " 7px)" + "#" + fgColor + ";"];
- break
- case "ltHorz":
- return ["repeating-linear-gradient(0deg, transparent 1px , transparent 5px, #" + fgColor + " 7px)" + "#" + bgColor + ";"];
- break
- case "narHorz":
- return ["repeating-linear-gradient(0deg, transparent 1px , transparent 2px, #" + fgColor + " 4px)" + "#" + bgColor + ";"];
- break
- case "dkVert":
- return ["repeating-linear-gradient(90deg, transparent 1px , transparent 2px, #" + bgColor + " 7px)" + "#" + fgColor + ";"];
- break
- case "ltVert":
- return ["repeating-linear-gradient(90deg, transparent 1px , transparent 5px, #" + fgColor + " 7px)" + "#" + bgColor + ";"];
- break
- case "narVert":
- return ["repeating-linear-gradient(90deg, transparent 1px , transparent 2px, #" + fgColor + " 4px)" + "#" + bgColor + ";"];
- break
- case "lgCheck":
- case "smCheck":
- var size = "";
- var pos = "";
- if (prst == "lgCheck") {
- size = "8px 8px";
- pos = "0 0, 4px 4px, 4px 4px, 8px 8px";
- } else {
- size = "4px 4px";
- pos = "0 0, 2px 2px, 2px 2px, 4px 4px";
- }
- return ["linear-gradient(45deg, #" + fgColor + " 25%, transparent 0, transparent 75%, #" + fgColor + " 0), " +
- "linear-gradient(45deg, #" + fgColor + " 25%, transparent 0, transparent 75%, #" + fgColor + " 0) " +
- "#" + bgColor + ";", size, pos];
- break
- // case "smCheck":
- // return ["linear-gradient(45deg, transparent 0%, transparent calc(50% - 0.5px), #" + fgColor + " 50%, transparent calc(50% + 0.5px), transparent 100%), " +
- // "linear-gradient(-45deg, transparent 0%, transparent calc(50% - 0.5px) , #" + fgColor + " 50%, transparent calc(50% + 0.5px), transparent 100%) " +
- // "#" + bgColor + ";", "4px 4px"];
- // break
- case "dashUpDiag":
- return ["repeating-linear-gradient(152deg, #" + fgColor + ", #" + fgColor + " 5% , transparent 0, transparent 70%)" +
- "#" + bgColor + ";", "4px 4px"];
- break
- case "dashDnDiag":
- return ["repeating-linear-gradient(45deg, #" + fgColor + ", #" + fgColor + " 5% , transparent 0, transparent 70%)" +
- "#" + bgColor + ";", "4px 4px"];
- break
- case "diagBrick":
- return ["linear-gradient(45deg, transparent 15%, #" + fgColor + " 30%, transparent 30%), " +
- "linear-gradient(-45deg, transparent 15%, #" + fgColor + " 30%, transparent 30%), " +
- "linear-gradient(-45deg, transparent 65%, #" + fgColor + " 80%, transparent 0) " +
- "#" + bgColor + ";", "4px 4px"];
- break
- case "horzBrick":
- return ["linear-gradient(335deg, #" + bgColor + " 1.6px, transparent 1.6px), " +
- "linear-gradient(155deg, #" + bgColor + " 1.6px, transparent 1.6px), " +
- "linear-gradient(335deg, #" + bgColor + " 1.6px, transparent 1.6px), " +
- "linear-gradient(155deg, #" + bgColor + " 1.6px, transparent 1.6px) " +
- "#" + fgColor + ";", "4px 4px", "0 0.15px, 0.3px 2.5px, 2px 2.15px, 2.35px 0.4px"];
- break
- case "dashVert":
- return ["linear-gradient(0deg, #" + bgColor + " 30%, transparent 30%)," +
- "linear-gradient(90deg,transparent, transparent 40%, #" + fgColor + " 40%, #" + fgColor + " 60% , transparent 60%)" +
- "#" + bgColor + ";", "4px 4px"];
- break
- case "dashHorz":
- return ["linear-gradient(90deg, #" + bgColor + " 30%, transparent 30%)," +
- "linear-gradient(0deg,transparent, transparent 40%, #" + fgColor + " 40%, #" + fgColor + " 60% , transparent 60%)" +
- "#" + bgColor + ";", "4px 4px"];
- break
- case "solidDmnd":
- return ["linear-gradient(135deg, #" + fgColor + " 25%, transparent 25%), " +
- "linear-gradient(225deg, #" + fgColor + " 25%, transparent 25%), " +
- "linear-gradient(315deg, #" + fgColor + " 25%, transparent 25%), " +
- "linear-gradient(45deg, #" + fgColor + " 25%, transparent 25%) " +
- "#" + bgColor + ";", "8px 8px"];
- break
- case "openDmnd":
- return ["linear-gradient(45deg, transparent 0%, transparent calc(50% - 0.5px), #" + fgColor + " 50%, transparent calc(50% + 0.5px), transparent 100%), " +
- "linear-gradient(-45deg, transparent 0%, transparent calc(50% - 0.5px) , #" + fgColor + " 50%, transparent calc(50% + 0.5px), transparent 100%) " +
- "#" + bgColor + ";", "8px 8px"];
- break
- case "dotDmnd":
- return ["radial-gradient(#" + fgColor + " 15%, transparent 0), " +
- "radial-gradient(#" + fgColor + " 15%, transparent 0) " +
- "#" + bgColor + ";", "4px 4px", "0 0, 2px 2px"];
- break
- case "zigZag":
- case "wave":
- var size = "";
- if (prst == "zigZag") size = "0";
- else size = "1px";
- return ["linear-gradient(135deg, #" + fgColor + " 25%, transparent 25%) 50px " + size + ", " +
- "linear-gradient(225deg, #" + fgColor + " 25%, transparent 25%) 50px " + size + ", " +
- "linear-gradient(315deg, #" + fgColor + " 25%, transparent 25%), " +
- "linear-gradient(45deg, #" + fgColor + " 25%, transparent 25%) " +
- "#" + bgColor + ";", "4px 4px"];
- break
- case "lgConfetti":
- case "smConfetti":
- var size = "";
- if (prst == "lgConfetti") size = "4px 4px";
- else size = "2px 2px";
- return ["linear-gradient(135deg, #" + fgColor + " 25%, transparent 25%) 50px 1px, " +
- "linear-gradient(225deg, #" + fgColor + " 25%, transparent 25%), " +
- "linear-gradient(315deg, #" + fgColor + " 25%, transparent 25%) 50px 1px , " +
- "linear-gradient(45deg, #" + fgColor + " 25%, transparent 25%) " +
- "#" + bgColor + ";", size];
- break
- // case "weave":
- // return ["linear-gradient(45deg, #" + bgColor + " 5%, transparent 25%) 50px 0, " +
- // "linear-gradient(135deg, #" + bgColor + " 25%, transparent 25%) 50px 0, " +
- // "linear-gradient(45deg, #" + bgColor + " 25%, transparent 25%) " +
- // "#" + fgColor + ";", "4px 4px"];
- // //background: linear-gradient(45deg, #dca 12%, transparent 0, transparent 88%, #dca 0),
- // //linear-gradient(135deg, transparent 37 %, #a85 0, #a85 63 %, transparent 0),
- // //linear-gradient(45deg, transparent 37 %, #dca 0, #dca 63 %, transparent 0) #753;
- // // background-size: 25px 25px;
- // break;
- case "plaid":
- return ["linear-gradient(0deg, transparent, transparent 25%, #" + fgColor + "33 25%, #" + fgColor + "33 50%)," +
- "linear-gradient(90deg, transparent, transparent 25%, #" + fgColor + "66 25%, #" + fgColor + "66 50%) " +
- "#" + bgColor + ";", "4px 4px"];
- /**
- background-color: #6677dd;
- background-image:
- repeating-linear-gradient(0deg, transparent, transparent 35px, rgba(255, 255, 255, 0.2) 35px, rgba(255, 255, 255, 0.2) 70px),
- repeating-linear-gradient(90deg, transparent, transparent 35px, rgba(255,255,255,0.4) 35px, rgba(255,255,255,0.4) 70px);
- */
- break;
- case "sphere":
- return ["radial-gradient(#" + fgColor + " 50%, transparent 50%)," +
- "#" + bgColor + ";", "4px 4px"];
- break
- case "weave":
- case "shingle":
- return ["linear-gradient(45deg, #" + bgColor + " 1.31px , #" + fgColor + " 1.4px, #" + fgColor + " 1.5px, transparent 1.5px, transparent 4.2px, #" + fgColor + " 4.2px, #" + fgColor + " 4.3px, transparent 4.31px), " +
- "linear-gradient(-45deg, #" + bgColor + " 1.31px , #" + fgColor + " 1.4px, #" + fgColor + " 1.5px, transparent 1.5px, transparent 4.2px, #" + fgColor + " 4.2px, #" + fgColor + " 4.3px, transparent 4.31px) 0 4px, " +
- "#" + bgColor + ";", "4px 8px"];
- break
- //background:
- //linear-gradient(45deg, #708090 1.31px, #d9ecff 1.4px, #d9ecff 1.5px, transparent 1.5px, transparent 4.2px, #d9ecff 4.2px, #d9ecff 4.3px, transparent 4.31px),
- //linear-gradient(-45deg, #708090 1.31px, #d9ecff 1.4px, #d9ecff 1.5px, transparent 1.5px, transparent 4.2px, #d9ecff 4.2px, #d9ecff 4.3px, transparent 4.31px)0 4px;
- //background-color:#708090;
- //background-size: 4px 8px;
- case "pct5":
- case "pct10":
- case "pct20":
- case "pct25":
- case "pct30":
- case "pct40":
- case "pct50":
- case "pct60":
- case "pct70":
- case "pct75":
- case "pct80":
- case "pct90":
- //case "dotDmnd":
- case "trellis":
- case "divot":
- var px_pr_ary;
- switch (prst) {
- case "pct5":
- px_pr_ary = ["0.3px", "10%", "2px 2px"];
- break
- case "divot":
- px_pr_ary = ["0.3px", "40%", "4px 4px"];
- break
- case "pct10":
- px_pr_ary = ["0.3px", "20%", "2px 2px"];
- break
- case "pct20":
- //case "dotDmnd":
- px_pr_ary = ["0.2px", "40%", "2px 2px"];
- break
- case "pct25":
- px_pr_ary = ["0.2px", "50%", "2px 2px"];
- break
- case "pct30":
- px_pr_ary = ["0.5px", "50%", "2px 2px"];
- break
- case "pct40":
- px_pr_ary = ["0.5px", "70%", "2px 2px"];
- break
- case "pct50":
- px_pr_ary = ["0.09px", "90%", "2px 2px"];
- break
- case "pct60":
- px_pr_ary = ["0.3px", "90%", "2px 2px"];
- break
- case "pct70":
- case "trellis":
- px_pr_ary = ["0.5px", "95%", "2px 2px"];
- break
- case "pct75":
- px_pr_ary = ["0.65px", "100%", "2px 2px"];
- break
- case "pct80":
- px_pr_ary = ["0.85px", "100%", "2px 2px"];
- break
- case "pct90":
- px_pr_ary = ["1px", "100%", "2px 2px"];
- break
- }
- return ["radial-gradient(#" + fgColor + " " + px_pr_ary[0] + ", transparent " + px_pr_ary[1] + ")," +
- "#" + bgColor + ";", px_pr_ary[2]];
- break
- default:
- return [0, 0];
- }
- }
- function getSolidFill(node, clrMap, phClr, warpObj) {
- if (node === undefined) {
- return undefined;
- }
- //console.log("getSolidFill node: ", node)
- var color = "";
- var clrNode;
- if (node["a:srgbClr"] !== undefined) {
- clrNode = node["a:srgbClr"];
- color = getTextByPathList(clrNode, ["attrs", "val"]); //#...
- } else if (node["a:schemeClr"] !== undefined) { //a:schemeClr
- clrNode = node["a:schemeClr"];
- var schemeClr = getTextByPathList(clrNode, ["attrs", "val"]);
- color = getSchemeColorFromTheme("a:" + schemeClr, clrMap, phClr, warpObj);
- //console.log("schemeClr: ", schemeClr, "color: ", color)
- } else if (node["a:scrgbClr"] !== undefined) {
- clrNode = node["a:scrgbClr"];
- //<a:scrgbClr r="50%" g="50%" b="50%"/> //Need to test/////////////////////////////////////////////
- var defBultColorVals = clrNode["attrs"];
- var red = (defBultColorVals["r"].indexOf("%") != -1) ? defBultColorVals["r"].split("%").shift() : defBultColorVals["r"];
- var green = (defBultColorVals["g"].indexOf("%") != -1) ? defBultColorVals["g"].split("%").shift() : defBultColorVals["g"];
- var blue = (defBultColorVals["b"].indexOf("%") != -1) ? defBultColorVals["b"].split("%").shift() : defBultColorVals["b"];
- //var scrgbClr = red + "," + green + "," + blue;
- color = toHex(255 * (Number(red) / 100)) + toHex(255 * (Number(green) / 100)) + toHex(255 * (Number(blue) / 100));
- //console.log("scrgbClr: " + scrgbClr);
- } else if (node["a:prstClr"] !== undefined) {
- clrNode = node["a:prstClr"];
- //<a:prstClr val="black"/> //Need to test/////////////////////////////////////////////
- var prstClr = getTextByPathList(clrNode, ["attrs", "val"]); //node["a:prstClr"]["attrs"]["val"];
- color = getColorName2Hex(prstClr);
- //console.log("blip prstClr: ", prstClr, " => hexClr: ", color);
- } else if (node["a:hslClr"] !== undefined) {
- clrNode = node["a:hslClr"];
- //<a:hslClr hue="14400000" sat="100%" lum="50%"/> //Need to test/////////////////////////////////////////////
- var defBultColorVals = clrNode["attrs"];
- var hue = Number(defBultColorVals["hue"]) / 100000;
- var sat = Number((defBultColorVals["sat"].indexOf("%") != -1) ? defBultColorVals["sat"].split("%").shift() : defBultColorVals["sat"]) / 100;
- var lum = Number((defBultColorVals["lum"].indexOf("%") != -1) ? defBultColorVals["lum"].split("%").shift() : defBultColorVals["lum"]) / 100;
- //var hslClr = defBultColorVals["hue"] + "," + defBultColorVals["sat"] + "," + defBultColorVals["lum"];
- var hsl2rgb = hslToRgb(hue, sat, lum);
- color = toHex(hsl2rgb.r) + toHex(hsl2rgb.g) + toHex(hsl2rgb.b);
- //defBultColor = cnvrtHslColor2Hex(hslClr); //TODO
- // console.log("hslClr: " + hslClr);
- } else if (node["a:sysClr"] !== undefined) {
- clrNode = node["a:sysClr"];
- //<a:sysClr val="windowText" lastClr="000000"/> //Need to test/////////////////////////////////////////////
- var sysClr = getTextByPathList(clrNode, ["attrs", "lastClr"]);
- if (sysClr !== undefined) {
- color = sysClr;
- }
- }
- //console.log("color: [%cstart]", "color: #" + color, tinycolor(color).toHslString(), color)
- //fix color -------------------------------------------------------- TODO
- //
- //1. "alpha":
- //Specifies the opacity as expressed by a percentage value.
- // [Example: The following represents a green solid fill which is 50 % opaque
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:alpha val="50%" />
- // </a:srgbClr>
- // </a: solidFill >
- var isAlpha = false;
- var alpha = parseInt(getTextByPathList(clrNode, ["a:alpha", "attrs", "val"])) / 100000;
- //console.log("alpha: ", alpha)
- if (!isNaN(alpha)) {
- // var al_color = new colz.Color(color);
- // al_color.setAlpha(alpha);
- // var ne_color = al_color.rgba.toString();
- // color = (rgba2hex(ne_color))
- var al_color = tinycolor(color);
- al_color.setAlpha(alpha);
- color = al_color.toHex8()
- isAlpha = true;
- //console.log("al_color: ", al_color, ", color: ", color)
- }
- //2. "alphaMod":
- // Specifies the opacity as expressed by a percentage relative to the input color.
- // [Example: The following represents a green solid fill which is 50 % opaque
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:alphaMod val="50%" />
- // </a:srgbClr>
- // </a: solidFill >
- //3. "alphaOff":
- // Specifies the opacity as expressed by a percentage offset increase or decrease to the
- // input color.Increases never increase the opacity beyond 100 %, decreases never decrease
- // the opacity below 0 %.
- // [Example: The following represents a green solid fill which is 90 % opaque
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:alphaOff val="-10%" />
- // </a:srgbClr>
- // </a: solidFill >
- //4. "blue":
- //Specifies the value of the blue component.The assigned value is specified as a
- //percentage with 0 % indicating minimal blue and 100 % indicating maximum blue.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (00, FF, FF)
- // <a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:blue val="100%" />
- // </a:srgbClr>
- // </a: solidFill >
- //5. "blueMod"
- // Specifies the blue component as expressed by a percentage relative to the input color
- // component.Increases never increase the blue component beyond 100 %, decreases
- // never decrease the blue component below 0 %.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, 00, FF)
- // to value RRGGBB = (00, 00, 80)
- // < a: solidFill >
- // <a:srgbClr val="0000FF">
- // <a:blueMod val="50%" />
- // </a:srgbClr>
- // </a: solidFill >
- //6. "blueOff"
- // Specifies the blue component as expressed by a percentage offset increase or decrease
- // to the input color component.Increases never increase the blue component
- // beyond 100 %, decreases never decrease the blue component below 0 %.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, 00, FF)
- // to value RRGGBB = (00, 00, CC)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:blueOff val="-20%" />
- // </a:srgbClr>
- // </a: solidFill >
- //7. "comp" - This element specifies that the color rendered should be the complement of its input color with the complement
- // being defined as such.Two colors are called complementary if, when mixed they produce a shade of grey.For
- // instance, the complement of red which is RGB(255, 0, 0) is cyan.(<a:comp/>)
- //8. "gamma" - This element specifies that the output color rendered by the generating application should be the sRGB gamma
- // shift of the input color.
- //9. "gray" - This element specifies a grayscale of its input color, taking into relative intensities of the red, green, and blue
- // primaries.
- //10. "green":
- // Specifies the value of the green component. The assigned value is specified as a
- // percentage with 0 % indicating minimal green and 100 % indicating maximum green.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, 00, FF)
- // to value RRGGBB = (00, FF, FF)
- // < a: solidFill >
- // <a:srgbClr val="0000FF">
- // <a:green val="100%" />
- // </a:srgbClr>
- // </a: solidFill >
- //11. "greenMod":
- // Specifies the green component as expressed by a percentage relative to the input color
- // component.Increases never increase the green component beyond 100 %, decreases
- // never decrease the green component below 0 %.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (00, 80, 00)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:greenMod val="50%" />
- // </a:srgbClr>
- // </a: solidFill >
- //12. "greenOff":
- // Specifies the green component as expressed by a percentage offset increase or decrease
- // to the input color component.Increases never increase the green component
- // beyond 100 %, decreases never decrease the green component below 0 %.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (00, CC, 00)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:greenOff val="-20%" />
- // </a:srgbClr>
- // </a: solidFill >
- //13. "hue" (This element specifies a color using the HSL color model):
- // This element specifies the input color with the specified hue, but with its saturation and luminance unchanged.
- // < a: solidFill >
- // <a:hslClr hue="14400000" sat="100%" lum="50%">
- // </a:solidFill>
- // <a:solidFill>
- // <a:hslClr hue="0" sat="100%" lum="50%">
- // <a:hue val="14400000"/>
- // <a:hslClr/>
- // </a:solidFill>
- //14. "hueMod" (This element specifies a color using the HSL color model):
- // Specifies the hue as expressed by a percentage relative to the input color.
- // [Example: The following manipulates the fill color from having RGB value RRGGBB = (00, FF, 00) to value RRGGBB = (FF, FF, 00)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:hueMod val="50%" />
- // </a:srgbClr>
- // </a: solidFill >
- var hueMod = parseInt(getTextByPathList(clrNode, ["a:hueMod", "attrs", "val"])) / 100000;
- //console.log("hueMod: ", hueMod)
- if (!isNaN(hueMod)) {
- color = applyHueMod(color, hueMod, isAlpha);
- }
- //15. "hueOff"(This element specifies a color using the HSL color model):
- // Specifies the actual angular value of the shift.The result of the shift shall be between 0
- // and 360 degrees.Shifts resulting in angular values less than 0 are treated as 0. Shifts
- // resulting in angular values greater than 360 are treated as 360.
- // [Example:
- // The following increases the hue angular value by 10 degrees.
- // < a: solidFill >
- // <a:hslClr hue="0" sat="100%" lum="50%"/>
- // <a:hueOff val="600000"/>
- // </a: solidFill >
- //var hueOff = parseInt(getTextByPathList(clrNode, ["a:hueOff", "attrs", "val"])) / 100000;
- // if (!isNaN(hueOff)) {
- // //console.log("hueOff: ", hueOff, " (TODO)")
- // //color = applyHueOff(color, hueOff, isAlpha);
- // }
- //16. "inv" (inverse)
- //This element specifies the inverse of its input color.
- //The inverse of red (1, 0, 0) is cyan (0, 1, 1 ).
- // The following represents cyan, the inverse of red:
- // <a:solidFill>
- // <a:srgbClr val="FF0000">
- // <a:inv />
- // </a:srgbClr>
- // </a:solidFill>
- //17. "invGamma" - This element specifies that the output color rendered by the generating application should be the inverse sRGB
- // gamma shift of the input color.
- //18. "lum":
- // This element specifies the input color with the specified luminance, but with its hue and saturation unchanged.
- // Typically luminance values fall in the range[0 %, 100 %].
- // The following two solid fills are equivalent:
- // <a:solidFill>
- // <a:hslClr hue="14400000" sat="100%" lum="50%">
- // </a:solidFill>
- // <a:solidFill>
- // <a:hslClr hue="14400000" sat="100%" lum="0%">
- // <a:lum val="50%" />
- // <a:hslClr />
- // </a:solidFill>
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (00, 66, 00)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:lum val="20%" />
- // </a:srgbClr>
- // </a: solidFill >
- // end example]
- //19. "lumMod":
- // Specifies the luminance as expressed by a percentage relative to the input color.
- // Increases never increase the luminance beyond 100 %, decreases never decrease the
- // luminance below 0 %.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (00, 75, 00)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:lumMod val="50%" />
- // </a:srgbClr>
- // </a: solidFill >
- // end example]
- var lumMod = parseInt(getTextByPathList(clrNode, ["a:lumMod", "attrs", "val"])) / 100000;
- //console.log("lumMod: ", lumMod)
- if (!isNaN(lumMod)) {
- color = applyLumMod(color, lumMod, isAlpha);
- }
- //var lumMod_color = applyLumMod(color, 0.5);
- //console.log("lumMod_color: ", lumMod_color)
- //20. "lumOff"
- // Specifies the luminance as expressed by a percentage offset increase or decrease to the
- // input color.Increases never increase the luminance beyond 100 %, decreases never
- // decrease the luminance below 0 %.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (00, 99, 00)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:lumOff val="-20%" />
- // </a:srgbClr>
- // </a: solidFill >
- var lumOff = parseInt(getTextByPathList(clrNode, ["a:lumOff", "attrs", "val"])) / 100000;
- //console.log("lumOff: ", lumOff)
- if (!isNaN(lumOff)) {
- color = applyLumOff(color, lumOff, isAlpha);
- }
- //21. "red":
- // Specifies the value of the red component.The assigned value is specified as a percentage
- // with 0 % indicating minimal red and 100 % indicating maximum red.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (FF, FF, 00)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:red val="100%" />
- // </a:srgbClr>
- // </a: solidFill >
- //22. "redMod":
- // Specifies the red component as expressed by a percentage relative to the input color
- // component.Increases never increase the red component beyond 100 %, decreases never
- // decrease the red component below 0 %.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (FF, 00, 00)
- // to value RRGGBB = (80, 00, 00)
- // < a: solidFill >
- // <a:srgbClr val="FF0000">
- // <a:redMod val="50%" />
- // </a:srgbClr>
- // </a: solidFill >
- //23. "redOff":
- // Specifies the red component as expressed by a percentage offset increase or decrease to
- // the input color component.Increases never increase the red component beyond 100 %,
- // decreases never decrease the red component below 0 %.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (FF, 00, 00)
- // to value RRGGBB = (CC, 00, 00)
- // < a: solidFill >
- // <a:srgbClr val="FF0000">
- // <a:redOff val="-20%" />
- // </a:srgbClr>
- // </a: solidFill >
- //23. "sat":
- // This element specifies the input color with the specified saturation, but with its hue and luminance unchanged.
- // Typically saturation values fall in the range[0 %, 100 %].
- // [Example:
- // The following two solid fills are equivalent:
- // <a:solidFill>
- // <a:hslClr hue="14400000" sat="100%" lum="50%">
- // </a:solidFill>
- // <a:solidFill>
- // <a:hslClr hue="14400000" sat="0%" lum="50%">
- // <a:sat val="100000" />
- // <a:hslClr />
- // </a:solidFill>
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (40, C0, 40)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:sat val="50%" />
- // </a:srgbClr>
- // <a: solidFill >
- // end example]
- //24. "satMod":
- // Specifies the saturation as expressed by a percentage relative to the input color.
- // Increases never increase the saturation beyond 100 %, decreases never decrease the
- // saturation below 0 %.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (66, 99, 66)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:satMod val="20%" />
- // </a:srgbClr>
- // </a: solidFill >
- var satMod = parseInt(getTextByPathList(clrNode, ["a:satMod", "attrs", "val"])) / 100000;
- if (!isNaN(satMod)) {
- color = applySatMod(color, satMod, isAlpha);
- }
- //25. "satOff":
- // Specifies the saturation as expressed by a percentage offset increase or decrease to the
- // input color.Increases never increase the saturation beyond 100 %, decreases never
- // decrease the saturation below 0 %.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (19, E5, 19)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:satOff val="-20%" />
- // </a:srgbClr>
- // </a: solidFill >
- // var satOff = parseInt(getTextByPathList(clrNode, ["a:satOff", "attrs", "val"])) / 100000;
- // if (!isNaN(satOff)) {
- // console.log("satOff: ", satOff, " (TODO)")
- // }
- //26. "shade":
- // This element specifies a darker version of its input color.A 10 % shade is 10 % of the input color combined with 90 % black.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (00, BC, 00)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:shade val="50%" />
- // </a:srgbClr>
- // </a: solidFill >
- // end example]
- var shade = parseInt(getTextByPathList(clrNode, ["a:shade", "attrs", "val"])) / 100000;
- if (!isNaN(shade)) {
- color = applyShade(color, shade, isAlpha);
- }
- //27. "tint":
- // This element specifies a lighter version of its input color.A 10 % tint is 10 % of the input color combined with
- // 90 % white.
- // [Example: The following manipulates the fill from having RGB value RRGGBB = (00, FF, 00)
- // to value RRGGBB = (BC, FF, BC)
- // < a: solidFill >
- // <a:srgbClr val="00FF00">
- // <a:tint val="50%" />
- // </a:srgbClr>
- // </a: solidFill >
- var tint = parseInt(getTextByPathList(clrNode, ["a:tint", "attrs", "val"])) / 100000;
- if (!isNaN(tint)) {
- color = applyTint(color, tint, isAlpha);
- }
- //console.log("color [%cfinal]: ", "color: #" + color, tinycolor(color).toHslString(), color)
- return color;
- }
- function toHex(n) {
- var hex = n.toString(16);
- while (hex.length < 2) { hex = "0" + hex; }
- return hex;
- }
- function hslToRgb(hue, sat, light) {
- var t1, t2, r, g, b;
- hue = hue / 60;
- if (light <= 0.5) {
- t2 = light * (sat + 1);
- } else {
- t2 = light + sat - (light * sat);
- }
- t1 = light * 2 - t2;
- r = hueToRgb(t1, t2, hue + 2) * 255;
- g = hueToRgb(t1, t2, hue) * 255;
- b = hueToRgb(t1, t2, hue - 2) * 255;
- return { r: r, g: g, b: b };
- }
- function hueToRgb(t1, t2, hue) {
- if (hue < 0) hue += 6;
- if (hue >= 6) hue -= 6;
- if (hue < 1) return (t2 - t1) * hue + t1;
- else if (hue < 3) return t2;
- else if (hue < 4) return (t2 - t1) * (4 - hue) + t1;
- else return t1;
- }
- function getColorName2Hex(name) {
- var hex;
- var colorName = ['white', 'AliceBlue', 'AntiqueWhite', 'Aqua', 'Aquamarine', 'Azure', 'Beige', 'Bisque', 'black', 'BlanchedAlmond', 'Blue', 'BlueViolet', 'Brown', 'BurlyWood', 'CadetBlue', 'Chartreuse', 'Chocolate', 'Coral', 'CornflowerBlue', 'Cornsilk', 'Crimson', 'Cyan', 'DarkBlue', 'DarkCyan', 'DarkGoldenRod', 'DarkGray', 'DarkGrey', 'DarkGreen', 'DarkKhaki', 'DarkMagenta', 'DarkOliveGreen', 'DarkOrange', 'DarkOrchid', 'DarkRed', 'DarkSalmon', 'DarkSeaGreen', 'DarkSlateBlue', 'DarkSlateGray', 'DarkSlateGrey', 'DarkTurquoise', 'DarkViolet', 'DeepPink', 'DeepSkyBlue', 'DimGray', 'DimGrey', 'DodgerBlue', 'FireBrick', 'FloralWhite', 'ForestGreen', 'Fuchsia', 'Gainsboro', 'GhostWhite', 'Gold', 'GoldenRod', 'Gray', 'Grey', 'Green', 'GreenYellow', 'HoneyDew', 'HotPink', 'IndianRed', 'Indigo', 'Ivory', 'Khaki', 'Lavender', 'LavenderBlush', 'LawnGreen', 'LemonChiffon', 'LightBlue', 'LightCoral', 'LightCyan', 'LightGoldenRodYellow', 'LightGray', 'LightGrey', 'LightGreen', 'LightPink', 'LightSalmon', 'LightSeaGreen', 'LightSkyBlue', 'LightSlateGray', 'LightSlateGrey', 'LightSteelBlue', 'LightYellow', 'Lime', 'LimeGreen', 'Linen', 'Magenta', 'Maroon', 'MediumAquaMarine', 'MediumBlue', 'MediumOrchid', 'MediumPurple', 'MediumSeaGreen', 'MediumSlateBlue', 'MediumSpringGreen', 'MediumTurquoise', 'MediumVioletRed', 'MidnightBlue', 'MintCream', 'MistyRose', 'Moccasin', 'NavajoWhite', 'Navy', 'OldLace', 'Olive', 'OliveDrab', 'Orange', 'OrangeRed', 'Orchid', 'PaleGoldenRod', 'PaleGreen', 'PaleTurquoise', 'PaleVioletRed', 'PapayaWhip', 'PeachPuff', 'Peru', 'Pink', 'Plum', 'PowderBlue', 'Purple', 'RebeccaPurple', 'Red', 'RosyBrown', 'RoyalBlue', 'SaddleBrown', 'Salmon', 'SandyBrown', 'SeaGreen', 'SeaShell', 'Sienna', 'Silver', 'SkyBlue', 'SlateBlue', 'SlateGray', 'SlateGrey', 'Snow', 'SpringGreen', 'SteelBlue', 'Tan', 'Teal', 'Thistle', 'Tomato', 'Turquoise', 'Violet', 'Wheat', 'White', 'WhiteSmoke', 'Yellow', 'YellowGreen'];
- var colorHex = ['ffffff', 'f0f8ff', 'faebd7', '00ffff', '7fffd4', 'f0ffff', 'f5f5dc', 'ffe4c4', '000000', 'ffebcd', '0000ff', '8a2be2', 'a52a2a', 'deb887', '5f9ea0', '7fff00', 'd2691e', 'ff7f50', '6495ed', 'fff8dc', 'dc143c', '00ffff', '00008b', '008b8b', 'b8860b', 'a9a9a9', 'a9a9a9', '006400', 'bdb76b', '8b008b', '556b2f', 'ff8c00', '9932cc', '8b0000', 'e9967a', '8fbc8f', '483d8b', '2f4f4f', '2f4f4f', '00ced1', '9400d3', 'ff1493', '00bfff', '696969', '696969', '1e90ff', 'b22222', 'fffaf0', '228b22', 'ff00ff', 'dcdcdc', 'f8f8ff', 'ffd700', 'daa520', '808080', '808080', '008000', 'adff2f', 'f0fff0', 'ff69b4', 'cd5c5c', '4b0082', 'fffff0', 'f0e68c', 'e6e6fa', 'fff0f5', '7cfc00', 'fffacd', 'add8e6', 'f08080', 'e0ffff', 'fafad2', 'd3d3d3', 'd3d3d3', '90ee90', 'ffb6c1', 'ffa07a', '20b2aa', '87cefa', '778899', '778899', 'b0c4de', 'ffffe0', '00ff00', '32cd32', 'faf0e6', 'ff00ff', '800000', '66cdaa', '0000cd', 'ba55d3', '9370db', '3cb371', '7b68ee', '00fa9a', '48d1cc', 'c71585', '191970', 'f5fffa', 'ffe4e1', 'ffe4b5', 'ffdead', '000080', 'fdf5e6', '808000', '6b8e23', 'ffa500', 'ff4500', 'da70d6', 'eee8aa', '98fb98', 'afeeee', 'db7093', 'ffefd5', 'ffdab9', 'cd853f', 'ffc0cb', 'dda0dd', 'b0e0e6', '800080', '663399', 'ff0000', 'bc8f8f', '4169e1', '8b4513', 'fa8072', 'f4a460', '2e8b57', 'fff5ee', 'a0522d', 'c0c0c0', '87ceeb', '6a5acd', '708090', '708090', 'fffafa', '00ff7f', '4682b4', 'd2b48c', '008080', 'd8bfd8', 'ff6347', '40e0d0', 'ee82ee', 'f5deb3', 'ffffff', 'f5f5f5', 'ffff00', '9acd32'];
- var findIndx = colorName.indexOf(name);
- if (findIndx != -1) {
- hex = colorHex[findIndx];
- }
- return hex;
- }
- function getSchemeColorFromTheme(schemeClr, clrMap, phClr, warpObj) {
- //<p:clrMap ...> in slide master
- // e.g. tx2="dk2" bg2="lt2" tx1="dk1" bg1="lt1" slideLayoutClrOvride
- //console.log("getSchemeColorFromTheme: schemeClr: ", schemeClr, ",clrMap: ", clrMap)
- var slideLayoutClrOvride;
- if (clrMap !== undefined) {
- slideLayoutClrOvride = clrMap;//getTextByPathList(clrMap, ["p:sldMaster", "p:clrMap", "attrs"])
- } else {
- var sldClrMapOvr = getTextByPathList(warpObj["slideContent"], ["p:sld", "p:clrMapOvr", "a:overrideClrMapping", "attrs"]);
- if (sldClrMapOvr !== undefined) {
- slideLayoutClrOvride = sldClrMapOvr;
- } else {
- var sldClrMapOvr = getTextByPathList(warpObj["slideLayoutContent"], ["p:sldLayout", "p:clrMapOvr", "a:overrideClrMapping", "attrs"]);
- if (sldClrMapOvr !== undefined) {
- slideLayoutClrOvride = sldClrMapOvr;
- } else {
- slideLayoutClrOvride = getTextByPathList(warpObj["slideMasterContent"], ["p:sldMaster", "p:clrMap", "attrs"]);
- }
- }
- }
- //console.log("getSchemeColorFromTheme slideLayoutClrOvride: ", slideLayoutClrOvride);
- var schmClrName = schemeClr.substr(2);
- if (schmClrName == "phClr" && phClr !== undefined) {
- color = phClr;
- } else {
- if (slideLayoutClrOvride !== undefined) {
- switch (schmClrName) {
- case "tx1":
- case "tx2":
- case "bg1":
- case "bg2":
- schemeClr = "a:" + slideLayoutClrOvride[schmClrName];
- break;
- }
- } else {
- switch (schmClrName) {
- case "tx1":
- schemeClr = "a:dk1";
- break;
- case "tx2":
- schemeClr = "a:dk2";
- break;
- case "bg1":
- schemeClr = "a:lt1";
- break;
- case "bg2":
- schemeClr = "a:lt2";
- break;
- }
- }
- //console.log("getSchemeColorFromTheme: schemeClr: ", schemeClr);
- var refNode = getTextByPathList(warpObj["themeContent"], ["a:theme", "a:themeElements", "a:clrScheme", schemeClr]);
- var color = getTextByPathList(refNode, ["a:srgbClr", "attrs", "val"]);
- //console.log("themeContent: color", color);
- if (color === undefined && refNode !== undefined) {
- color = getTextByPathList(refNode, ["a:sysClr", "attrs", "lastClr"]);
- }
- }
- //console.log(color)
- return color;
- }
- function extractChartData(serNode) {
- var dataMat = new Array();
- if (serNode === undefined) {
- return dataMat;
- }
- if (serNode["c:xVal"] !== undefined) {
- var dataRow = new Array();
- eachElement(serNode["c:xVal"]["c:numRef"]["c:numCache"]["c:pt"], function (innerNode, index) {
- dataRow.push(parseFloat(innerNode["c:v"]));
- return "";
- });
- dataMat.push(dataRow);
- dataRow = new Array();
- eachElement(serNode["c:yVal"]["c:numRef"]["c:numCache"]["c:pt"], function (innerNode, index) {
- dataRow.push(parseFloat(innerNode["c:v"]));
- return "";
- });
- dataMat.push(dataRow);
- } else {
- eachElement(serNode, function (innerNode, index) {
- var dataRow = new Array();
- var colName = getTextByPathList(innerNode, ["c:tx", "c:strRef", "c:strCache", "c:pt", "c:v"]) || index;
- // Category (string or number)
- var rowNames = {};
- if (getTextByPathList(innerNode, ["c:cat", "c:strRef", "c:strCache", "c:pt"]) !== undefined) {
- eachElement(innerNode["c:cat"]["c:strRef"]["c:strCache"]["c:pt"], function (innerNode, index) {
- rowNames[innerNode["attrs"]["idx"]] = innerNode["c:v"];
- return "";
- });
- } else if (getTextByPathList(innerNode, ["c:cat", "c:numRef", "c:numCache", "c:pt"]) !== undefined) {
- eachElement(innerNode["c:cat"]["c:numRef"]["c:numCache"]["c:pt"], function (innerNode, index) {
- rowNames[innerNode["attrs"]["idx"]] = innerNode["c:v"];
- return "";
- });
- }
- // Value
- if (getTextByPathList(innerNode, ["c:val", "c:numRef", "c:numCache", "c:pt"]) !== undefined) {
- eachElement(innerNode["c:val"]["c:numRef"]["c:numCache"]["c:pt"], function (innerNode, index) {
- dataRow.push({ x: innerNode["attrs"]["idx"], y: parseFloat(innerNode["c:v"]) });
- return "";
- });
- }
- dataMat.push({ key: colName, values: dataRow, xlabels: rowNames });
- return "";
- });
- }
- return dataMat;
- }
- // ===== Node functions =====
- /**
- * getTextByPathStr
- * @param {Object} node
- * @param {string} pathStr
- */
- function getTextByPathStr(node, pathStr) {
- return getTextByPathList(node, pathStr.trim().split(/\s+/));
- }
- /**
- * getTextByPathList
- * @param {Object} node
- * @param {string Array} path
- */
- function getTextByPathList(node, path) {
- if (path.constructor !== Array) {
- throw Error("Error of path type! path is not array.");
- }
- if (node === undefined) {
- return undefined;
- }
- var l = path.length;
- for (var i = 0; i < l; i++) {
- node = node[path[i]];
- if (node === undefined) {
- return undefined;
- }
- }
- return node;
- }
- /**
- * setTextByPathList
- * @param {Object} node
- * @param {string Array} path
- * @param {string} value
- */
- function setTextByPathList(node, path, value) {
- if (path.constructor !== Array) {
- throw Error("Error of path type! path is not array.");
- }
- if (node === undefined) {
- return undefined;
- }
- Object.prototype.set = function (parts, value) {
- //var parts = prop.split('.');
- var obj = this;
- var lent = parts.length;
- for (var i = 0; i < lent; i++) {
- var p = parts[i];
- if (obj[p] === undefined) {
- if (i == lent - 1) {
- obj[p] = value;
- } else {
- obj[p] = {};
- }
- }
- obj = obj[p];
- }
- return obj;
- }
- node.set(path, value)
- }
- /**
- * eachElement
- * @param {Object} node
- * @param {function} doFunction
- */
- function eachElement(node, doFunction) {
- if (node === undefined) {
- return;
- }
- var result = "";
- if (node.constructor === Array) {
- var l = node.length;
- for (var i = 0; i < l; i++) {
- result += doFunction(node[i], i);
- }
- } else {
- result += doFunction(node, 0);
- }
- return result;
- }
- // ===== Color functions =====
- /**
- * applyShade
- * @param {string} rgbStr
- * @param {number} shadeValue
- */
- function applyShade(rgbStr, shadeValue, isAlpha) {
- var color = tinycolor(rgbStr).toHsl();
- //console.log("applyShade color: ", color, ", shadeValue: ", shadeValue)
- if (shadeValue >= 1) {
- shadeValue = 1;
- }
- var cacl_l = Math.min(color.l * shadeValue, 1);//;color.l * shadeValue + (1 - shadeValue);
- // if (isAlpha)
- // return color.lighten(tintValue).toHex8();
- // return color.lighten(tintValue).toHex();
- if (isAlpha)
- return tinycolor({ h: color.h, s: color.s, l: cacl_l, a: color.a }).toHex8();
- return tinycolor({ h: color.h, s: color.s, l: cacl_l, a: color.a }).toHex();
- }
- /**
- * applyTint
- * @param {string} rgbStr
- * @param {number} tintValue
- */
- function applyTint(rgbStr, tintValue, isAlpha) {
- var color = tinycolor(rgbStr).toHsl();
- //console.log("applyTint color: ", color, ", tintValue: ", tintValue)
- if (tintValue >= 1) {
- tintValue = 1;
- }
- var cacl_l = color.l * tintValue + (1 - tintValue);
- // if (isAlpha)
- // return color.lighten(tintValue).toHex8();
- // return color.lighten(tintValue).toHex();
- if (isAlpha)
- return tinycolor({ h: color.h, s: color.s, l: cacl_l, a: color.a }).toHex8();
- return tinycolor({ h: color.h, s: color.s, l: cacl_l, a: color.a }).toHex();
- }
- /**
- * applyLumOff
- * @param {string} rgbStr
- * @param {number} offset
- */
- function applyLumOff(rgbStr, offset, isAlpha) {
- var color = tinycolor(rgbStr).toHsl();
- //console.log("applyLumOff color.l: ", color.l, ", offset: ", offset, ", color.l + offset : ", color.l + offset)
- var lum = offset + color.l;
- if (lum >= 1) {
- if (isAlpha)
- return tinycolor({ h: color.h, s: color.s, l: 1, a: color.a }).toHex8();
- return tinycolor({ h: color.h, s: color.s, l: 1, a: color.a }).toHex();
- }
- if (isAlpha)
- return tinycolor({ h: color.h, s: color.s, l: lum, a: color.a }).toHex8();
- return tinycolor({ h: color.h, s: color.s, l: lum, a: color.a }).toHex();
- }
- /**
- * applyLumMod
- * @param {string} rgbStr
- * @param {number} multiplier
- */
- function applyLumMod(rgbStr, multiplier, isAlpha) {
- var color = tinycolor(rgbStr).toHsl();
- //console.log("applyLumMod color.l: ", color.l, ", multiplier: ", multiplier, ", color.l * multiplier : ", color.l * multiplier)
- var cacl_l = color.l * multiplier;
- if (cacl_l >= 1) {
- cacl_l = 1;
- }
- if (isAlpha)
- return tinycolor({ h: color.h, s: color.s, l: cacl_l, a: color.a }).toHex8();
- return tinycolor({ h: color.h, s: color.s, l: cacl_l, a: color.a }).toHex();
- }
- // /**
- // * applyHueMod
- // * @param {string} rgbStr
- // * @param {number} multiplier
- // */
- function applyHueMod(rgbStr, multiplier, isAlpha) {
- var color = tinycolor(rgbStr).toHsl();
- //console.log("applyLumMod color.h: ", color.h, ", multiplier: ", multiplier, ", color.h * multiplier : ", color.h * multiplier)
- var cacl_h = color.h * multiplier;
- if (cacl_h >= 360) {
- cacl_h = cacl_h - 360;
- }
- if (isAlpha)
- return tinycolor({ h: cocacl_h, s: color.s, l: color.l, a: color.a }).toHex8();
- return tinycolor({ h: cacl_h, s: color.s, l: color.l, a: color.a }).toHex();
- }
- // /**
- // * applyHueOff
- // * @param {string} rgbStr
- // * @param {number} offset
- // */
- // function applyHueOff(rgbStr, offset, isAlpha) {
- // var color = tinycolor(rgbStr).toHsl();
- // //console.log("applyLumMod color.h: ", color.h, ", offset: ", offset, ", color.h * offset : ", color.h * offset)
- // var cacl_h = color.h * offset;
- // if (cacl_h >= 360) {
- // cacl_h = cacl_h - 360;
- // }
- // if (isAlpha)
- // return tinycolor({ h: cocacl_h, s: color.s, l: color.l, a: color.a }).toHex8();
- // return tinycolor({ h: cacl_h, s: color.s, l: color.l, a: color.a }).toHex();
- // }
- // /**
- // * applySatMod
- // * @param {string} rgbStr
- // * @param {number} multiplier
- // */
- function applySatMod(rgbStr, multiplier, isAlpha) {
- var color = tinycolor(rgbStr).toHsl();
- //console.log("applySatMod color.s: ", color.s, ", multiplier: ", multiplier, ", color.s * multiplier : ", color.s * multiplier)
- var cacl_s = color.s * multiplier;
- if (cacl_s >= 1) {
- cacl_s = 1;
- }
- //return;
- // if (isAlpha)
- // return tinycolor(rgbStr).saturate(multiplier * 100).toHex8();
- // return tinycolor(rgbStr).saturate(multiplier * 100).toHex();
- if (isAlpha)
- return tinycolor({ h: color.h, s: cacl_s, l: color.l, a: color.a }).toHex8();
- return tinycolor({ h: color.h, s: cacl_s, l: color.l, a: color.a }).toHex();
- }
- /**
- * rgba2hex
- * @param {string} rgbaStr
- */
- function rgba2hex(rgbaStr) {
- var a,
- rgb = rgbaStr.replace(/\s/g, '').match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i),
- alpha = (rgb && rgb[4] || "").trim(),
- hex = rgb ?
- (rgb[1] | 1 << 8).toString(16).slice(1) +
- (rgb[2] | 1 << 8).toString(16).slice(1) +
- (rgb[3] | 1 << 8).toString(16).slice(1) : rgbaStr;
- if (alpha !== "") {
- a = alpha;
- } else {
- a = 01;
- }
- // multiply before convert to HEX
- a = ((a * 255) | 1 << 8).toString(16).slice(1)
- hex = hex + a;
- return hex;
- }
- ///////////////////////Amir////////////////
- function angleToDegrees(angle) {
- if (angle == "" || angle == null) {
- return 0;
- }
- return Math.round(angle / 60000);
- }
- // function degreesToRadians(degrees) {
- // //Math.PI
- // if (degrees == "" || degrees == null || degrees == undefined) {
- // return 0;
- // }
- // return degrees * (Math.PI / 180);
- // }
- function getMimeType(imgFileExt) {
- var mimeType = "";
- //console.log(imgFileExt)
- switch (imgFileExt.toLowerCase()) {
- case "jpg":
- case "jpeg":
- mimeType = "image/jpeg";
- break;
- case "png":
- mimeType = "image/png";
- break;
- case "gif":
- mimeType = "image/gif";
- break;
- case "emf": // Not native support
- mimeType = "image/x-emf";
- break;
- case "wmf": // Not native support
- mimeType = "image/x-wmf";
- break;
- case "svg":
- mimeType = "image/svg+xml";
- break;
- case "mp4":
- mimeType = "video/mp4";
- break;
- case "webm":
- mimeType = "video/webm";
- break;
- case "ogg":
- mimeType = "video/ogg";
- break;
- case "avi":
- mimeType = "video/avi";
- break;
- case "mpg":
- mimeType = "video/mpg";
- break;
- case "wmv":
- mimeType = "video/wmv";
- break;
- case "mp3":
- mimeType = "audio/mpeg";
- break;
- case "wav":
- mimeType = "audio/wav";
- break;
- case "emf":
- mimeType = "image/emf";
- break;
- case "wmf":
- mimeType = "image/wmf";
- case "tif":
- case "tiff":
- mimeType = "image/tiff";
- break;
- }
- return mimeType;
- }
- function getSvgGradient(w, h, angl, color_arry, shpId) {
- var stopsArray = getMiddleStops(color_arry - 2);
- var svgAngle = '',
- svgHeight = h,
- svgWidth = w,
- svg = '',
- xy_ary = SVGangle(angl, svgHeight, svgWidth),
- x1 = xy_ary[0],
- y1 = xy_ary[1],
- x2 = xy_ary[2],
- y2 = xy_ary[3];
- var sal = stopsArray.length,
- sr = sal < 20 ? 100 : 1000;
- svgAngle = ' gradientUnits="userSpaceOnUse" x1="' + x1 + '%" y1="' + y1 + '%" x2="' + x2 + '%" y2="' + y2 + '%"';
- svgAngle = '<linearGradient id="linGrd_' + shpId + '"' + svgAngle + '>\n';
- svg += svgAngle;
- for (var i = 0; i < sal; i++) {
- var tinClr = tinycolor("#" + color_arry[i]);
- var alpha = tinClr.getAlpha();
- //console.log("color: ", color_arry[i], ", rgba: ", tinClr.toHexString(), ", alpha: ", alpha)
- svg += '<stop offset="' + Math.round(parseFloat(stopsArray[i]) / 100 * sr) / sr + '" style="stop-color:' + tinClr.toHexString() + '; stop-opacity:' + (alpha) + ';"';
- svg += '/>\n'
- }
- svg += '</linearGradient>\n' + '';
- return svg
- }
- function getMiddleStops(s) {
- var sArry = ['0%', '100%'];
- if (s == 0) {
- return sArry;
- } else {
- var i = s;
- while (i--) {
- var middleStop = 100 - ((100 / (s + 1)) * (i + 1)), // AM: Ex - For 3 middle stops, progression will be 25%, 50%, and 75%, plus 0% and 100% at the ends.
- middleStopString = middleStop + "%";
- sArry.splice(-1, 0, middleStopString);
- } // AM: add into stopsArray before 100%
- }
- return sArry
- }
- function SVGangle(deg, svgHeight, svgWidth) {
- var w = parseFloat(svgWidth),
- h = parseFloat(svgHeight),
- ang = parseFloat(deg),
- o = 2,
- n = 2,
- wc = w / 2,
- hc = h / 2,
- tx1 = 2,
- ty1 = 2,
- tx2 = 2,
- ty2 = 2,
- k = (((ang % 360) + 360) % 360),
- j = (360 - k) * Math.PI / 180,
- i = Math.tan(j),
- l = hc - i * wc;
- if (k == 0) {
- tx1 = w,
- ty1 = hc,
- tx2 = 0,
- ty2 = hc
- } else if (k < 90) {
- n = w,
- o = 0
- } else if (k == 90) {
- tx1 = wc,
- ty1 = 0,
- tx2 = wc,
- ty2 = h
- } else if (k < 180) {
- n = 0,
- o = 0
- } else if (k == 180) {
- tx1 = 0,
- ty1 = hc,
- tx2 = w,
- ty2 = hc
- } else if (k < 270) {
- n = 0,
- o = h
- } else if (k == 270) {
- tx1 = wc,
- ty1 = h,
- tx2 = wc,
- ty2 = 0
- } else {
- n = w,
- o = h;
- }
- // AM: I could not quite figure out what m, n, and o are supposed to represent from the original code on visualcsstools.com.
- var m = o + (n / i),
- tx1 = tx1 == 2 ? i * (m - l) / (Math.pow(i, 2) + 1) : tx1,
- ty1 = ty1 == 2 ? i * tx1 + l : ty1,
- tx2 = tx2 == 2 ? w - tx1 : tx2,
- ty2 = ty2 == 2 ? h - ty1 : ty2,
- x1 = Math.round(tx2 / w * 100 * 100) / 100,
- y1 = Math.round(ty2 / h * 100 * 100) / 100,
- x2 = Math.round(tx1 / w * 100 * 100) / 100,
- y2 = Math.round(ty1 / h * 100 * 100) / 100;
- return [x1, y1, x2, y2];
- }
- function getSvgImagePattern(node, fill, shpId, warpObj) {
- var pic_dim = getBase64ImageDimensions(fill);
- var width = pic_dim[0];
- var height = pic_dim[1];
- //console.log("getSvgImagePattern node:", node);
- var blipFillNode = node["p:spPr"]["a:blipFill"];
- var tileNode = getTextByPathList(blipFillNode, ["a:tile", "attrs"])
- if (tileNode !== undefined && tileNode["sx"] !== undefined) {
- var sx = (parseInt(tileNode["sx"]) / 100000) * width;
- var sy = (parseInt(tileNode["sy"]) / 100000) * height;
- }
- var blipNode = node["p:spPr"]["a:blipFill"]["a:blip"];
- var tialphaModFixNode = getTextByPathList(blipNode, ["a:alphaModFix", "attrs"])
- var imgOpacity = "";
- if (tialphaModFixNode !== undefined && tialphaModFixNode["amt"] !== undefined && tialphaModFixNode["amt"] != "") {
- var amt = parseInt(tialphaModFixNode["amt"]) / 100000;
- var opacity = amt;
- var imgOpacity = "opacity='" + opacity + "'";
- }
- if (sx !== undefined && sx != 0) {
- var ptrn = '<pattern id="imgPtrn_' + shpId + '" x="0" y="0" width="' + sx + '" height="' + sy + '" patternUnits="userSpaceOnUse">';
- } else {
- var ptrn = '<pattern id="imgPtrn_' + shpId + '" patternContentUnits="objectBoundingBox" width="1" height="1">';
- }
- var duotoneNode = getTextByPathList(blipNode, ["a:duotone"])
- var fillterNode = "";
- var filterUrl = "";
- if (duotoneNode !== undefined) {
- //console.log("pic duotoneNode: ", duotoneNode)
- var clr_ary = [];
- Object.keys(duotoneNode).forEach(function (clr_type) {
- //Object.keys(duotoneNode[clr_type]).forEach(function (clr) {
- //console.log("blip pic duotone clr: ", duotoneNode[clr_type][clr], clr)
- if (clr_type != "attrs") {
- var obj = {};
- obj[clr_type] = duotoneNode[clr_type];
- //console.log("blip pic duotone obj: ", obj)
- var hexClr = getSolidFill(obj, undefined, undefined, warpObj)
- //clr_ary.push();
- var color = tinycolor("#" + hexClr);
- clr_ary.push(color.toRgb()); // { r: 255, g: 0, b: 0, a: 1 }
- }
- // })
- })
- if (clr_ary.length == 2) {
- fillterNode = '<filter id="svg_image_duotone"> ' +
- '<feColorMatrix type="matrix" values=".33 .33 .33 0 0' +
- '.33 .33 .33 0 0' +
- '.33 .33 .33 0 0' +
- '0 0 0 1 0">' +
- '</feColorMatrix>' +
- '<feComponentTransfer color-interpolation-filters="sRGB">' +
- //clr_ary.forEach(function(clr){
- '<feFuncR type="table" tableValues="' + clr_ary[0].r / 255 + ' ' + clr_ary[1].r / 255 + '"></feFuncR>' +
- '<feFuncG type="table" tableValues="' + clr_ary[0].g / 255 + ' ' + clr_ary[1].g / 255 + '"></feFuncG>' +
- '<feFuncB type="table" tableValues="' + clr_ary[0].b / 255 + ' ' + clr_ary[1].b / 255 + '"></feFuncB>' +
- //});
- '</feComponentTransfer>' +
- ' </filter>';
- }
- filterUrl = 'filter="url(#svg_image_duotone)"';
- ptrn += fillterNode;
- }
- fill = escapeHtml(fill);
- if (sx !== undefined && sx != 0) {
- ptrn += '<image xlink:href="' + fill + '" x="0" y="0" width="' + sx + '" height="' + sy + '" ' + imgOpacity + ' ' + filterUrl + '></image>';
- } else {
- ptrn += '<image xlink:href="' + fill + '" preserveAspectRatio="none" width="1" height="1" ' + imgOpacity + ' ' + filterUrl + '></image>';
- }
- ptrn += '</pattern>';
- //console.log("getSvgImagePattern(...) pic_dim:", pic_dim, ", fillColor: ", fill, ", blipNode: ", blipNode, ",sx: ", sx, ", sy: ", sy, ", clr_ary: ", clr_ary, ", ptrn: ", ptrn)
- return ptrn;
- }
- function getBase64ImageDimensions(imgSrc) {
- var image = new Image();
- var w, h;
- image.onload = function () {
- w = image.width;
- h = image.height;
- };
- image.src = imgSrc;
- do {
- if (image.width !== undefined) {
- return [image.width, image.height];
- }
- } while (image.width === undefined);
- //return [w, h];
- }
- function processMsgQueue(queue) {
- for (var i = 0; i < queue.length; i++) {
- processSingleMsg(queue[i].data);
- }
- }
- function processSingleMsg(d) {
- var chartID = d.chartID;
- var chartType = d.chartType;
- var chartData = d.chartData;
- var data = [];
- var chart = null;
- switch (chartType) {
- case "lineChart":
- data = chartData;
- chart = nv.models.lineChart()
- .useInteractiveGuideline(true);
- chart.xAxis.tickFormat(function (d) { return chartData[0].xlabels[d] || d; });
- break;
- case "barChart":
- data = chartData;
- chart = nv.models.multiBarChart();
- chart.xAxis.tickFormat(function (d) { return chartData[0].xlabels[d] || d; });
- break;
- case "pieChart":
- case "pie3DChart":
- if (chartData.length > 0) {
- data = chartData[0].values;
- }
- chart = nv.models.pieChart();
- break;
- case "areaChart":
- data = chartData;
- chart = nv.models.stackedAreaChart()
- .clipEdge(true)
- .useInteractiveGuideline(true);
- chart.xAxis.tickFormat(function (d) { return chartData[0].xlabels[d] || d; });
- break;
- case "scatterChart":
- for (var i = 0; i < chartData.length; i++) {
- var arr = [];
- for (var j = 0; j < chartData[i].length; j++) {
- arr.push({ x: j, y: chartData[i][j] });
- }
- data.push({ key: 'data' + (i + 1), values: arr });
- }
- //data = chartData;
- chart = nv.models.scatterChart()
- .showDistX(true)
- .showDistY(true)
- .color(d3.scale.category10().range());
- chart.xAxis.axisLabel('X').tickFormat(d3.format('.02f'));
- chart.yAxis.axisLabel('Y').tickFormat(d3.format('.02f'));
- break;
- default:
- }
- if (chart !== null) {
- d3.select("#" + chartID)
- .append("svg")
- .datum(data)
- .transition().duration(500)
- .call(chart);
- nv.utils.windowResize(chart.update);
- isDone = true;
- }
- }
- function setNumericBullets(elem) {
- var prgrphs_arry = elem;
- for (var i = 0; i < prgrphs_arry.length; i++) {
- var buSpan = $(prgrphs_arry[i]).find('.numeric-bullet-style');
- if (buSpan.length > 0) {
- //console.log("DIV-"+i+":");
- var prevBultTyp = "";
- var prevBultLvl = "";
- var buletIndex = 0;
- var tmpArry = new Array();
- var tmpArryIndx = 0;
- var buletTypSrry = new Array();
- for (var j = 0; j < buSpan.length; j++) {
- var bult_typ = $(buSpan[j]).data("bulltname");
- var bult_lvl = $(buSpan[j]).data("bulltlvl");
- //console.log(j+" - "+bult_typ+" lvl: "+bult_lvl );
- if (buletIndex == 0) {
- prevBultTyp = bult_typ;
- prevBultLvl = bult_lvl;
- tmpArry[tmpArryIndx] = buletIndex;
- buletTypSrry[tmpArryIndx] = bult_typ;
- buletIndex++;
- } else {
- if (bult_typ == prevBultTyp && bult_lvl == prevBultLvl) {
- prevBultTyp = bult_typ;
- prevBultLvl = bult_lvl;
- buletIndex++;
- tmpArry[tmpArryIndx] = buletIndex;
- buletTypSrry[tmpArryIndx] = bult_typ;
- } else if (bult_typ != prevBultTyp && bult_lvl == prevBultLvl) {
- prevBultTyp = bult_typ;
- prevBultLvl = bult_lvl;
- tmpArryIndx++;
- tmpArry[tmpArryIndx] = buletIndex;
- buletTypSrry[tmpArryIndx] = bult_typ;
- buletIndex = 1;
- } else if (bult_typ != prevBultTyp && Number(bult_lvl) > Number(prevBultLvl)) {
- prevBultTyp = bult_typ;
- prevBultLvl = bult_lvl;
- tmpArryIndx++;
- tmpArry[tmpArryIndx] = buletIndex;
- buletTypSrry[tmpArryIndx] = bult_typ;
- buletIndex = 1;
- } else if (bult_typ != prevBultTyp && Number(bult_lvl) < Number(prevBultLvl)) {
- prevBultTyp = bult_typ;
- prevBultLvl = bult_lvl;
- tmpArryIndx--;
- buletIndex = tmpArry[tmpArryIndx] + 1;
- }
- }
- //console.log(buletTypSrry[tmpArryIndx]+" - "+buletIndex);
- var numIdx = getNumTypeNum(buletTypSrry[tmpArryIndx], buletIndex);
- $(buSpan[j]).html(numIdx);
- }
- }
- }
- }
- function getNumTypeNum(numTyp, num) {
- var rtrnNum = "";
- switch (numTyp) {
- case "arabicPeriod":
- rtrnNum = num + ". ";
- break;
- case "arabicParenR":
- rtrnNum = num + ") ";
- break;
- case "alphaLcParenR":
- rtrnNum = alphaNumeric(num, "lowerCase") + ") ";
- break;
- case "alphaLcPeriod":
- rtrnNum = alphaNumeric(num, "lowerCase") + ". ";
- break;
- case "alphaUcParenR":
- rtrnNum = alphaNumeric(num, "upperCase") + ") ";
- break;
- case "alphaUcPeriod":
- rtrnNum = alphaNumeric(num, "upperCase") + ". ";
- break;
- case "romanUcPeriod":
- rtrnNum = romanize(num) + ". ";
- break;
- case "romanLcParenR":
- rtrnNum = romanize(num) + ") ";
- break;
- case "hebrew2Minus":
- rtrnNum = hebrew2Minus.format(num) + "-";
- break;
- default:
- rtrnNum = num;
- }
- return rtrnNum;
- }
- function romanize(num) {
- if (!+num)
- return false;
- var digits = String(+num).split(""),
- key = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM",
- "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC",
- "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"],
- roman = "",
- i = 3;
- while (i--)
- roman = (key[+digits.pop() + (i * 10)] || "") + roman;
- return Array(+digits.join("") + 1).join("M") + roman;
- }
- var hebrew2Minus = archaicNumbers([
- [1000, ''],
- [400, 'ת'],
- [300, 'ש'],
- [200, 'ר'],
- [100, 'ק'],
- [90, 'צ'],
- [80, 'פ'],
- [70, 'ע'],
- [60, 'ס'],
- [50, 'נ'],
- [40, 'מ'],
- [30, 'ל'],
- [20, 'כ'],
- [10, 'י'],
- [9, 'ט'],
- [8, 'ח'],
- [7, 'ז'],
- [6, 'ו'],
- [5, 'ה'],
- [4, 'ד'],
- [3, 'ג'],
- [2, 'ב'],
- [1, 'א'],
- [/יה/, 'ט״ו'],
- [/יו/, 'ט״ז'],
- [/([א-ת])([א-ת])$/, '$1״$2'],
- [/^([א-ת])$/, "$1׳"]
- ]);
- function archaicNumbers(arr) {
- var arrParse = arr.slice().sort(function (a, b) { return b[1].length - a[1].length });
- return {
- format: function (n) {
- var ret = '';
- jQuery.each(arr, function () {
- var num = this[0];
- if (parseInt(num) > 0) {
- for (; n >= num; n -= num) ret += this[1];
- } else {
- ret = ret.replace(num, this[1]);
- }
- });
- return ret;
- }
- }
- }
- function alphaNumeric(num, upperLower) {
- num = Number(num) - 1;
- var aNum = "";
- if (upperLower == "upperCase") {
- aNum = (((num / 26 >= 1) ? String.fromCharCode(num / 26 + 64) : '') + String.fromCharCode(num % 26 + 65)).toUpperCase();
- } else if (upperLower == "lowerCase") {
- aNum = (((num / 26 >= 1) ? String.fromCharCode(num / 26 + 64) : '') + String.fromCharCode(num % 26 + 65)).toLowerCase();
- }
- return aNum;
- }
- function base64ArrayBuffer(arrayBuffer) {
- var base64 = '';
- var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
- var bytes = new Uint8Array(arrayBuffer);
- var byteLength = bytes.byteLength;
- var byteRemainder = byteLength % 3;
- var mainLength = byteLength - byteRemainder;
- var a, b, c, d;
- var chunk;
- for (var i = 0; i < mainLength; i = i + 3) {
- chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];
- a = (chunk & 16515072) >> 18;
- b = (chunk & 258048) >> 12;
- c = (chunk & 4032) >> 6;
- d = chunk & 63;
- base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d];
- }
- if (byteRemainder == 1) {
- chunk = bytes[mainLength];
- a = (chunk & 252) >> 2;
- b = (chunk & 3) << 4;
- base64 += encodings[a] + encodings[b] + '==';
- } else if (byteRemainder == 2) {
- chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1];
- a = (chunk & 64512) >> 10;
- b = (chunk & 1008) >> 4;
- c = (chunk & 15) << 2;
- base64 += encodings[a] + encodings[b] + encodings[c] + '=';
- }
- return base64;
- }
- function IsVideoLink(vdoFile) {
- /*
- var ext = extractFileExtension(vdoFile);
- if (ext.length == 3){
- return false;
- }else{
- return true;
- }
- */
- var urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
- return urlregex.test(vdoFile);
- }
- function extractFileExtension(filename) {
- return filename.substr((~-filename.lastIndexOf(".") >>> 0) + 2);
- }
- function escapeHtml(text) {
- var map = {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": '''
- };
- return text.replace(/[&<>"']/g, function (m) { return map[m]; });
- }
- /////////////////////////////////////tXml///////////////////////////
- /*
- This is my custom tXml.js file
- */
- function tXml(t, r) { "use strict"; function e() { for (var r = []; t[l];)if (t.charCodeAt(l) == s) { if (t.charCodeAt(l + 1) === h) return l = t.indexOf(u, l), l + 1 && (l += 1), r; if (t.charCodeAt(l + 1) === v) { if (t.charCodeAt(l + 2) == m) { for (; -1 !== l && (t.charCodeAt(l) !== d || t.charCodeAt(l - 1) != m || t.charCodeAt(l - 2) != m || -1 == l);)l = t.indexOf(u, l + 1); -1 === l && (l = t.length) } else for (l += 2; t.charCodeAt(l) !== d && t[l];)l++; l++; continue } var e = a(); r.push(e) } else { var i = n(); i.trim().length > 0 && r.push(i), l++ } return r } function n() { var r = l; return l = t.indexOf(c, l) - 1, -2 === l && (l = t.length), t.slice(r, l + 1) } function i() { for (var r = l; -1 === A.indexOf(t[l]) && t[l];)l++; return t.slice(r, l) } function a() { var r = {}; l++, r.tagName = i(); for (var n = !1; t.charCodeAt(l) !== d && t[l];) { var a = t.charCodeAt(l); if (a > 64 && 91 > a || a > 96 && 123 > a) { for (var f = i(), c = t.charCodeAt(l); c && c !== p && c !== g && !(c > 64 && 91 > c || c > 96 && 123 > c) && c !== d;)l++, c = t.charCodeAt(l); if (n || (r.attributes = {}, n = !0), c === p || c === g) { var s = o(); if (-1 === l) return r } else s = null, l--; r.attributes[f] = s } l++ } if (t.charCodeAt(l - 1) !== h) if ("script" == r.tagName) { var u = l + 1; l = t.indexOf("</script>", l), r.children = [t.slice(u, l - 1)], l += 8 } else if ("style" == r.tagName) { var u = l + 1; l = t.indexOf("</style>", l), r.children = [t.slice(u, l - 1)], l += 7 } else -1 == C.indexOf(r.tagName) && (l++, r.children = e(f)); else l++; return r } function o() { var r = t[l], e = ++l; return l = t.indexOf(r, e), t.slice(e, l) } function f() { var e = new RegExp("\\s" + r.attrName + "\\s*=['\"]" + r.attrValue + "['\"]").exec(t); return e ? e.index : -1 } r = r || {}; var l = r.pos || 0, c = "<", s = "<".charCodeAt(0), u = ">", d = ">".charCodeAt(0), m = "-".charCodeAt(0), h = "/".charCodeAt(0), v = "!".charCodeAt(0), p = "'".charCodeAt(0), g = '"'.charCodeAt(0), A = "\n >/= ", C = ["img", "br", "input", "meta", "link"], y = null; if (void 0 !== r.attrValue) { r.attrName = r.attrName || "id"; for (var y = []; -1 !== (l = f());)l = t.lastIndexOf("<", l), -1 !== l && y.push(a()), t = t.substr(l), l = 0 } else y = r.parseNode ? a() : e(); return r.filter && (y = tXml.filter(y, r.filter)), r.simplify && (y = tXml.simplify(y)), y.pos = l, y } var _order = 1; tXml.simplify = function (t) { var r = {}; if (void 0 === t) return {}; if (1 === t.length && "string" == typeof t[0]) return t[0]; t.forEach(function (t) { if ("object" == typeof t) { r[t.tagName] || (r[t.tagName] = []); var e = tXml.simplify(t.children || []); r[t.tagName].push(e), t.attributes && (e.attrs = t.attributes), void 0 === e.attrs ? e.attrs = { order: _order } : e.attrs.order = _order, _order++ } }); for (var e in r) 1 == r[e].length && (r[e] = r[e][0]); return r }, tXml.filter = function (t, r) { var e = []; return t.forEach(function (t) { if ("object" == typeof t && r(t) && e.push(t), t.children) { var n = tXml.filter(t.children, r); e = e.concat(n) } }), e }, tXml.stringify = function (t) { function r(t) { if (t) for (var r = 0; r < t.length; r++)"string" == typeof t[r] ? n += t[r].trim() : e(t[r]) } function e(t) { n += "<" + t.tagName; for (var e in t.attributes) n += null === t.attributes[e] ? " " + e : -1 === t.attributes[e].indexOf('"') ? " " + e + '="' + t.attributes[e].trim() + '"' : " " + e + "='" + t.attributes[e].trim() + "'"; n += ">", r(t.children), n += "</" + t.tagName + ">" } var n = ""; return r(t), n }, tXml.toContentString = function (t) { if (Array.isArray(t)) { var r = ""; return t.forEach(function (t) { r += " " + tXml.toContentString(t), r = r.trim() }), r } return "object" == typeof t ? tXml.toContentString(t.children) : " " + t }, tXml.getElementById = function (t, r, e) { var n = tXml(t, { attrValue: r, simplify: e }); return e ? n : n[0] }, tXml.getElementsByClassName = function (t, r, e) { return tXml(t, { attrName: "class", attrValue: "[a-zA-Z0-9-s ]*" + r + "[a-zA-Z0-9-s ]*", simplify: e }) }, tXml.parseStream = function (t, r) { if ("function" == typeof r && (cb = r, r = 0), "string" == typeof r && (r = r.length + 2), "string" == typeof t) { var e = require("fs"); t = e.createReadStream(t, { start: r }), r = 0 } var n = r, i = "", a = 0; return t.on("data", function (r) { a++, i += r; for (var e = 0; ;) { n = i.indexOf("<", n) + 1; var o = tXml(i, { pos: n, parseNode: !0 }); if (n = o.pos, n > i.length - 1 || e > n) return void (e && (i = i.slice(e), n = 0, e = 0)); t.emit("xml", o), e = n } i = i.slice(n), n = 0 }), t.on("end", function () { console.log("end") }), t }, "object" == typeof module && (module.exports = tXml);
- };
- /*!
- JSZipUtils - A collection of cross-browser utilities to go along with JSZip.
- <http://stuk.github.io/jszip-utils>
- (c) 2014 Stuart Knightley, David Duponchel
- Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown.
- */
- !function (a) { "object" == typeof exports ? module.exports = a() : "function" == typeof define && define.amd ? define(a) : "undefined" != typeof window ? window.JSZipUtils = a() : "undefined" != typeof global ? global.JSZipUtils = a() : "undefined" != typeof self && (self.JSZipUtils = a()) }(function () { return function a(b, c, d) { function e(g, h) { if (!c[g]) { if (!b[g]) { var i = "function" == typeof require && require; if (!h && i) return i(g, !0); if (f) return f(g, !0); throw new Error("Cannot find module '" + g + "'") } var j = c[g] = { exports: {} }; b[g][0].call(j.exports, function (a) { var c = b[g][1][a]; return e(c ? c : a) }, j, j.exports, a, b, c, d) } return c[g].exports } for (var f = "function" == typeof require && require, g = 0; g < d.length; g++)e(d[g]); return e }({ 1: [function (a, b) { "use strict"; function c() { try { return new window.XMLHttpRequest } catch (a) { } } function d() { try { return new window.ActiveXObject("Microsoft.XMLHTTP") } catch (a) { } } var e = {}; e._getBinaryFromXHR = function (a) { return a.response || a.responseText }; var f = window.ActiveXObject ? function () { return c() || d() } : c; e.getBinaryContent = function (a, b) { try { var c = f(); c.open("GET", a, !0), "responseType" in c && (c.responseType = "arraybuffer"), c.overrideMimeType && c.overrideMimeType("text/plain; charset=x-user-defined"), c.onreadystatechange = function () { var d, f; if (4 === c.readyState) if (200 === c.status || 0 === c.status) { d = null, f = null; try { d = e._getBinaryFromXHR(c) } catch (g) { f = new Error(g) } b(f, d) } else b(new Error("Ajax error for " + a + " : " + this.status + " " + this.statusText), null) }, c.send() } catch (d) { b(new Error(d), null) } }, b.exports = e }, {}] }, {}, [1])(1) });
- // TinyColor v1.4.2
- // https://github.com/bgrins/TinyColor
- // 2020-09-25, Brian Grinstead, MIT License
- !function (a) { function b(a, d) { if (a = a ? a : "", d = d || {}, a instanceof b) return a; if (!(this instanceof b)) return new b(a, d); var e = c(a); this._originalInput = a, this._r = e.r, this._g = e.g, this._b = e.b, this._a = e.a, this._roundA = P(100 * this._a) / 100, this._format = d.format || e.format, this._gradientType = d.gradientType, this._r < 1 && (this._r = P(this._r)), this._g < 1 && (this._g = P(this._g)), this._b < 1 && (this._b = P(this._b)), this._ok = e.ok, this._tc_id = O++ } function c(a) { var b = { r: 0, g: 0, b: 0 }, c = 1, e = null, g = null, i = null, j = !1, k = !1; return "string" == typeof a && (a = K(a)), "object" == typeof a && (J(a.r) && J(a.g) && J(a.b) ? (b = d(a.r, a.g, a.b), j = !0, k = "%" === String(a.r).substr(-1) ? "prgb" : "rgb") : J(a.h) && J(a.s) && J(a.v) ? (e = G(a.s), g = G(a.v), b = h(a.h, e, g), j = !0, k = "hsv") : J(a.h) && J(a.s) && J(a.l) && (e = G(a.s), i = G(a.l), b = f(a.h, e, i), j = !0, k = "hsl"), a.hasOwnProperty("a") && (c = a.a)), c = z(c), { ok: j, format: a.format || k, r: Q(255, R(b.r, 0)), g: Q(255, R(b.g, 0)), b: Q(255, R(b.b, 0)), a: c } } function d(a, b, c) { return { r: 255 * A(a, 255), g: 255 * A(b, 255), b: 255 * A(c, 255) } } function e(a, b, c) { a = A(a, 255), b = A(b, 255), c = A(c, 255); var d, e, f = R(a, b, c), g = Q(a, b, c), h = (f + g) / 2; if (f == g) d = e = 0; else { var i = f - g; switch (e = h > .5 ? i / (2 - f - g) : i / (f + g), f) { case a: d = (b - c) / i + (c > b ? 6 : 0); break; case b: d = (c - a) / i + 2; break; case c: d = (a - b) / i + 4 }d /= 6 } return { h: d, s: e, l: h } } function f(a, b, c) { function d(a, b, c) { return 0 > c && (c += 1), c > 1 && (c -= 1), 1 / 6 > c ? a + 6 * (b - a) * c : .5 > c ? b : 2 / 3 > c ? a + (b - a) * (2 / 3 - c) * 6 : a } var e, f, g; if (a = A(a, 360), b = A(b, 100), c = A(c, 100), 0 === b) e = f = g = c; else { var h = .5 > c ? c * (1 + b) : c + b - c * b, i = 2 * c - h; e = d(i, h, a + 1 / 3), f = d(i, h, a), g = d(i, h, a - 1 / 3) } return { r: 255 * e, g: 255 * f, b: 255 * g } } function g(a, b, c) { a = A(a, 255), b = A(b, 255), c = A(c, 255); var d, e, f = R(a, b, c), g = Q(a, b, c), h = f, i = f - g; if (e = 0 === f ? 0 : i / f, f == g) d = 0; else { switch (f) { case a: d = (b - c) / i + (c > b ? 6 : 0); break; case b: d = (c - a) / i + 2; break; case c: d = (a - b) / i + 4 }d /= 6 } return { h: d, s: e, v: h } } function h(b, c, d) { b = 6 * A(b, 360), c = A(c, 100), d = A(d, 100); var e = a.floor(b), f = b - e, g = d * (1 - c), h = d * (1 - f * c), i = d * (1 - (1 - f) * c), j = e % 6, k = [d, h, g, g, i, d][j], l = [i, d, d, h, g, g][j], m = [g, g, i, d, d, h][j]; return { r: 255 * k, g: 255 * l, b: 255 * m } } function i(a, b, c, d) { var e = [F(P(a).toString(16)), F(P(b).toString(16)), F(P(c).toString(16))]; return d && e[0].charAt(0) == e[0].charAt(1) && e[1].charAt(0) == e[1].charAt(1) && e[2].charAt(0) == e[2].charAt(1) ? e[0].charAt(0) + e[1].charAt(0) + e[2].charAt(0) : e.join("") } function j(a, b, c, d, e) { var f = [F(P(a).toString(16)), F(P(b).toString(16)), F(P(c).toString(16)), F(H(d))]; return e && f[0].charAt(0) == f[0].charAt(1) && f[1].charAt(0) == f[1].charAt(1) && f[2].charAt(0) == f[2].charAt(1) && f[3].charAt(0) == f[3].charAt(1) ? f[0].charAt(0) + f[1].charAt(0) + f[2].charAt(0) + f[3].charAt(0) : f.join("") } function k(a, b, c, d) { var e = [F(H(d)), F(P(a).toString(16)), F(P(b).toString(16)), F(P(c).toString(16))]; return e.join("") } function l(a, c) { c = 0 === c ? 0 : c || 10; var d = b(a).toHsl(); return d.s -= c / 100, d.s = B(d.s), b(d) } function m(a, c) { c = 0 === c ? 0 : c || 10; var d = b(a).toHsl(); return d.s += c / 100, d.s = B(d.s), b(d) } function n(a) { return b(a).desaturate(100) } function o(a, c) { c = 0 === c ? 0 : c || 10; var d = b(a).toHsl(); return d.l += c / 100, d.l = B(d.l), b(d) } function p(a, c) { c = 0 === c ? 0 : c || 10; var d = b(a).toRgb(); return d.r = R(0, Q(255, d.r - P(255 * -(c / 100)))), d.g = R(0, Q(255, d.g - P(255 * -(c / 100)))), d.b = R(0, Q(255, d.b - P(255 * -(c / 100)))), b(d) } function q(a, c) { c = 0 === c ? 0 : c || 10; var d = b(a).toHsl(); return d.l -= c / 100, d.l = B(d.l), b(d) } function r(a, c) { var d = b(a).toHsl(), e = (d.h + c) % 360; return d.h = 0 > e ? 360 + e : e, b(d) } function s(a) { var c = b(a).toHsl(); return c.h = (c.h + 180) % 360, b(c) } function t(a) { var c = b(a).toHsl(), d = c.h; return [b(a), b({ h: (d + 120) % 360, s: c.s, l: c.l }), b({ h: (d + 240) % 360, s: c.s, l: c.l })] } function u(a) { var c = b(a).toHsl(), d = c.h; return [b(a), b({ h: (d + 90) % 360, s: c.s, l: c.l }), b({ h: (d + 180) % 360, s: c.s, l: c.l }), b({ h: (d + 270) % 360, s: c.s, l: c.l })] } function v(a) { var c = b(a).toHsl(), d = c.h; return [b(a), b({ h: (d + 72) % 360, s: c.s, l: c.l }), b({ h: (d + 216) % 360, s: c.s, l: c.l })] } function w(a, c, d) { c = c || 6, d = d || 30; var e = b(a).toHsl(), f = 360 / d, g = [b(a)]; for (e.h = (e.h - (f * c >> 1) + 720) % 360; --c;)e.h = (e.h + f) % 360, g.push(b(e)); return g } function x(a, c) { c = c || 6; for (var d = b(a).toHsv(), e = d.h, f = d.s, g = d.v, h = [], i = 1 / c; c--;)h.push(b({ h: e, s: f, v: g })), g = (g + i) % 1; return h } function y(a) { var b = {}; for (var c in a) a.hasOwnProperty(c) && (b[a[c]] = c); return b } function z(a) { return a = parseFloat(a), (isNaN(a) || 0 > a || a > 1) && (a = 1), a } function A(b, c) { D(b) && (b = "100%"); var d = E(b); return b = Q(c, R(0, parseFloat(b))), d && (b = parseInt(b * c, 10) / 100), a.abs(b - c) < 1e-6 ? 1 : b % c / parseFloat(c) } function B(a) { return Q(1, R(0, a)) } function C(a) { return parseInt(a, 16) } function D(a) { return "string" == typeof a && -1 != a.indexOf(".") && 1 === parseFloat(a) } function E(a) { return "string" == typeof a && -1 != a.indexOf("%") } function F(a) { return 1 == a.length ? "0" + a : "" + a } function G(a) { return 1 >= a && (a = 100 * a + "%"), a } function H(b) { return a.round(255 * parseFloat(b)).toString(16) } function I(a) { return C(a) / 255 } function J(a) { return !!V.CSS_UNIT.exec(a) } function K(a) { a = a.replace(M, "").replace(N, "").toLowerCase(); var b = !1; if (T[a]) a = T[a], b = !0; else if ("transparent" == a) return { r: 0, g: 0, b: 0, a: 0, format: "name" }; var c; return (c = V.rgb.exec(a)) ? { r: c[1], g: c[2], b: c[3] } : (c = V.rgba.exec(a)) ? { r: c[1], g: c[2], b: c[3], a: c[4] } : (c = V.hsl.exec(a)) ? { h: c[1], s: c[2], l: c[3] } : (c = V.hsla.exec(a)) ? { h: c[1], s: c[2], l: c[3], a: c[4] } : (c = V.hsv.exec(a)) ? { h: c[1], s: c[2], v: c[3] } : (c = V.hsva.exec(a)) ? { h: c[1], s: c[2], v: c[3], a: c[4] } : (c = V.hex8.exec(a)) ? { r: C(c[1]), g: C(c[2]), b: C(c[3]), a: I(c[4]), format: b ? "name" : "hex8" } : (c = V.hex6.exec(a)) ? { r: C(c[1]), g: C(c[2]), b: C(c[3]), format: b ? "name" : "hex" } : (c = V.hex4.exec(a)) ? { r: C(c[1] + "" + c[1]), g: C(c[2] + "" + c[2]), b: C(c[3] + "" + c[3]), a: I(c[4] + "" + c[4]), format: b ? "name" : "hex8" } : (c = V.hex3.exec(a)) ? { r: C(c[1] + "" + c[1]), g: C(c[2] + "" + c[2]), b: C(c[3] + "" + c[3]), format: b ? "name" : "hex" } : !1 } function L(a) { var b, c; return a = a || { level: "AA", size: "small" }, b = (a.level || "AA").toUpperCase(), c = (a.size || "small").toLowerCase(), "AA" !== b && "AAA" !== b && (b = "AA"), "small" !== c && "large" !== c && (c = "small"), { level: b, size: c } } var M = /^\s+/, N = /\s+$/, O = 0, P = a.round, Q = a.min, R = a.max, S = a.random; b.prototype = { isDark: function () { return this.getBrightness() < 128 }, isLight: function () { return !this.isDark() }, isValid: function () { return this._ok }, getOriginalInput: function () { return this._originalInput }, getFormat: function () { return this._format }, getAlpha: function () { return this._a }, getBrightness: function () { var a = this.toRgb(); return (299 * a.r + 587 * a.g + 114 * a.b) / 1e3 }, getLuminance: function () { var b, c, d, e, f, g, h = this.toRgb(); return b = h.r / 255, c = h.g / 255, d = h.b / 255, e = .03928 >= b ? b / 12.92 : a.pow((b + .055) / 1.055, 2.4), f = .03928 >= c ? c / 12.92 : a.pow((c + .055) / 1.055, 2.4), g = .03928 >= d ? d / 12.92 : a.pow((d + .055) / 1.055, 2.4), .2126 * e + .7152 * f + .0722 * g }, setAlpha: function (a) { return this._a = z(a), this._roundA = P(100 * this._a) / 100, this }, toHsv: function () { var a = g(this._r, this._g, this._b); return { h: 360 * a.h, s: a.s, v: a.v, a: this._a } }, toHsvString: function () { var a = g(this._r, this._g, this._b), b = P(360 * a.h), c = P(100 * a.s), d = P(100 * a.v); return 1 == this._a ? "hsv(" + b + ", " + c + "%, " + d + "%)" : "hsva(" + b + ", " + c + "%, " + d + "%, " + this._roundA + ")" }, toHsl: function () { var a = e(this._r, this._g, this._b); return { h: 360 * a.h, s: a.s, l: a.l, a: this._a } }, toHslString: function () { var a = e(this._r, this._g, this._b), b = P(360 * a.h), c = P(100 * a.s), d = P(100 * a.l); return 1 == this._a ? "hsl(" + b + ", " + c + "%, " + d + "%)" : "hsla(" + b + ", " + c + "%, " + d + "%, " + this._roundA + ")" }, toHex: function (a) { return i(this._r, this._g, this._b, a) }, toHexString: function (a) { return "#" + this.toHex(a) }, toHex8: function (a) { return j(this._r, this._g, this._b, this._a, a) }, toHex8String: function (a) { return "#" + this.toHex8(a) }, toRgb: function () { return { r: P(this._r), g: P(this._g), b: P(this._b), a: this._a } }, toRgbString: function () { return 1 == this._a ? "rgb(" + P(this._r) + ", " + P(this._g) + ", " + P(this._b) + ")" : "rgba(" + P(this._r) + ", " + P(this._g) + ", " + P(this._b) + ", " + this._roundA + ")" }, toPercentageRgb: function () { return { r: P(100 * A(this._r, 255)) + "%", g: P(100 * A(this._g, 255)) + "%", b: P(100 * A(this._b, 255)) + "%", a: this._a } }, toPercentageRgbString: function () { return 1 == this._a ? "rgb(" + P(100 * A(this._r, 255)) + "%, " + P(100 * A(this._g, 255)) + "%, " + P(100 * A(this._b, 255)) + "%)" : "rgba(" + P(100 * A(this._r, 255)) + "%, " + P(100 * A(this._g, 255)) + "%, " + P(100 * A(this._b, 255)) + "%, " + this._roundA + ")" }, toName: function () { return 0 === this._a ? "transparent" : this._a < 1 ? !1 : U[i(this._r, this._g, this._b, !0)] || !1 }, toFilter: function (a) { var c = "#" + k(this._r, this._g, this._b, this._a), d = c, e = this._gradientType ? "GradientType = 1, " : ""; if (a) { var f = b(a); d = "#" + k(f._r, f._g, f._b, f._a) } return "progid:DXImageTransform.Microsoft.gradient(" + e + "startColorstr=" + c + ",endColorstr=" + d + ")" }, toString: function (a) { var b = !!a; a = a || this._format; var c = !1, d = this._a < 1 && this._a >= 0, e = !b && d && ("hex" === a || "hex6" === a || "hex3" === a || "hex4" === a || "hex8" === a || "name" === a); return e ? "name" === a && 0 === this._a ? this.toName() : this.toRgbString() : ("rgb" === a && (c = this.toRgbString()), "prgb" === a && (c = this.toPercentageRgbString()), ("hex" === a || "hex6" === a) && (c = this.toHexString()), "hex3" === a && (c = this.toHexString(!0)), "hex4" === a && (c = this.toHex8String(!0)), "hex8" === a && (c = this.toHex8String()), "name" === a && (c = this.toName()), "hsl" === a && (c = this.toHslString()), "hsv" === a && (c = this.toHsvString()), c || this.toHexString()) }, clone: function () { return b(this.toString()) }, _applyModification: function (a, b) { var c = a.apply(null, [this].concat([].slice.call(b))); return this._r = c._r, this._g = c._g, this._b = c._b, this.setAlpha(c._a), this }, lighten: function () { return this._applyModification(o, arguments) }, brighten: function () { return this._applyModification(p, arguments) }, darken: function () { return this._applyModification(q, arguments) }, desaturate: function () { return this._applyModification(l, arguments) }, saturate: function () { return this._applyModification(m, arguments) }, greyscale: function () { return this._applyModification(n, arguments) }, spin: function () { return this._applyModification(r, arguments) }, _applyCombination: function (a, b) { return a.apply(null, [this].concat([].slice.call(b))) }, analogous: function () { return this._applyCombination(w, arguments) }, complement: function () { return this._applyCombination(s, arguments) }, monochromatic: function () { return this._applyCombination(x, arguments) }, splitcomplement: function () { return this._applyCombination(v, arguments) }, triad: function () { return this._applyCombination(t, arguments) }, tetrad: function () { return this._applyCombination(u, arguments) } }, b.fromRatio = function (a, c) { if ("object" == typeof a) { var d = {}; for (var e in a) a.hasOwnProperty(e) && ("a" === e ? d[e] = a[e] : d[e] = G(a[e])); a = d } return b(a, c) }, b.equals = function (a, c) { return a && c ? b(a).toRgbString() == b(c).toRgbString() : !1 }, b.random = function () { return b.fromRatio({ r: S(), g: S(), b: S() }) }, b.mix = function (a, c, d) { d = 0 === d ? 0 : d || 50; var e = b(a).toRgb(), f = b(c).toRgb(), g = d / 100, h = { r: (f.r - e.r) * g + e.r, g: (f.g - e.g) * g + e.g, b: (f.b - e.b) * g + e.b, a: (f.a - e.a) * g + e.a }; return b(h) }, b.readability = function (c, d) { var e = b(c), f = b(d); return (a.max(e.getLuminance(), f.getLuminance()) + .05) / (a.min(e.getLuminance(), f.getLuminance()) + .05) }, b.isReadable = function (a, c, d) { var e, f, g = b.readability(a, c); switch (f = !1, e = L(d), e.level + e.size) { case "AAsmall": case "AAAlarge": f = g >= 4.5; break; case "AAlarge": f = g >= 3; break; case "AAAsmall": f = g >= 7 }return f }, b.mostReadable = function (a, c, d) { var e, f, g, h, i = null, j = 0; d = d || {}, f = d.includeFallbackColors, g = d.level, h = d.size; for (var k = 0; k < c.length; k++)e = b.readability(a, c[k]), e > j && (j = e, i = b(c[k])); return b.isReadable(a, i, { level: g, size: h }) || !f ? i : (d.includeFallbackColors = !1, b.mostReadable(a, ["#fff", "#000"], d)) }; var T = b.names = { aliceblue: "f0f8ff", antiquewhite: "faebd7", aqua: "0ff", aquamarine: "7fffd4", azure: "f0ffff", beige: "f5f5dc", bisque: "ffe4c4", black: "000", blanchedalmond: "ffebcd", blue: "00f", blueviolet: "8a2be2", brown: "a52a2a", burlywood: "deb887", burntsienna: "ea7e5d", cadetblue: "5f9ea0", chartreuse: "7fff00", chocolate: "d2691e", coral: "ff7f50", cornflowerblue: "6495ed", cornsilk: "fff8dc", crimson: "dc143c", cyan: "0ff", darkblue: "00008b", darkcyan: "008b8b", darkgoldenrod: "b8860b", darkgray: "a9a9a9", darkgreen: "006400", darkgrey: "a9a9a9", darkkhaki: "bdb76b", darkmagenta: "8b008b", darkolivegreen: "556b2f", darkorange: "ff8c00", darkorchid: "9932cc", darkred: "8b0000", darksalmon: "e9967a", darkseagreen: "8fbc8f", darkslateblue: "483d8b", darkslategray: "2f4f4f", darkslategrey: "2f4f4f", darkturquoise: "00ced1", darkviolet: "9400d3", deeppink: "ff1493", deepskyblue: "00bfff", dimgray: "696969", dimgrey: "696969", dodgerblue: "1e90ff", firebrick: "b22222", floralwhite: "fffaf0", forestgreen: "228b22", fuchsia: "f0f", gainsboro: "dcdcdc", ghostwhite: "f8f8ff", gold: "ffd700", goldenrod: "daa520", gray: "808080", green: "008000", greenyellow: "adff2f", grey: "808080", honeydew: "f0fff0", hotpink: "ff69b4", indianred: "cd5c5c", indigo: "4b0082", ivory: "fffff0", khaki: "f0e68c", lavender: "e6e6fa", lavenderblush: "fff0f5", lawngreen: "7cfc00", lemonchiffon: "fffacd", lightblue: "add8e6", lightcoral: "f08080", lightcyan: "e0ffff", lightgoldenrodyellow: "fafad2", lightgray: "d3d3d3", lightgreen: "90ee90", lightgrey: "d3d3d3", lightpink: "ffb6c1", lightsalmon: "ffa07a", lightseagreen: "20b2aa", lightskyblue: "87cefa", lightslategray: "789", lightslategrey: "789", lightsteelblue: "b0c4de", lightyellow: "ffffe0", lime: "0f0", limegreen: "32cd32", linen: "faf0e6", magenta: "f0f", maroon: "800000", mediumaquamarine: "66cdaa", mediumblue: "0000cd", mediumorchid: "ba55d3", mediumpurple: "9370db", mediumseagreen: "3cb371", mediumslateblue: "7b68ee", mediumspringgreen: "00fa9a", mediumturquoise: "48d1cc", mediumvioletred: "c71585", midnightblue: "191970", mintcream: "f5fffa", mistyrose: "ffe4e1", moccasin: "ffe4b5", navajowhite: "ffdead", navy: "000080", oldlace: "fdf5e6", olive: "808000", olivedrab: "6b8e23", orange: "ffa500", orangered: "ff4500", orchid: "da70d6", palegoldenrod: "eee8aa", palegreen: "98fb98", paleturquoise: "afeeee", palevioletred: "db7093", papayawhip: "ffefd5", peachpuff: "ffdab9", peru: "cd853f", pink: "ffc0cb", plum: "dda0dd", powderblue: "b0e0e6", purple: "800080", rebeccapurple: "663399", red: "f00", rosybrown: "bc8f8f", royalblue: "4169e1", saddlebrown: "8b4513", salmon: "fa8072", sandybrown: "f4a460", seagreen: "2e8b57", seashell: "fff5ee", sienna: "a0522d", silver: "c0c0c0", skyblue: "87ceeb", slateblue: "6a5acd", slategray: "708090", slategrey: "708090", snow: "fffafa", springgreen: "00ff7f", steelblue: "4682b4", tan: "d2b48c", teal: "008080", thistle: "d8bfd8", tomato: "ff6347", turquoise: "40e0d0", violet: "ee82ee", wheat: "f5deb3", white: "fff", whitesmoke: "f5f5f5", yellow: "ff0", yellowgreen: "9acd32" }, U = b.hexNames = y(T), V = function () { var a = "[-\\+]?\\d+%?", b = "[-\\+]?\\d*\\.\\d+%?", c = "(?:" + b + ")|(?:" + a + ")", d = "[\\s|\\(]+(" + c + ")[,|\\s]+(" + c + ")[,|\\s]+(" + c + ")\\s*\\)?", e = "[\\s|\\(]+(" + c + ")[,|\\s]+(" + c + ")[,|\\s]+(" + c + ")[,|\\s]+(" + c + ")\\s*\\)?"; return { CSS_UNIT: new RegExp(c), rgb: new RegExp("rgb" + d), rgba: new RegExp("rgba" + e), hsl: new RegExp("hsl" + d), hsla: new RegExp("hsla" + e), hsv: new RegExp("hsv" + d), hsva: new RegExp("hsva" + e), hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ } }(); "undefined" != typeof module && module.exports ? module.exports = b : "function" == typeof define && define.amd ? define(function () { return b }) : window.tinycolor = b }(Math);
- }(huiJquery));
|