From cca66b9ec4e494c1d919bff0f71a820d8afab1fa Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:24:48 +0200 Subject: Adding upstream version 1.2.2. Signed-off-by: Daniel Baumann --- share/extensions/tests/data/refs/addnodes.out | 0 .../addnodes__--id__p1__--id__r3__--max__2__0.out | 41 + ...d__path1115__--method__bynum__--segments__3.out | 11 + ..._--id__layer_group_path__--id__root_rect_uu.out | 40 + ..._r2__--id__r3__--id__r4__--id__r5__--id__r6.out | 43 + .../data/refs/color_replace__--id__rect184.out | 17 + ...lor_replace__--id__rect184__--id__rect184-8.out | 14 + .../extensions/tests/data/refs/convert2dashes.out | 0 .../convert2dashes__--id__dashme2__dash__svg.out | 17 + ...dashes__--id__dashme2__dash_zerolength__svg.out | 15 + .../tests/data/refs/dhw_input__PAGE_001__DHW.out | 8 + .../tests/data/refs/dhw_input__PGLT_161__DHW.out | 8 + .../tests/data/refs/dhw_input__PGLT_162__DHW.out | 8 + .../tests/data/refs/dhw_input__PGLT_163__DHW.out | 8 + .../tests/data/refs/dimension__--id__circle1.out | 44 + ...isual__--xoffset__100__0__--yoffset__100__0.out | 41 + ...d__r3__--xoffset__100__0__--yoffset__100__0.out | 41 + share/extensions/tests/data/refs/dm2svg.out | 27 + .../refs/doc_ai_convert__doc_ai_conv_m_in__svg.out | 24 + .../doc_ai_convert__doc_ai_conv_mm_in__svg.out | 24 + .../data/refs/doc_ai_convert__shapes__svg.out | 41 + .../tests/data/refs/docinfo__guides__svg.out | 10 + .../docinfo__three_pages_and_two_grids__svg.out | 14 + share/extensions/tests/data/refs/dpiswitcher.out | 41 + .../data/refs/dpiswitcher__--id__p1__--id__r3.out | 41 + .../tests/data/refs/dpiswitcher__--switcher__0.out | 40 + .../tests/data/refs/dpiswitcher__--switcher__1.out | 40 + .../draw_from_triangle__--id__p1__--id__r3.out | 41 + .../refs/dxf12_outlines__clips_and_masks__svg.out | 932 ++++++ .../dxf12_outlines__dxf_nested_transforms__svg.out | 296 ++ .../dxf12_outlines__preserved-transforms__svg.out | 224 ++ .../refs/dxf12_outlines__scale_not_unity__svg.out | 272 ++ .../data/refs/dxf12_outlines__shapes__svg.out | 1424 ++++++++ ...ut__--textscale__1__411__CADTextHeight__dxf.out | 2 + .../data/refs/dxf_input__CADTextHeight__dxf.out | 2 + .../tests/data/refs/dxf_input__color__dxf.out | 2 + .../refs/dxf_input__dxf_multiple_inserts__dxf.out | 2 + .../data/refs/dxf_input__dxf_polylines__dxf.out | 2 + .../data/refs/dxf_input__dxf_with_arc__dxf.out | 2 + .../data/refs/dxf_input__no_block_section__dxf.out | 2 + .../tests/data/refs/dxf_input__test2_r12__dxf.out | 2 + .../tests/data/refs/dxf_input__test2_r13__dxf.out | 1599 +++++++++ .../tests/data/refs/dxf_input__test2_r14__dxf.out | 1587 +++++++++ .../data/refs/dxf_input__test_extrude__dxf.out | 2 + .../tests/data/refs/dxf_input__test_r12__dxf.out | 2 + .../tests/data/refs/dxf_input__test_r14__dxf.out | 2 + share/extensions/tests/data/refs/dxf_outlines.out | 3416 ++++++++++++++++++++ .../tests/data/refs/dxf_outlines__--POLY__true.out | 2884 +++++++++++++++++ .../tests/data/refs/dxf_outlines__--ROBO__true.out | 3356 +++++++++++++++++++ .../data/refs/dxf_outlines__--id__p1__--id__r3.out | 3416 ++++++++++++++++++++ .../tests/data/refs/edge3d__--id__p1__--id__r3.out | 44 + .../tests/data/refs/export_gimp_palette.out | 13 + .../export_gimp_palette__--id__p1__--id__r3.out | 6 + .../data/refs/extrude__--id__c1__--id__c2.out | 18 + .../extrude__--id__c1__--id__c2__-m__polygons.out | 18 + .../refs/extrude__--id__c1__--id__c2__-m__snug.out | 18 + .../data/refs/extrude__--id__p1__--id__p2.out | 41 + .../extrude__--id__p1__--id__p2__-m__lines.out | 18 + .../refs/extrude__--id__p1__--id__p2__-m__snug.out | 18 + .../extrude__--id__p3__--id__p4__-m__lines.out | 18 + .../extrude__--id__p3__--id__p4__-m__polygons.out | 18 + .../refs/extrude__--id__p3__--id__p4__-m__snug.out | 18 + .../data/refs/extrude__--id__r1__--id__r2.out | 18 + .../refs/extrude__--id__r1__--id__r2__-m__snug.out | 18 + .../extrude__--id__r1__--id__r2__-s__False.out | 18 + share/extensions/tests/data/refs/fig_input.out | 22 + share/extensions/tests/data/refs/flatten.out | 0 .../data/refs/flatten__--id__p1__--id__r3.out | 41 + ...proportion__0__5__--guide__true__--unit__cm.out | 2 + ...20__--height__20__--depth__2__2__--unit__cm.out | 2 + .../data/refs/fractalize__--id__p1__--id__p2.out | 41 + ..._--stroke_color____F00__--z_position__split.out | 41 + ..._--stroke_color____F00__--z_position__split.out | 41 + ..._--stroke_color____F00__--z_position__split.out | 41 + ...___AAA__--stroke_color____F00__--clip__True.out | 41 + .../frame__663c52a8114abe50f0559d9ccefab2e9.out | 41 + ...i__True__--ybottom__-1__0__--drawaxis__True.out | 40 + .../refs/generate_voronoi__--id__r3__--id__p1.out | 41 + share/extensions/tests/data/refs/gimp_xcf.out | Bin 0 -> 70038 bytes .../data/refs/gimp_xcf__-d__true__-r__true.out | Bin 0 -> 126005 bytes ...cartesian__154bd7ce1662209647ba2825e6d83cbc.out | 41 + ...cartesian__841ec156c192e3f468b6774927a90789.out | 41 + ...__0__--subdivs_th__1__--subsubdivs_th__0__3.out | 41 + ...polar__--a_subdivs_cent__1__--a_labels__deg.out | 41 + ...d__r3__--a_subdivs_cent__1__--a_labels__deg.out | 41 + .../extensions/tests/data/refs/guides_creator.out | 14 + ...l__True__--ur__True__--ll__True__--lr__True.out | 14 + ...l__True__--ur__True__--ll__True__--lr__True.out | 14 + ...e__--margins_preset__book_alternating_right.out | 14 + ...ns_preset__book_right__--vert__3__--horz__2.out | 35 + ...ue__--margins_preset__book_alternating_left.out | 14 + ...-vertical_guides__4__--horizontal_guides__5.out | 35 + ...t_from_edges__True__--guides_preset__golden.out | 35 + ...horizontal_guides__3__--pages__1____3-7__12.out | 14 + ...-vertical_guides__6__--horizontal_guides__8.out | 34 + ...s_creator__0cec5b2a62929d8e2c1469e6e5047e77.out | 40 + ...s_creator__19bbe6630a0a22a9d7a6a65b25eb1c9f.out | 40 + ...s_creator__251d15df598c899ffbdc546ced9e2faa.out | 40 + ...s_creator__3b35068c24255b2144616d98c2a077bd.out | 40 + ...s_creator__8f473fd113caab10b556f9cfe804e05e.out | 34 + ...s_creator__92c07724de24b2568187779e17d89f83.out | 40 + ...s_creator__ca9cfba4b80367070f0d70d13c501131.out | 40 + ...--ignore__true__--directory__TMP_DIR__img__.out | Bin 0 -> 133120 bytes ...image__f____oo__--directory__TMP_DIR__img__.out | Bin 0 -> 71680 bytes ...-image__output__--directory__TMP_DIR__img__.out | Bin 0 -> 30720 bytes .../data/refs/handles__--id__curve__--id__quad.out | 10 + share/extensions/tests/data/refs/hershey.out | 52 + .../tests/data/refs/hershey_encoding.out | 13 + .../tests/data/refs/hershey_fonttable.out | 13 + .../tests/data/refs/hershey_glyphtable.out | 13 + .../tests/data/refs/hershey_loadfont.out | 17 + .../tests/data/refs/hershey_partialselection.out | 22 + .../tests/data/refs/hershey_preservetext.out | 22 + share/extensions/tests/data/refs/hpgl_input.out | 2 + ...__20__--orientation__90__hpgl_multipen__svg.out | 1 + ...--speed__20__--orientation__90__shapes__svg.out | 1 + .../tests/data/refs/image_attributes.out | 18 + ...timizeSpeed__--tab____tab_image_rendering__.out | 18 + ...atio__xMinYMin__--tab____tab_aspect_ratio__.out | 18 + share/extensions/tests/data/refs/image_embed.out | 18 + ...embed__--id__image174__--selectedonly__True.out | 18 + ...-selectedonly__False__--filepath__TMP_DIR__.out | Bin 0 -> 128 bytes ...-id__embeded_image01__--filepath__TMP_DIR__.out | Bin 0 -> 128 bytes share/extensions/tests/data/refs/ink2canvas.out | 162 + .../tests/data/refs/ink2canvas__--id__alpha.out | 288 ++ .../tests/data/refs/ink2canvas__--id__path31.out | 49 + .../tests/data/refs/ink2canvas__--id__rect3898.out | 124 + .../tests/data/refs/inkex_extensions_color.out | 38 + .../inkex_extensions_color__--id__color_svg.out | 38 + .../data/refs/inkex_extensions_color__--id__r1.out | 38 + .../inkex_extensions_color__--id__r1__--id__r2.out | 38 + .../data/refs/inkex_extensions_color__--id__r2.out | 38 + .../data/refs/inkex_extensions_color__--id__r3.out | 38 + .../data/refs/inkex_extensions_color__--id__r4.out | 42 + .../tests/data/refs/inkscape_follow_link.out | 0 .../inkscape_follow_link__--id__p1__--id__r3.out | 0 .../interp__3ed855778ec06e18dc5f0d8329e9d085.out | 97 + .../interp__bf1a5fd7b7c87a9e06cf0b9659d389ed.out | 97 + ..._c1__--id__c2__--id__c3__--att__style__fill.out | 41 + ...al__10__--att-other-type__ValueInterpolator.out | 27 + ..._--start-val____050505__--end-val____000000.out | 27 + ..._--start-val____181818__--end-val____000000.out | 27 + ...__scale__--start-val__0__2__--end-val__0__9.out | 27 + ...orm__trans-x__--start-val__0__--end-val__20.out | 27 + ...art-val__0__02__--end-val__0__1__--unit__mm.out | 27 + ...erp_att_g__--id__layer1__--att__style__fill.out | 41 + ...erp_att_g__e692b471578dc63d4bf1ba375b8b650c.out | 27 + ...autotexts__--autoText__slideTitle__--id__t1.out | 41 + ...fade__--effectOut__pop__--effectOutOrder__2.out | 41 + ...ts__--id__p1__--id__r3__--effectOutOrder__2.out | 0 ...ssyink_export__--resolution__1__--type__png.out | Bin 0 -> 960 bytes .../tests/data/refs/jessyink_install.out | 2766 ++++++++++++++++ .../refs/jessyink_install__--id__p1__--id__r3.out | 2766 ++++++++++++++++ ...drawing_undo__ENTER__--index_nextPage__LEFT.out | 61 + ...__a__--drawing_undo__b__--index_nextPage__c.out | 61 + .../tests/data/refs/jessyink_master_slide.out | 0 .../jessyink_master_slide__--id__p1__--id__r3.out | 0 ...yink_mouse_handler__--mouseSetting__default.out | 0 ...mouse_handler__--mouseSetting__draggingZoom.out | 475 +++ ...yink_mouse_handler__--mouseSetting__noclick.out | 94 + .../tests/data/refs/jessyink_summary.out | 10 + .../jessyink_transitions__--layerName__Slide2.out | 0 .../tests/data/refs/jessyink_uninstall.out | 39 + .../extensions/tests/data/refs/jessyink_video.out | 61 + .../jessyink_view__--id__r3__--viewOrder__1.out | 41 + ...-dist__gaussian__--end__false__--ctrl__true.out | 41 + ...dist__lognorm__--radiusx__100__--ctrl__true.out | 41 + ...-dist__pareto__--radiusy__100__--ctrl__true.out | 41 + ...s__--id__p1__--dist__uniform__--ctrl__false.out | 41 + share/extensions/tests/data/refs/layer2png.out | 0 .../data/refs/layer2png__--id__p1__--id__r3.out | 0 .../data/refs/layers2svgfont__font_layers__svg.out | 3 + ...layers2svgfont__font_layers_apostrophe__svg.out | 19 + share/extensions/tests/data/refs/lindenmayer.out | 41 + .../data/refs/lindenmayer__--id__p1__--id__r3.out | 41 + ...E__--order__3__--langle__120__--rangle__120.out | 41 + ...__F__--order__1__--langle__60__--rangle__60.out | 41 + share/extensions/tests/data/refs/lorem_ipsum.out | 49 + .../tests/data/refs/lorem_ipsum__--id__r1.out | 49 + .../refs/lorem_ipsum__--id__r1__--svg2__false.out | 42 + .../tests/data/refs/lorem_ipsum__--id__t4.out | 41 + .../tests/data/refs/lorem_ipsum__--svg2__false.out | 41 + .../tests/data/refs/lorem_ipsum__--svg2__true.out | 42 + ...__custom____--id__dimension__--type__stroke.out | 26 + ...__object____--id__dimension__--type__stroke.out | 26 + ...__--fontsize__20__--unit__mm__--scale__1__1.out | 41 + ...__--fontsize__20__--unit__mm__--scale__1__1.out | 41 + ...__--fontsize__20__--unit__mm__--scale__1__1.out | 34 + ...__--fontsize__20__--unit__mm__--scale__1__1.out | 41 + ...__--fontsize__20__--unit__mm__--scale__1__1.out | 41 + ...__--fontsize__20__--unit__mm__--scale__1__1.out | 34 + ...__--fontsize__20__--unit__mm__--scale__1__1.out | 41 + ...__--fontsize__20__--unit__mm__--scale__1__1.out | 41 + ...__--fontsize__20__--unit__mm__--scale__1__1.out | 34 + ...__--fontsize__20__--unit__mm__--scale__1__1.out | 41 + .../data/refs/merge_styles__--id__c2__--id__c3.out | 46 + .../tests/data/refs/motion__--id__c3__--id__p2.out | 41 + ...oke__True__--id__path23053__--id__path28636.out | 8 + .../extensions/tests/data/refs/new_glyph_layer.out | 0 .../refs/new_glyph_layer__--id__p1__--id__r3.out | 0 .../tests/data/refs/next_glyph_layer.out | 0 .../refs/next_glyph_layer__--id__p1__--id__r3.out | 0 ...ue__--font-color__black__--what__22__11__67.out | 13 + ...ue__--font-color__black__--what__22__11__67.out | 13 + ...ue__--font-color__black__--what__22__11__67.out | 13 + ...nicechart__3afa80cf55d99e9c0ea691c780458309.out | 13 + share/extensions/tests/data/refs/output_scour.out | 40 + ...__-s__8__--isoscale__True__--drawaxis__True.out | 40 + ...__-s__8__--isoscale__True__--drawaxis__True.out | 0 .../path_envelope__--id__obj__--id__envelope.out | 20 + .../path_envelope__--id__text__--id__envelope.out | 6 + .../path_mesh_m2p__--id__mesh1__--mode__faces.out | 78 + ...th_mesh_m2p__--id__mesh1__--mode__gridlines.out | 78 + ..._mesh_m2p__--id__mesh1__--mode__meshpatches.out | 78 + ...path_mesh_m2p__--id__mesh1__--mode__outline.out | 78 + .../path_mesh_p2m__--id__path1__--id__path9.out | 78 + .../tests/data/refs/path_number_nodes__--id__D.out | 33 + .../refs/path_number_nodes__--id__p1__--id__r3.out | 40 + ...h_to_absolute__--id__c1__--id__c2__--id__c3.out | 41 + ...ute__--id__p1__--id__p2__--id__s1__--id__u1.out | 41 + ...id__r1__--id__r2__--id__r3__--id__slicerect.out | 41 + ...d__r1__--id__r2__--id__r3__--id__slicerect1.out | 36 + ..._--kind__Snake__--id__g3427__--id__path2551.out | 101 + ...--kind__Ribbon__--id__g4054__--id__path4056.out | 117 + ...ertical__True__--id__g3961__--id__path10007.out | 108 + ..._--space__5__--id__path2408__--id__path2405.out | 98 + ..._--kind__Snake__--id__g5848__--id__path3336.out | 53 + ...d__path4608__--id__path4610__--id__path4612.out | 98 + ...kind__Snake__--id__text4418__--id__path4412.out | 121 + ...path8143__--stretch__False__--follow__False.out | 158 + ...e__copy__--grouppick__True__--pickmode__seq.out | 62 + ...ch__True__--rotate__True__--copymode__clone.out | 24 + ...-id__path8143__--stretch__True__--space__10.out | 74 + ...tch__True__--follow__True__--copymode__copy.out | 65 + .../tests/data/refs/pdflatex__--font_size__15.out | 88 + ...latex__--font_size__15__--standalone__False.out | 88 + ...mule________frac__1____sqrt__5______2______.out | 34 + ...mule________frac__1____sqrt__5______2______.out | 29 + .../pdflatex__0355ed68ae6ec25166e664512ef53660.out | 49 + .../tests/data/refs/perfectboundcover.out | 41 + .../perspective__--id__obj__--id__envelope.out | 20 + .../data/refs/perspective__--id__p1__--id__p2.out | 41 + .../perspective__--id__text__--id__envelope.out | 6 + ...ixelsnap__--id__p1__--id__r3__--snap_to__bl.out | 41 + ...id__path1434__--id__path1434__--snap_to__bl.out | 11 + ...id__path1434__--id__path1434__--snap_to__tl.out | 11 + ...--force__24__--speed__20__--orientation__90.out | 2 + ...--force__24__--speed__20__--orientation__90.out | 34 + ...--force__24__--speed__20__--orientation__90.out | 35 + share/extensions/tests/data/refs/plt_output.out | 1 + ...show__edg__--obj__methane__--cw_wound__True.out | 2 + ..._z__--r1_ang__45__--th__4__--cw_wound__True.out | 2 + ..._--r2_ax__y__--r2_ang__45__--cw_wound__True.out | 2 + ...1_ang__45__--z_sort__cent__--cw_wound__True.out | 2 + ...r1_ang__45__--z_sort__max__--cw_wound__True.out | 2 + ...le__great_stel_dodec__obj__--cw_wound__True.out | 2 + ...show__vtx__--obj__methane__--cw_wound__True.out | 2 + ...hedron_3d__31c852a9dcfffc92123ff370cba34361.out | 41 + .../tests/data/refs/prepare_file_save_as.out | 115 + .../tests/data/refs/previous_glyph_layer.out | 0 .../previous_glyph_layer__--id__p1__--id__r3.out | 0 .../tests/data/refs/print_win32_vector.out | 0 .../print_win32_vector__--id__p1__--id__r3.out | 0 .../extensions/tests/data/refs/printing_marks.out | 41 + .../refs/printing_marks__--id__p1__--id__r3.out | 41 + ...ing_marks__fcb9f72a813c7f3f65cc9dbdb50c294a.out | 41 + .../tests/data/refs/ps_input__test__eps.out | 82 + .../tests/data/refs/ps_input__test__ps.out | Bin 0 -> 2762 bytes ...er_barcode__--type__Code93__--text__3332222.out | 41 + .../render_barcode__--type__Ean2__--text__55.out | 41 + ...ender_barcode__--type__Upce__--text__123456.out | 41 + ...matrix__--symbol__rect8x32__--text__1234Foo.out | 2 + .../render_barcode_datamatrix__--symbol__sq10.out | 2 + ...amatrix__--symbol__sq144__--text__HelloTest.out | 2 + ...atamatrix__--symbol__sq96__--text__Sunshine.out | 2 + ...0__--drawtype__smooth__--smoothness__greedy.out | 2 + ...0__--drawtype__smooth__--smoothness__greedy.out | 2 + ...0__--drawtype__smooth__--smoothness__greedy.out | 2 + ...id__AirTransportation_Inv__--modulesize__10.out | 12 + ...reset__--pathtype__circle__--modulesize__10.out | 2 + ...0__--drawtype__smooth__--smoothness__greedy.out | 2 + ...type__selection__--id__r3__--modulesize__10.out | 41 + ...de_qrcode__a95852ad07710857e3fadaaa059140e8.out | 2 + ...de_qrcode__e3208cfbf8a72ec55b5335e55f8674db.out | 2 + .../tests/data/refs/render_gear_rack.out | 41 + .../refs/render_gear_rack__--id__p1__--id__r3.out | 41 + .../refs/render_gears__--centerdiameter__10__0.out | 41 + ...--id__p1__--id__r3__--centerdiameter__10__0.out | 41 + ...r_find__sans-serif__--fr_replace__monospace.out | 41 + .../refs/replace_font__--action__list_only.out | 1 + ...0__--id__g26580__--id__g21081__--id__g20854.out | 38 + ...--direction__tb__--xanchor__m__--yanchor__m.out | 41 + ...--direction__tb__--xanchor__m__--yanchor__m.out | 41 + ...--direction__tb__--xanchor__m__--yanchor__m.out | 41 + ...--direction__tb__--xanchor__m__--yanchor__m.out | 41 + .../restack__cde2e552c805941baaf79d0821ec1e63.out | 41 + .../tests/data/refs/rtree__--minimum__4__0.out | 41 + ...ch__--id__path3997__--ratio__0__--curve__50.out | 16 + ...h__--id__path3997__--ratio__25__--curve__25.out | 16 + ...ch__--id__path3997__--ratio__50__--curve__0.out | 16 + ...s_export_pdf__--pdf-version__13__--bleed__0.out | Bin 0 -> 14059 bytes .../refs/setup_typography_canvas__empty__svg.out | 15 + .../refs/setup_typography_canvas__shapes__svg.out | 41 + share/extensions/tests/data/refs/sk1_output.out | 126 + ...ph__--primaryr__60__0__--secondaryr__100__0.out | 41 + share/extensions/tests/data/refs/straightseg.out | 0 .../data/refs/straightseg__--id__p1__--id__r3.out | 41 + ...gcalendar__9cc828f60a4a546fd4e0fdf4dd392e96.out | 41 + .../tests/data/refs/svgfont2layers__--count__3.out | 20 + share/extensions/tests/data/refs/synfig_output.out | 3 + share/extensions/tests/data/refs/tar_layers.out | Bin 0 -> 13312 bytes .../data/refs/tar_layers__--id__p1__--id__r3.out | Bin 0 -> 13312 bytes ...50__--grid__true__--orientation__horizontal.out | 2 + ...0x50__--grid__true__--orientation__vertical.out | 2 + ...15mm__--background__black__--noborder__true.out | 2 + ...om__--width__100__--height__100__--unit__in.out | 2 + .../refs/template_dvd_cover__-s__10__-b__10.out | 2 + ...amless_pattern__--width__100__--height__100.out | 90 + .../extensions/tests/data/refs/test_color_list.out | 10 + .../data/refs/test_color_list__--id__color_svg.out | 10 + .../tests/data/refs/test_color_list__--id__r1.out | 3 + .../refs/test_color_list__--id__r1__--id__r2.out | 10 + .../tests/data/refs/test_color_list__--id__r2.out | 6 + .../tests/data/refs/test_color_list__--id__r3.out | 8 + .../tests/data/refs/test_color_list__--id__r4.out | 10 + share/extensions/tests/data/refs/text_braille.out | 41 + ...t__--xanchor__center_x__--yanchor__center_y.out | 8 + ...r__--xanchor__center_x__--yanchor__center_y.out | 8 + ...l__--xanchor__center_x__--yanchor__center_y.out | 8 + ...b__--xanchor__center_x__--yanchor__center_y.out | 8 + share/extensions/tests/data/refs/text_flipcase.out | 41 + .../extensions/tests/data/refs/text_lowercase.out | 41 + share/extensions/tests/data/refs/text_merge.out | 41 + .../extensions/tests/data/refs/text_randomcase.out | 41 + .../tests/data/refs/text_sentencecase.out | 41 + ...ext_split__5478757cb04224bacfa3c641fea954ba.out | 28 + ...ext_split__74947d6e9e9ee89a80bbec0bfacc6dfb.out | 28 + ...ext_split__897ab8b3c516acacaf68391a51eb8836.out | 27 + ...ext_split__ad318803d098b3903561d44825a36ea0.out | 45 + ...ext_split__c242adcac78228419d3c065a99727bfb.out | 44 + ...ext_split__d8b155ac58a7424471f416b64f21669f.out | 27 + ...ext_split__dd77d3cc0134ad62833e05ca73e38896.out | 27 + .../extensions/tests/data/refs/text_titlecase.out | 41 + .../extensions/tests/data/refs/text_uppercase.out | 41 + share/extensions/tests/data/refs/triangle.out | 41 + .../data/refs/triangle__--id__p1__--id__r3.out | 41 + share/extensions/tests/data/refs/ungroup_deep.out | 33 + .../tests/data/refs/ungroup_deep__--id__g13.out | 16 + ..._deep__--id__g1935__--id__g6577__--id__g115.out | 19 + .../tests/data/refs/ungroup_deep__--id__layer2.out | 39 + ...__--diagram-type__Voronoi__--clip-box__Page.out | 79 + ...oth__--delaunay-fill-options__delaunay-fill.out | 81 + ...ronoi2svg__083b27d59093207e6210e1001eb9d5df.out | 41 + ...ronoi2svg__6d561032e7d7e60e607c75e562f677a4.out | 91 + .../web_interactive_mockup__--id__p1__--id__r3.out | 266 ++ ...--id__p1__--id__r3__--att__fill__--val__red.out | 266 ++ .../refs/web_transmit_att__--id__p1__--id__r3.out | 266 ++ .../webslicer_create_group__--id__slicerect1.out | 41 + .../tests/data/refs/webslicer_create_rect.out | 41 + .../webslicer_create_rect__--id__p1__--id__r3.out | 41 + .../data/refs/webslicer_export__--dir__TMP_DIR.out | 0 .../whirl__--id__p1__--id__r3__--whirl__1__0.out | 41 + .../tests/data/refs/wireframe_sphere.out | 41 + .../refs/wireframe_sphere__--id__p1__--id__r3.out | 41 + share/extensions/tests/data/refs/wmf_output.out | Bin 0 -> 4698 bytes 365 files changed, 36842 insertions(+) create mode 100644 share/extensions/tests/data/refs/addnodes.out create mode 100644 share/extensions/tests/data/refs/addnodes__--id__p1__--id__r3__--max__2__0.out create mode 100644 share/extensions/tests/data/refs/addnodes__--id__rect723__--id__rect723-5__--id__path747__--id__path1080__--id__path1115__--method__bynum__--segments__3.out create mode 100644 share/extensions/tests/data/refs/color_randomize__-y__0__-t__0__-m__0__-o__100__--id__layer_group_rect_uu2__--id__layer_group_path__--id__root_rect_uu.out create mode 100644 share/extensions/tests/data/refs/color_randomize__-y__50__-t__50__-m__50__-o__100__--id__r1__--id__r2__--id__r3__--id__r4__--id__r5__--id__r6.out create mode 100644 share/extensions/tests/data/refs/color_replace__--id__rect184.out create mode 100644 share/extensions/tests/data/refs/color_replace__--id__rect184__--id__rect184-8.out create mode 100644 share/extensions/tests/data/refs/convert2dashes.out create mode 100644 share/extensions/tests/data/refs/convert2dashes__--id__dashme2__dash__svg.out create mode 100644 share/extensions/tests/data/refs/convert2dashes__--id__dashme2__dash_zerolength__svg.out create mode 100644 share/extensions/tests/data/refs/dhw_input__PAGE_001__DHW.out create mode 100644 share/extensions/tests/data/refs/dhw_input__PGLT_161__DHW.out create mode 100644 share/extensions/tests/data/refs/dhw_input__PGLT_162__DHW.out create mode 100644 share/extensions/tests/data/refs/dhw_input__PGLT_163__DHW.out create mode 100644 share/extensions/tests/data/refs/dimension__--id__circle1.out create mode 100644 share/extensions/tests/data/refs/dimension__--id__p1__--id__r3__--type__visual__--xoffset__100__0__--yoffset__100__0.out create mode 100644 share/extensions/tests/data/refs/dimension__--id__p1__--id__r3__--xoffset__100__0__--yoffset__100__0.out create mode 100644 share/extensions/tests/data/refs/dm2svg.out create mode 100644 share/extensions/tests/data/refs/doc_ai_convert__doc_ai_conv_m_in__svg.out create mode 100644 share/extensions/tests/data/refs/doc_ai_convert__doc_ai_conv_mm_in__svg.out create mode 100644 share/extensions/tests/data/refs/doc_ai_convert__shapes__svg.out create mode 100644 share/extensions/tests/data/refs/docinfo__guides__svg.out create mode 100644 share/extensions/tests/data/refs/docinfo__three_pages_and_two_grids__svg.out create mode 100644 share/extensions/tests/data/refs/dpiswitcher.out create mode 100644 share/extensions/tests/data/refs/dpiswitcher__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/dpiswitcher__--switcher__0.out create mode 100644 share/extensions/tests/data/refs/dpiswitcher__--switcher__1.out create mode 100644 share/extensions/tests/data/refs/draw_from_triangle__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/dxf12_outlines__clips_and_masks__svg.out create mode 100644 share/extensions/tests/data/refs/dxf12_outlines__dxf_nested_transforms__svg.out create mode 100644 share/extensions/tests/data/refs/dxf12_outlines__preserved-transforms__svg.out create mode 100644 share/extensions/tests/data/refs/dxf12_outlines__scale_not_unity__svg.out create mode 100644 share/extensions/tests/data/refs/dxf12_outlines__shapes__svg.out create mode 100644 share/extensions/tests/data/refs/dxf_input__--textscale__1__411__CADTextHeight__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__CADTextHeight__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__color__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__dxf_multiple_inserts__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__dxf_polylines__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__dxf_with_arc__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__no_block_section__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__test2_r12__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__test2_r13__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__test2_r14__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__test_extrude__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__test_r12__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_input__test_r14__dxf.out create mode 100644 share/extensions/tests/data/refs/dxf_outlines.out create mode 100644 share/extensions/tests/data/refs/dxf_outlines__--POLY__true.out create mode 100644 share/extensions/tests/data/refs/dxf_outlines__--ROBO__true.out create mode 100644 share/extensions/tests/data/refs/dxf_outlines__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/edge3d__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/export_gimp_palette.out create mode 100644 share/extensions/tests/data/refs/export_gimp_palette__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__c1__--id__c2.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__c1__--id__c2__-m__polygons.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__c1__--id__c2__-m__snug.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__p1__--id__p2.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__p1__--id__p2__-m__lines.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__p1__--id__p2__-m__snug.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__lines.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__polygons.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__snug.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__r1__--id__r2.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__r1__--id__r2__-m__snug.out create mode 100644 share/extensions/tests/data/refs/extrude__--id__r1__--id__r2__-s__False.out create mode 100644 share/extensions/tests/data/refs/fig_input.out create mode 100644 share/extensions/tests/data/refs/flatten.out create mode 100644 share/extensions/tests/data/refs/flatten__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/foldablebox__--proportion__0__5__--guide__true__--unit__cm.out create mode 100644 share/extensions/tests/data/refs/foldablebox__--width__20__--height__20__--depth__2__2__--unit__cm.out create mode 100644 share/extensions/tests/data/refs/fractalize__--id__p1__--id__p2.out create mode 100644 share/extensions/tests/data/refs/frame__--id__c2__--id__c1__--type__ellipse__--offset_absolute__20__--fill_color____AAA__--stroke_color____F00__--z_position__split.out create mode 100644 share/extensions/tests/data/refs/frame__--id__c2__--id__c1__--type__ellipse__--offset_relative__10__--fill_color____AAA__--stroke_color____F00__--z_position__split.out create mode 100644 share/extensions/tests/data/refs/frame__--id__t3__--type__rect__--offset_relative__10__--fill_color____AAA__--stroke_color____F00__--z_position__split.out create mode 100644 share/extensions/tests/data/refs/frame__--id__u1__--fill_color____AAA__--stroke_color____F00__--clip__True.out create mode 100644 share/extensions/tests/data/refs/frame__663c52a8114abe50f0559d9ccefab2e9.out create mode 100644 share/extensions/tests/data/refs/funcplot__--id__p1__--id__r3__--times2pi__True__--ybottom__-1__0__--drawaxis__True.out create mode 100644 share/extensions/tests/data/refs/generate_voronoi__--id__r3__--id__p1.out create mode 100644 share/extensions/tests/data/refs/gimp_xcf.out create mode 100644 share/extensions/tests/data/refs/gimp_xcf__-d__true__-r__true.out create mode 100644 share/extensions/tests/data/refs/grid_cartesian__154bd7ce1662209647ba2825e6d83cbc.out create mode 100644 share/extensions/tests/data/refs/grid_cartesian__841ec156c192e3f468b6774927a90789.out create mode 100644 share/extensions/tests/data/refs/grid_isometric__--dx__10__0__--subdivs_th__1__--subsubdivs_th__0__3.out create mode 100644 share/extensions/tests/data/refs/grid_polar__--a_subdivs_cent__1__--a_labels__deg.out create mode 100644 share/extensions/tests/data/refs/grid_polar__--id__p1__--id__r3__--a_subdivs_cent__1__--a_labels__deg.out create mode 100644 share/extensions/tests/data/refs/guides_creator.out create mode 100644 share/extensions/tests/data/refs/guides_creator__--tab__diagonal_guides__--nodup__False__--pages__1-3__--ul__True__--ur__True__--ll__True__--lr__True.out create mode 100644 share/extensions/tests/data/refs/guides_creator__--tab__diagonal_guides__--nodup__True__--pages__1-3__--ul__True__--ur__True__--ll__True__--lr__True.out create mode 100644 share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__False__--margins_preset__book_alternating_right.out create mode 100644 share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__False__--margins_preset__book_right__--vert__3__--horz__2.out create mode 100644 share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__True__--margins_preset__book_alternating_left.out create mode 100644 share/extensions/tests/data/refs/guides_creator__--tab__regular_guides__--start_from_edges__True__--guides_preset__custom__--vertical_guides__4__--horizontal_guides__5.out create mode 100644 share/extensions/tests/data/refs/guides_creator__--tab__regular_guides__--start_from_edges__True__--guides_preset__golden.out create mode 100644 share/extensions/tests/data/refs/guides_creator__--vertical_guides__4__--horizontal_guides__3__--pages__1____3-7__12.out create mode 100644 share/extensions/tests/data/refs/guides_creator__--vertical_guides__6__--horizontal_guides__8.out create mode 100644 share/extensions/tests/data/refs/guides_creator__0cec5b2a62929d8e2c1469e6e5047e77.out create mode 100644 share/extensions/tests/data/refs/guides_creator__19bbe6630a0a22a9d7a6a65b25eb1c9f.out create mode 100644 share/extensions/tests/data/refs/guides_creator__251d15df598c899ffbdc546ced9e2faa.out create mode 100644 share/extensions/tests/data/refs/guides_creator__3b35068c24255b2144616d98c2a077bd.out create mode 100644 share/extensions/tests/data/refs/guides_creator__8f473fd113caab10b556f9cfe804e05e.out create mode 100644 share/extensions/tests/data/refs/guides_creator__92c07724de24b2568187779e17d89f83.out create mode 100644 share/extensions/tests/data/refs/guides_creator__ca9cfba4b80367070f0d70d13c501131.out create mode 100644 share/extensions/tests/data/refs/guillotine__--ignore__true__--directory__TMP_DIR__img__.out create mode 100644 share/extensions/tests/data/refs/guillotine__--image__f____oo__--directory__TMP_DIR__img__.out create mode 100644 share/extensions/tests/data/refs/guillotine__--image__output__--directory__TMP_DIR__img__.out create mode 100644 share/extensions/tests/data/refs/handles__--id__curve__--id__quad.out create mode 100644 share/extensions/tests/data/refs/hershey.out create mode 100755 share/extensions/tests/data/refs/hershey_encoding.out create mode 100755 share/extensions/tests/data/refs/hershey_fonttable.out create mode 100755 share/extensions/tests/data/refs/hershey_glyphtable.out create mode 100755 share/extensions/tests/data/refs/hershey_loadfont.out create mode 100755 share/extensions/tests/data/refs/hershey_partialselection.out create mode 100755 share/extensions/tests/data/refs/hershey_preservetext.out create mode 100644 share/extensions/tests/data/refs/hpgl_input.out create mode 100644 share/extensions/tests/data/refs/hpgl_output__--force__24__--speed__20__--orientation__90__hpgl_multipen__svg.out create mode 100644 share/extensions/tests/data/refs/hpgl_output__--force__24__--speed__20__--orientation__90__shapes__svg.out create mode 100644 share/extensions/tests/data/refs/image_attributes.out create mode 100644 share/extensions/tests/data/refs/image_attributes__--id__embeded_image01__--image_rendering__optimizeSpeed__--tab____tab_image_rendering__.out create mode 100644 share/extensions/tests/data/refs/image_attributes__--id__image174__--aspect_ratio__xMinYMin__--tab____tab_aspect_ratio__.out create mode 100644 share/extensions/tests/data/refs/image_embed.out create mode 100644 share/extensions/tests/data/refs/image_embed__--id__image174__--selectedonly__True.out create mode 100644 share/extensions/tests/data/refs/image_extract__--selectedonly__False__--filepath__TMP_DIR__.out create mode 100644 share/extensions/tests/data/refs/image_extract__--selectedonly__True__--id__embeded_image01__--filepath__TMP_DIR__.out create mode 100644 share/extensions/tests/data/refs/ink2canvas.out create mode 100644 share/extensions/tests/data/refs/ink2canvas__--id__alpha.out create mode 100644 share/extensions/tests/data/refs/ink2canvas__--id__path31.out create mode 100644 share/extensions/tests/data/refs/ink2canvas__--id__rect3898.out create mode 100644 share/extensions/tests/data/refs/inkex_extensions_color.out create mode 100644 share/extensions/tests/data/refs/inkex_extensions_color__--id__color_svg.out create mode 100644 share/extensions/tests/data/refs/inkex_extensions_color__--id__r1.out create mode 100644 share/extensions/tests/data/refs/inkex_extensions_color__--id__r1__--id__r2.out create mode 100644 share/extensions/tests/data/refs/inkex_extensions_color__--id__r2.out create mode 100644 share/extensions/tests/data/refs/inkex_extensions_color__--id__r3.out create mode 100644 share/extensions/tests/data/refs/inkex_extensions_color__--id__r4.out create mode 100644 share/extensions/tests/data/refs/inkscape_follow_link.out create mode 100644 share/extensions/tests/data/refs/inkscape_follow_link__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/interp__3ed855778ec06e18dc5f0d8329e9d085.out create mode 100644 share/extensions/tests/data/refs/interp__bf1a5fd7b7c87a9e06cf0b9659d389ed.out create mode 100644 share/extensions/tests/data/refs/interp_att_g__--id__c1__--id__c2__--id__c3__--att__style__fill.out create mode 100644 share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__other__--att-other__width__--start-val__5__--end-val__10__--att-other-type__ValueInterpolator.out create mode 100644 share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__style__fill__--start-val____050505__--end-val____000000.out create mode 100644 share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__style__fill__--start-val____181818__--end-val____000000.out create mode 100644 share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__transform__scale__--start-val__0__2__--end-val__0__9.out create mode 100644 share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__transform__trans-x__--start-val__0__--end-val__20.out create mode 100644 share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__width__--start-val__0__02__--end-val__0__1__--unit__mm.out create mode 100644 share/extensions/tests/data/refs/interp_att_g__--id__layer1__--att__style__fill.out create mode 100644 share/extensions/tests/data/refs/interp_att_g__e692b471578dc63d4bf1ba375b8b650c.out create mode 100644 share/extensions/tests/data/refs/jessyink_autotexts__--autoText__slideTitle__--id__t1.out create mode 100644 share/extensions/tests/data/refs/jessyink_effects__--id__p1__--effectIn__fade__--effectOut__pop__--effectOutOrder__2.out create mode 100644 share/extensions/tests/data/refs/jessyink_effects__--id__p1__--id__r3__--effectOutOrder__2.out create mode 100644 share/extensions/tests/data/refs/jessyink_export__--resolution__1__--type__png.out create mode 100644 share/extensions/tests/data/refs/jessyink_install.out create mode 100644 share/extensions/tests/data/refs/jessyink_install__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/jessyink_key_bindings__--slide_export__SPACE__--drawing_undo__ENTER__--index_nextPage__LEFT.out create mode 100644 share/extensions/tests/data/refs/jessyink_key_bindings__--slide_export__a__--drawing_undo__b__--index_nextPage__c.out create mode 100644 share/extensions/tests/data/refs/jessyink_master_slide.out create mode 100644 share/extensions/tests/data/refs/jessyink_master_slide__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__default.out create mode 100644 share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__draggingZoom.out create mode 100644 share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__noclick.out create mode 100644 share/extensions/tests/data/refs/jessyink_summary.out create mode 100644 share/extensions/tests/data/refs/jessyink_transitions__--layerName__Slide2.out create mode 100644 share/extensions/tests/data/refs/jessyink_uninstall.out create mode 100644 share/extensions/tests/data/refs/jessyink_video.out create mode 100644 share/extensions/tests/data/refs/jessyink_view__--id__r3__--viewOrder__1.out create mode 100644 share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__gaussian__--end__false__--ctrl__true.out create mode 100644 share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__lognorm__--radiusx__100__--ctrl__true.out create mode 100644 share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__pareto__--radiusy__100__--ctrl__true.out create mode 100644 share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__uniform__--ctrl__false.out create mode 100644 share/extensions/tests/data/refs/layer2png.out create mode 100644 share/extensions/tests/data/refs/layer2png__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/layers2svgfont__font_layers__svg.out create mode 100644 share/extensions/tests/data/refs/layers2svgfont__font_layers_apostrophe__svg.out create mode 100644 share/extensions/tests/data/refs/lindenmayer.out create mode 100644 share/extensions/tests/data/refs/lindenmayer__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/lindenmayer__--rules__F__F-E__F__E-F__E__EE__--axiom__F-E-E__--order__3__--langle__120__--rangle__120.out create mode 100644 share/extensions/tests/data/refs/lindenmayer__--rules__F__F__F--F__F__--axiom__F__--order__1__--langle__60__--rangle__60.out create mode 100644 share/extensions/tests/data/refs/lorem_ipsum.out create mode 100644 share/extensions/tests/data/refs/lorem_ipsum__--id__r1.out create mode 100644 share/extensions/tests/data/refs/lorem_ipsum__--id__r1__--svg2__false.out create mode 100644 share/extensions/tests/data/refs/lorem_ipsum__--id__t4.out create mode 100644 share/extensions/tests/data/refs/lorem_ipsum__--svg2__false.out create mode 100644 share/extensions/tests/data/refs/lorem_ipsum__--svg2__true.out create mode 100644 share/extensions/tests/data/refs/markers_strokepaint__--tab____custom____--id__dimension__--type__stroke.out create mode 100644 share/extensions/tests/data/refs/markers_strokepaint__--tab____object____--id__dimension__--type__stroke.out create mode 100644 share/extensions/tests/data/refs/measure__--id__p1__--id__p2__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out create mode 100644 share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_bbox__--id__p2__--fontsize__20__--unit__mm__--scale__1__1.out create mode 100644 share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_start__--id__D__--fontsize__20__--unit__mm__--scale__1__1.out create mode 100644 share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_start__--id__p1__--fontsize__20__--unit__mm__--scale__1__1.out create mode 100644 share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_end__--id__p2__--fontsize__20__--unit__mm__--scale__1__1.out create mode 100644 share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_start__--id__D__--fontsize__20__--unit__mm__--scale__1__1.out create mode 100644 share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_start__--id__p1__--fontsize__20__--unit__mm__--scale__1__1.out create mode 100644 share/extensions/tests/data/refs/measure__--type__area__--id__p1__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out create mode 100644 share/extensions/tests/data/refs/measure__--type__cofm__--id__D__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out create mode 100644 share/extensions/tests/data/refs/measure__--type__cofm__--id__c3__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out create mode 100644 share/extensions/tests/data/refs/merge_styles__--id__c2__--id__c3.out create mode 100644 share/extensions/tests/data/refs/motion__--id__c3__--id__p2.out create mode 100644 share/extensions/tests/data/refs/motion__--magnitude__2__--angle__45__--fillwithstroke__True__--id__path23053__--id__path28636.out create mode 100644 share/extensions/tests/data/refs/new_glyph_layer.out create mode 100644 share/extensions/tests/data/refs/new_glyph_layer__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/next_glyph_layer.out create mode 100644 share/extensions/tests/data/refs/next_glyph_layer__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out create mode 100644 share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--type__pie__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out create mode 100644 share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--type__stbar__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out create mode 100644 share/extensions/tests/data/refs/nicechart__3afa80cf55d99e9c0ea691c780458309.out create mode 100644 share/extensions/tests/data/refs/output_scour.out create mode 100644 share/extensions/tests/data/refs/param_curves__--id__p1__--id__r3__-s__8__--isoscale__True__--drawaxis__True.out create mode 100644 share/extensions/tests/data/refs/param_curves__-s__8__--isoscale__True__--drawaxis__True.out create mode 100644 share/extensions/tests/data/refs/path_envelope__--id__obj__--id__envelope.out create mode 100644 share/extensions/tests/data/refs/path_envelope__--id__text__--id__envelope.out create mode 100644 share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__faces.out create mode 100644 share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__gridlines.out create mode 100644 share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__meshpatches.out create mode 100644 share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__outline.out create mode 100644 share/extensions/tests/data/refs/path_mesh_p2m__--id__path1__--id__path9.out create mode 100644 share/extensions/tests/data/refs/path_number_nodes__--id__D.out create mode 100644 share/extensions/tests/data/refs/path_number_nodes__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/path_to_absolute__--id__c1__--id__c2__--id__c3.out create mode 100644 share/extensions/tests/data/refs/path_to_absolute__--id__p1__--id__p2__--id__s1__--id__u1.out create mode 100644 share/extensions/tests/data/refs/path_to_absolute__--id__r1__--id__r2__--id__r3__--id__slicerect.out create mode 100644 share/extensions/tests/data/refs/path_to_absolute__--id__r1__--id__r2__--id__r3__--id__slicerect1.out create mode 100644 share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated__--kind__Snake__--id__g3427__--id__path2551.out create mode 100644 share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Ribbon__--id__g4054__--id__path4056.out create mode 100644 share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Ribbon__--vertical__True__--id__g3961__--id__path10007.out create mode 100644 share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Snake__--noffset__5__--space__5__--id__path2408__--id__path2405.out create mode 100644 share/extensions/tests/data/refs/pathalongpath__--copymode__Single__--duplicate__True__--kind__Snake__--id__g5848__--id__path3336.out create mode 100644 share/extensions/tests/data/refs/pathalongpath__--copymode__Single____stretched__--kind__Snake__--id__path4585__--id__path4608__--id__path4610__--id__path4612.out create mode 100644 share/extensions/tests/data/refs/pathalongpath__--copymode__Single____stretched__--kind__Snake__--id__text4418__--id__path4412.out create mode 100644 share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__False__--follow__False.out create mode 100644 share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--copymode__copy__--grouppick__True__--pickmode__seq.out create mode 100644 share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--rotate__True__--copymode__clone.out create mode 100644 share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--space__10.out create mode 100644 share/extensions/tests/data/refs/pathscatter__--id__path3990__--id__path3982__--stretch__True__--follow__True__--copymode__copy.out create mode 100644 share/extensions/tests/data/refs/pdflatex__--font_size__15.out create mode 100644 share/extensions/tests/data/refs/pdflatex__--font_size__15__--standalone__False.out create mode 100644 share/extensions/tests/data/refs/pdflatex__--font_size__20__--formule________frac__1____sqrt__5______2______.out create mode 100644 share/extensions/tests/data/refs/pdflatex__--font_size__20__--standalone__False__--formule________frac__1____sqrt__5______2______.out create mode 100644 share/extensions/tests/data/refs/pdflatex__0355ed68ae6ec25166e664512ef53660.out create mode 100644 share/extensions/tests/data/refs/perfectboundcover.out create mode 100644 share/extensions/tests/data/refs/perspective__--id__obj__--id__envelope.out create mode 100644 share/extensions/tests/data/refs/perspective__--id__p1__--id__p2.out create mode 100644 share/extensions/tests/data/refs/perspective__--id__text__--id__envelope.out create mode 100644 share/extensions/tests/data/refs/pixelsnap__--id__p1__--id__r3__--snap_to__bl.out create mode 100644 share/extensions/tests/data/refs/pixelsnap__--id__rect1144__--id__path1302__--id__path1430__--id__path1434__--id__path1434__--snap_to__bl.out create mode 100644 share/extensions/tests/data/refs/pixelsnap__--id__rect1144__--id__path1302__--id__path1430__--id__path1434__--id__path1434__--snap_to__tl.out create mode 100644 share/extensions/tests/data/refs/plotter__--serialPort____test____--commandLanguage__DMPL__--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out create mode 100644 share/extensions/tests/data/refs/plotter__--serialPort____test____--commandLanguage__KNK__--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out create mode 100644 share/extensions/tests/data/refs/plotter__--serialPort____test____--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out create mode 100644 share/extensions/tests/data/refs/plt_output.out create mode 100644 share/extensions/tests/data/refs/polyhedron_3d__--show__edg__--obj__methane__--cw_wound__True.out create mode 100644 share/extensions/tests/data/refs/polyhedron_3d__--show__edg__--obj__oct__--r1_ax__z__--r1_ang__45__--th__4__--cw_wound__True.out create mode 100644 share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__x__--r1_ang__45__--r2_ax__y__--r2_ang__45__--cw_wound__True.out create mode 100644 share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__y__--r1_ang__45__--z_sort__cent__--cw_wound__True.out create mode 100644 share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__z__--r1_ang__45__--z_sort__max__--cw_wound__True.out create mode 100644 share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__from_file__--spec_file__great_stel_dodec__obj__--cw_wound__True.out create mode 100644 share/extensions/tests/data/refs/polyhedron_3d__--show__vtx__--obj__methane__--cw_wound__True.out create mode 100644 share/extensions/tests/data/refs/polyhedron_3d__31c852a9dcfffc92123ff370cba34361.out create mode 100644 share/extensions/tests/data/refs/prepare_file_save_as.out create mode 100644 share/extensions/tests/data/refs/previous_glyph_layer.out create mode 100644 share/extensions/tests/data/refs/previous_glyph_layer__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/print_win32_vector.out create mode 100644 share/extensions/tests/data/refs/print_win32_vector__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/printing_marks.out create mode 100644 share/extensions/tests/data/refs/printing_marks__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/printing_marks__fcb9f72a813c7f3f65cc9dbdb50c294a.out create mode 100644 share/extensions/tests/data/refs/ps_input__test__eps.out create mode 100644 share/extensions/tests/data/refs/ps_input__test__ps.out create mode 100644 share/extensions/tests/data/refs/render_barcode__--type__Code93__--text__3332222.out create mode 100644 share/extensions/tests/data/refs/render_barcode__--type__Ean2__--text__55.out create mode 100644 share/extensions/tests/data/refs/render_barcode__--type__Upce__--text__123456.out create mode 100644 share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__rect8x32__--text__1234Foo.out create mode 100644 share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq10.out create mode 100644 share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq144__--text__HelloTest.out create mode 100644 share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq96__--text__Sunshine.out create mode 100644 share/extensions/tests/data/refs/render_barcode_qrcode__--text__0123456789__--typenumber__0__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out create mode 100644 share/extensions/tests/data/refs/render_barcode_qrcode__--text__Blue__Front__Yard__--typenumber__3__--correctionlevel__1__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out create mode 100644 share/extensions/tests/data/refs/render_barcode_qrcode__--text__BreadRolls__--typenumber__2__--encoding__utf8__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out create mode 100644 share/extensions/tests/data/refs/render_barcode_qrcode__--text__ThingOne__--drawtype__symbol__--correctionlevel__2__--symbolid__AirTransportation_Inv__--modulesize__10.out create mode 100644 share/extensions/tests/data/refs/render_barcode_qrcode__--text__Waterfall__--typenumber__1__--drawtype__pathpreset__--pathtype__circle__--modulesize__10.out create mode 100644 share/extensions/tests/data/refs/render_barcode_qrcode__--text__groupid__--groupid__testid__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out create mode 100644 share/extensions/tests/data/refs/render_barcode_qrcode__--text__test__--drawtype__selection__--id__r3__--modulesize__10.out create mode 100644 share/extensions/tests/data/refs/render_barcode_qrcode__a95852ad07710857e3fadaaa059140e8.out create mode 100644 share/extensions/tests/data/refs/render_barcode_qrcode__e3208cfbf8a72ec55b5335e55f8674db.out create mode 100644 share/extensions/tests/data/refs/render_gear_rack.out create mode 100644 share/extensions/tests/data/refs/render_gear_rack__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/render_gears__--centerdiameter__10__0.out create mode 100644 share/extensions/tests/data/refs/render_gears__--id__p1__--id__r3__--centerdiameter__10__0.out create mode 100644 share/extensions/tests/data/refs/replace_font__--action__find_replace__--fr_find__sans-serif__--fr_replace__monospace.out create mode 100644 share/extensions/tests/data/refs/replace_font__--action__list_only.out create mode 100644 share/extensions/tests/data/refs/restack__--id__g20858__--id__g21085__--id__g20940__--id__g26580__--id__g21081__--id__g20854.out create mode 100644 share/extensions/tests/data/refs/restack__--tab__positional__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out create mode 100644 share/extensions/tests/data/refs/restack__--tab__z_order__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out create mode 100644 share/extensions/tests/data/refs/restack__--tab__z_order__--id__r2__--id__t5__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out create mode 100644 share/extensions/tests/data/refs/restack__--tab__z_order__--id__r3__--id__p1__--id__t5__--id__r2__--direction__tb__--xanchor__m__--yanchor__m.out create mode 100644 share/extensions/tests/data/refs/restack__cde2e552c805941baaf79d0821ec1e63.out create mode 100644 share/extensions/tests/data/refs/rtree__--minimum__4__0.out create mode 100644 share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__0__--curve__50.out create mode 100644 share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__25__--curve__25.out create mode 100644 share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__50__--curve__0.out create mode 100644 share/extensions/tests/data/refs/scribus_export_pdf__--pdf-version__13__--bleed__0.out create mode 100644 share/extensions/tests/data/refs/setup_typography_canvas__empty__svg.out create mode 100644 share/extensions/tests/data/refs/setup_typography_canvas__shapes__svg.out create mode 100644 share/extensions/tests/data/refs/sk1_output.out create mode 100644 share/extensions/tests/data/refs/spirograph__--primaryr__60__0__--secondaryr__100__0.out create mode 100644 share/extensions/tests/data/refs/straightseg.out create mode 100644 share/extensions/tests/data/refs/straightseg__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/svgcalendar__9cc828f60a4a546fd4e0fdf4dd392e96.out create mode 100644 share/extensions/tests/data/refs/svgfont2layers__--count__3.out create mode 100644 share/extensions/tests/data/refs/synfig_output.out create mode 100644 share/extensions/tests/data/refs/tar_layers.out create mode 100644 share/extensions/tests/data/refs/tar_layers__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/template__--size__100x50__--grid__true__--orientation__horizontal.out create mode 100644 share/extensions/tests/data/refs/template__--size__100x50__--grid__true__--orientation__vertical.out create mode 100644 share/extensions/tests/data/refs/template__--size__5mmx15mm__--background__black__--noborder__true.out create mode 100644 share/extensions/tests/data/refs/template__--size__custom__--width__100__--height__100__--unit__in.out create mode 100644 share/extensions/tests/data/refs/template_dvd_cover__-s__10__-b__10.out create mode 100644 share/extensions/tests/data/refs/template_seamless_pattern__--width__100__--height__100.out create mode 100644 share/extensions/tests/data/refs/test_color_list.out create mode 100644 share/extensions/tests/data/refs/test_color_list__--id__color_svg.out create mode 100644 share/extensions/tests/data/refs/test_color_list__--id__r1.out create mode 100644 share/extensions/tests/data/refs/test_color_list__--id__r1__--id__r2.out create mode 100644 share/extensions/tests/data/refs/test_color_list__--id__r2.out create mode 100644 share/extensions/tests/data/refs/test_color_list__--id__r3.out create mode 100644 share/extensions/tests/data/refs/test_color_list__--id__r4.out create mode 100644 share/extensions/tests/data/refs/text_braille.out create mode 100644 share/extensions/tests/data/refs/text_extract__--direction__bt__--xanchor__center_x__--yanchor__center_y.out create mode 100644 share/extensions/tests/data/refs/text_extract__--direction__lr__--xanchor__center_x__--yanchor__center_y.out create mode 100644 share/extensions/tests/data/refs/text_extract__--direction__rl__--xanchor__center_x__--yanchor__center_y.out create mode 100644 share/extensions/tests/data/refs/text_extract__--direction__tb__--xanchor__center_x__--yanchor__center_y.out create mode 100644 share/extensions/tests/data/refs/text_flipcase.out create mode 100644 share/extensions/tests/data/refs/text_lowercase.out create mode 100644 share/extensions/tests/data/refs/text_merge.out create mode 100644 share/extensions/tests/data/refs/text_randomcase.out create mode 100644 share/extensions/tests/data/refs/text_sentencecase.out create mode 100644 share/extensions/tests/data/refs/text_split__5478757cb04224bacfa3c641fea954ba.out create mode 100644 share/extensions/tests/data/refs/text_split__74947d6e9e9ee89a80bbec0bfacc6dfb.out create mode 100644 share/extensions/tests/data/refs/text_split__897ab8b3c516acacaf68391a51eb8836.out create mode 100644 share/extensions/tests/data/refs/text_split__ad318803d098b3903561d44825a36ea0.out create mode 100644 share/extensions/tests/data/refs/text_split__c242adcac78228419d3c065a99727bfb.out create mode 100644 share/extensions/tests/data/refs/text_split__d8b155ac58a7424471f416b64f21669f.out create mode 100644 share/extensions/tests/data/refs/text_split__dd77d3cc0134ad62833e05ca73e38896.out create mode 100644 share/extensions/tests/data/refs/text_titlecase.out create mode 100644 share/extensions/tests/data/refs/text_uppercase.out create mode 100644 share/extensions/tests/data/refs/triangle.out create mode 100644 share/extensions/tests/data/refs/triangle__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/ungroup_deep.out create mode 100644 share/extensions/tests/data/refs/ungroup_deep__--id__g13.out create mode 100644 share/extensions/tests/data/refs/ungroup_deep__--id__g1935__--id__g6577__--id__g115.out create mode 100644 share/extensions/tests/data/refs/ungroup_deep__--id__layer2.out create mode 100644 share/extensions/tests/data/refs/voronoi2svg__--id__c1__--id__c2__--id__c3__--id__p1__--id__p2__--id__s1__--diagram-type__Voronoi__--clip-box__Page.out create mode 100644 share/extensions/tests/data/refs/voronoi2svg__--id__r1__--id__r3__--id__c1__--id__c3__--id__s1__--diagram-type__Both__--delaunay-fill-options__delaunay-fill.out create mode 100644 share/extensions/tests/data/refs/voronoi2svg__083b27d59093207e6210e1001eb9d5df.out create mode 100644 share/extensions/tests/data/refs/voronoi2svg__6d561032e7d7e60e607c75e562f677a4.out create mode 100644 share/extensions/tests/data/refs/web_interactive_mockup__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/web_set_att__--id__p1__--id__r3__--att__fill__--val__red.out create mode 100644 share/extensions/tests/data/refs/web_transmit_att__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/webslicer_create_group__--id__slicerect1.out create mode 100644 share/extensions/tests/data/refs/webslicer_create_rect.out create mode 100644 share/extensions/tests/data/refs/webslicer_create_rect__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/webslicer_export__--dir__TMP_DIR.out create mode 100644 share/extensions/tests/data/refs/whirl__--id__p1__--id__r3__--whirl__1__0.out create mode 100644 share/extensions/tests/data/refs/wireframe_sphere.out create mode 100644 share/extensions/tests/data/refs/wireframe_sphere__--id__p1__--id__r3.out create mode 100644 share/extensions/tests/data/refs/wmf_output.out (limited to 'share/extensions/tests/data/refs') diff --git a/share/extensions/tests/data/refs/addnodes.out b/share/extensions/tests/data/refs/addnodes.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/addnodes__--id__p1__--id__r3__--max__2__0.out b/share/extensions/tests/data/refs/addnodes__--id__p1__--id__r3__--max__2__0.out new file mode 100644 index 0000000..8479f52 --- /dev/null +++ b/share/extensions/tests/data/refs/addnodes__--id__p1__--id__r3__--max__2__0.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/addnodes__--id__rect723__--id__rect723-5__--id__path747__--id__path1080__--id__path1115__--method__bynum__--segments__3.out b/share/extensions/tests/data/refs/addnodes__--id__rect723__--id__rect723-5__--id__path747__--id__path1080__--id__path1115__--method__bynum__--segments__3.out new file mode 100644 index 0000000..d4005eb --- /dev/null +++ b/share/extensions/tests/data/refs/addnodes__--id__rect723__--id__rect723-5__--id__path747__--id__path1080__--id__path1115__--method__bynum__--segments__3.out @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/color_randomize__-y__0__-t__0__-m__0__-o__100__--id__layer_group_rect_uu2__--id__layer_group_path__--id__root_rect_uu.out b/share/extensions/tests/data/refs/color_randomize__-y__0__-t__0__-m__0__-o__100__--id__layer_group_rect_uu2__--id__layer_group_path__--id__root_rect_uu.out new file mode 100644 index 0000000..ef45a26 --- /dev/null +++ b/share/extensions/tests/data/refs/color_randomize__-y__0__-t__0__-m__0__-o__100__--id__layer_group_rect_uu2__--id__layer_group_path__--id__root_rect_uu.out @@ -0,0 +1,40 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/color_randomize__-y__50__-t__50__-m__50__-o__100__--id__r1__--id__r2__--id__r3__--id__r4__--id__r5__--id__r6.out b/share/extensions/tests/data/refs/color_randomize__-y__50__-t__50__-m__50__-o__100__--id__r1__--id__r2__--id__r3__--id__r4__--id__r5__--id__r6.out new file mode 100644 index 0000000..7698b26 --- /dev/null +++ b/share/extensions/tests/data/refs/color_randomize__-y__50__-t__50__-m__50__-o__100__--id__r1__--id__r2__--id__r3__--id__r4__--id__r5__--id__r6.out @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/color_replace__--id__rect184.out b/share/extensions/tests/data/refs/color_replace__--id__rect184.out new file mode 100644 index 0000000..9cd11ec --- /dev/null +++ b/share/extensions/tests/data/refs/color_replace__--id__rect184.out @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/color_replace__--id__rect184__--id__rect184-8.out b/share/extensions/tests/data/refs/color_replace__--id__rect184__--id__rect184-8.out new file mode 100644 index 0000000..100c535 --- /dev/null +++ b/share/extensions/tests/data/refs/color_replace__--id__rect184__--id__rect184-8.out @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/convert2dashes.out b/share/extensions/tests/data/refs/convert2dashes.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/convert2dashes__--id__dashme2__dash__svg.out b/share/extensions/tests/data/refs/convert2dashes__--id__dashme2__dash__svg.out new file mode 100644 index 0000000..7c4e92d --- /dev/null +++ b/share/extensions/tests/data/refs/convert2dashes__--id__dashme2__dash__svg.out @@ -0,0 +1,17 @@ + + + + + + image/svg+xml + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/convert2dashes__--id__dashme2__dash_zerolength__svg.out b/share/extensions/tests/data/refs/convert2dashes__--id__dashme2__dash_zerolength__svg.out new file mode 100644 index 0000000..c5282ae --- /dev/null +++ b/share/extensions/tests/data/refs/convert2dashes__--id__dashme2__dash_zerolength__svg.out @@ -0,0 +1,15 @@ + + + + + + image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dhw_input__PAGE_001__DHW.out b/share/extensions/tests/data/refs/dhw_input__PAGE_001__DHW.out new file mode 100644 index 0000000..f6ae72b --- /dev/null +++ b/share/extensions/tests/data/refs/dhw_input__PAGE_001__DHW.out @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dhw_input__PGLT_161__DHW.out b/share/extensions/tests/data/refs/dhw_input__PGLT_161__DHW.out new file mode 100644 index 0000000..7e90ed5 --- /dev/null +++ b/share/extensions/tests/data/refs/dhw_input__PGLT_161__DHW.out @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dhw_input__PGLT_162__DHW.out b/share/extensions/tests/data/refs/dhw_input__PGLT_162__DHW.out new file mode 100644 index 0000000..3c0a2e7 --- /dev/null +++ b/share/extensions/tests/data/refs/dhw_input__PGLT_162__DHW.out @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dhw_input__PGLT_163__DHW.out b/share/extensions/tests/data/refs/dhw_input__PGLT_163__DHW.out new file mode 100644 index 0000000..d02a0b6 --- /dev/null +++ b/share/extensions/tests/data/refs/dhw_input__PGLT_163__DHW.out @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dimension__--id__circle1.out b/share/extensions/tests/data/refs/dimension__--id__circle1.out new file mode 100644 index 0000000..0315951 --- /dev/null +++ b/share/extensions/tests/data/refs/dimension__--id__circle1.out @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dimension__--id__p1__--id__r3__--type__visual__--xoffset__100__0__--yoffset__100__0.out b/share/extensions/tests/data/refs/dimension__--id__p1__--id__r3__--type__visual__--xoffset__100__0__--yoffset__100__0.out new file mode 100644 index 0000000..bc9a26d --- /dev/null +++ b/share/extensions/tests/data/refs/dimension__--id__p1__--id__r3__--type__visual__--xoffset__100__0__--yoffset__100__0.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dimension__--id__p1__--id__r3__--xoffset__100__0__--yoffset__100__0.out b/share/extensions/tests/data/refs/dimension__--id__p1__--id__r3__--xoffset__100__0__--yoffset__100__0.out new file mode 100644 index 0000000..039bb62 --- /dev/null +++ b/share/extensions/tests/data/refs/dimension__--id__p1__--id__r3__--xoffset__100__0__--yoffset__100__0.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dm2svg.out b/share/extensions/tests/data/refs/dm2svg.out new file mode 100644 index 0000000..643324f --- /dev/null +++ b/share/extensions/tests/data/refs/dm2svg.out @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/refs/doc_ai_convert__doc_ai_conv_m_in__svg.out b/share/extensions/tests/data/refs/doc_ai_convert__doc_ai_conv_m_in__svg.out new file mode 100644 index 0000000..18043ed --- /dev/null +++ b/share/extensions/tests/data/refs/doc_ai_convert__doc_ai_conv_m_in__svg.out @@ -0,0 +1,24 @@ + + + Illustrator Import test document + This document should import as 8.5 x 11 inches. Illustrator uses a fixedresolution of 72 px per inch. + Text in Layer 1 + + + + + + Stroke only + Fill + stroke + Fill only + + + Three squares, each1 inch (2.54 cm) to a side.Objects do not changesize when stroke is added. + + + Text in Layer 2 + + Text in Layer 2A, a sub-layerof layer 2 + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/doc_ai_convert__doc_ai_conv_mm_in__svg.out b/share/extensions/tests/data/refs/doc_ai_convert__doc_ai_conv_mm_in__svg.out new file mode 100644 index 0000000..de38260 --- /dev/null +++ b/share/extensions/tests/data/refs/doc_ai_convert__doc_ai_conv_mm_in__svg.out @@ -0,0 +1,24 @@ + + + Illustrator Import test document + This document should import as 8.5 x 11 inches. Illustrator uses a fixedresolution of 72 px per inch. + Text in Layer 1 + + + + + + Stroke only + Fill + stroke + Fill only + + + Three squares, each1 inch (2.54 cm) to a side.Objects do not changesize when stroke is added. + + + Text in Layer 2 + + Text in Layer 2A, a sub-layerof layer 2 + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/doc_ai_convert__shapes__svg.out b/share/extensions/tests/data/refs/doc_ai_convert__shapes__svg.out new file mode 100644 index 0000000..fc2f6b0 --- /dev/null +++ b/share/extensions/tests/data/refs/doc_ai_convert__shapes__svg.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/docinfo__guides__svg.out b/share/extensions/tests/data/refs/docinfo__guides__svg.out new file mode 100644 index 0000000..822cecc --- /dev/null +++ b/share/extensions/tests/data/refs/docinfo__guides__svg.out @@ -0,0 +1,10 @@ +:::SVG document related info::: +version: 0.0 +width: 1000.0 +height: 1000.0 +viewbox: [0.0, 0.0, 1000.0, 1000.0] +document-units: None +units: None +Document has 6 guides +Grid number 1: Units: None +This is a single page document. diff --git a/share/extensions/tests/data/refs/docinfo__three_pages_and_two_grids__svg.out b/share/extensions/tests/data/refs/docinfo__three_pages_and_two_grids__svg.out new file mode 100644 index 0000000..31bbb8b --- /dev/null +++ b/share/extensions/tests/data/refs/docinfo__three_pages_and_two_grids__svg.out @@ -0,0 +1,14 @@ +:::SVG document related info::: +version: 1.2-dev (1:1.0+devel+202201200004+c1616499b1) +width: 793.7007874015748 +height: 1122.51968503937 +viewbox: [0.0, 0.0, 210.0, 297.0] +document-units: mm +units: None +Document has 3 guides +Grid number 1: Units: cm +Grid number 2: Units: in +Document has 3 pages +Page number 1: x: 0 y: 0 width: 210 height: 297 +Page number 2: x: 220 y: 0 width: 210 height: 297 +Page number 3: x: 0 y: 305 width: 430 height: 107.75 diff --git a/share/extensions/tests/data/refs/dpiswitcher.out b/share/extensions/tests/data/refs/dpiswitcher.out new file mode 100644 index 0000000..0b9cd97 --- /dev/null +++ b/share/extensions/tests/data/refs/dpiswitcher.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/refs/dpiswitcher__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/dpiswitcher__--id__p1__--id__r3.out new file mode 100644 index 0000000..0b9cd97 --- /dev/null +++ b/share/extensions/tests/data/refs/dpiswitcher__--id__p1__--id__r3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/refs/dpiswitcher__--switcher__0.out b/share/extensions/tests/data/refs/dpiswitcher__--switcher__0.out new file mode 100644 index 0000000..7cbe84a --- /dev/null +++ b/share/extensions/tests/data/refs/dpiswitcher__--switcher__0.out @@ -0,0 +1,40 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dpiswitcher__--switcher__1.out b/share/extensions/tests/data/refs/dpiswitcher__--switcher__1.out new file mode 100644 index 0000000..6ccc988 --- /dev/null +++ b/share/extensions/tests/data/refs/dpiswitcher__--switcher__1.out @@ -0,0 +1,40 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/draw_from_triangle__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/draw_from_triangle__--id__p1__--id__r3.out new file mode 100644 index 0000000..61c34b2 --- /dev/null +++ b/share/extensions/tests/data/refs/draw_from_triangle__--id__p1__--id__r3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/refs/dxf12_outlines__clips_and_masks__svg.out b/share/extensions/tests/data/refs/dxf12_outlines__clips_and_masks__svg.out new file mode 100644 index 0000000..d66a962 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf12_outlines__clips_and_masks__svg.out @@ -0,0 +1,932 @@ +999 +"DXF R12 Output" (www.mydxf.blogspot.com) + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1009 + 9 +$EXTMIN + 10 + 0 + 20 + 0 + 9 +$EXTMAX + 10 + 8.5 + 20 + 11 + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES +0 +LINE +8 +Layer 1 +10 +103.010000 +20 +239.724000 +11 +102.887147 +21 +237.290427 +0 +LINE +8 +Layer 1 +10 +102.887147 +20 +237.290427 +11 +102.526500 +21 +234.927148 +0 +LINE +8 +Layer 1 +10 +102.526500 +20 +234.927148 +11 +101.940024 +21 +232.646127 +0 +LINE +8 +Layer 1 +10 +101.940024 +20 +232.646127 +11 +101.139681 +21 +230.459329 +0 +LINE +8 +Layer 1 +10 +101.139681 +20 +230.459329 +11 +100.137437 +21 +228.378717 +0 +LINE +8 +Layer 1 +10 +100.137437 +20 +228.378717 +11 +98.945254 +21 +226.416255 +0 +LINE +8 +Layer 1 +10 +98.945254 +20 +226.416255 +11 +97.575096 +21 +224.583908 +0 +LINE +8 +Layer 1 +10 +97.575096 +20 +224.583908 +11 +96.038926 +21 +222.893639 +0 +LINE +8 +Layer 1 +10 +96.038926 +20 +222.893639 +11 +94.348709 +21 +221.357413 +0 +LINE +8 +Layer 1 +10 +94.348709 +20 +221.357413 +11 +92.516408 +21 +219.987193 +0 +LINE +8 +Layer 1 +10 +92.516408 +20 +219.987193 +11 +90.553986 +21 +218.794944 +0 +LINE +8 +Layer 1 +10 +90.553986 +20 +218.794944 +11 +88.473408 +21 +217.792630 +0 +LINE +8 +Layer 1 +10 +88.473408 +20 +217.792630 +11 +86.286637 +21 +216.992214 +0 +LINE +8 +Layer 1 +10 +86.286637 +20 +216.992214 +11 +84.005636 +21 +216.405661 +0 +LINE +8 +Layer 1 +10 +84.005636 +20 +216.405661 +11 +81.642369 +21 +216.044935 +0 +LINE +8 +Layer 1 +10 +81.642369 +20 +216.044935 +11 +79.208800 +21 +215.922000 +0 +LINE +8 +Layer 1 +10 +79.208800 +20 +215.922000 +11 +76.856275 +21 +216.038472 +0 +LINE +8 +Layer 1 +10 +76.856275 +20 +216.038472 +11 +74.543598 +21 +216.383576 +0 +LINE +8 +Layer 1 +10 +74.543598 +20 +216.383576 +11 +72.286375 +21 +216.950849 +0 +LINE +8 +Layer 1 +10 +72.286375 +20 +216.950849 +11 +70.100214 +21 +217.733825 +0 +LINE +8 +Layer 1 +10 +70.100214 +20 +217.733825 +11 +68.000724 +21 +218.726040 +0 +LINE +8 +Layer 1 +10 +68.000724 +20 +218.726040 +11 +66.003512 +21 +219.921027 +0 +LINE +8 +Layer 1 +10 +66.003512 +20 +219.921027 +11 +64.124185 +21 +221.312323 +0 +LINE +8 +Layer 1 +10 +64.124185 +20 +221.312323 +11 +62.378350 +21 +222.893463 +0 +LINE +8 +Layer 1 +10 +62.378350 +20 +222.893463 +11 +60.797233 +21 +224.639317 +0 +LINE +8 +Layer 1 +10 +60.797233 +20 +224.639317 +11 +59.405961 +21 +226.518661 +0 +LINE +8 +Layer 1 +10 +59.405961 +20 +226.518661 +11 +58.210998 +21 +228.515889 +0 +LINE +8 +Layer 1 +10 +58.210998 +20 +228.515889 +11 +57.218810 +21 +230.615392 +0 +LINE +8 +Layer 1 +10 +57.218810 +20 +230.615392 +11 +56.435862 +21 +232.801562 +0 +LINE +8 +Layer 1 +10 +56.435862 +20 +232.801562 +11 +55.868617 +21 +235.058792 +0 +LINE +8 +Layer 1 +10 +55.868617 +20 +235.058792 +11 +55.523542 +21 +237.371474 +0 +LINE +8 +Layer 1 +10 +55.523542 +20 +237.371474 +11 +55.407100 +21 +239.724000 +0 +LINE +8 +Layer 1 +10 +55.407100 +20 +239.724000 +11 +55.530052 +21 +242.157533 +0 +LINE +8 +Layer 1 +10 +55.530052 +20 +242.157533 +11 +55.890788 +21 +244.520764 +0 +LINE +8 +Layer 1 +10 +55.890788 +20 +244.520764 +11 +56.477344 +21 +246.801731 +0 +LINE +8 +Layer 1 +10 +56.477344 +20 +246.801731 +11 +57.277757 +21 +248.988471 +0 +LINE +8 +Layer 1 +10 +57.277757 +20 +248.988471 +11 +58.280063 +21 +251.069020 +0 +LINE +8 +Layer 1 +10 +58.280063 +20 +251.069020 +11 +59.472299 +21 +253.031415 +0 +LINE +8 +Layer 1 +10 +59.472299 +20 +253.031415 +11 +60.842500 +21 +254.863693 +0 +LINE +8 +Layer 1 +10 +60.842500 +20 +254.863693 +11 +62.378704 +21 +256.553891 +0 +LINE +8 +Layer 1 +10 +62.378704 +20 +256.553891 +11 +64.068947 +21 +258.090045 +0 +LINE +8 +Layer 1 +10 +64.068947 +20 +258.090045 +11 +65.901265 +21 +259.460193 +0 +LINE +8 +Layer 1 +10 +65.901265 +20 +259.460193 +11 +67.863695 +21 +260.652371 +0 +LINE +8 +Layer 1 +10 +67.863695 +20 +260.652371 +11 +69.944274 +21 +261.654615 +0 +LINE +8 +Layer 1 +10 +69.944274 +20 +261.654615 +11 +72.131037 +21 +262.454964 +0 +LINE +8 +Layer 1 +10 +72.131037 +20 +262.454964 +11 +74.412022 +21 +263.041453 +0 +LINE +8 +Layer 1 +10 +74.412022 +20 +263.041453 +11 +76.775264 +21 +263.402119 +0 +LINE +8 +Layer 1 +10 +76.775264 +20 +263.402119 +11 +79.208800 +21 +263.525000 +0 +LINE +8 +Layer 1 +10 +79.208800 +20 +263.525000 +11 +81.642298 +21 +263.402072 +0 +LINE +8 +Layer 1 +10 +81.642298 +20 +263.402072 +11 +84.005501 +21 +263.041366 +0 +LINE +8 +Layer 1 +10 +84.005501 +20 +263.041366 +11 +86.286444 +21 +262.454845 +0 +LINE +8 +Layer 1 +10 +86.286444 +20 +262.454845 +11 +88.473166 +21 +261.654471 +0 +LINE +8 +Layer 1 +10 +88.473166 +20 +261.654471 +11 +90.553702 +21 +260.652209 +0 +LINE +8 +Layer 1 +10 +90.553702 +20 +260.652209 +11 +92.516091 +21 +259.460020 +0 +LINE +8 +Layer 1 +10 +92.516091 +20 +259.460020 +11 +94.348369 +21 +258.089868 +0 +LINE +8 +Layer 1 +10 +94.348369 +20 +258.089868 +11 +96.038573 +21 +256.553714 +0 +LINE +8 +Layer 1 +10 +96.038573 +20 +256.553714 +11 +97.574740 +21 +254.863523 +0 +LINE +8 +Layer 1 +10 +97.574740 +20 +254.863523 +11 +98.944908 +21 +253.031257 +0 +LINE +8 +Layer 1 +10 +98.944908 +20 +253.031257 +11 +100.137114 +21 +251.068878 +0 +LINE +8 +Layer 1 +10 +100.137114 +20 +251.068878 +11 +101.139394 +21 +248.988350 +0 +LINE +8 +Layer 1 +10 +101.139394 +20 +248.988350 +11 +101.939785 +21 +246.801635 +0 +LINE +8 +Layer 1 +10 +101.939785 +20 +246.801635 +11 +102.526325 +21 +244.520697 +0 +LINE +8 +Layer 1 +10 +102.526325 +20 +244.520697 +11 +102.887051 +21 +242.157497 +0 +LINE +8 +Layer 1 +10 +102.887051 +20 +242.157497 +11 +103.010000 +21 +239.724000 +0 +LINE +8 +Layer 1 +10 +103.010000 +20 +239.724000 +11 +103.010000 +21 +239.724000 +0 +LINE +8 +Layer 1 +10 +160.043000 +20 +35.117500 +11 +145.155900 +21 +46.099100 +0 +LINE +8 +Layer 1 +10 +145.155900 +20 +46.099100 +11 +127.669800 +21 +40.061060 +0 +LINE +8 +Layer 1 +10 +127.669800 +20 +40.061060 +11 +133.513510 +21 +57.613060 +0 +LINE +8 +Layer 1 +10 +133.513510 +20 +57.613060 +11 +122.367510 +21 +72.377460 +0 +LINE +8 +Layer 1 +10 +122.367510 +20 +72.377460 +11 +140.866210 +21 +72.243630 +0 +LINE +8 +Layer 1 +10 +140.866210 +20 +72.243630 +11 +151.463710 +21 +87.406530 +0 +LINE +8 +Layer 1 +10 +151.463710 +20 +87.406530 +11 +157.052850 +21 +69.771830 +0 +LINE +8 +Layer 1 +10 +157.052850 +20 +69.771830 +11 +174.748450 +21 +64.378650 +0 +LINE +8 +Layer 1 +10 +174.748450 +20 +64.378650 +11 +159.703950 +21 +53.613650 +0 +LINE +8 +Layer 1 +10 +159.703950 +20 +53.613650 +11 +160.043000 +21 +35.117500 + 0 +ENDSEC + 0 +EOF \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf12_outlines__dxf_nested_transforms__svg.out b/share/extensions/tests/data/refs/dxf12_outlines__dxf_nested_transforms__svg.out new file mode 100644 index 0000000..203f380 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf12_outlines__dxf_nested_transforms__svg.out @@ -0,0 +1,296 @@ +999 +"DXF R12 Output" (www.mydxf.blogspot.com) + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1009 + 9 +$EXTMIN + 10 + 0 + 20 + 0 + 9 +$EXTMAX + 10 + 8.5 + 20 + 11 + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES +0 +LINE +8 +Layer 1 +10 +106.205000 +20 +165.429000 +11 +66.544600 +21 +195.428900 +0 +LINE +8 +Layer 1 +10 +66.544600 +20 +195.428900 +11 +66.544800 +21 +221.696000 +0 +LINE +8 +Layer 1 +10 +66.544800 +20 +221.696000 +11 +100.871000 +21 +221.696000 +0 +LINE +8 +Layer 1 +10 +100.871000 +20 +221.696000 +11 +140.531400 +21 +191.696100 +0 +LINE +8 +Layer 1 +10 +140.531400 +20 +191.696100 +11 +140.532000 +21 +165.429000 +0 +LINE +8 +Layer 1 +10 +140.532000 +20 +165.429000 +11 +106.205000 +21 +165.429000 +0 +LINE +8 +Layer 1 +10 +0.000000 +20 +297.000000 +11 +210.000000 +21 +297.000000 +0 +LINE +8 +Layer 1 +10 +210.000000 +20 +297.000000 +11 +210.000000 +21 +0.000000 +0 +LINE +8 +Layer 1 +10 +210.000000 +20 +0.000000 +11 +0.000000 +21 +0.000000 +0 +LINE +8 +Layer 1 +10 +0.000000 +20 +0.000000 +11 +0.000000 +21 +297.000000 +0 +LINE +8 +Layer 1 +10 +66.542700 +20 +221.696000 +11 +100.869000 +21 +221.696000 +0 +LINE +8 +Layer 1 +10 +100.869000 +20 +221.696000 +11 +100.869000 +21 +195.428000 +0 +LINE +8 +Layer 1 +10 +100.869000 +20 +195.428000 +11 +66.542700 +21 +195.428000 +0 +LINE +8 +Layer 1 +10 +66.542700 +20 +195.428000 +11 +66.542700 +21 +221.696000 +0 +LINE +8 +Layer 1 +10 +106.203000 +20 +191.696000 +11 +140.530000 +21 +191.696000 +0 +LINE +8 +Layer 1 +10 +140.530000 +20 +191.696000 +11 +140.530000 +21 +165.429000 +0 +LINE +8 +Layer 1 +10 +140.530000 +20 +165.429000 +11 +106.203000 +21 +165.429000 +0 +LINE +8 +Layer 1 +10 +106.203000 +20 +165.429000 +11 +106.203000 +21 +191.696000 +0 +LINE +8 +Layer 1 +10 +185.881000 +20 +135.429000 +11 +151.555000 +21 +135.429000 +0 +LINE +8 +Layer 1 +10 +151.555000 +20 +135.429000 +11 +151.555000 +21 +161.696000 +0 +LINE +8 +Layer 1 +10 +151.555000 +20 +161.696000 +11 +185.881000 +21 +161.696000 +0 +LINE +8 +Layer 1 +10 +185.881000 +20 +161.696000 +11 +185.881000 +21 +135.429000 + 0 +ENDSEC + 0 +EOF \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf12_outlines__preserved-transforms__svg.out b/share/extensions/tests/data/refs/dxf12_outlines__preserved-transforms__svg.out new file mode 100644 index 0000000..1b2c6c3 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf12_outlines__preserved-transforms__svg.out @@ -0,0 +1,224 @@ +999 +"DXF R12 Output" (www.mydxf.blogspot.com) + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1009 + 9 +$EXTMIN + 10 + 0 + 20 + 0 + 9 +$EXTMAX + 10 + 8.5 + 20 + 11 + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES +0 +LINE +8 +Layer 1 +10 +0.000000 +20 +297.000000 +11 +210.000000 +21 +297.000000 +0 +LINE +8 +Layer 1 +10 +210.000000 +20 +297.000000 +11 +210.000000 +21 +0.000000 +0 +LINE +8 +Layer 1 +10 +210.000000 +20 +0.000000 +11 +0.000000 +21 +0.000000 +0 +LINE +8 +Layer 1 +10 +0.000000 +20 +0.000000 +11 +0.000000 +21 +297.000000 +0 +LINE +8 +Layer 1 +10 +66.542700 +20 +221.696000 +11 +100.869000 +21 +221.696000 +0 +LINE +8 +Layer 1 +10 +100.869000 +20 +221.696000 +11 +100.869000 +21 +195.428000 +0 +LINE +8 +Layer 1 +10 +100.869000 +20 +195.428000 +11 +66.542700 +21 +195.428000 +0 +LINE +8 +Layer 1 +10 +66.542700 +20 +195.428000 +11 +66.542700 +21 +221.696000 +0 +LINE +8 +Layer 1 +10 +106.203000 +20 +191.696000 +11 +140.530000 +21 +191.696000 +0 +LINE +8 +Layer 1 +10 +140.530000 +20 +191.696000 +11 +140.530000 +21 +165.429000 +0 +LINE +8 +Layer 1 +10 +140.530000 +20 +165.429000 +11 +106.203000 +21 +165.429000 +0 +LINE +8 +Layer 1 +10 +106.203000 +20 +165.429000 +11 +106.203000 +21 +191.696000 +0 +LINE +8 +Layer 1 +10 +185.881000 +20 +135.429000 +11 +151.555000 +21 +135.429000 +0 +LINE +8 +Layer 1 +10 +151.555000 +20 +135.429000 +11 +151.555000 +21 +161.696000 +0 +LINE +8 +Layer 1 +10 +151.555000 +20 +161.696000 +11 +185.881000 +21 +161.696000 +0 +LINE +8 +Layer 1 +10 +185.881000 +20 +161.696000 +11 +185.881000 +21 +135.429000 + 0 +ENDSEC + 0 +EOF \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf12_outlines__scale_not_unity__svg.out b/share/extensions/tests/data/refs/dxf12_outlines__scale_not_unity__svg.out new file mode 100644 index 0000000..56a6360 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf12_outlines__scale_not_unity__svg.out @@ -0,0 +1,272 @@ +999 +"DXF R12 Output" (www.mydxf.blogspot.com) + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1009 + 9 +$EXTMIN + 10 + 0 + 20 + 0 + 9 +$EXTMAX + 10 + 8.5 + 20 + 11 + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES +0 +LINE +8 +Ebene 1 +10 +58.683500 +20 +179.770000 +11 +158.683000 +21 +179.770000 +0 +LINE +8 +Ebene 1 +10 +158.683000 +20 +179.770000 +11 +158.683000 +21 +109.770000 +0 +LINE +8 +Ebene 1 +10 +158.683000 +20 +109.770000 +11 +58.683500 +21 +109.770000 +0 +LINE +8 +Ebene 1 +10 +58.683500 +20 +109.770000 +11 +58.683500 +21 +179.770000 +0 +LINE +8 +Ebene 1 +10 +0.000000 +20 +297.000000 +11 +50.000000 +21 +297.000000 +0 +LINE +8 +Ebene 1 +10 +50.000000 +20 +297.000000 +11 +50.000000 +21 +217.000000 +0 +LINE +8 +Ebene 1 +10 +50.000000 +20 +217.000000 +11 +0.000000 +21 +217.000000 +0 +LINE +8 +Ebene 1 +10 +0.000000 +20 +217.000000 +11 +0.000000 +21 +297.000000 +0 +LINE +8 +Ebene 1 +10 +190.000000 +20 +297.000000 +11 +210.000000 +21 +297.000000 +0 +LINE +8 +Ebene 1 +10 +210.000000 +20 +297.000000 +11 +210.000000 +21 +287.000000 +0 +LINE +8 +Ebene 1 +10 +210.000000 +20 +287.000000 +11 +190.000000 +21 +287.000000 +0 +LINE +8 +Ebene 1 +10 +190.000000 +20 +287.000000 +11 +190.000000 +21 +297.000000 +0 +LINE +8 +Ebene 1 +10 +0.000000 +20 +30.000000 +11 +15.000000 +21 +30.000000 +0 +LINE +8 +Ebene 1 +10 +15.000000 +20 +30.000000 +11 +15.000000 +21 +0.000000 +0 +LINE +8 +Ebene 1 +10 +15.000000 +20 +0.000000 +11 +0.000000 +21 +0.000000 +0 +LINE +8 +Ebene 1 +10 +0.000000 +20 +0.000000 +11 +0.000000 +21 +30.000000 +0 +LINE +8 +Ebene 1 +10 +140.000000 +20 +70.000000 +11 +210.000000 +21 +51.259800 +0 +LINE +8 +Ebene 1 +10 +210.000000 +20 +51.259800 +11 +210.000000 +21 +0.000000 +0 +LINE +8 +Ebene 1 +10 +210.000000 +20 +0.000000 +11 +152.197000 +21 +0.000000 +0 +LINE +8 +Ebene 1 +10 +152.197000 +20 +0.000000 +11 +140.000000 +21 +70.000000 + 0 +ENDSEC + 0 +EOF \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf12_outlines__shapes__svg.out b/share/extensions/tests/data/refs/dxf12_outlines__shapes__svg.out new file mode 100644 index 0000000..dcf47fc --- /dev/null +++ b/share/extensions/tests/data/refs/dxf12_outlines__shapes__svg.out @@ -0,0 +1,1424 @@ +999 +"DXF R12 Output" (www.mydxf.blogspot.com) + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1009 + 9 +$EXTMIN + 10 + 0 + 20 + 0 + 9 +$EXTMAX + 10 + 8.5 + 20 + 11 + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES +0 +LINE +8 +Layer 1 +10 +2.828520 +20 +263.409000 +11 +-0.351372 +21 +264.578000 +0 +LINE +8 +Layer 1 +10 +-0.351372 +20 +264.578000 +11 +2.828520 +21 +265.748000 +0 +LINE +8 +Layer 1 +10 +2.828520 +20 +265.748000 +11 +2.543171 +21 +265.190016 +0 +LINE +8 +Layer 1 +10 +2.543171 +20 +265.190016 +11 +2.448604 +21 +264.583375 +0 +LINE +8 +Layer 1 +10 +2.448604 +20 +264.583375 +11 +2.543995 +21 +263.974297 +0 +LINE +8 +Layer 1 +10 +2.543995 +20 +263.974297 +11 +2.828520 +21 +263.409000 +0 +LINE +8 +Layer 1 +10 +2.828520 +20 +263.409000 +11 +2.828520 +21 +263.409000 +0 +LINE +8 +Slide2 +10 +207.191000 +20 +138.159000 +11 +204.538579 +21 +136.486927 +0 +LINE +8 +Slide2 +10 +204.538579 +20 +136.486927 +11 +201.446738 +21 +135.075179 +0 +LINE +8 +Slide2 +10 +201.446738 +20 +135.075179 +11 +197.989198 +21 +133.937144 +0 +LINE +8 +Slide2 +10 +197.989198 +20 +133.937144 +11 +194.239677 +21 +133.086207 +0 +LINE +8 +Slide2 +10 +194.239677 +20 +133.086207 +11 +190.271897 +21 +132.535757 +0 +LINE +8 +Slide2 +10 +190.271897 +20 +132.535757 +11 +186.159578 +21 +132.299179 +0 +LINE +8 +Slide2 +10 +186.159578 +20 +132.299179 +11 +181.976439 +21 +132.389861 +0 +LINE +8 +Slide2 +10 +181.976439 +20 +132.389861 +11 +177.796200 +21 +132.821190 +0 +LINE +8 +Slide2 +10 +177.796200 +20 +132.821190 +11 +173.808049 +21 +133.581652 +0 +LINE +8 +Slide2 +10 +173.808049 +20 +133.581652 +11 +170.183861 +21 +134.630080 +0 +LINE +8 +Slide2 +10 +170.183861 +20 +134.630080 +11 +166.971385 +21 +135.935365 +0 +LINE +8 +Slide2 +10 +166.971385 +20 +135.935365 +11 +164.218373 +21 +137.466396 +0 +LINE +8 +Slide2 +10 +164.218373 +20 +137.466396 +11 +161.972578 +21 +139.192064 +0 +LINE +8 +Slide2 +10 +161.972578 +20 +139.192064 +11 +160.281749 +21 +141.081259 +0 +LINE +8 +Slide2 +10 +160.281749 +20 +141.081259 +11 +159.659370 +21 +142.077457 +0 +LINE +8 +Slide2 +10 +159.659370 +20 +142.077457 +11 +159.193640 +21 +143.102871 +0 +LINE +8 +Slide2 +10 +159.193640 +20 +143.102871 +11 +158.890527 +21 +144.153611 +0 +LINE +8 +Slide2 +10 +158.890527 +20 +144.153611 +11 +158.756000 +21 +145.225790 +0 +LINE +8 +Slide2 +10 +158.756000 +20 +145.225790 +11 +158.794810 +21 +146.299897 +0 +LINE +8 +Slide2 +10 +158.794810 +20 +146.299897 +11 +159.003948 +21 +147.356344 +0 +LINE +8 +Slide2 +10 +159.003948 +20 +147.356344 +11 +159.377799 +21 +148.391114 +0 +LINE +8 +Slide2 +10 +159.377799 +20 +148.391114 +11 +159.910746 +21 +149.400189 +0 +LINE +8 +Slide2 +10 +159.910746 +20 +149.400189 +11 +161.431464 +21 +151.325184 +0 +LINE +8 +Slide2 +10 +161.431464 +20 +151.325184 +11 +163.521171 +21 +153.099184 +0 +LINE +8 +Slide2 +10 +163.521171 +20 +153.099184 +11 +166.134938 +21 +154.690048 +0 +LINE +8 +Slide2 +10 +166.134938 +20 +154.690048 +11 +169.227835 +21 +156.065632 +0 +LINE +8 +Slide2 +10 +169.227835 +20 +156.065632 +11 +172.754932 +21 +157.193793 +0 +LINE +8 +Slide2 +10 +172.754932 +20 +157.193793 +11 +176.671300 +21 +158.042390 +0 +LINE +8 +Slide2 +10 +176.671300 +20 +158.042390 +11 +180.808925 +21 +158.566469 +0 +LINE +8 +Slide2 +10 +180.808925 +20 +158.566469 +11 +184.979820 +21 +158.750305 +0 +LINE +8 +Slide2 +10 +184.979820 +20 +158.750305 +11 +189.109144 +21 +158.605628 +0 +LINE +8 +Slide2 +10 +189.109144 +20 +158.605628 +11 +193.122058 +21 +158.144169 +0 +LINE +8 +Slide2 +10 +193.122058 +20 +158.144169 +11 +196.943721 +21 +157.377657 +0 +LINE +8 +Slide2 +10 +196.943721 +20 +157.377657 +11 +200.499293 +21 +156.317823 +0 +LINE +8 +Slide2 +10 +200.499293 +20 +156.317823 +11 +203.713932 +21 +154.976397 +0 +LINE +8 +Slide2 +10 +203.713932 +20 +154.976397 +11 +206.512800 +21 +153.365110 +0 +LINE +8 +Slide2 +10 +206.512800 +20 +153.365110 +11 +185.208000 +21 +145.521000 +0 +LINE +8 +Slide2 +10 +185.208000 +20 +145.521000 +11 +207.191000 +21 +138.159000 +0 +LINE +8 +Slide2 +10 +26.458300 +20 +105.833000 +11 +52.916600 +21 +79.374900 +0 +LINE +8 +Slide2 +10 +52.916600 +20 +79.374900 +11 +79.374900 +21 +105.833000 +0 +LINE +8 +Slide2 +10 +79.374900 +20 +105.833000 +11 +105.833000 +21 +79.374900 +0 +LINE +8 +Slide2 +10 +132.292000 +20 +105.833000 +11 +132.343676 +21 +104.696120 +0 +LINE +8 +Slide2 +10 +132.343676 +20 +104.696120 +11 +132.705411 +21 +101.698891 +0 +LINE +8 +Slide2 +10 +132.705411 +20 +101.698891 +11 +133.099443 +21 +99.696431 +0 +LINE +8 +Slide2 +10 +133.099443 +20 +99.696431 +11 +133.687262 +21 +97.461429 +0 +LINE +8 +Slide2 +10 +133.687262 +20 +97.461429 +11 +134.507624 +21 +95.071397 +0 +LINE +8 +Slide2 +10 +134.507624 +20 +95.071397 +11 +135.599288 +21 +92.603850 +0 +LINE +8 +Slide2 +10 +135.599288 +20 +92.603850 +11 +137.001009 +21 +90.136303 +0 +LINE +8 +Slide2 +10 +137.001009 +20 +90.136303 +11 +138.751546 +21 +87.746271 +0 +LINE +8 +Slide2 +10 +138.751546 +20 +87.746271 +11 +140.889656 +21 +85.511269 +0 +LINE +8 +Slide2 +10 +140.889656 +20 +85.511269 +11 +143.454095 +21 +83.508809 +0 +LINE +8 +Slide2 +10 +143.454095 +20 +83.508809 +11 +146.483622 +21 +81.816408 +0 +LINE +8 +Slide2 +10 +146.483622 +20 +81.816408 +11 +150.016994 +21 +80.511580 +0 +LINE +8 +Slide2 +10 +150.016994 +20 +80.511580 +11 +151.984733 +21 +80.028729 +0 +LINE +8 +Slide2 +10 +151.984733 +20 +80.028729 +11 +154.092967 +21 +79.671839 +0 +LINE +8 +Slide2 +10 +154.092967 +20 +79.671839 +11 +156.346541 +21 +79.450600 +0 +LINE +8 +Slide2 +10 +156.346541 +20 +79.450600 +11 +158.750300 +21 +79.374700 +0 +LINE +8 +Slide2 +10 +158.750300 +20 +79.374700 +11 +161.078966 +21 +79.450600 +0 +LINE +8 +Slide2 +10 +161.078966 +20 +79.450600 +11 +163.116953 +21 +79.671839 +0 +LINE +8 +Slide2 +10 +163.116953 +20 +79.671839 +11 +164.883639 +21 +80.028729 +0 +LINE +8 +Slide2 +10 +164.883639 +20 +80.028729 +11 +166.398402 +21 +80.511580 +0 +LINE +8 +Slide2 +10 +166.398402 +20 +80.511580 +11 +167.680622 +21 +81.110703 +0 +LINE +8 +Slide2 +10 +167.680622 +20 +81.110703 +11 +168.749677 +21 +81.816408 +0 +LINE +8 +Slide2 +10 +168.749677 +20 +81.816408 +11 +169.624946 +21 +82.619007 +0 +LINE +8 +Slide2 +10 +169.624946 +20 +82.619007 +11 +170.325806 +21 +83.508809 +0 +LINE +8 +Slide2 +10 +170.325806 +20 +83.508809 +11 +170.871638 +21 +84.476126 +0 +LINE +8 +Slide2 +10 +170.871638 +20 +84.476126 +11 +171.281819 +21 +85.511269 +0 +LINE +8 +Slide2 +10 +171.281819 +20 +85.511269 +11 +171.772745 +21 +87.746271 +0 +LINE +8 +Slide2 +10 +171.772745 +20 +87.746271 +11 +171.953612 +21 +90.136303 +0 +LINE +8 +Slide2 +10 +171.953612 +20 +90.136303 +11 +171.979450 +21 +92.603850 +0 +LINE +8 +Slide2 +10 +171.979450 +20 +92.603850 +11 +172.005288 +21 +95.071397 +0 +LINE +8 +Slide2 +10 +172.005288 +20 +95.071397 +11 +172.186155 +21 +97.461429 +0 +LINE +8 +Slide2 +10 +172.186155 +20 +97.461429 +11 +172.677081 +21 +99.696431 +0 +LINE +8 +Slide2 +10 +172.677081 +20 +99.696431 +11 +173.087262 +21 +100.731574 +0 +LINE +8 +Slide2 +10 +173.087262 +20 +100.731574 +11 +173.633094 +21 +101.698891 +0 +LINE +8 +Slide2 +10 +173.633094 +20 +101.698891 +11 +174.333954 +21 +102.588693 +0 +LINE +8 +Slide2 +10 +174.333954 +20 +102.588693 +11 +175.209223 +21 +103.391292 +0 +LINE +8 +Slide2 +10 +175.209223 +20 +103.391292 +11 +176.278278 +21 +104.096997 +0 +LINE +8 +Slide2 +10 +176.278278 +20 +104.096997 +11 +177.560498 +21 +104.696120 +0 +LINE +8 +Slide2 +10 +177.560498 +20 +104.696120 +11 +179.075261 +21 +105.178971 +0 +LINE +8 +Slide2 +10 +179.075261 +20 +105.178971 +11 +180.841947 +21 +105.535861 +0 +LINE +8 +Slide2 +10 +180.841947 +20 +105.535861 +11 +182.879934 +21 +105.757100 +0 +LINE +8 +Slide2 +10 +182.879934 +20 +105.757100 +11 +185.208600 +21 +105.833000 +0 +LINE +8 +Slide2 +10 +185.208600 +20 +105.833000 +11 +187.612359 +21 +105.757100 +0 +LINE +8 +Slide2 +10 +187.612359 +20 +105.757100 +11 +189.865933 +21 +105.535861 +0 +LINE +8 +Slide2 +10 +189.865933 +20 +105.535861 +11 +191.974167 +21 +105.178971 +0 +LINE +8 +Slide2 +10 +191.974167 +20 +105.178971 +11 +193.941906 +21 +104.696120 +0 +LINE +8 +Slide2 +10 +193.941906 +20 +104.696120 +11 +197.475278 +21 +103.391292 +0 +LINE +8 +Slide2 +10 +197.475278 +20 +103.391292 +11 +200.504805 +21 +101.698891 +0 +LINE +8 +Slide2 +10 +200.504805 +20 +101.698891 +11 +203.069244 +21 +99.696431 +0 +LINE +8 +Slide2 +10 +203.069244 +20 +99.696431 +11 +205.207354 +21 +97.461429 +0 +LINE +8 +Slide2 +10 +205.207354 +20 +97.461429 +11 +206.957891 +21 +95.071397 +0 +LINE +8 +Slide2 +10 +206.957891 +20 +95.071397 +11 +208.359613 +21 +92.603850 +0 +LINE +8 +Slide2 +10 +208.359613 +20 +92.603850 +11 +209.451276 +21 +90.136303 +0 +LINE +8 +Slide2 +10 +209.451276 +20 +90.136303 +11 +210.271638 +21 +87.746271 +0 +LINE +8 +Slide2 +10 +210.271638 +20 +87.746271 +11 +210.859457 +21 +85.511269 +0 +LINE +8 +Slide2 +10 +210.859457 +20 +85.511269 +11 +211.253489 +21 +83.508809 +0 +LINE +8 +Slide2 +10 +211.253489 +20 +83.508809 +11 +211.615224 +21 +80.511580 +0 +LINE +8 +Slide2 +10 +211.615224 +20 +80.511580 +11 +211.666900 +21 +79.374700 +0 +LINE +8 +Slide2 +10 +64.778700 +20 +29.331700 +11 +52.782800 +21 +31.483940 +0 +LINE +8 +Slide2 +10 +52.782800 +20 +31.483940 +11 +44.209180 +21 +22.822150 +0 +LINE +8 +Slide2 +10 +44.209180 +20 +22.822150 +11 +42.549150 +21 +34.896050 +0 +LINE +8 +Slide2 +10 +42.549150 +20 +34.896050 +11 +31.661850 +21 +40.373400 +0 +LINE +8 +Slide2 +10 +31.661850 +20 +40.373400 +11 +42.631750 +21 +45.683210 +0 +LINE +8 +Slide2 +10 +42.631750 +20 +45.683210 +11 +44.476680 +21 +57.730210 +0 +LINE +8 +Slide2 +10 +44.476680 +20 +57.730210 +11 +52.916510 +21 +48.938000 +0 +LINE +8 +Slide2 +10 +52.916510 +20 +48.938000 +11 +64.944010 +21 +50.906090 +0 +LINE +8 +Slide2 +10 +64.944010 +20 +50.906090 +11 +59.190170 +21 +40.162390 +0 +LINE +8 +Slide2 +10 +59.190170 +20 +40.162390 +11 +64.778700 +21 +29.331700 + 0 +ENDSEC + 0 +EOF \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__--textscale__1__411__CADTextHeight__dxf.out b/share/extensions/tests/data/refs/dxf_input__--textscale__1__411__CADTextHeight__dxf.out new file mode 100644 index 0000000..88041a9 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__--textscale__1__411__CADTextHeight__dxf.out @@ -0,0 +1,2 @@ + + CADTextHeight.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manual2.18427.9981.443.687Text height for L: 2.25CADText height for L: 45.0CADCAD text height 3 mm corresponds to 12 pt = 16 px in svgText written in this file:text scale factor = (240 x 25.4)/(45.0 x 96) = 1.411...180 pt = 240 px9 pt = 12 pxLL \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__CADTextHeight__dxf.out b/share/extensions/tests/data/refs/dxf_input__CADTextHeight__dxf.out new file mode 100644 index 0000000..c48c1c8 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__CADTextHeight__dxf.out @@ -0,0 +1,2 @@ + + CADTextHeight.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manual2.18427.9981.443.687Text height for L: 2.25CADText height for L: 45.0CADCAD text height 3 mm corresponds to 12 pt = 16 px in svgText written in this file:text scale factor = (240 x 25.4)/(45.0 x 96) = 1.411...180 pt = 240 px9 pt = 12 pxLL \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__color__dxf.out b/share/extensions/tests/data/refs/dxf_input__color__dxf.out new file mode 100644 index 0000000..15c056a --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__color__dxf.out @@ -0,0 +1,2 @@ + + color.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manual \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__dxf_multiple_inserts__dxf.out b/share/extensions/tests/data/refs/dxf_input__dxf_multiple_inserts__dxf.out new file mode 100644 index 0000000..cb57f96 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__dxf_multiple_inserts__dxf.out @@ -0,0 +1,2 @@ + + dxf_multiple_inserts.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manual33.68 \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__dxf_polylines__dxf.out b/share/extensions/tests/data/refs/dxf_input__dxf_polylines__dxf.out new file mode 100644 index 0000000..f906422 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__dxf_polylines__dxf.out @@ -0,0 +1,2 @@ + + dxf_polylines.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manualŒãg  1–‡‚íÙ‚¿ \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__dxf_with_arc__dxf.out b/share/extensions/tests/data/refs/dxf_input__dxf_with_arc__dxf.out new file mode 100644 index 0000000..f145178 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__dxf_with_arc__dxf.out @@ -0,0 +1,2 @@ + + dxf_with_arc.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manual199.0240.0120.0200.030.0 \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__no_block_section__dxf.out b/share/extensions/tests/data/refs/dxf_input__no_block_section__dxf.out new file mode 100644 index 0000000..a75047b --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__no_block_section__dxf.out @@ -0,0 +1,2 @@ + + no_block_section.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manualF2 2.0~2.0 •¶ŽšŠÔ 1.0F3 4.0~4.0 •¶ŽšŠÔ 0.0F4 4.0~4.0 •¶ŽšŠÔ 2.0F5 6.0~6.0 •¶ŽšŠÔ 0.0F10 10~10 •¶ŽšŠÔ 5.0Pen.1 ŽÀüPen.2 “_üPen.3 “_ü(2)Pen.4 “_ü(3)Pen.5 ˆê“_½üPen.6 ˆê“_½ü(2)Pen.1 “ñ“_½üPen.1 “ñ“_½ü(2)F1 2.0~2.0 •¶ŽšŠÔ 0.0F6 6.0~6.0 •¶ŽšŠÔ 2.0F8 8.0~8.0 •¶ŽšŠÔ 4.0F7 8.0~8.0 •¶ŽšŠÔ 0.0F9 10~10 •¶ŽšŠÔ 0.0F10 10~10 •¶ŽšŠÔ 5.0F9 10~10 •¶ŽšŠÔ 0.0F7 8.0~8.0 •¶ŽšŠÔ 0.0F3 4.0~4.0 •¶ŽšŠÔ 0.0F2 2.0~2.0 •¶ŽšŠÔ 1.0F3 4.0~4.0 •¶ŽšŠÔ 0.0F2 2.0~2.0 •¶ŽšŠÔ 1.0F4 4.0~4.0 •¶ŽšŠÔ 2.0F2 2.0~2.0 •¶ŽšŠÔ 1.0F2 2.0~2.0 •¶ŽšŠÔ 1.0ƒÓ6,000R3,000ƒÓ6,000R3,0004,712.490ß3,0003,000F3 4.0~4.0 •¶ŽšŠÔ 0.04,400‘ȉ~”¼‘ȉ~6,000ƒÓ3,000ƒTƒCƒ“‹Èü2ŽŸ‹ÈüƒXƒvƒ‰ƒCƒ“‹ÈüƒxƒWƒF‹ÈüƒOƒ‹[ƒv0 ƒŒƒCƒ„0‚Ì•¶Žš—ñ1/100‚ÌŽlŠpŒ`7,5003,000ƒnƒbƒ`ƒ“ƒOŽè‘‚«ü˜A‘±‰~ŒÊ˜AüƒOƒ‹[ƒv0 ƒŒƒCƒ„0“_~5A3 1/100ƒOƒ‹[ƒv0 ƒŒƒCƒ„1 “Ç‚ÝŽæ‚è•s‰ÂƒŒƒCƒ„‚Ì•¶Žš—ñƒOƒ‹[ƒv0 ƒŒƒCƒ„2 ”ñ•\Ž¦ƒŒƒCƒ„‚Ì•¶Žš—ñ15,0006,0001/200‚ÌŽlŠpŒ`ƒOƒ‹[ƒv1 ƒŒƒCƒ„0 \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__test2_r12__dxf.out b/share/extensions/tests/data/refs/dxf_input__test2_r12__dxf.out new file mode 100644 index 0000000..f368c37 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__test2_r12__dxf.out @@ -0,0 +1,2 @@ + + test2_r12.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manual500015005000150045‹∅4000R20002500250025002500250025002500250025002500250025002500250025002500250025002500250015005001638.2426524.29500015005000150024000<1000>700‚Qs‚̃}ƒ‹ƒ`ƒeƒLƒXƒg2s‚̃}ƒ‹ƒ`ƒeƒLƒXƒg2s‚̃}ƒ‹ƒ`ƒeƒLƒXƒg2s‚̃}ƒ‹ƒ`ƒeƒLƒXƒgƒXƒvƒ‰ƒCƒ“‹Èüƒ|ƒŠƒ‰ƒCƒ“ƒnƒbƒ`ƒ“ƒOANSI31“_(â‘Î’PˆÊ300)ƒOƒ‹[ƒv}Œ`ƒuƒƒbƒN}Œ`“h‚è‚‚Ԃµ–îˆó‹ó–îˆó•Â–îˆó•ŠÛ(‘¾)ƒeƒBƒbƒNƒeƒBƒbƒNŠJ–îˆó”’ŠÛ1”’ŠÛ2’¼Šp–îˆó30‹–îˆó¬•ŠÛ‹ó”’ŠÛ¬‹ó”’ŠÛŽlŠpŽlŠp“h‚è‚‚Ԃµƒf[ƒ^ƒ€‹ó”’ƒf[ƒ^ƒ€“h‚è‚‚Ԃµ”gŒ`‚È‚µŠOŒü‚«‚Ì–îˆó“àŒü‚«‚Ì–îˆóÀ•W¡–@ƒŠ[ƒWƒ‡ƒ“ã‘‚«¡–@’l‚ÌA3 1/100DOTByLayer(CONTINUOUS)CONTINUOUSDASHDOTDIVIDEHIDDENByLayer(White/Black)YellowƒpƒŒƒbƒg113CyanGreenRed‚l‚rƒSƒVƒbƒNã’†S•‚ðŠm”F‚l‚rƒSƒVƒbƒN‰E‰º‚l‚rƒSƒVƒbƒN‰º’†S‚l‚rƒSƒVƒbƒN¶‰º‚l‚rƒSƒVƒbƒN‰E’†‰›‚l‚rƒSƒVƒbƒN’†‰›‚l‚rƒSƒVƒbƒN¶’†‰›‚l‚rƒSƒVƒbƒN‰Eã‚l‚rƒSƒVƒbƒNƒtƒBƒbƒg‚l‚rƒSƒVƒbƒN¶ã‚l‚rƒSƒVƒbƒN’†‰›‚l‚rƒSƒVƒbƒN‰EŠñ‚¹‚l‚rƒSƒVƒbƒNŽlŠpŒ`‚Æ’·‚³¡–@‚l‚rƒSƒVƒbƒN‰Eã‚l‚rƒSƒVƒbƒN¶’†‰›‚l‚rƒSƒVƒbƒN’†‰›‚l‚rƒSƒVƒbƒN‰E’†‰›‚l‚rƒSƒVƒbƒN¶‰º‚l‚rƒSƒVƒbƒN‰º’†S‚l‚rƒSƒVƒbƒN‰E‰º‚‚³‚ðŠm”F‚l‚rƒSƒVƒbƒN‚l‚rƒSƒVƒbƒN‰EŠñ‚¹‚l‚rƒSƒVƒbƒN’†‰›‚l‚rƒSƒVƒbƒN¶ã‚l‚rƒSƒVƒbƒNƒtƒBƒbƒg‚l‚rƒSƒVƒbƒNã’†Stxt/bigfont‰Eãtxt/bigfont¶’†‰›txt/bigfont’†‰›txt/bigfont‰E’†‰›txt/bigfont¶‰ºtxt/bigfont‰º’†Stxt/bigfont‰E‰º‚‚³‚ðŠm”Ftxt/bigfont‰EŠñ‚¹txt/bigfont’†‰›txt/bigfont¶ãtxt/bigfontƒtƒBƒbƒgtxt/bigfontã’†Stxt/bigfonttxt/bigfont‰Eãtxt/bigfont¶‰ºtxt/bigfont‰E’†‰›txt/bigfont’†‰›txt/bigfont¶’†‰›txt/bigfontã’†Stxt/bigfontƒtƒBƒbƒgtxt/bigfont¶ãtxt/bigfont’†‰›txt/bigfont‰EŠñ‚¹txt/bigfonttxt/bigfont‰E‰ºtxt/bigfont‰º’†S•‚ðŠm”F•½s¡–@ŽlŠpŒ`‚Æ’·‚³¡–@•½s¡–@ŽlŠpŒ`‚Æ’·‚³¡–@ŽlŠpŒ`‚Æ’·‚³¡–@•½s¡–@•½s¡–@(ƒ|ƒŠƒ‰ƒCƒ“)‰_ƒ}[ƒN”ñ•\Ž¦‰æ‘w‚ɏ‘‚©‚ꂽ•¶ŽšƒtƒŠ[ƒY‚³‚ꂽ‰æ‘w‚ɏ‘‚©‚ꂽ•¶Žš‰_ƒ}[ƒN”ñ•\Ž¦‚©‚ƒtƒŠ[ƒY‚³‚ꂽ‰æ‘w‚ɏ‘‚©‚ꂽ•¶ŽšƒƒbƒN‚³‚ꂽ‰æ‘w‚ɏ‘‚©‚ꂽ•¶Žš \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__test2_r13__dxf.out b/share/extensions/tests/data/refs/dxf_input__test2_r13__dxf.out new file mode 100644 index 0000000..34cdf88 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__test2_r13__dxf.out @@ -0,0 +1,1599 @@ + + test2_r13.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manual + + + + + + + + + + + + + + + + + + + + + + + + + 5000 + + + + + + + + + + + + + 1500 + + + + + + + + + + + + + 5000 + + + + + + + + + + + + + 1500 + + + + + + + + + + + 45‹ + + + + + + + + + + + + ∅4000 + + + + + + + + + + + R2000 + + + + + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + 1500 + + + + + + + + + + + + + + + 500 + + + + + + + + + + + 1638.24 + + + + + + + + + + + 26524.29 + + + + + + + + + + + + + 5000 + + + + + + + + + + + + + 1500 + + + + + + + + + + + + + 5000 + + + + + + + + + + + + + 1500 + + + + + + + + + + + 24000 + + + + + + + + + + + + + + <1000> + + + + + + + + + + + 700 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ƒXƒvƒ‰ƒCƒ“‹Èü + + + + + + ƒ|ƒŠƒ‰ƒCƒ“ + + + + + ƒnƒbƒ`ƒ“ƒO + + + ANSI31 + + + + + + + + “_(â‘Î’PˆÊ300) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ƒOƒ‹[ƒv}Œ` + + + ƒuƒƒbƒN}Œ` + + + + + + + + + + + “h‚è‚‚Ԃµ + + + –îˆó + + + ‹ó–îˆó + + + + •Â–îˆó + + + + •ŠÛ + + + (‘¾) + + + + ƒeƒBƒbƒN + + + + ƒeƒBƒbƒN + + + + ŠJ–îˆó + + + + ”’ŠÛ1 + + + + ”’ŠÛ2 + + + + ’¼Šp–îˆó + + + + 30‹–îˆó + + + ¬•ŠÛ + + + + + ‹ó”’ŠÛ + + + + ¬‹ó”’ŠÛ + + + ŽlŠp + + + + ŽlŠp + + + + “h‚è‚‚Ԃµ + + + + ƒf[ƒ^ƒ€ + + + ‹ó”’ + + + ƒf[ƒ^ƒ€ + + + + “h‚è‚‚Ԃµ + + + + ”gŒ` + + + + ‚È‚µ + + + + + ŠOŒü‚«‚Ì–îˆó + + + “àŒü‚«‚Ì–îˆó + + + À•W¡–@ + + + + + + + ƒŠ[ƒWƒ‡ƒ“ + + + ã‘‚« + + + ¡–@’l‚Ì + + + + + + + A3 1/100 + + + DOT + + + + ByLayer(CONTINUOUS) + + + + CONTINUOUS + + + DASHDOT + + + + + DIVIDE + + + + + HIDDEN + + + + + ‚Qs‚Ì + ƒ}ƒ‹ƒ`ƒeƒLƒXƒg + + + + + ByLayer(White/Black) + + + + + + + + + Yellow + + + ƒpƒŒƒbƒg113 + + + Cyan + + + Green + + + Red + + + ‚l‚rƒSƒVƒbƒNã’†S + + + + •‚ðŠm”F + + + + + + ‚l‚rƒSƒVƒbƒN‰E‰º + + + + + ‚l‚rƒSƒVƒbƒN‰º’†S + + + + + ‚l‚rƒSƒVƒbƒN¶‰º + + + + + ‚l‚rƒSƒVƒbƒN‰E’†‰› + + + + + ‚l‚rƒSƒVƒbƒN’†‰› + + + + + ‚l‚rƒSƒVƒbƒN¶’†‰› + + + + + ‚l‚rƒSƒVƒbƒN‰Eã + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‚l‚rƒSƒVƒbƒNƒtƒBƒbƒg + + + + + ‚l‚rƒSƒVƒbƒN¶ã + + + ‚l‚rƒSƒVƒbƒN’†‰› + + + + + ‚l‚rƒSƒVƒbƒN‰EŠñ‚¹ + + + + + + ‚l‚rƒSƒVƒbƒN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ŽlŠpŒ`‚Æ’·‚³¡–@ + + + + ‚l‚rƒSƒVƒbƒN‰Eã + + + ‚l‚rƒSƒVƒbƒN¶’†‰› + + + + + ‚l‚rƒSƒVƒbƒN’†‰› + + + + + ‚l‚rƒSƒVƒbƒN‰E’†‰› + + + + + ‚l‚rƒSƒVƒbƒN¶‰º + + + + + ‚l‚rƒSƒVƒbƒN‰º’†S + + + + + ‚l‚rƒSƒVƒbƒN‰E‰º + + + + + + ‚‚³‚ðŠm”F + + + + 2s‚Ì + ƒ}ƒ‹ƒ`ƒeƒLƒXƒg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‚l‚rƒSƒVƒbƒN + + + + + + ‚l‚rƒSƒVƒbƒN‰EŠñ‚¹ + + + + + ‚l‚rƒSƒVƒbƒN’†‰› + + + ‚l‚rƒSƒVƒbƒN¶ã + + + + + ‚l‚rƒSƒVƒbƒNƒtƒBƒbƒg + + + + + + + + + ‚l‚rƒSƒVƒbƒNã’†S + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + txt/bigfont‰Eã + + + txt/bigfont¶’†‰› + + + + + + + txt/bigfont’†‰› + + + + + txt/bigfont‰E’†‰› + + + txt/bigfont¶‰º + + + + + txt/bigfont‰º’†S + + + + + txt/bigfont‰E‰º + + + + + + + 2s‚Ì + ƒ}ƒ‹ƒ`ƒeƒLƒXƒg + + + + ‚‚³‚ðŠm”F + + + + + + + + + + + + + + + + + + + + + txt/bigfont‰EŠñ‚¹ + + + txt/bigfont’†‰› + + + + + + + txt/bigfont¶ã + + + txt/bigfontƒtƒBƒbƒg + + + + + + + + + txt/bigfontã’†S + + + txt/bigfont + + + + + + + + + + + + + + + + + + + txt/bigfont‰Eã + + + txt/bigfont¶‰º + + + txt/bigfont‰E’†‰› + + + txt/bigfont’†‰› + + + txt/bigfont¶’†‰› + + + txt/bigfontã’†S + + + txt/bigfontƒtƒBƒbƒg + + + txt/bigfont¶ã + + + + + txt/bigfont’†‰› + + + txt/bigfont‰EŠñ‚¹ + + + txt/bigfont + + + txt/bigfont‰E‰º + + + txt/bigfont‰º’†S + + + + •‚ðŠm”F + + + + 2s‚Ì + ƒ}ƒ‹ƒ`ƒeƒLƒXƒg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + •½s¡–@ + + + ŽlŠpŒ`‚Æ’·‚³¡–@ + + + •½s¡–@ + + + ŽlŠpŒ`‚Æ’·‚³¡–@ + + + ŽlŠpŒ`‚Æ’·‚³¡–@ + + + •½s¡–@ + + + •½s¡–@ + + + (ƒ|ƒŠƒ‰ƒCƒ“) + + + + ‰_ƒ}[ƒN + + + + + + + + + + + ”ñ•\Ž¦‰æ‘w‚ɏ‘‚©‚ꂽ•¶Žš + + + + + ƒtƒŠ[ƒY‚³‚ꂽ‰æ‘w‚ɏ‘‚©‚ꂽ•¶Žš + + + ‰_ƒ}[ƒN + + + + + ”ñ•\Ž¦‚©‚ƒtƒŠ[ƒY‚³‚ꂽ‰æ‘w‚ɏ‘‚©‚ꂽ•¶Žš + + + + + ƒƒbƒN‚³‚ꂽ‰æ‘w‚ɏ‘‚©‚ꂽ•¶Žš + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__test2_r14__dxf.out b/share/extensions/tests/data/refs/dxf_input__test2_r14__dxf.out new file mode 100644 index 0000000..00b4d29 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__test2_r14__dxf.out @@ -0,0 +1,1587 @@ + + test2_r14.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manual + + + + + + + + + + + + + + + + + + + + + + + + + 5000 + + + + + + + + + + + + + 1500 + + + + + + + + + + + + + 5000 + + + + + + + + + + + + + 1500 + + + + + + + + + + + 45‹ + + + + + + + + + + + + ∅4000 + + + + + + + + + + + R2000 + + + + + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + 2500 + + + + + + + + + + + + + + + 1500 + + + + + + + + + + + + + + + 500 + + + + + + + + + + + 1638.24 + + + + + + + + + + + 26524.29 + + + + + + + + + + + + + 5000 + + + + + + + + + + + + + 1500 + + + + + + + + + + + + + 5000 + + + + + + + + + + + + + 1500 + + + + + + + + + + + 24000 + + + + + + + + + + + + + + <1000> + + + + + + + + + + + 700 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ƒXƒvƒ‰ƒCƒ“‹Èü + + + + + + ƒ|ƒŠƒ‰ƒCƒ“ + + + + + ƒnƒbƒ`ƒ“ƒO + + + ANSI31 + + + + + + + + “_(â‘Î’PˆÊ300) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ƒOƒ‹[ƒv}Œ` + + + ƒuƒƒbƒN}Œ` + + + + + + + + + + + “h‚è‚‚Ԃµ + + + –îˆó + + + ‹ó–îˆó + + + + •Â–îˆó + + + + •ŠÛ + + + (‘¾) + + + + ƒeƒBƒbƒN + + + + ƒeƒBƒbƒN + + + + ŠJ–îˆó + + + + ”’ŠÛ1 + + + + ”’ŠÛ2 + + + + ’¼Šp–îˆó + + + + 30‹–îˆó + + + ¬•ŠÛ + + + + + ‹ó”’ŠÛ + + + + ¬‹ó”’ŠÛ + + + ŽlŠp + + + + ŽlŠp + + + + “h‚è‚‚Ԃµ + + + + ƒf[ƒ^ƒ€ + + + ‹ó”’ + + + ƒf[ƒ^ƒ€ + + + + “h‚è‚‚Ԃµ + + + + ”gŒ` + + + + ‚È‚µ + + + + + ŠOŒü‚«‚Ì–îˆó + + + “àŒü‚«‚Ì–îˆó + + + À•W¡–@ + + + + + + + ƒŠ[ƒWƒ‡ƒ“ + + + ã‘‚« + + + ¡–@’l‚Ì + + + + + + + A3 1/100 + + + DOT + + + + ByLayer(CONTINUOUS) + + + + CONTINUOUS + + + DASHDOT + + + + + DIVIDE + + + + + HIDDEN + + + + + ‚Qs‚Ì + ƒ}ƒ‹ƒ`ƒeƒLƒXƒg + + + + + ByLayer(White/Black) + + + + + + + + + Yellow + + + ƒpƒŒƒbƒg113 + + + Cyan + + + Green + + + Red + + + ‚l‚rƒSƒVƒbƒNã’†S + + + + •‚ðŠm”F + + + + + + ‚l‚rƒSƒVƒbƒN‰E‰º + + + + + ‚l‚rƒSƒVƒbƒN‰º’†S + + + + + ‚l‚rƒSƒVƒbƒN¶‰º + + + + + ‚l‚rƒSƒVƒbƒN‰E’†‰› + + + + + ‚l‚rƒSƒVƒbƒN’†‰› + + + + + ‚l‚rƒSƒVƒbƒN¶’†‰› + + + + + ‚l‚rƒSƒVƒbƒN‰Eã + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‚l‚rƒSƒVƒbƒNƒtƒBƒbƒg + + + + + ‚l‚rƒSƒVƒbƒN¶ã + + + ‚l‚rƒSƒVƒbƒN’†‰› + + + + + ‚l‚rƒSƒVƒbƒN‰EŠñ‚¹ + + + + + + ‚l‚rƒSƒVƒbƒN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ŽlŠpŒ`‚Æ’·‚³¡–@ + + + + ‚l‚rƒSƒVƒbƒN‰Eã + + + ‚l‚rƒSƒVƒbƒN¶’†‰› + + + + + ‚l‚rƒSƒVƒbƒN’†‰› + + + + + ‚l‚rƒSƒVƒbƒN‰E’†‰› + + + + + ‚l‚rƒSƒVƒbƒN¶‰º + + + + + ‚l‚rƒSƒVƒbƒN‰º’†S + + + + + ‚l‚rƒSƒVƒbƒN‰E‰º + + + + + + ‚‚³‚ðŠm”F + + + + 2s‚Ì + ƒ}ƒ‹ƒ`ƒeƒLƒXƒg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‚l‚rƒSƒVƒbƒN + + + + + + ‚l‚rƒSƒVƒbƒN‰EŠñ‚¹ + + + + + ‚l‚rƒSƒVƒbƒN’†‰› + + + ‚l‚rƒSƒVƒbƒN¶ã + + + + + ‚l‚rƒSƒVƒbƒNƒtƒBƒbƒg + + + + + + + + + ‚l‚rƒSƒVƒbƒNã’†S + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + txt/bigfont‰Eã + + + txt/bigfont¶’†‰› + + + + + + + txt/bigfont’†‰› + + + + + txt/bigfont‰E’†‰› + + + txt/bigfont¶‰º + + + + + txt/bigfont‰º’†S + + + + + txt/bigfont‰E‰º + + + + + + + 2s‚Ì + ƒ}ƒ‹ƒ`ƒeƒLƒXƒg + + + + ‚‚³‚ðŠm”F + + + + + + + + + + + + + + + + + + + + + txt/bigfont‰EŠñ‚¹ + + + txt/bigfont’†‰› + + + + + + + txt/bigfont¶ã + + + txt/bigfontƒtƒBƒbƒg + + + + + + + + + txt/bigfontã’†S + + + txt/bigfont + + + + + + + + + + + + + + + + + + + txt/bigfont‰Eã + + + txt/bigfont¶‰º + + + txt/bigfont‰E’†‰› + + + txt/bigfont’†‰› + + + txt/bigfont¶’†‰› + + + txt/bigfontã’†S + + + txt/bigfontƒtƒBƒbƒg + + + txt/bigfont¶ã + + + + + txt/bigfont’†‰› + + + txt/bigfont‰EŠñ‚¹ + + + txt/bigfont + + + txt/bigfont‰E‰º + + + txt/bigfont‰º’†S + + + + •‚ðŠm”F + + + + 2s‚Ì + ƒ}ƒ‹ƒ`ƒeƒLƒXƒg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + •½s¡–@ + + + ŽlŠpŒ`‚Æ’·‚³¡–@ + + + •½s¡–@ + + + ŽlŠpŒ`‚Æ’·‚³¡–@ + + + ŽlŠpŒ`‚Æ’·‚³¡–@ + + + •½s¡–@ + + + •½s¡–@ + + + (ƒ|ƒŠƒ‰ƒCƒ“) + + + + ‰_ƒ}[ƒN + + + + + + + + + + + ”ñ•\Ž¦‰æ‘w‚ɏ‘‚©‚ꂽ•¶Žš + + + + + ƒtƒŠ[ƒY‚³‚ꂽ‰æ‘w‚ɏ‘‚©‚ꂽ•¶Žš + + + ‰_ƒ}[ƒN + + + + + ”ñ•\Ž¦‚©‚ƒtƒŠ[ƒY‚³‚ꂽ‰æ‘w‚ɏ‘‚©‚ꂽ•¶Žš + + + + + ƒƒbƒN‚³‚ꂽ‰æ‘w‚ɏ‘‚©‚ꂽ•¶Žš + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__test_extrude__dxf.out b/share/extensions/tests/data/refs/dxf_input__test_extrude__dxf.out new file mode 100644 index 0000000..6b1f4af --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__test_extrude__dxf.out @@ -0,0 +1,2 @@ + + test_extrude.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manualWHviewing area71.3518.1recess73.3520.1back view1:1 for DXF exportfront viewinternal hole is the viewing area, the second outline (2mm inner) is the recess area to make the glass not fallL FUEL ROIL PRESS L VAC R VOLTS \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_input__test_r12__dxf.out b/share/extensions/tests/data/refs/dxf_input__test_r12__dxf.out new file mode 100644 index 0000000..1c5daa5 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__test_r12__dxf.out @@ -0,0 +1,2 @@ + + test_r12.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manual diff --git a/share/extensions/tests/data/refs/dxf_input__test_r14__dxf.out b/share/extensions/tests/data/refs/dxf_input__test_r14__dxf.out new file mode 100644 index 0000000..18f2826 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_input__test_r14__dxf.out @@ -0,0 +1,2 @@ + + test_r14.dxf - scale = 1.000000, origin = (0.000000, 0.000000), method = manual \ No newline at end of file diff --git a/share/extensions/tests/data/refs/dxf_outlines.out b/share/extensions/tests/data/refs/dxf_outlines.out new file mode 100644 index 0000000..3e58fcb --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_outlines.out @@ -0,0 +1,3416 @@ + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1014 + 9 +$HANDSEED + 5 +FFFF + 9 +$INSUNITS + 70 + 0 + 9 +$MEASUREMENT + 70 + 1 + 0 +ENDSEC + 0 +SECTION + 2 +TABLES + 0 +TABLE + 2 +VPORT + 5 +8 +330 +0 +100 +AcDbSymbolTable + 70 + 4 + 0 +VPORT + 5 +2E +330 +8 +100 +AcDbSymbolTableRecord +100 +AcDbViewportTableRecord + 2 +*ACTIVE + 70 + 0 + 10 +0.0 + 20 +0.0 + 11 +1.0 + 21 +1.0 + 12 +210.0 + 22 +148.5 + 13 +0.0 + 23 +0.0 + 14 +10.0 + 24 +10.0 + 15 +10.0 + 25 +10.0 + 16 +0.0 + 26 +0.0 + 36 +1.0 + 17 +0.0 + 27 +0.0 + 37 +0.0 + 40 +341.0 + 41 +1.24 + 42 +50.0 + 43 +0.0 + 44 +0.0 + 50 +0.0 + 51 +0.0 + 71 + 0 + 72 + 100 + 73 + 1 + 74 + 3 + 75 + 0 + 76 + 0 + 77 + 0 + 78 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +LTYPE + 5 +5 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +LTYPE + 5 +14 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYBLOCK + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +15 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYLAYER + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +16 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +CONTINUOUS + 70 + 0 + 3 +Solid line + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +ENDTAB + 0 +TABLE + 2 +LAYER + 5 +2 +100 +AcDbSymbolTable + 70 +4 + 0 +LAYER + 5 +50 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +0 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +51 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide3 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +52 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide2 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +53 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide1 + 70 +0 + 6 +CONTINUOUS + 0 +ENDTAB + 0 +TABLE + 2 +STYLE + 5 +3 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +STYLE + 5 +11 +330 +3 +100 +AcDbSymbolTableRecord +100 +AcDbTextStyleTableRecord + 2 +STANDARD + 70 + 0 + 40 +0.0 + 41 +1.0 + 50 +0.0 + 71 + 0 + 42 +2.5 + 3 +txt + 4 + + 0 +ENDTAB + 0 +TABLE + 2 +VIEW + 5 +6 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +UCS + 5 +7 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +APPID + 5 +9 +330 +0 +100 +AcDbSymbolTable + 70 + 2 + 0 +APPID + 5 +12 +330 +9 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +ACAD + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +DIMSTYLE + 5 +A +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +DIMSTYLE +105 +27 +330 +A +100 +AcDbSymbolTableRecord +100 +AcDbDimStyleTableRecord + 2 +ISO-25 + 70 + 0 + 3 + + 4 + + 5 + + 6 + + 7 + + 40 +1.0 + 41 +2.5 + 42 +0.625 + 43 +3.75 + 44 +1.25 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 +140 +2.5 +141 +2.5 +142 +0.0 +143 +0.03937007874016 +144 +1.0 +145 +0.0 +146 +1.0 +147 +0.625 + 71 + 0 + 72 + 0 + 73 + 0 + 74 + 0 + 75 + 0 + 76 + 0 + 77 + 1 + 78 + 8 +170 + 0 +171 + 3 +172 + 1 +173 + 0 +174 + 0 +175 + 0 +176 + 0 +177 + 0 +178 + 0 +270 + 2 +271 + 2 +272 + 2 +273 + 2 +274 + 3 +340 +11 +275 + 0 +280 + 0 +281 + 0 +282 + 0 +283 + 0 +284 + 8 +285 + 0 +286 + 0 +287 + 3 +288 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +BLOCK_RECORD + 5 +1 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +BLOCK_RECORD + 5 +1F +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*MODEL_SPACE + 0 +BLOCK_RECORD + 5 +1B +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*PAPER_SPACE + 0 +ENDTAB + 0 +ENDSEC + 0 +SECTION + 2 +BLOCKS + 0 +BLOCK + 5 +20 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*MODEL_SPACE + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*MODEL_SPACE + 1 + + 0 +ENDBLK + 5 +21 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +1C +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockBegin + 2 +*PAPER_SPACE + 1 + + 0 +ENDBLK + 5 +1D +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockEnd + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES + 0 +LINE + 5 +100 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +651.308900 + 20 +646.073390 + 30 +0.0 + 11 +900.000020 + 21 +646.073390 + 31 +0.0 + 0 +LINE + 5 +101 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +900.000020 + 20 +646.073390 + 30 +0.0 + 11 +900.000020 + 21 +444.575280 + 31 +0.0 + 0 +LINE + 5 +102 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +900.000020 + 20 +444.575280 + 30 +0.0 + 11 +651.308900 + 21 +444.575280 + 31 +0.0 + 0 +LINE + 5 +103 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +651.308900 + 20 +444.575280 + 30 +0.0 + 11 +651.308900 + 21 +646.073390 + 31 +0.0 + 0 +SPLINE + 5 +104 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 10 +129.776888 + 20 +600.000000 + 30 +0.0 + 10 +111.545073 + 20 +587.817891 + 30 +0.0 + 10 +103.806023 + 20 +569.134172 + 30 +0.0 + 0 +SPLINE + 5 +105 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +103.806023 + 20 +569.134172 + 30 +0.0 + 10 +96.066973 + 20 +550.450452 + 30 +0.0 + 10 +100.344761 + 20 +528.944561 + 30 +0.0 + 10 +114.644661 + 20 +514.644661 + 30 +0.0 + 0 +SPLINE + 5 +106 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +114.644661 + 20 +514.644661 + 30 +0.0 + 10 +128.944561 + 20 +500.344761 + 30 +0.0 + 10 +150.450452 + 20 +496.066973 + 30 +0.0 + 10 +169.134172 + 20 +503.806023 + 30 +0.0 + 0 +SPLINE + 5 +107 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +169.134172 + 20 +503.806023 + 30 +0.0 + 10 +187.817891 + 20 +511.545073 + 30 +0.0 + 10 +200.000000 + 20 +529.776888 + 30 +0.0 + 10 +200.000000 + 20 +550.000000 + 30 +0.0 + 0 +SPLINE + 5 +108 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +200.000000 + 20 +550.000000 + 30 +0.0 + 10 +200.000000 + 20 +563.260824 + 30 +0.0 + 10 +194.732158 + 20 +575.978520 + 30 +0.0 + 10 +185.355339 + 20 +585.355339 + 30 +0.0 + 0 +SPLINE + 5 +109 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +185.355339 + 20 +585.355339 + 30 +0.0 + 10 +175.978520 + 20 +594.732158 + 30 +0.0 + 10 +163.260824 + 20 +600.000000 + 30 +0.0 + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 0 +LINE + 5 +10a +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 11 +150.000000 + 21 +600.000000 + 31 +0.0 + 0 +SPLINE + 5 +10b +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 10 +359.553776 + 20 +600.000000 + 30 +0.0 + 10 +323.090147 + 20 +587.817891 + 30 +0.0 + 10 +307.612047 + 20 +569.134172 + 30 +0.0 + 0 +SPLINE + 5 +10c +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +307.612047 + 20 +569.134172 + 30 +0.0 + 10 +292.133947 + 20 +550.450452 + 30 +0.0 + 10 +300.689522 + 20 +528.944561 + 30 +0.0 + 10 +329.289322 + 20 +514.644661 + 30 +0.0 + 0 +SPLINE + 5 +10d +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +329.289322 + 20 +514.644661 + 30 +0.0 + 10 +357.889121 + 20 +500.344761 + 30 +0.0 + 10 +400.900904 + 20 +496.066973 + 30 +0.0 + 10 +438.268343 + 20 +503.806023 + 30 +0.0 + 0 +SPLINE + 5 +10e +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +438.268343 + 20 +503.806023 + 30 +0.0 + 10 +475.635782 + 20 +511.545073 + 30 +0.0 + 10 +500.000000 + 20 +529.776888 + 30 +0.0 + 10 +500.000000 + 20 +550.000000 + 30 +0.0 + 0 +SPLINE + 5 +10f +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +500.000000 + 20 +550.000000 + 30 +0.0 + 10 +500.000000 + 20 +563.260824 + 30 +0.0 + 10 +489.464316 + 20 +575.978520 + 30 +0.0 + 10 +470.710678 + 20 +585.355339 + 30 +0.0 + 0 +SPLINE + 5 +110 +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +470.710678 + 20 +585.355339 + 30 +0.0 + 10 +451.957040 + 20 +594.732158 + 30 +0.0 + 10 +426.521649 + 20 +600.000000 + 30 +0.0 + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 0 +LINE + 5 +111 +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbLine + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 11 +400.000000 + 21 +600.000000 + 31 +0.0 + 0 +SPLINE + 5 +112 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +783.086350 + 20 +522.176190 + 30 +0.0 + 10 +758.815382 + 20 +504.056941 + 30 +0.0 + 10 +713.857171 + 20 +495.892961 + 30 +0.0 + 10 +671.987870 + 20 +502.001770 + 30 +0.0 + 0 +SPLINE + 5 +113 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +671.987870 + 20 +502.001770 + 30 +0.0 + 10 +630.118574 + 20 +508.110580 + 30 +0.0 + 10 +600.997311 + 20 +527.082892 + 30 +0.0 + 10 +600.024860 + 20 +548.885200 + 30 +0.0 + 0 +SPLINE + 5 +114 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +600.024860 + 20 +548.885200 + 30 +0.0 + 10 +599.052409 + 20 +570.687512 + 30 +0.0 + 10 +626.453123 + 20 +590.290091 + 30 +0.0 + 10 +667.736130 + 20 +597.326110 + 30 +0.0 + 0 +SPLINE + 5 +115 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +667.736130 + 20 +597.326110 + 30 +0.0 + 10 +709.019129 + 20 +604.362128 + 30 +0.0 + 10 +754.660551 + 20 +597.208402 + 30 +0.0 + 10 +780.522930 + 20 +579.648180 + 30 +0.0 + 0 +LINE + 5 +116 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +780.522930 + 20 +579.648180 + 30 +0.0 + 11 +700.000000 + 21 +550.000000 + 31 +0.0 + 0 +LINE + 5 +117 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +700.000000 + 20 +550.000000 + 30 +0.0 + 11 +783.086350 + 21 +522.176190 + 31 +0.0 + 0 +LINE + 5 +118 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +100.000000 + 20 +400.000000 + 30 +0.0 + 11 +200.000000 + 21 +300.000000 + 31 +0.0 + 0 +LINE + 5 +119 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +200.000000 + 20 +300.000000 + 30 +0.0 + 11 +300.000000 + 21 +400.000000 + 31 +0.0 + 0 +LINE + 5 +11a +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +300.000000 + 20 +400.000000 + 30 +0.0 + 11 +400.000000 + 21 +300.000000 + 31 +0.0 + 0 +SPLINE + 5 +11b +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +500.000000 + 20 +400.000000 + 30 +0.0 + 10 +500.000000 + 20 +400.000000 + 30 +0.0 + 10 +500.000000 + 20 +300.000000 + 30 +0.0 + 10 +600.000000 + 20 +300.000000 + 30 +0.0 + 0 +SPLINE + 5 +11c +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +600.000000 + 20 +300.000000 + 30 +0.0 + 10 +700.000000 + 20 +300.000000 + 30 +0.0 + 10 +600.000000 + 20 +400.000000 + 30 +0.0 + 10 +700.000000 + 20 +400.000000 + 30 +0.0 + 0 +SPLINE + 5 +11d +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +700.000000 + 20 +400.000000 + 30 +0.0 + 10 +800.000000 + 20 +400.000000 + 30 +0.0 + 10 +800.000000 + 20 +300.000000 + 30 +0.0 + 10 +800.000000 + 20 +300.000000 + 30 +0.0 + 0 +LINE + 5 +11e +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +244.833200 + 20 +110.859950 + 30 +0.0 + 11 +199.494330 + 21 +118.994410 + 31 +0.0 + 0 +LINE + 5 +11f +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +199.494330 + 20 +118.994410 + 30 +0.0 + 11 +167.090050 + 21 +86.256880 + 31 +0.0 + 0 +LINE + 5 +120 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +167.090050 + 20 +86.256880 + 30 +0.0 + 11 +160.815900 + 21 +131.890400 + 31 +0.0 + 0 +LINE + 5 +121 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +160.815900 + 20 +131.890400 + 30 +0.0 + 11 +119.667180 + 21 +152.592240 + 31 +0.0 + 0 +LINE + 5 +122 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +119.667180 + 20 +152.592240 + 30 +0.0 + 11 +161.128420 + 21 +172.660850 + 31 +0.0 + 0 +LINE + 5 +123 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +161.128420 + 20 +172.660850 + 30 +0.0 + 11 +168.101390 + 21 +218.192820 + 31 +0.0 + 0 +LINE + 5 +124 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +168.101390 + 20 +218.192820 + 30 +0.0 + 11 +200.000000 + 21 +184.962380 + 31 +0.0 + 0 +LINE + 5 +125 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +200.000000 + 20 +184.962380 + 30 +0.0 + 11 +245.458240 + 21 +192.400850 + 31 +0.0 + 0 +LINE + 5 +126 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +245.458240 + 20 +192.400850 + 30 +0.0 + 11 +223.711430 + 21 +151.794700 + 31 +0.0 + 0 +LINE + 5 +127 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +223.711430 + 20 +151.794700 + 30 +0.0 + 11 +244.833200 + 21 +110.859950 + 31 +0.0 + 0 +LINE + 5 +128 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +444.833200 + 20 +107.863730 + 30 +0.0 + 11 +399.494330 + 21 +115.998190 + 31 +0.0 + 0 +LINE + 5 +129 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +399.494330 + 20 +115.998190 + 30 +0.0 + 11 +367.090050 + 21 +83.260660 + 31 +0.0 + 0 +LINE + 5 +12a +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +367.090050 + 20 +83.260660 + 30 +0.0 + 11 +360.815900 + 21 +128.894180 + 31 +0.0 + 0 +LINE + 5 +12b +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +360.815900 + 20 +128.894180 + 30 +0.0 + 11 +319.667180 + 21 +149.596020 + 31 +0.0 + 0 +LINE + 5 +12c +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +319.667180 + 20 +149.596020 + 30 +0.0 + 11 +361.128420 + 21 +169.664630 + 31 +0.0 + 0 +LINE + 5 +12d +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +361.128420 + 20 +169.664630 + 30 +0.0 + 11 +368.101390 + 21 +215.196600 + 31 +0.0 + 0 +LINE + 5 +12e +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +368.101390 + 20 +215.196600 + 30 +0.0 + 11 +400.000000 + 21 +181.966160 + 31 +0.0 + 0 +LINE + 5 +12f +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +400.000000 + 20 +181.966160 + 30 +0.0 + 11 +445.458240 + 21 +189.404630 + 31 +0.0 + 0 +LINE + 5 +130 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +445.458240 + 20 +189.404630 + 30 +0.0 + 11 +423.711430 + 21 +148.798480 + 31 +0.0 + 0 +LINE + 5 +131 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +423.711430 + 20 +148.798480 + 30 +0.0 + 11 +444.833200 + 21 +107.863730 + 31 +0.0 + 0 +LINE + 5 +132 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +100.000000 + 20 +800.000000 + 30 +0.0 + 11 +200.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +133 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +200.000000 + 20 +800.000000 + 30 +0.0 + 11 +200.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +134 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +200.000000 + 20 +700.000000 + 30 +0.0 + 11 +100.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +135 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +100.000000 + 20 +700.000000 + 30 +0.0 + 11 +100.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +136 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +300.000000 + 20 +800.000000 + 30 +0.0 + 11 +500.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +137 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +500.000000 + 20 +800.000000 + 30 +0.0 + 11 +500.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +138 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +500.000000 + 20 +700.000000 + 30 +0.0 + 11 +300.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +139 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +300.000000 + 20 +700.000000 + 30 +0.0 + 11 +300.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +13a +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 11 +755.056774 + 21 +800.000000 + 31 +0.0 + 0 +SPLINE + 5 +13b +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +755.056774 + 20 +800.000000 + 30 +0.0 + 10 +766.976459 + 20 +800.000000 + 30 +0.0 + 10 +778.407944 + 20 +795.896267 + 30 +0.0 + 10 +786.836434 + 20 +788.591575 + 30 +0.0 + 0 +SPLINE + 5 +13c +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +786.836434 + 20 +788.591575 + 30 +0.0 + 10 +795.264924 + 20 +781.286884 + 30 +0.0 + 10 +800.000000 + 20 +771.379596 + 30 +0.0 + 10 +800.000000 + 20 +761.049202 + 30 +0.0 + 0 +LINE + 5 +13d +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +800.000000 + 20 +761.049202 + 30 +0.0 + 11 +800.000000 + 21 +738.950798 + 31 +0.0 + 0 +SPLINE + 5 +13e +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +800.000000 + 20 +738.950798 + 30 +0.0 + 10 +800.000000 + 20 +728.620404 + 30 +0.0 + 10 +795.264924 + 20 +718.713116 + 30 +0.0 + 10 +786.836434 + 20 +711.408425 + 30 +0.0 + 0 +SPLINE + 5 +13f +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +786.836434 + 20 +711.408425 + 30 +0.0 + 10 +778.407944 + 20 +704.103733 + 30 +0.0 + 10 +766.976459 + 20 +700.000000 + 30 +0.0 + 10 +755.056774 + 20 +700.000000 + 30 +0.0 + 0 +LINE + 5 +140 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +755.056774 + 20 +700.000000 + 30 +0.0 + 11 +644.943226 + 21 +700.000000 + 31 +0.0 + 0 +SPLINE + 5 +141 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +644.943226 + 20 +700.000000 + 30 +0.0 + 10 +633.023541 + 20 +700.000000 + 30 +0.0 + 10 +621.592056 + 20 +704.103733 + 30 +0.0 + 10 +613.163566 + 20 +711.408425 + 30 +0.0 + 0 +SPLINE + 5 +142 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +613.163566 + 20 +711.408425 + 30 +0.0 + 10 +604.735076 + 20 +718.713116 + 30 +0.0 + 10 +600.000000 + 20 +728.620404 + 30 +0.0 + 10 +600.000000 + 20 +738.950798 + 30 +0.0 + 0 +LINE + 5 +143 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +600.000000 + 20 +738.950798 + 30 +0.0 + 11 +600.000000 + 21 +761.049202 + 31 +0.0 + 0 +SPLINE + 5 +144 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +600.000000 + 20 +761.049202 + 30 +0.0 + 10 +600.000000 + 20 +771.379596 + 30 +0.0 + 10 +604.735076 + 20 +781.286884 + 30 +0.0 + 10 +613.163566 + 20 +788.591575 + 30 +0.0 + 0 +SPLINE + 5 +145 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +613.163566 + 20 +788.591575 + 30 +0.0 + 10 +621.592056 + 20 +795.896267 + 30 +0.0 + 10 +633.023541 + 20 +800.000000 + 30 +0.0 + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 0 +LINE + 5 +146 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 11 +644.943226 + 21 +800.000000 + 31 +0.0 + 0 +ENDSEC + 0 +SECTION + 2 +OBJECTS + 0 +DICTIONARY + 5 +C +330 +0 +100 +AcDbDictionary + 3 +ACAD_GROUP +350 +D + 3 +ACAD_MLINESTYLE +350 +17 + 0 +DICTIONARY + 5 +D +330 +C +100 +AcDbDictionary + 0 +DICTIONARY + 5 +1A +330 +C +100 +AcDbDictionary + 0 +DICTIONARY + 5 +17 +330 +C +100 +AcDbDictionary + 3 +STANDARD +350 +18 + 0 +DICTIONARY + 5 +19 +330 +C +100 +AcDbDictionary + 0 +ENDSEC + 0 +EOF diff --git a/share/extensions/tests/data/refs/dxf_outlines__--POLY__true.out b/share/extensions/tests/data/refs/dxf_outlines__--POLY__true.out new file mode 100644 index 0000000..e17129a --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_outlines__--POLY__true.out @@ -0,0 +1,2884 @@ + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1014 + 9 +$HANDSEED + 5 +FFFF + 9 +$INSUNITS + 70 + 0 + 9 +$MEASUREMENT + 70 + 1 + 0 +ENDSEC + 0 +SECTION + 2 +TABLES + 0 +TABLE + 2 +VPORT + 5 +8 +330 +0 +100 +AcDbSymbolTable + 70 + 4 + 0 +VPORT + 5 +2E +330 +8 +100 +AcDbSymbolTableRecord +100 +AcDbViewportTableRecord + 2 +*ACTIVE + 70 + 0 + 10 +0.0 + 20 +0.0 + 11 +1.0 + 21 +1.0 + 12 +210.0 + 22 +148.5 + 13 +0.0 + 23 +0.0 + 14 +10.0 + 24 +10.0 + 15 +10.0 + 25 +10.0 + 16 +0.0 + 26 +0.0 + 36 +1.0 + 17 +0.0 + 27 +0.0 + 37 +0.0 + 40 +341.0 + 41 +1.24 + 42 +50.0 + 43 +0.0 + 44 +0.0 + 50 +0.0 + 51 +0.0 + 71 + 0 + 72 + 100 + 73 + 1 + 74 + 3 + 75 + 0 + 76 + 0 + 77 + 0 + 78 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +LTYPE + 5 +5 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +LTYPE + 5 +14 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYBLOCK + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +15 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYLAYER + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +16 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +CONTINUOUS + 70 + 0 + 3 +Solid line + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +ENDTAB + 0 +TABLE + 2 +LAYER + 5 +2 +100 +AcDbSymbolTable + 70 +4 + 0 +LAYER + 5 +50 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +0 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +51 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide3 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +52 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide2 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +53 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide1 + 70 +0 + 6 +CONTINUOUS + 0 +ENDTAB + 0 +TABLE + 2 +STYLE + 5 +3 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +STYLE + 5 +11 +330 +3 +100 +AcDbSymbolTableRecord +100 +AcDbTextStyleTableRecord + 2 +STANDARD + 70 + 0 + 40 +0.0 + 41 +1.0 + 50 +0.0 + 71 + 0 + 42 +2.5 + 3 +txt + 4 + + 0 +ENDTAB + 0 +TABLE + 2 +VIEW + 5 +6 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +UCS + 5 +7 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +APPID + 5 +9 +330 +0 +100 +AcDbSymbolTable + 70 + 2 + 0 +APPID + 5 +12 +330 +9 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +ACAD + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +DIMSTYLE + 5 +A +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +DIMSTYLE +105 +27 +330 +A +100 +AcDbSymbolTableRecord +100 +AcDbDimStyleTableRecord + 2 +ISO-25 + 70 + 0 + 3 + + 4 + + 5 + + 6 + + 7 + + 40 +1.0 + 41 +2.5 + 42 +0.625 + 43 +3.75 + 44 +1.25 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 +140 +2.5 +141 +2.5 +142 +0.0 +143 +0.03937007874016 +144 +1.0 +145 +0.0 +146 +1.0 +147 +0.625 + 71 + 0 + 72 + 0 + 73 + 0 + 74 + 0 + 75 + 0 + 76 + 0 + 77 + 1 + 78 + 8 +170 + 0 +171 + 3 +172 + 1 +173 + 0 +174 + 0 +175 + 0 +176 + 0 +177 + 0 +178 + 0 +270 + 2 +271 + 2 +272 + 2 +273 + 2 +274 + 3 +340 +11 +275 + 0 +280 + 0 +281 + 0 +282 + 0 +283 + 0 +284 + 8 +285 + 0 +286 + 0 +287 + 3 +288 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +BLOCK_RECORD + 5 +1 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +BLOCK_RECORD + 5 +1F +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*MODEL_SPACE + 0 +BLOCK_RECORD + 5 +1B +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*PAPER_SPACE + 0 +ENDTAB + 0 +ENDSEC + 0 +SECTION + 2 +BLOCKS + 0 +BLOCK + 5 +20 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*MODEL_SPACE + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*MODEL_SPACE + 1 + + 0 +ENDBLK + 5 +21 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +1C +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockBegin + 2 +*PAPER_SPACE + 1 + + 0 +ENDBLK + 5 +1D +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockEnd + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES + 0 +SPLINE + 5 +100 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 10 +129.776888 + 20 +600.000000 + 30 +0.0 + 10 +111.545073 + 20 +587.817891 + 30 +0.0 + 10 +103.806023 + 20 +569.134172 + 30 +0.0 + 0 +SPLINE + 5 +101 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +103.806023 + 20 +569.134172 + 30 +0.0 + 10 +96.066973 + 20 +550.450452 + 30 +0.0 + 10 +100.344761 + 20 +528.944561 + 30 +0.0 + 10 +114.644661 + 20 +514.644661 + 30 +0.0 + 0 +SPLINE + 5 +102 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +114.644661 + 20 +514.644661 + 30 +0.0 + 10 +128.944561 + 20 +500.344761 + 30 +0.0 + 10 +150.450452 + 20 +496.066973 + 30 +0.0 + 10 +169.134172 + 20 +503.806023 + 30 +0.0 + 0 +SPLINE + 5 +103 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +169.134172 + 20 +503.806023 + 30 +0.0 + 10 +187.817891 + 20 +511.545073 + 30 +0.0 + 10 +200.000000 + 20 +529.776888 + 30 +0.0 + 10 +200.000000 + 20 +550.000000 + 30 +0.0 + 0 +SPLINE + 5 +104 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +200.000000 + 20 +550.000000 + 30 +0.0 + 10 +200.000000 + 20 +563.260824 + 30 +0.0 + 10 +194.732158 + 20 +575.978520 + 30 +0.0 + 10 +185.355339 + 20 +585.355339 + 30 +0.0 + 0 +SPLINE + 5 +105 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +185.355339 + 20 +585.355339 + 30 +0.0 + 10 +175.978520 + 20 +594.732158 + 30 +0.0 + 10 +163.260824 + 20 +600.000000 + 30 +0.0 + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 0 +LWPOLYLINE + 5 +106 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbPolyline + 90 +4 + 70 +1 + 10 +651.308900 + 20 +646.073390 + 30 +0.0 + 10 +900.000020 + 20 +646.073390 + 30 +0.0 + 10 +900.000020 + 20 +444.575280 + 30 +0.0 + 10 +651.308900 + 20 +444.575280 + 30 +0.0 + 0 +SPLINE + 5 +107 +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 10 +359.553776 + 20 +600.000000 + 30 +0.0 + 10 +323.090147 + 20 +587.817891 + 30 +0.0 + 10 +307.612047 + 20 +569.134172 + 30 +0.0 + 0 +SPLINE + 5 +108 +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +307.612047 + 20 +569.134172 + 30 +0.0 + 10 +292.133947 + 20 +550.450452 + 30 +0.0 + 10 +300.689522 + 20 +528.944561 + 30 +0.0 + 10 +329.289322 + 20 +514.644661 + 30 +0.0 + 0 +SPLINE + 5 +109 +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +329.289322 + 20 +514.644661 + 30 +0.0 + 10 +357.889121 + 20 +500.344761 + 30 +0.0 + 10 +400.900904 + 20 +496.066973 + 30 +0.0 + 10 +438.268343 + 20 +503.806023 + 30 +0.0 + 0 +SPLINE + 5 +10a +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +438.268343 + 20 +503.806023 + 30 +0.0 + 10 +475.635782 + 20 +511.545073 + 30 +0.0 + 10 +500.000000 + 20 +529.776888 + 30 +0.0 + 10 +500.000000 + 20 +550.000000 + 30 +0.0 + 0 +SPLINE + 5 +10b +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +500.000000 + 20 +550.000000 + 30 +0.0 + 10 +500.000000 + 20 +563.260824 + 30 +0.0 + 10 +489.464316 + 20 +575.978520 + 30 +0.0 + 10 +470.710678 + 20 +585.355339 + 30 +0.0 + 0 +SPLINE + 5 +10c +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +470.710678 + 20 +585.355339 + 30 +0.0 + 10 +451.957040 + 20 +594.732158 + 30 +0.0 + 10 +426.521649 + 20 +600.000000 + 30 +0.0 + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 0 +LWPOLYLINE + 5 +10d +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbPolyline + 90 +1 + 70 +1 + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 0 +SPLINE + 5 +10e +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +783.086350 + 20 +522.176190 + 30 +0.0 + 10 +758.815382 + 20 +504.056941 + 30 +0.0 + 10 +713.857171 + 20 +495.892961 + 30 +0.0 + 10 +671.987870 + 20 +502.001770 + 30 +0.0 + 0 +SPLINE + 5 +10f +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +671.987870 + 20 +502.001770 + 30 +0.0 + 10 +630.118574 + 20 +508.110580 + 30 +0.0 + 10 +600.997311 + 20 +527.082892 + 30 +0.0 + 10 +600.024860 + 20 +548.885200 + 30 +0.0 + 0 +SPLINE + 5 +110 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +600.024860 + 20 +548.885200 + 30 +0.0 + 10 +599.052409 + 20 +570.687512 + 30 +0.0 + 10 +626.453123 + 20 +590.290091 + 30 +0.0 + 10 +667.736130 + 20 +597.326110 + 30 +0.0 + 0 +SPLINE + 5 +111 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +667.736130 + 20 +597.326110 + 30 +0.0 + 10 +709.019129 + 20 +604.362128 + 30 +0.0 + 10 +754.660551 + 20 +597.208402 + 30 +0.0 + 10 +780.522930 + 20 +579.648180 + 30 +0.0 + 0 +LWPOLYLINE + 5 +112 +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbPolyline + 90 +1 + 70 +1 + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 0 +LWPOLYLINE + 5 +113 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbPolyline + 90 +3 + 70 +0 + 10 +780.522930 + 20 +579.648180 + 30 +0.0 + 10 +700.000000 + 20 +550.000000 + 30 +0.0 + 10 +783.086350 + 20 +522.176190 + 30 +0.0 + 0 +SPLINE + 5 +114 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +500.000000 + 20 +400.000000 + 30 +0.0 + 10 +500.000000 + 20 +400.000000 + 30 +0.0 + 10 +500.000000 + 20 +300.000000 + 30 +0.0 + 10 +600.000000 + 20 +300.000000 + 30 +0.0 + 0 +SPLINE + 5 +115 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +600.000000 + 20 +300.000000 + 30 +0.0 + 10 +700.000000 + 20 +300.000000 + 30 +0.0 + 10 +600.000000 + 20 +400.000000 + 30 +0.0 + 10 +700.000000 + 20 +400.000000 + 30 +0.0 + 0 +SPLINE + 5 +116 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +700.000000 + 20 +400.000000 + 30 +0.0 + 10 +800.000000 + 20 +400.000000 + 30 +0.0 + 10 +800.000000 + 20 +300.000000 + 30 +0.0 + 10 +800.000000 + 20 +300.000000 + 30 +0.0 + 0 +LWPOLYLINE + 5 +117 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbPolyline + 90 +4 + 70 +0 + 10 +100.000000 + 20 +400.000000 + 30 +0.0 + 10 +200.000000 + 20 +300.000000 + 30 +0.0 + 10 +300.000000 + 20 +400.000000 + 30 +0.0 + 10 +400.000000 + 20 +300.000000 + 30 +0.0 + 0 +LWPOLYLINE + 5 +118 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbPolyline + 90 +10 + 70 +1 + 10 +244.833200 + 20 +110.859950 + 30 +0.0 + 10 +199.494330 + 20 +118.994410 + 30 +0.0 + 10 +167.090050 + 20 +86.256880 + 30 +0.0 + 10 +160.815900 + 20 +131.890400 + 30 +0.0 + 10 +119.667180 + 20 +152.592240 + 30 +0.0 + 10 +161.128420 + 20 +172.660850 + 30 +0.0 + 10 +168.101390 + 20 +218.192820 + 30 +0.0 + 10 +200.000000 + 20 +184.962380 + 30 +0.0 + 10 +245.458240 + 20 +192.400850 + 30 +0.0 + 10 +223.711430 + 20 +151.794700 + 30 +0.0 + 0 +LWPOLYLINE + 5 +119 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbPolyline + 90 +10 + 70 +1 + 10 +444.833200 + 20 +107.863730 + 30 +0.0 + 10 +399.494330 + 20 +115.998190 + 30 +0.0 + 10 +367.090050 + 20 +83.260660 + 30 +0.0 + 10 +360.815900 + 20 +128.894180 + 30 +0.0 + 10 +319.667180 + 20 +149.596020 + 30 +0.0 + 10 +361.128420 + 20 +169.664630 + 30 +0.0 + 10 +368.101390 + 20 +215.196600 + 30 +0.0 + 10 +400.000000 + 20 +181.966160 + 30 +0.0 + 10 +445.458240 + 20 +189.404630 + 30 +0.0 + 10 +423.711430 + 20 +148.798480 + 30 +0.0 + 0 +LWPOLYLINE + 5 +11a +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbPolyline + 90 +4 + 70 +1 + 10 +100.000000 + 20 +800.000000 + 30 +0.0 + 10 +200.000000 + 20 +800.000000 + 30 +0.0 + 10 +200.000000 + 20 +700.000000 + 30 +0.0 + 10 +100.000000 + 20 +700.000000 + 30 +0.0 + 0 +LWPOLYLINE + 5 +11b +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbPolyline + 90 +4 + 70 +1 + 10 +300.000000 + 20 +800.000000 + 30 +0.0 + 10 +500.000000 + 20 +800.000000 + 30 +0.0 + 10 +500.000000 + 20 +700.000000 + 30 +0.0 + 10 +300.000000 + 20 +700.000000 + 30 +0.0 + 0 +SPLINE + 5 +11c +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +755.056774 + 20 +800.000000 + 30 +0.0 + 10 +766.976459 + 20 +800.000000 + 30 +0.0 + 10 +778.407944 + 20 +795.896267 + 30 +0.0 + 10 +786.836434 + 20 +788.591575 + 30 +0.0 + 0 +SPLINE + 5 +11d +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +786.836434 + 20 +788.591575 + 30 +0.0 + 10 +795.264924 + 20 +781.286884 + 30 +0.0 + 10 +800.000000 + 20 +771.379596 + 30 +0.0 + 10 +800.000000 + 20 +761.049202 + 30 +0.0 + 0 +LWPOLYLINE + 5 +11e +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbPolyline + 90 +2 + 70 +0 + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 10 +755.056774 + 20 +800.000000 + 30 +0.0 + 0 +SPLINE + 5 +11f +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +800.000000 + 20 +738.950798 + 30 +0.0 + 10 +800.000000 + 20 +728.620404 + 30 +0.0 + 10 +795.264924 + 20 +718.713116 + 30 +0.0 + 10 +786.836434 + 20 +711.408425 + 30 +0.0 + 0 +SPLINE + 5 +120 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +786.836434 + 20 +711.408425 + 30 +0.0 + 10 +778.407944 + 20 +704.103733 + 30 +0.0 + 10 +766.976459 + 20 +700.000000 + 30 +0.0 + 10 +755.056774 + 20 +700.000000 + 30 +0.0 + 0 +LWPOLYLINE + 5 +121 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbPolyline + 90 +2 + 70 +0 + 10 +800.000000 + 20 +761.049202 + 30 +0.0 + 10 +800.000000 + 20 +738.950798 + 30 +0.0 + 0 +SPLINE + 5 +122 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +644.943226 + 20 +700.000000 + 30 +0.0 + 10 +633.023541 + 20 +700.000000 + 30 +0.0 + 10 +621.592056 + 20 +704.103733 + 30 +0.0 + 10 +613.163566 + 20 +711.408425 + 30 +0.0 + 0 +SPLINE + 5 +123 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +613.163566 + 20 +711.408425 + 30 +0.0 + 10 +604.735076 + 20 +718.713116 + 30 +0.0 + 10 +600.000000 + 20 +728.620404 + 30 +0.0 + 10 +600.000000 + 20 +738.950798 + 30 +0.0 + 0 +LWPOLYLINE + 5 +124 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbPolyline + 90 +2 + 70 +0 + 10 +755.056774 + 20 +700.000000 + 30 +0.0 + 10 +644.943226 + 20 +700.000000 + 30 +0.0 + 0 +SPLINE + 5 +125 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +600.000000 + 20 +761.049202 + 30 +0.0 + 10 +600.000000 + 20 +771.379596 + 30 +0.0 + 10 +604.735076 + 20 +781.286884 + 30 +0.0 + 10 +613.163566 + 20 +788.591575 + 30 +0.0 + 0 +SPLINE + 5 +126 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +613.163566 + 20 +788.591575 + 30 +0.0 + 10 +621.592056 + 20 +795.896267 + 30 +0.0 + 10 +633.023541 + 20 +800.000000 + 30 +0.0 + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 0 +LWPOLYLINE + 5 +127 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbPolyline + 90 +2 + 70 +0 + 10 +600.000000 + 20 +738.950798 + 30 +0.0 + 10 +600.000000 + 20 +761.049202 + 30 +0.0 + 0 +LWPOLYLINE + 5 +128 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbPolyline + 90 +1 + 70 +1 + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 0 +ENDSEC + 0 +SECTION + 2 +OBJECTS + 0 +DICTIONARY + 5 +C +330 +0 +100 +AcDbDictionary + 3 +ACAD_GROUP +350 +D + 3 +ACAD_MLINESTYLE +350 +17 + 0 +DICTIONARY + 5 +D +330 +C +100 +AcDbDictionary + 0 +DICTIONARY + 5 +1A +330 +C +100 +AcDbDictionary + 0 +DICTIONARY + 5 +17 +330 +C +100 +AcDbDictionary + 3 +STANDARD +350 +18 + 0 +DICTIONARY + 5 +19 +330 +C +100 +AcDbDictionary + 0 +ENDSEC + 0 +EOF diff --git a/share/extensions/tests/data/refs/dxf_outlines__--ROBO__true.out b/share/extensions/tests/data/refs/dxf_outlines__--ROBO__true.out new file mode 100644 index 0000000..03d88a7 --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_outlines__--ROBO__true.out @@ -0,0 +1,3356 @@ + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1014 + 9 +$HANDSEED + 5 +FFFF + 9 +$INSUNITS + 70 + 0 + 9 +$MEASUREMENT + 70 + 1 + 0 +ENDSEC + 0 +SECTION + 2 +TABLES + 0 +TABLE + 2 +VPORT + 5 +8 +330 +0 +100 +AcDbSymbolTable + 70 + 4 + 0 +VPORT + 5 +2E +330 +8 +100 +AcDbSymbolTableRecord +100 +AcDbViewportTableRecord + 2 +*ACTIVE + 70 + 0 + 10 +0.0 + 20 +0.0 + 11 +1.0 + 21 +1.0 + 12 +210.0 + 22 +148.5 + 13 +0.0 + 23 +0.0 + 14 +10.0 + 24 +10.0 + 15 +10.0 + 25 +10.0 + 16 +0.0 + 26 +0.0 + 36 +1.0 + 17 +0.0 + 27 +0.0 + 37 +0.0 + 40 +341.0 + 41 +1.24 + 42 +50.0 + 43 +0.0 + 44 +0.0 + 50 +0.0 + 51 +0.0 + 71 + 0 + 72 + 100 + 73 + 1 + 74 + 3 + 75 + 0 + 76 + 0 + 77 + 0 + 78 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +LTYPE + 5 +5 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +LTYPE + 5 +14 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYBLOCK + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +15 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYLAYER + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +16 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +CONTINUOUS + 70 + 0 + 3 +Solid line + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +ENDTAB + 0 +TABLE + 2 +LAYER + 5 +2 +100 +AcDbSymbolTable + 70 +4 + 0 +LAYER + 5 +50 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +0 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +51 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide3 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +52 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide2 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +53 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide1 + 70 +0 + 6 +CONTINUOUS + 0 +ENDTAB + 0 +TABLE + 2 +STYLE + 5 +3 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +STYLE + 5 +11 +330 +3 +100 +AcDbSymbolTableRecord +100 +AcDbTextStyleTableRecord + 2 +STANDARD + 70 + 0 + 40 +0.0 + 41 +1.0 + 50 +0.0 + 71 + 0 + 42 +2.5 + 3 +txt + 4 + + 0 +ENDTAB + 0 +TABLE + 2 +VIEW + 5 +6 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +UCS + 5 +7 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +APPID + 5 +9 +330 +0 +100 +AcDbSymbolTable + 70 + 2 + 0 +APPID + 5 +12 +330 +9 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +ACAD + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +DIMSTYLE + 5 +A +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +DIMSTYLE +105 +27 +330 +A +100 +AcDbSymbolTableRecord +100 +AcDbDimStyleTableRecord + 2 +ISO-25 + 70 + 0 + 3 + + 4 + + 5 + + 6 + + 7 + + 40 +1.0 + 41 +2.5 + 42 +0.625 + 43 +3.75 + 44 +1.25 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 +140 +2.5 +141 +2.5 +142 +0.0 +143 +0.03937007874016 +144 +1.0 +145 +0.0 +146 +1.0 +147 +0.625 + 71 + 0 + 72 + 0 + 73 + 0 + 74 + 0 + 75 + 0 + 76 + 0 + 77 + 1 + 78 + 8 +170 + 0 +171 + 3 +172 + 1 +173 + 0 +174 + 0 +175 + 0 +176 + 0 +177 + 0 +178 + 0 +270 + 2 +271 + 2 +272 + 2 +273 + 2 +274 + 3 +340 +11 +275 + 0 +280 + 0 +281 + 0 +282 + 0 +283 + 0 +284 + 8 +285 + 0 +286 + 0 +287 + 3 +288 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +BLOCK_RECORD + 5 +1 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +BLOCK_RECORD + 5 +1F +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*MODEL_SPACE + 0 +BLOCK_RECORD + 5 +1B +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*PAPER_SPACE + 0 +ENDTAB + 0 +ENDSEC + 0 +SECTION + 2 +BLOCKS + 0 +BLOCK + 5 +20 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*MODEL_SPACE + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*MODEL_SPACE + 1 + + 0 +ENDBLK + 5 +21 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +1C +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockBegin + 2 +*PAPER_SPACE + 1 + + 0 +ENDBLK + 5 +1D +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockEnd + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES + 0 +LINE + 5 +100 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +651.308900 + 20 +646.073390 + 30 +0.0 + 11 +900.000020 + 21 +646.073390 + 31 +0.0 + 0 +LINE + 5 +101 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +900.000020 + 20 +646.073390 + 30 +0.0 + 11 +900.000020 + 21 +444.575280 + 31 +0.0 + 0 +LINE + 5 +102 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +900.000020 + 20 +444.575280 + 30 +0.0 + 11 +651.308900 + 21 +444.575280 + 31 +0.0 + 0 +LINE + 5 +103 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +651.308900 + 20 +444.575280 + 30 +0.0 + 11 +651.308900 + 21 +646.073390 + 31 +0.0 + 0 +LINE + 5 +104 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 11 +150.000000 + 21 +600.000000 + 31 +0.0 + 0 +SPLINE + 5 +105 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +0 + 71 +3 + 72 +25 + 73 +21 + 74 +19 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +19.625871 + 40 +38.902259 + 40 +58.528130 + 40 +78.154001 + 40 +97.430389 + 40 +117.056260 + 40 +136.682131 + 40 +155.958519 + 40 +175.584390 + 40 +195.210261 + 40 +214.486648 + 40 +234.112520 + 40 +247.201264 + 40 +260.181694 + 40 +273.270438 + 40 +286.359182 + 40 +299.339612 + 40 +312.428356 + 40 +312.428356 + 40 +312.428356 + 40 +312.428356 + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 10 +143.415803 + 20 +599.240243 + 30 +0.0 + 10 +130.364655 + 20 +597.734258 + 30 +0.0 + 10 +113.732919 + 20 +586.181639 + 30 +0.0 + 10 +102.588798 + 20 +569.663707 + 30 +0.0 + 10 +98.704676 + 20 +549.987422 + 30 +0.0 + 10 +102.607034 + 20 +530.377407 + 30 +0.0 + 10 +113.713034 + 20 +513.712559 + 30 +0.0 + 10 +130.375615 + 20 +502.607128 + 30 +0.0 + 10 +149.994036 + 20 +498.704763 + 30 +0.0 + 10 +169.638507 + 20 +502.588345 + 30 +0.0 + 10 +186.274926 + 20 +513.734630 + 30 +0.0 + 10 +197.390407 + 20 +530.358342 + 30 +0.0 + 10 +200.872204 + 20 +547.827549 + 30 +0.0 + 10 +198.848182 + 20 +563.087937 + 30 +0.0 + 10 +193.798235 + 20 +575.283599 + 30 +0.0 + 10 +185.763691 + 20 +585.774690 + 30 +0.0 + 10 +175.285793 + 20 +593.756616 + 30 +0.0 + 10 +163.090031 + 20 +599.002808 + 30 +0.0 + 10 +154.375413 + 20 +599.666683 + 30 +0.0 + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 11 +150.000000 + 21 +600.000000 + 31 +0.0 + 11 +130.755523 + 21 +596.149686 + 31 +0.0 + 11 +114.727792 + 21 +585.440299 + 31 +0.0 + 11 +103.806023 + 21 +569.134172 + 31 +0.0 + 11 +99.998707 + 21 +549.881142 + 31 +0.0 + 11 +103.759344 + 21 +530.975144 + 31 +0.0 + 11 +114.644661 + 21 +514.644661 + 31 +0.0 + 11 +130.975144 + 21 +503.759344 + 31 +0.0 + 11 +149.881142 + 21 +499.998707 + 31 +0.0 + 11 +169.134172 + 21 +503.806023 + 31 +0.0 + 11 +185.440299 + 21 +514.727792 + 31 +0.0 + 11 +196.149686 + 21 +530.755523 + 31 +0.0 + 11 +200.000000 + 21 +550.000000 + 31 +0.0 + 11 +198.286974 + 21 +562.976161 + 31 +0.0 + 11 +193.319578 + 21 +574.968515 + 31 +0.0 + 11 +185.355339 + 21 +585.355339 + 31 +0.0 + 11 +174.968515 + 21 +593.319578 + 31 +0.0 + 11 +162.976161 + 21 +598.286974 + 31 +0.0 + 11 +150.000000 + 21 +600.000000 + 31 +0.0 + 0 +LINE + 5 +106 +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbLine + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 11 +400.000000 + 21 +600.000000 + 31 +0.0 + 0 +SPLINE + 5 +107 +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +0 + 71 +3 + 72 +25 + 73 +21 + 74 +19 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +38.681062 + 40 +72.478155 + 40 +99.736731 + 40 +120.440880 + 40 +140.788024 + 40 +168.002822 + 40 +202.429975 + 40 +240.428519 + 40 +279.122346 + 40 +313.514848 + 40 +340.266521 + 40 +360.994512 + 40 +374.415339 + 40 +389.988284 + 40 +409.004133 + 40 +431.252135 + 40 +455.745832 + 40 +481.754628 + 40 +481.754628 + 40 +481.754628 + 40 +481.754628 + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 10 +387.073337 + 20 +599.315580 + 30 +0.0 + 10 +362.852163 + 20 +598.033158 + 30 +0.0 + 10 +330.927645 + 20 +587.586280 + 30 +0.0 + 10 +307.470550 + 20 +572.636967 + 30 +0.0 + 10 +296.788018 + 20 +549.986036 + 30 +0.0 + 10 +307.459014 + 20 +527.437782 + 30 +0.0 + 10 +330.948722 + 20 +512.309458 + 30 +0.0 + 10 +362.870076 + 20 +502.253513 + 30 +0.0 + 10 +399.992371 + 20 +498.816530 + 30 +0.0 + 10 +437.116010 + 20 +502.228915 + 30 +0.0 + 10 +469.091414 + 20 +512.338030 + 30 +0.0 + 10 +492.528217 + 20 +527.467585 + 30 +0.0 + 10 +502.069938 + 20 +547.508756 + 30 +0.0 + 10 +497.155568 + 20 +564.213453 + 30 +0.0 + 10 +486.271731 + 20 +576.368675 + 30 +0.0 + 10 +470.038165 + 20 +586.474801 + 30 +0.0 + 10 +449.375875 + 20 +594.079369 + 30 +0.0 + 10 +425.523641 + 20 +599.057033 + 30 +0.0 + 10 +408.676356 + 20 +599.679453 + 30 +0.0 + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 11 +400.000000 + 21 +600.000000 + 31 +0.0 + 11 +361.511046 + 21 +596.149686 + 31 +0.0 + 11 +329.455585 + 21 +585.440299 + 31 +0.0 + 11 +307.612047 + 21 +569.134172 + 31 +0.0 + 11 +299.997414 + 21 +549.881142 + 31 +0.0 + 11 +307.518688 + 21 +530.975144 + 31 +0.0 + 11 +329.289322 + 21 +514.644661 + 31 +0.0 + 11 +361.950289 + 21 +503.759344 + 31 +0.0 + 11 +399.762283 + 21 +499.998707 + 31 +0.0 + 11 +438.268343 + 21 +503.806023 + 31 +0.0 + 11 +470.880597 + 21 +514.727792 + 31 +0.0 + 11 +492.299372 + 21 +530.755523 + 31 +0.0 + 11 +500.000000 + 21 +550.000000 + 31 +0.0 + 11 +496.573947 + 21 +562.976161 + 31 +0.0 + 11 +486.639156 + 21 +574.968515 + 31 +0.0 + 11 +470.710678 + 21 +585.355339 + 31 +0.0 + 11 +449.937030 + 21 +593.319578 + 31 +0.0 + 11 +425.952323 + 21 +598.286974 + 31 +0.0 + 11 +400.000000 + 21 +600.000000 + 31 +0.0 + 0 +LINE + 5 +108 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +780.522930 + 20 +579.648180 + 30 +0.0 + 11 +700.000000 + 21 +550.000000 + 31 +0.0 + 0 +LINE + 5 +109 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +700.000000 + 20 +550.000000 + 30 +0.0 + 11 +783.086350 + 21 +522.176190 + 31 +0.0 + 0 +LINE + 5 +10a +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +100.000000 + 20 +400.000000 + 30 +0.0 + 11 +200.000000 + 21 +300.000000 + 31 +0.0 + 0 +LINE + 5 +10b +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +200.000000 + 20 +300.000000 + 30 +0.0 + 11 +300.000000 + 21 +400.000000 + 31 +0.0 + 0 +LINE + 5 +10c +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +300.000000 + 20 +400.000000 + 30 +0.0 + 11 +400.000000 + 21 +300.000000 + 31 +0.0 + 0 +SPLINE + 5 +10d +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +0 + 71 +3 + 72 +19 + 73 +15 + 74 +13 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +33.639343 + 40 +73.067796 + 40 +115.113299 + 40 +153.495204 + 40 +183.486047 + 40 +206.190190 + 40 +228.349920 + 40 +257.421273 + 40 +295.131997 + 40 +337.045270 + 40 +376.909657 + 40 +411.417058 + 40 +411.417058 + 40 +411.417058 + 40 +411.417058 + 10 +783.086350 + 20 +522.176190 + 30 +0.0 + 10 +773.208657 + 20 +516.704376 + 30 +0.0 + 10 +751.753383 + 20 +504.819083 + 30 +0.0 + 10 +713.098133 + 20 +499.284438 + 30 +0.0 + 10 +673.034160 + 20 +500.308125 + 30 +0.0 + 10 +637.020737 + 20 +509.602032 + 30 +0.0 + 10 +610.081625 + 20 +524.532153 + 30 +0.0 + 10 +596.200782 + 20 +548.517250 + 30 +0.0 + 10 +607.747415 + 20 +573.452917 + 30 +0.0 + 10 +633.750925 + 20 +589.052463 + 30 +0.0 + 10 +668.898119 + 20 +599.080963 + 30 +0.0 + 10 +708.852777 + 20 +600.958962 + 30 +0.0 + 10 +747.953217 + 20 +596.188820 + 30 +0.0 + 10 +770.200515 + 20 +584.890454 + 30 +0.0 + 10 +780.522930 + 20 +579.648180 + 30 +0.0 + 11 +783.086350 + 21 +522.176190 + 31 +0.0 + 11 +752.800233 + 21 +507.535272 + 31 +0.0 + 11 +714.006209 + 21 +500.490649 + 31 +0.0 + 11 +671.987870 + 21 +502.001770 + 31 +0.0 + 11 +634.938317 + 21 +512.026803 + 31 +0.0 + 11 +609.809849 + 21 +528.397835 + 31 +0.0 + 11 +600.024860 + 21 +548.885200 + 31 +0.0 + 11 +607.973432 + 21 +569.570311 + 31 +0.0 + 11 +631.617253 + 21 +586.485194 + 31 +0.0 + 11 +667.736130 + 21 +597.326110 + 31 +0.0 + 11 +709.577957 + 21 +599.772334 + 31 +0.0 + 11 +748.961517 + 21 +593.599450 + 31 +0.0 + 11 +780.522930 + 21 +579.648180 + 31 +0.0 + 0 +LINE + 5 +10e +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +244.833200 + 20 +110.859950 + 30 +0.0 + 11 +199.494330 + 21 +118.994410 + 31 +0.0 + 0 +LINE + 5 +10f +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +199.494330 + 20 +118.994410 + 30 +0.0 + 11 +167.090050 + 21 +86.256880 + 31 +0.0 + 0 +LINE + 5 +110 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +167.090050 + 20 +86.256880 + 30 +0.0 + 11 +160.815900 + 21 +131.890400 + 31 +0.0 + 0 +LINE + 5 +111 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +160.815900 + 20 +131.890400 + 30 +0.0 + 11 +119.667180 + 21 +152.592240 + 31 +0.0 + 0 +LINE + 5 +112 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +119.667180 + 20 +152.592240 + 30 +0.0 + 11 +161.128420 + 21 +172.660850 + 31 +0.0 + 0 +LINE + 5 +113 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +161.128420 + 20 +172.660850 + 30 +0.0 + 11 +168.101390 + 21 +218.192820 + 31 +0.0 + 0 +LINE + 5 +114 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +168.101390 + 20 +218.192820 + 30 +0.0 + 11 +200.000000 + 21 +184.962380 + 31 +0.0 + 0 +LINE + 5 +115 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +200.000000 + 20 +184.962380 + 30 +0.0 + 11 +245.458240 + 21 +192.400850 + 31 +0.0 + 0 +LINE + 5 +116 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +245.458240 + 20 +192.400850 + 30 +0.0 + 11 +223.711430 + 21 +151.794700 + 31 +0.0 + 0 +LINE + 5 +117 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +223.711430 + 20 +151.794700 + 30 +0.0 + 11 +244.833200 + 21 +110.859950 + 31 +0.0 + 0 +LINE + 5 +118 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +444.833200 + 20 +107.863730 + 30 +0.0 + 11 +399.494330 + 21 +115.998190 + 31 +0.0 + 0 +LINE + 5 +119 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +399.494330 + 20 +115.998190 + 30 +0.0 + 11 +367.090050 + 21 +83.260660 + 31 +0.0 + 0 +LINE + 5 +11a +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +367.090050 + 20 +83.260660 + 30 +0.0 + 11 +360.815900 + 21 +128.894180 + 31 +0.0 + 0 +LINE + 5 +11b +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +360.815900 + 20 +128.894180 + 30 +0.0 + 11 +319.667180 + 21 +149.596020 + 31 +0.0 + 0 +LINE + 5 +11c +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +319.667180 + 20 +149.596020 + 30 +0.0 + 11 +361.128420 + 21 +169.664630 + 31 +0.0 + 0 +LINE + 5 +11d +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +361.128420 + 20 +169.664630 + 30 +0.0 + 11 +368.101390 + 21 +215.196600 + 31 +0.0 + 0 +LINE + 5 +11e +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +368.101390 + 20 +215.196600 + 30 +0.0 + 11 +400.000000 + 21 +181.966160 + 31 +0.0 + 0 +LINE + 5 +11f +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +400.000000 + 20 +181.966160 + 30 +0.0 + 11 +445.458240 + 21 +189.404630 + 31 +0.0 + 0 +LINE + 5 +120 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +445.458240 + 20 +189.404630 + 30 +0.0 + 11 +423.711430 + 21 +148.798480 + 31 +0.0 + 0 +LINE + 5 +121 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +423.711430 + 20 +148.798480 + 30 +0.0 + 11 +444.833200 + 21 +107.863730 + 31 +0.0 + 0 +LINE + 5 +122 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +100.000000 + 20 +800.000000 + 30 +0.0 + 11 +200.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +123 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +200.000000 + 20 +800.000000 + 30 +0.0 + 11 +200.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +124 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +200.000000 + 20 +700.000000 + 30 +0.0 + 11 +100.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +125 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +100.000000 + 20 +700.000000 + 30 +0.0 + 11 +100.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +126 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +300.000000 + 20 +800.000000 + 30 +0.0 + 11 +500.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +127 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +500.000000 + 20 +800.000000 + 30 +0.0 + 11 +500.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +128 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +500.000000 + 20 +700.000000 + 30 +0.0 + 11 +300.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +129 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +300.000000 + 20 +700.000000 + 30 +0.0 + 11 +300.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +12a +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 11 +755.056774 + 21 +800.000000 + 31 +0.0 + 0 +SPLINE + 5 +12b +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +0 + 71 +3 + 72 +16 + 73 +12 + 74 +10 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +26.189140 + 40 +80.873670 + 40 +155.867954 + 40 +210.552484 + 40 +258.842872 + 40 +313.527402 + 40 +388.521686 + 40 +443.206216 + 40 +469.395356 + 40 +469.395356 + 40 +469.395356 + 40 +469.395356 + 10 +500.000000 + 20 +400.000000 + 30 +0.0 + 10 +500.864870 + 20 +391.309405 + 30 +0.0 + 10 +503.535641 + 20 +364.472314 + 30 +0.0 + 10 +529.067042 + 20 +315.429903 + 30 +0.0 + 10 +590.361152 + 20 +290.246834 + 30 +0.0 + 10 +661.374661 + 20 +317.343613 + 30 +0.0 + 10 +638.625339 + 20 +382.656387 + 30 +0.0 + 10 +709.638848 + 20 +409.753166 + 30 +0.0 + 10 +770.932958 + 20 +384.570097 + 30 +0.0 + 10 +796.464359 + 20 +335.527686 + 30 +0.0 + 10 +799.135130 + 20 +308.690595 + 30 +0.0 + 10 +800.000000 + 20 +300.000000 + 30 +0.0 + 11 +500.000000 + 21 +400.000000 + 31 +0.0 + 11 +503.703704 + 21 +374.074074 + 31 +0.0 + 11 +529.629630 + 21 +325.925926 + 31 +0.0 + 11 +600.000000 + 21 +300.000000 + 31 +0.0 + 11 +648.148148 + 21 +325.925926 + 31 +0.0 + 11 +651.851852 + 21 +374.074074 + 31 +0.0 + 11 +700.000000 + 21 +400.000000 + 31 +0.0 + 11 +770.370370 + 21 +374.074074 + 31 +0.0 + 11 +796.296296 + 21 +325.925926 + 31 +0.0 + 11 +800.000000 + 21 +300.000000 + 31 +0.0 + 0 +LINE + 5 +12c +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +800.000000 + 20 +761.049202 + 30 +0.0 + 11 +800.000000 + 21 +738.950798 + 31 +0.0 + 0 +SPLINE + 5 +12d +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +0 + 71 +3 + 72 +13 + 73 +9 + 74 +7 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +11.739902 + 40 +23.192940 + 40 +34.402773 + 40 +45.206495 + 40 +55.560901 + 40 +65.786137 + 40 +65.786137 + 40 +65.786137 + 40 +65.786137 + 10 +755.056774 + 20 +800.000000 + 30 +0.0 + 10 +758.979025 + 20 +799.743677 + 30 +0.0 + 10 +766.727687 + 20 +799.237295 + 30 +0.0 + 10 +777.625549 + 20 +795.212321 + 30 +0.0 + 10 +787.055959 + 20 +789.053297 + 30 +0.0 + 10 +794.283125 + 20 +780.902144 + 30 +0.0 + 10 +799.081762 + 20 +771.355296 + 30 +0.0 + 10 +799.695204 + 20 +764.470162 + 30 +0.0 + 10 +800.000000 + 20 +761.049202 + 30 +0.0 + 11 +755.056774 + 21 +800.000000 + 31 +0.0 + 11 +766.720585 + 21 +798.665525 + 31 +0.0 + 11 +777.500086 + 21 +794.795845 + 31 +0.0 + 11 +786.836434 + 21 +788.591575 + 31 +0.0 + 11 +793.995206 + 21 +780.500074 + 31 +0.0 + 11 +798.460221 + 21 +771.157839 + 31 +0.0 + 11 +800.000000 + 21 +761.049202 + 31 +0.0 + 0 +LINE + 5 +12e +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +755.056774 + 20 +700.000000 + 30 +0.0 + 11 +644.943226 + 21 +700.000000 + 31 +0.0 + 0 +SPLINE + 5 +12f +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +0 + 71 +3 + 72 +13 + 73 +9 + 74 +7 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +10.225236 + 40 +20.579642 + 40 +31.383364 + 40 +42.593197 + 40 +54.046234 + 40 +65.786137 + 40 +65.786137 + 40 +65.786137 + 40 +65.786137 + 10 +800.000000 + 20 +738.950798 + 30 +0.0 + 10 +799.695204 + 20 +735.529838 + 30 +0.0 + 10 +799.081762 + 20 +728.644704 + 30 +0.0 + 10 +794.283125 + 20 +719.097856 + 30 +0.0 + 10 +787.055959 + 20 +710.946703 + 30 +0.0 + 10 +777.625549 + 20 +704.787679 + 30 +0.0 + 10 +766.727687 + 20 +700.762705 + 30 +0.0 + 10 +758.979025 + 20 +700.256323 + 30 +0.0 + 10 +755.056774 + 20 +700.000000 + 30 +0.0 + 11 +800.000000 + 21 +738.950798 + 31 +0.0 + 11 +798.460221 + 21 +728.842161 + 31 +0.0 + 11 +793.995206 + 21 +719.499926 + 31 +0.0 + 11 +786.836434 + 21 +711.408425 + 31 +0.0 + 11 +777.500086 + 21 +705.204155 + 31 +0.0 + 11 +766.720585 + 21 +701.334475 + 31 +0.0 + 11 +755.056774 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +130 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +600.000000 + 20 +738.950798 + 30 +0.0 + 11 +600.000000 + 21 +761.049202 + 31 +0.0 + 0 +SPLINE + 5 +131 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +0 + 71 +3 + 72 +13 + 73 +9 + 74 +7 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +11.739902 + 40 +23.192940 + 40 +34.402773 + 40 +45.206495 + 40 +55.560901 + 40 +65.786137 + 40 +65.786137 + 40 +65.786137 + 40 +65.786137 + 10 +644.943226 + 20 +700.000000 + 30 +0.0 + 10 +641.020975 + 20 +700.256323 + 30 +0.0 + 10 +633.272313 + 20 +700.762705 + 30 +0.0 + 10 +622.374451 + 20 +704.787679 + 30 +0.0 + 10 +612.944041 + 20 +710.946703 + 30 +0.0 + 10 +605.716875 + 20 +719.097856 + 30 +0.0 + 10 +600.918238 + 20 +728.644704 + 30 +0.0 + 10 +600.304796 + 20 +735.529838 + 30 +0.0 + 10 +600.000000 + 20 +738.950798 + 30 +0.0 + 11 +644.943226 + 21 +700.000000 + 31 +0.0 + 11 +633.279415 + 21 +701.334475 + 31 +0.0 + 11 +622.499914 + 21 +705.204155 + 31 +0.0 + 11 +613.163566 + 21 +711.408425 + 31 +0.0 + 11 +606.004794 + 21 +719.499926 + 31 +0.0 + 11 +601.539779 + 21 +728.842161 + 31 +0.0 + 11 +600.000000 + 21 +738.950798 + 31 +0.0 + 0 +LINE + 5 +132 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 11 +644.943226 + 21 +800.000000 + 31 +0.0 + 0 +SPLINE + 5 +133 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +0 + 71 +3 + 72 +13 + 73 +9 + 74 +7 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +0.000000 + 40 +10.225236 + 40 +20.579642 + 40 +31.383364 + 40 +42.593197 + 40 +54.046234 + 40 +65.786137 + 40 +65.786137 + 40 +65.786137 + 40 +65.786137 + 10 +600.000000 + 20 +761.049202 + 30 +0.0 + 10 +600.304796 + 20 +764.470162 + 30 +0.0 + 10 +600.918238 + 20 +771.355296 + 30 +0.0 + 10 +605.716875 + 20 +780.902144 + 30 +0.0 + 10 +612.944041 + 20 +789.053297 + 30 +0.0 + 10 +622.374451 + 20 +795.212321 + 30 +0.0 + 10 +633.272313 + 20 +799.237295 + 30 +0.0 + 10 +641.020975 + 20 +799.743677 + 30 +0.0 + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 11 +600.000000 + 21 +761.049202 + 31 +0.0 + 11 +601.539779 + 21 +771.157839 + 31 +0.0 + 11 +606.004794 + 21 +780.500074 + 31 +0.0 + 11 +613.163566 + 21 +788.591575 + 31 +0.0 + 11 +622.499914 + 21 +794.795845 + 31 +0.0 + 11 +633.279415 + 21 +798.665525 + 31 +0.0 + 11 +644.943226 + 21 +800.000000 + 31 +0.0 + 0 +ENDSEC + 0 +SECTION + 2 +OBJECTS + 0 +DICTIONARY + 5 +C +330 +0 +100 +AcDbDictionary + 3 +ACAD_GROUP +350 +D + 3 +ACAD_MLINESTYLE +350 +17 + 0 +DICTIONARY + 5 +D +330 +C +100 +AcDbDictionary + 0 +DICTIONARY + 5 +1A +330 +C +100 +AcDbDictionary + 0 +DICTIONARY + 5 +17 +330 +C +100 +AcDbDictionary + 3 +STANDARD +350 +18 + 0 +DICTIONARY + 5 +19 +330 +C +100 +AcDbDictionary + 0 +ENDSEC + 0 +EOF diff --git a/share/extensions/tests/data/refs/dxf_outlines__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/dxf_outlines__--id__p1__--id__r3.out new file mode 100644 index 0000000..3e58fcb --- /dev/null +++ b/share/extensions/tests/data/refs/dxf_outlines__--id__p1__--id__r3.out @@ -0,0 +1,3416 @@ + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1014 + 9 +$HANDSEED + 5 +FFFF + 9 +$INSUNITS + 70 + 0 + 9 +$MEASUREMENT + 70 + 1 + 0 +ENDSEC + 0 +SECTION + 2 +TABLES + 0 +TABLE + 2 +VPORT + 5 +8 +330 +0 +100 +AcDbSymbolTable + 70 + 4 + 0 +VPORT + 5 +2E +330 +8 +100 +AcDbSymbolTableRecord +100 +AcDbViewportTableRecord + 2 +*ACTIVE + 70 + 0 + 10 +0.0 + 20 +0.0 + 11 +1.0 + 21 +1.0 + 12 +210.0 + 22 +148.5 + 13 +0.0 + 23 +0.0 + 14 +10.0 + 24 +10.0 + 15 +10.0 + 25 +10.0 + 16 +0.0 + 26 +0.0 + 36 +1.0 + 17 +0.0 + 27 +0.0 + 37 +0.0 + 40 +341.0 + 41 +1.24 + 42 +50.0 + 43 +0.0 + 44 +0.0 + 50 +0.0 + 51 +0.0 + 71 + 0 + 72 + 100 + 73 + 1 + 74 + 3 + 75 + 0 + 76 + 0 + 77 + 0 + 78 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +LTYPE + 5 +5 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +LTYPE + 5 +14 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYBLOCK + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +15 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYLAYER + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +16 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +CONTINUOUS + 70 + 0 + 3 +Solid line + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +ENDTAB + 0 +TABLE + 2 +LAYER + 5 +2 +100 +AcDbSymbolTable + 70 +4 + 0 +LAYER + 5 +50 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +0 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +51 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide3 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +52 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide2 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +53 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Slide1 + 70 +0 + 6 +CONTINUOUS + 0 +ENDTAB + 0 +TABLE + 2 +STYLE + 5 +3 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +STYLE + 5 +11 +330 +3 +100 +AcDbSymbolTableRecord +100 +AcDbTextStyleTableRecord + 2 +STANDARD + 70 + 0 + 40 +0.0 + 41 +1.0 + 50 +0.0 + 71 + 0 + 42 +2.5 + 3 +txt + 4 + + 0 +ENDTAB + 0 +TABLE + 2 +VIEW + 5 +6 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +UCS + 5 +7 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +APPID + 5 +9 +330 +0 +100 +AcDbSymbolTable + 70 + 2 + 0 +APPID + 5 +12 +330 +9 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +ACAD + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +DIMSTYLE + 5 +A +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +DIMSTYLE +105 +27 +330 +A +100 +AcDbSymbolTableRecord +100 +AcDbDimStyleTableRecord + 2 +ISO-25 + 70 + 0 + 3 + + 4 + + 5 + + 6 + + 7 + + 40 +1.0 + 41 +2.5 + 42 +0.625 + 43 +3.75 + 44 +1.25 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 +140 +2.5 +141 +2.5 +142 +0.0 +143 +0.03937007874016 +144 +1.0 +145 +0.0 +146 +1.0 +147 +0.625 + 71 + 0 + 72 + 0 + 73 + 0 + 74 + 0 + 75 + 0 + 76 + 0 + 77 + 1 + 78 + 8 +170 + 0 +171 + 3 +172 + 1 +173 + 0 +174 + 0 +175 + 0 +176 + 0 +177 + 0 +178 + 0 +270 + 2 +271 + 2 +272 + 2 +273 + 2 +274 + 3 +340 +11 +275 + 0 +280 + 0 +281 + 0 +282 + 0 +283 + 0 +284 + 8 +285 + 0 +286 + 0 +287 + 3 +288 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +BLOCK_RECORD + 5 +1 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +BLOCK_RECORD + 5 +1F +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*MODEL_SPACE + 0 +BLOCK_RECORD + 5 +1B +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*PAPER_SPACE + 0 +ENDTAB + 0 +ENDSEC + 0 +SECTION + 2 +BLOCKS + 0 +BLOCK + 5 +20 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*MODEL_SPACE + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*MODEL_SPACE + 1 + + 0 +ENDBLK + 5 +21 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +1C +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockBegin + 2 +*PAPER_SPACE + 1 + + 0 +ENDBLK + 5 +1D +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockEnd + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES + 0 +LINE + 5 +100 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +651.308900 + 20 +646.073390 + 30 +0.0 + 11 +900.000020 + 21 +646.073390 + 31 +0.0 + 0 +LINE + 5 +101 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +900.000020 + 20 +646.073390 + 30 +0.0 + 11 +900.000020 + 21 +444.575280 + 31 +0.0 + 0 +LINE + 5 +102 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +900.000020 + 20 +444.575280 + 30 +0.0 + 11 +651.308900 + 21 +444.575280 + 31 +0.0 + 0 +LINE + 5 +103 +100 +AcDbEntity + 8 +Slide3 + 62 +7 +100 +AcDbLine + 10 +651.308900 + 20 +444.575280 + 30 +0.0 + 11 +651.308900 + 21 +646.073390 + 31 +0.0 + 0 +SPLINE + 5 +104 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 10 +129.776888 + 20 +600.000000 + 30 +0.0 + 10 +111.545073 + 20 +587.817891 + 30 +0.0 + 10 +103.806023 + 20 +569.134172 + 30 +0.0 + 0 +SPLINE + 5 +105 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +103.806023 + 20 +569.134172 + 30 +0.0 + 10 +96.066973 + 20 +550.450452 + 30 +0.0 + 10 +100.344761 + 20 +528.944561 + 30 +0.0 + 10 +114.644661 + 20 +514.644661 + 30 +0.0 + 0 +SPLINE + 5 +106 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +114.644661 + 20 +514.644661 + 30 +0.0 + 10 +128.944561 + 20 +500.344761 + 30 +0.0 + 10 +150.450452 + 20 +496.066973 + 30 +0.0 + 10 +169.134172 + 20 +503.806023 + 30 +0.0 + 0 +SPLINE + 5 +107 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +169.134172 + 20 +503.806023 + 30 +0.0 + 10 +187.817891 + 20 +511.545073 + 30 +0.0 + 10 +200.000000 + 20 +529.776888 + 30 +0.0 + 10 +200.000000 + 20 +550.000000 + 30 +0.0 + 0 +SPLINE + 5 +108 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +200.000000 + 20 +550.000000 + 30 +0.0 + 10 +200.000000 + 20 +563.260824 + 30 +0.0 + 10 +194.732158 + 20 +575.978520 + 30 +0.0 + 10 +185.355339 + 20 +585.355339 + 30 +0.0 + 0 +SPLINE + 5 +109 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +185.355339 + 20 +585.355339 + 30 +0.0 + 10 +175.978520 + 20 +594.732158 + 30 +0.0 + 10 +163.260824 + 20 +600.000000 + 30 +0.0 + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 0 +LINE + 5 +10a +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +150.000000 + 20 +600.000000 + 30 +0.0 + 11 +150.000000 + 21 +600.000000 + 31 +0.0 + 0 +SPLINE + 5 +10b +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 10 +359.553776 + 20 +600.000000 + 30 +0.0 + 10 +323.090147 + 20 +587.817891 + 30 +0.0 + 10 +307.612047 + 20 +569.134172 + 30 +0.0 + 0 +SPLINE + 5 +10c +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +307.612047 + 20 +569.134172 + 30 +0.0 + 10 +292.133947 + 20 +550.450452 + 30 +0.0 + 10 +300.689522 + 20 +528.944561 + 30 +0.0 + 10 +329.289322 + 20 +514.644661 + 30 +0.0 + 0 +SPLINE + 5 +10d +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +329.289322 + 20 +514.644661 + 30 +0.0 + 10 +357.889121 + 20 +500.344761 + 30 +0.0 + 10 +400.900904 + 20 +496.066973 + 30 +0.0 + 10 +438.268343 + 20 +503.806023 + 30 +0.0 + 0 +SPLINE + 5 +10e +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +438.268343 + 20 +503.806023 + 30 +0.0 + 10 +475.635782 + 20 +511.545073 + 30 +0.0 + 10 +500.000000 + 20 +529.776888 + 30 +0.0 + 10 +500.000000 + 20 +550.000000 + 30 +0.0 + 0 +SPLINE + 5 +10f +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +500.000000 + 20 +550.000000 + 30 +0.0 + 10 +500.000000 + 20 +563.260824 + 30 +0.0 + 10 +489.464316 + 20 +575.978520 + 30 +0.0 + 10 +470.710678 + 20 +585.355339 + 30 +0.0 + 0 +SPLINE + 5 +110 +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +470.710678 + 20 +585.355339 + 30 +0.0 + 10 +451.957040 + 20 +594.732158 + 30 +0.0 + 10 +426.521649 + 20 +600.000000 + 30 +0.0 + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 0 +LINE + 5 +111 +100 +AcDbEntity + 8 +Slide2 + 62 +1 +100 +AcDbLine + 10 +400.000000 + 20 +600.000000 + 30 +0.0 + 11 +400.000000 + 21 +600.000000 + 31 +0.0 + 0 +SPLINE + 5 +112 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +783.086350 + 20 +522.176190 + 30 +0.0 + 10 +758.815382 + 20 +504.056941 + 30 +0.0 + 10 +713.857171 + 20 +495.892961 + 30 +0.0 + 10 +671.987870 + 20 +502.001770 + 30 +0.0 + 0 +SPLINE + 5 +113 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +671.987870 + 20 +502.001770 + 30 +0.0 + 10 +630.118574 + 20 +508.110580 + 30 +0.0 + 10 +600.997311 + 20 +527.082892 + 30 +0.0 + 10 +600.024860 + 20 +548.885200 + 30 +0.0 + 0 +SPLINE + 5 +114 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +600.024860 + 20 +548.885200 + 30 +0.0 + 10 +599.052409 + 20 +570.687512 + 30 +0.0 + 10 +626.453123 + 20 +590.290091 + 30 +0.0 + 10 +667.736130 + 20 +597.326110 + 30 +0.0 + 0 +SPLINE + 5 +115 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +667.736130 + 20 +597.326110 + 30 +0.0 + 10 +709.019129 + 20 +604.362128 + 30 +0.0 + 10 +754.660551 + 20 +597.208402 + 30 +0.0 + 10 +780.522930 + 20 +579.648180 + 30 +0.0 + 0 +LINE + 5 +116 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +780.522930 + 20 +579.648180 + 30 +0.0 + 11 +700.000000 + 21 +550.000000 + 31 +0.0 + 0 +LINE + 5 +117 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +700.000000 + 20 +550.000000 + 30 +0.0 + 11 +783.086350 + 21 +522.176190 + 31 +0.0 + 0 +LINE + 5 +118 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +100.000000 + 20 +400.000000 + 30 +0.0 + 11 +200.000000 + 21 +300.000000 + 31 +0.0 + 0 +LINE + 5 +119 +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +200.000000 + 20 +300.000000 + 30 +0.0 + 11 +300.000000 + 21 +400.000000 + 31 +0.0 + 0 +LINE + 5 +11a +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbLine + 10 +300.000000 + 20 +400.000000 + 30 +0.0 + 11 +400.000000 + 21 +300.000000 + 31 +0.0 + 0 +SPLINE + 5 +11b +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +500.000000 + 20 +400.000000 + 30 +0.0 + 10 +500.000000 + 20 +400.000000 + 30 +0.0 + 10 +500.000000 + 20 +300.000000 + 30 +0.0 + 10 +600.000000 + 20 +300.000000 + 30 +0.0 + 0 +SPLINE + 5 +11c +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +600.000000 + 20 +300.000000 + 30 +0.0 + 10 +700.000000 + 20 +300.000000 + 30 +0.0 + 10 +600.000000 + 20 +400.000000 + 30 +0.0 + 10 +700.000000 + 20 +400.000000 + 30 +0.0 + 0 +SPLINE + 5 +11d +100 +AcDbEntity + 8 +Slide2 + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +700.000000 + 20 +400.000000 + 30 +0.0 + 10 +800.000000 + 20 +400.000000 + 30 +0.0 + 10 +800.000000 + 20 +300.000000 + 30 +0.0 + 10 +800.000000 + 20 +300.000000 + 30 +0.0 + 0 +LINE + 5 +11e +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +244.833200 + 20 +110.859950 + 30 +0.0 + 11 +199.494330 + 21 +118.994410 + 31 +0.0 + 0 +LINE + 5 +11f +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +199.494330 + 20 +118.994410 + 30 +0.0 + 11 +167.090050 + 21 +86.256880 + 31 +0.0 + 0 +LINE + 5 +120 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +167.090050 + 20 +86.256880 + 30 +0.0 + 11 +160.815900 + 21 +131.890400 + 31 +0.0 + 0 +LINE + 5 +121 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +160.815900 + 20 +131.890400 + 30 +0.0 + 11 +119.667180 + 21 +152.592240 + 31 +0.0 + 0 +LINE + 5 +122 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +119.667180 + 20 +152.592240 + 30 +0.0 + 11 +161.128420 + 21 +172.660850 + 31 +0.0 + 0 +LINE + 5 +123 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +161.128420 + 20 +172.660850 + 30 +0.0 + 11 +168.101390 + 21 +218.192820 + 31 +0.0 + 0 +LINE + 5 +124 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +168.101390 + 20 +218.192820 + 30 +0.0 + 11 +200.000000 + 21 +184.962380 + 31 +0.0 + 0 +LINE + 5 +125 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +200.000000 + 20 +184.962380 + 30 +0.0 + 11 +245.458240 + 21 +192.400850 + 31 +0.0 + 0 +LINE + 5 +126 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +245.458240 + 20 +192.400850 + 30 +0.0 + 11 +223.711430 + 21 +151.794700 + 31 +0.0 + 0 +LINE + 5 +127 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +223.711430 + 20 +151.794700 + 30 +0.0 + 11 +244.833200 + 21 +110.859950 + 31 +0.0 + 0 +LINE + 5 +128 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +444.833200 + 20 +107.863730 + 30 +0.0 + 11 +399.494330 + 21 +115.998190 + 31 +0.0 + 0 +LINE + 5 +129 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +399.494330 + 20 +115.998190 + 30 +0.0 + 11 +367.090050 + 21 +83.260660 + 31 +0.0 + 0 +LINE + 5 +12a +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +367.090050 + 20 +83.260660 + 30 +0.0 + 11 +360.815900 + 21 +128.894180 + 31 +0.0 + 0 +LINE + 5 +12b +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +360.815900 + 20 +128.894180 + 30 +0.0 + 11 +319.667180 + 21 +149.596020 + 31 +0.0 + 0 +LINE + 5 +12c +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +319.667180 + 20 +149.596020 + 30 +0.0 + 11 +361.128420 + 21 +169.664630 + 31 +0.0 + 0 +LINE + 5 +12d +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +361.128420 + 20 +169.664630 + 30 +0.0 + 11 +368.101390 + 21 +215.196600 + 31 +0.0 + 0 +LINE + 5 +12e +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +368.101390 + 20 +215.196600 + 30 +0.0 + 11 +400.000000 + 21 +181.966160 + 31 +0.0 + 0 +LINE + 5 +12f +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +400.000000 + 20 +181.966160 + 30 +0.0 + 11 +445.458240 + 21 +189.404630 + 31 +0.0 + 0 +LINE + 5 +130 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +445.458240 + 20 +189.404630 + 30 +0.0 + 11 +423.711430 + 21 +148.798480 + 31 +0.0 + 0 +LINE + 5 +131 +100 +AcDbEntity + 8 +Slide2 + 62 +3 +100 +AcDbLine + 10 +423.711430 + 20 +148.798480 + 30 +0.0 + 11 +444.833200 + 21 +107.863730 + 31 +0.0 + 0 +LINE + 5 +132 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +100.000000 + 20 +800.000000 + 30 +0.0 + 11 +200.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +133 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +200.000000 + 20 +800.000000 + 30 +0.0 + 11 +200.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +134 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +200.000000 + 20 +700.000000 + 30 +0.0 + 11 +100.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +135 +100 +AcDbEntity + 8 +Slide1 + 62 +7 +100 +AcDbLine + 10 +100.000000 + 20 +700.000000 + 30 +0.0 + 11 +100.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +136 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +300.000000 + 20 +800.000000 + 30 +0.0 + 11 +500.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +137 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +500.000000 + 20 +800.000000 + 30 +0.0 + 11 +500.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +138 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +500.000000 + 20 +700.000000 + 30 +0.0 + 11 +300.000000 + 21 +700.000000 + 31 +0.0 + 0 +LINE + 5 +139 +100 +AcDbEntity + 8 +Slide1 + 62 +1 +100 +AcDbLine + 10 +300.000000 + 20 +700.000000 + 30 +0.0 + 11 +300.000000 + 21 +800.000000 + 31 +0.0 + 0 +LINE + 5 +13a +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 11 +755.056774 + 21 +800.000000 + 31 +0.0 + 0 +SPLINE + 5 +13b +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +755.056774 + 20 +800.000000 + 30 +0.0 + 10 +766.976459 + 20 +800.000000 + 30 +0.0 + 10 +778.407944 + 20 +795.896267 + 30 +0.0 + 10 +786.836434 + 20 +788.591575 + 30 +0.0 + 0 +SPLINE + 5 +13c +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +786.836434 + 20 +788.591575 + 30 +0.0 + 10 +795.264924 + 20 +781.286884 + 30 +0.0 + 10 +800.000000 + 20 +771.379596 + 30 +0.0 + 10 +800.000000 + 20 +761.049202 + 30 +0.0 + 0 +LINE + 5 +13d +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +800.000000 + 20 +761.049202 + 30 +0.0 + 11 +800.000000 + 21 +738.950798 + 31 +0.0 + 0 +SPLINE + 5 +13e +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +800.000000 + 20 +738.950798 + 30 +0.0 + 10 +800.000000 + 20 +728.620404 + 30 +0.0 + 10 +795.264924 + 20 +718.713116 + 30 +0.0 + 10 +786.836434 + 20 +711.408425 + 30 +0.0 + 0 +SPLINE + 5 +13f +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +786.836434 + 20 +711.408425 + 30 +0.0 + 10 +778.407944 + 20 +704.103733 + 30 +0.0 + 10 +766.976459 + 20 +700.000000 + 30 +0.0 + 10 +755.056774 + 20 +700.000000 + 30 +0.0 + 0 +LINE + 5 +140 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +755.056774 + 20 +700.000000 + 30 +0.0 + 11 +644.943226 + 21 +700.000000 + 31 +0.0 + 0 +SPLINE + 5 +141 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +644.943226 + 20 +700.000000 + 30 +0.0 + 10 +633.023541 + 20 +700.000000 + 30 +0.0 + 10 +621.592056 + 20 +704.103733 + 30 +0.0 + 10 +613.163566 + 20 +711.408425 + 30 +0.0 + 0 +SPLINE + 5 +142 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +613.163566 + 20 +711.408425 + 30 +0.0 + 10 +604.735076 + 20 +718.713116 + 30 +0.0 + 10 +600.000000 + 20 +728.620404 + 30 +0.0 + 10 +600.000000 + 20 +738.950798 + 30 +0.0 + 0 +LINE + 5 +143 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +600.000000 + 20 +738.950798 + 30 +0.0 + 11 +600.000000 + 21 +761.049202 + 31 +0.0 + 0 +SPLINE + 5 +144 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +600.000000 + 20 +761.049202 + 30 +0.0 + 10 +600.000000 + 20 +771.379596 + 30 +0.0 + 10 +604.735076 + 20 +781.286884 + 30 +0.0 + 10 +613.163566 + 20 +788.591575 + 30 +0.0 + 0 +SPLINE + 5 +145 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +613.163566 + 20 +788.591575 + 30 +0.0 + 10 +621.592056 + 20 +795.896267 + 30 +0.0 + 10 +633.023541 + 20 +800.000000 + 30 +0.0 + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 0 +LINE + 5 +146 +100 +AcDbEntity + 8 +Slide1 + 62 +3 +100 +AcDbLine + 10 +644.943226 + 20 +800.000000 + 30 +0.0 + 11 +644.943226 + 21 +800.000000 + 31 +0.0 + 0 +ENDSEC + 0 +SECTION + 2 +OBJECTS + 0 +DICTIONARY + 5 +C +330 +0 +100 +AcDbDictionary + 3 +ACAD_GROUP +350 +D + 3 +ACAD_MLINESTYLE +350 +17 + 0 +DICTIONARY + 5 +D +330 +C +100 +AcDbDictionary + 0 +DICTIONARY + 5 +1A +330 +C +100 +AcDbDictionary + 0 +DICTIONARY + 5 +17 +330 +C +100 +AcDbDictionary + 3 +STANDARD +350 +18 + 0 +DICTIONARY + 5 +19 +330 +C +100 +AcDbDictionary + 0 +ENDSEC + 0 +EOF diff --git a/share/extensions/tests/data/refs/edge3d__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/edge3d__--id__p1__--id__r3.out new file mode 100644 index 0000000..2bc2862 --- /dev/null +++ b/share/extensions/tests/data/refs/edge3d__--id__p1__--id__r3.out @@ -0,0 +1,44 @@ + + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/export_gimp_palette.out b/share/extensions/tests/data/refs/export_gimp_palette.out new file mode 100644 index 0000000..c8c5d29 --- /dev/null +++ b/share/extensions/tests/data/refs/export_gimp_palette.out @@ -0,0 +1,13 @@ +GIMP Palette +Name: +# + 0 0 0 #000000 + 0 0 255 BLUE + 18 52 86 ColorName + 46 52 54 #2E3436 + 52 101 164 #3465A4 + 92 53 102 #5C3566 +114 159 207 #729FCF +117 80 123 #75507B +204 0 0 #CC0000 +255 0 0 RED diff --git a/share/extensions/tests/data/refs/export_gimp_palette__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/export_gimp_palette__--id__p1__--id__r3.out new file mode 100644 index 0000000..17b677f --- /dev/null +++ b/share/extensions/tests/data/refs/export_gimp_palette__--id__p1__--id__r3.out @@ -0,0 +1,6 @@ +GIMP Palette +Name: +# + 46 52 54 #2E3436 +204 0 0 #CC0000 +255 0 0 RED diff --git a/share/extensions/tests/data/refs/extrude__--id__c1__--id__c2.out b/share/extensions/tests/data/refs/extrude__--id__c1__--id__c2.out new file mode 100644 index 0000000..29df6a5 --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__c1__--id__c2.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__c1__--id__c2__-m__polygons.out b/share/extensions/tests/data/refs/extrude__--id__c1__--id__c2__-m__polygons.out new file mode 100644 index 0000000..61c7eb3 --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__c1__--id__c2__-m__polygons.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__c1__--id__c2__-m__snug.out b/share/extensions/tests/data/refs/extrude__--id__c1__--id__c2__-m__snug.out new file mode 100644 index 0000000..0821c94 --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__c1__--id__c2__-m__snug.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__p1__--id__p2.out b/share/extensions/tests/data/refs/extrude__--id__p1__--id__p2.out new file mode 100644 index 0000000..22f3370 --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__p1__--id__p2.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__p1__--id__p2__-m__lines.out b/share/extensions/tests/data/refs/extrude__--id__p1__--id__p2__-m__lines.out new file mode 100644 index 0000000..228b186 --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__p1__--id__p2__-m__lines.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__p1__--id__p2__-m__snug.out b/share/extensions/tests/data/refs/extrude__--id__p1__--id__p2__-m__snug.out new file mode 100644 index 0000000..a63008b --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__p1__--id__p2__-m__snug.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__lines.out b/share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__lines.out new file mode 100644 index 0000000..1deed37 --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__lines.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__polygons.out b/share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__polygons.out new file mode 100644 index 0000000..dc2a62e --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__polygons.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__snug.out b/share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__snug.out new file mode 100644 index 0000000..902f98c --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__p3__--id__p4__-m__snug.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__r1__--id__r2.out b/share/extensions/tests/data/refs/extrude__--id__r1__--id__r2.out new file mode 100644 index 0000000..dd88ce7 --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__r1__--id__r2.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__r1__--id__r2__-m__snug.out b/share/extensions/tests/data/refs/extrude__--id__r1__--id__r2__-m__snug.out new file mode 100644 index 0000000..2a94677 --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__r1__--id__r2__-m__snug.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/extrude__--id__r1__--id__r2__-s__False.out b/share/extensions/tests/data/refs/extrude__--id__r1__--id__r2__-s__False.out new file mode 100644 index 0000000..207e071 --- /dev/null +++ b/share/extensions/tests/data/refs/extrude__--id__r1__--id__r2__-s__False.out @@ -0,0 +1,18 @@ + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/fig_input.out b/share/extensions/tests/data/refs/fig_input.out new file mode 100644 index 0000000..8200ef9 --- /dev/null +++ b/share/extensions/tests/data/refs/fig_input.out @@ -0,0 +1,22 @@ + + + + + + + + + + + + + +Hello Inkscape + + diff --git a/share/extensions/tests/data/refs/flatten.out b/share/extensions/tests/data/refs/flatten.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/flatten__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/flatten__--id__p1__--id__r3.out new file mode 100644 index 0000000..f05ae54 --- /dev/null +++ b/share/extensions/tests/data/refs/flatten__--id__p1__--id__r3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/foldablebox__--proportion__0__5__--guide__true__--unit__cm.out b/share/extensions/tests/data/refs/foldablebox__--proportion__0__5__--guide__true__--unit__cm.out new file mode 100644 index 0000000..34f61cd --- /dev/null +++ b/share/extensions/tests/data/refs/foldablebox__--proportion__0__5__--guide__true__--unit__cm.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/foldablebox__--width__20__--height__20__--depth__2__2__--unit__cm.out b/share/extensions/tests/data/refs/foldablebox__--width__20__--height__20__--depth__2__2__--unit__cm.out new file mode 100644 index 0000000..e4872bc --- /dev/null +++ b/share/extensions/tests/data/refs/foldablebox__--width__20__--height__20__--depth__2__2__--unit__cm.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/fractalize__--id__p1__--id__p2.out b/share/extensions/tests/data/refs/fractalize__--id__p1__--id__p2.out new file mode 100644 index 0000000..ec00e57 --- /dev/null +++ b/share/extensions/tests/data/refs/fractalize__--id__p1__--id__p2.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/frame__--id__c2__--id__c1__--type__ellipse__--offset_absolute__20__--fill_color____AAA__--stroke_color____F00__--z_position__split.out b/share/extensions/tests/data/refs/frame__--id__c2__--id__c1__--type__ellipse__--offset_absolute__20__--fill_color____AAA__--stroke_color____F00__--z_position__split.out new file mode 100644 index 0000000..de88a3c --- /dev/null +++ b/share/extensions/tests/data/refs/frame__--id__c2__--id__c1__--type__ellipse__--offset_absolute__20__--fill_color____AAA__--stroke_color____F00__--z_position__split.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/frame__--id__c2__--id__c1__--type__ellipse__--offset_relative__10__--fill_color____AAA__--stroke_color____F00__--z_position__split.out b/share/extensions/tests/data/refs/frame__--id__c2__--id__c1__--type__ellipse__--offset_relative__10__--fill_color____AAA__--stroke_color____F00__--z_position__split.out new file mode 100644 index 0000000..face894 --- /dev/null +++ b/share/extensions/tests/data/refs/frame__--id__c2__--id__c1__--type__ellipse__--offset_relative__10__--fill_color____AAA__--stroke_color____F00__--z_position__split.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/frame__--id__t3__--type__rect__--offset_relative__10__--fill_color____AAA__--stroke_color____F00__--z_position__split.out b/share/extensions/tests/data/refs/frame__--id__t3__--type__rect__--offset_relative__10__--fill_color____AAA__--stroke_color____F00__--z_position__split.out new file mode 100644 index 0000000..a5b0351 --- /dev/null +++ b/share/extensions/tests/data/refs/frame__--id__t3__--type__rect__--offset_relative__10__--fill_color____AAA__--stroke_color____F00__--z_position__split.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/frame__--id__u1__--fill_color____AAA__--stroke_color____F00__--clip__True.out b/share/extensions/tests/data/refs/frame__--id__u1__--fill_color____AAA__--stroke_color____F00__--clip__True.out new file mode 100644 index 0000000..aed8eaf --- /dev/null +++ b/share/extensions/tests/data/refs/frame__--id__u1__--fill_color____AAA__--stroke_color____F00__--clip__True.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/frame__663c52a8114abe50f0559d9ccefab2e9.out b/share/extensions/tests/data/refs/frame__663c52a8114abe50f0559d9ccefab2e9.out new file mode 100644 index 0000000..6739f50 --- /dev/null +++ b/share/extensions/tests/data/refs/frame__663c52a8114abe50f0559d9ccefab2e9.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/funcplot__--id__p1__--id__r3__--times2pi__True__--ybottom__-1__0__--drawaxis__True.out b/share/extensions/tests/data/refs/funcplot__--id__p1__--id__r3__--times2pi__True__--ybottom__-1__0__--drawaxis__True.out new file mode 100644 index 0000000..b0e5bd5 --- /dev/null +++ b/share/extensions/tests/data/refs/funcplot__--id__p1__--id__r3__--times2pi__True__--ybottom__-1__0__--drawaxis__True.out @@ -0,0 +1,40 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/generate_voronoi__--id__r3__--id__p1.out b/share/extensions/tests/data/refs/generate_voronoi__--id__r3__--id__p1.out new file mode 100644 index 0000000..700fba3 --- /dev/null +++ b/share/extensions/tests/data/refs/generate_voronoi__--id__r3__--id__p1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/gimp_xcf.out b/share/extensions/tests/data/refs/gimp_xcf.out new file mode 100644 index 0000000..9438924 Binary files /dev/null and b/share/extensions/tests/data/refs/gimp_xcf.out differ diff --git a/share/extensions/tests/data/refs/gimp_xcf__-d__true__-r__true.out b/share/extensions/tests/data/refs/gimp_xcf__-d__true__-r__true.out new file mode 100644 index 0000000..183fb9b Binary files /dev/null and b/share/extensions/tests/data/refs/gimp_xcf__-d__true__-r__true.out differ diff --git a/share/extensions/tests/data/refs/grid_cartesian__154bd7ce1662209647ba2825e6d83cbc.out b/share/extensions/tests/data/refs/grid_cartesian__154bd7ce1662209647ba2825e6d83cbc.out new file mode 100644 index 0000000..1e79428 --- /dev/null +++ b/share/extensions/tests/data/refs/grid_cartesian__154bd7ce1662209647ba2825e6d83cbc.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/grid_cartesian__841ec156c192e3f468b6774927a90789.out b/share/extensions/tests/data/refs/grid_cartesian__841ec156c192e3f468b6774927a90789.out new file mode 100644 index 0000000..1e79428 --- /dev/null +++ b/share/extensions/tests/data/refs/grid_cartesian__841ec156c192e3f468b6774927a90789.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/grid_isometric__--dx__10__0__--subdivs_th__1__--subsubdivs_th__0__3.out b/share/extensions/tests/data/refs/grid_isometric__--dx__10__0__--subdivs_th__1__--subsubdivs_th__0__3.out new file mode 100644 index 0000000..6d4b675 --- /dev/null +++ b/share/extensions/tests/data/refs/grid_isometric__--dx__10__0__--subdivs_th__1__--subsubdivs_th__0__3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/grid_polar__--a_subdivs_cent__1__--a_labels__deg.out b/share/extensions/tests/data/refs/grid_polar__--a_subdivs_cent__1__--a_labels__deg.out new file mode 100644 index 0000000..7b5037d --- /dev/null +++ b/share/extensions/tests/data/refs/grid_polar__--a_subdivs_cent__1__--a_labels__deg.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + 0.015.030.045.060.075.090.0105.0120.0135.0150.0165.0180.0195.0210.0225.0240.0255.0270.0285.0300.0315.0330.0345.0 + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/grid_polar__--id__p1__--id__r3__--a_subdivs_cent__1__--a_labels__deg.out b/share/extensions/tests/data/refs/grid_polar__--id__p1__--id__r3__--a_subdivs_cent__1__--a_labels__deg.out new file mode 100644 index 0000000..7b5037d --- /dev/null +++ b/share/extensions/tests/data/refs/grid_polar__--id__p1__--id__r3__--a_subdivs_cent__1__--a_labels__deg.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + 0.015.030.045.060.075.090.0105.0120.0135.0150.0165.0180.0195.0210.0225.0240.0255.0270.0285.0300.0315.0330.0345.0 + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator.out b/share/extensions/tests/data/refs/guides_creator.out new file mode 100644 index 0000000..6749fa0 --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator.out @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__--tab__diagonal_guides__--nodup__False__--pages__1-3__--ul__True__--ur__True__--ll__True__--lr__True.out b/share/extensions/tests/data/refs/guides_creator__--tab__diagonal_guides__--nodup__False__--pages__1-3__--ul__True__--ur__True__--ll__True__--lr__True.out new file mode 100644 index 0000000..e166c8a --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__--tab__diagonal_guides__--nodup__False__--pages__1-3__--ul__True__--ur__True__--ll__True__--lr__True.out @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__--tab__diagonal_guides__--nodup__True__--pages__1-3__--ul__True__--ur__True__--ll__True__--lr__True.out b/share/extensions/tests/data/refs/guides_creator__--tab__diagonal_guides__--nodup__True__--pages__1-3__--ul__True__--ur__True__--ll__True__--lr__True.out new file mode 100644 index 0000000..4c75674 --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__--tab__diagonal_guides__--nodup__True__--pages__1-3__--ul__True__--ur__True__--ll__True__--lr__True.out @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__False__--margins_preset__book_alternating_right.out b/share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__False__--margins_preset__book_alternating_right.out new file mode 100644 index 0000000..baf03de --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__False__--margins_preset__book_alternating_right.out @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__False__--margins_preset__book_right__--vert__3__--horz__2.out b/share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__False__--margins_preset__book_right__--vert__3__--horz__2.out new file mode 100644 index 0000000..704fd5a --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__False__--margins_preset__book_right__--vert__3__--horz__2.out @@ -0,0 +1,35 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__True__--margins_preset__book_alternating_left.out b/share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__True__--margins_preset__book_alternating_left.out new file mode 100644 index 0000000..5e46848 --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__--tab__margins__--start_from_edges__True__--margins_preset__book_alternating_left.out @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__--tab__regular_guides__--start_from_edges__True__--guides_preset__custom__--vertical_guides__4__--horizontal_guides__5.out b/share/extensions/tests/data/refs/guides_creator__--tab__regular_guides__--start_from_edges__True__--guides_preset__custom__--vertical_guides__4__--horizontal_guides__5.out new file mode 100644 index 0000000..26a2492 --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__--tab__regular_guides__--start_from_edges__True__--guides_preset__custom__--vertical_guides__4__--horizontal_guides__5.out @@ -0,0 +1,35 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__--tab__regular_guides__--start_from_edges__True__--guides_preset__golden.out b/share/extensions/tests/data/refs/guides_creator__--tab__regular_guides__--start_from_edges__True__--guides_preset__golden.out new file mode 100644 index 0000000..a6f8e49 --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__--tab__regular_guides__--start_from_edges__True__--guides_preset__golden.out @@ -0,0 +1,35 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__--vertical_guides__4__--horizontal_guides__3__--pages__1____3-7__12.out b/share/extensions/tests/data/refs/guides_creator__--vertical_guides__4__--horizontal_guides__3__--pages__1____3-7__12.out new file mode 100644 index 0000000..cf50565 --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__--vertical_guides__4__--horizontal_guides__3__--pages__1____3-7__12.out @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__--vertical_guides__6__--horizontal_guides__8.out b/share/extensions/tests/data/refs/guides_creator__--vertical_guides__6__--horizontal_guides__8.out new file mode 100644 index 0000000..3a61a20 --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__--vertical_guides__6__--horizontal_guides__8.out @@ -0,0 +1,34 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__0cec5b2a62929d8e2c1469e6e5047e77.out b/share/extensions/tests/data/refs/guides_creator__0cec5b2a62929d8e2c1469e6e5047e77.out new file mode 100644 index 0000000..51cee7d --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__0cec5b2a62929d8e2c1469e6e5047e77.out @@ -0,0 +1,40 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__19bbe6630a0a22a9d7a6a65b25eb1c9f.out b/share/extensions/tests/data/refs/guides_creator__19bbe6630a0a22a9d7a6a65b25eb1c9f.out new file mode 100644 index 0000000..1218e33 --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__19bbe6630a0a22a9d7a6a65b25eb1c9f.out @@ -0,0 +1,40 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__251d15df598c899ffbdc546ced9e2faa.out b/share/extensions/tests/data/refs/guides_creator__251d15df598c899ffbdc546ced9e2faa.out new file mode 100644 index 0000000..50293ea --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__251d15df598c899ffbdc546ced9e2faa.out @@ -0,0 +1,40 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__3b35068c24255b2144616d98c2a077bd.out b/share/extensions/tests/data/refs/guides_creator__3b35068c24255b2144616d98c2a077bd.out new file mode 100644 index 0000000..d4155f4 --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__3b35068c24255b2144616d98c2a077bd.out @@ -0,0 +1,40 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__8f473fd113caab10b556f9cfe804e05e.out b/share/extensions/tests/data/refs/guides_creator__8f473fd113caab10b556f9cfe804e05e.out new file mode 100644 index 0000000..2f3669a --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__8f473fd113caab10b556f9cfe804e05e.out @@ -0,0 +1,34 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__92c07724de24b2568187779e17d89f83.out b/share/extensions/tests/data/refs/guides_creator__92c07724de24b2568187779e17d89f83.out new file mode 100644 index 0000000..7fd0af8 --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__92c07724de24b2568187779e17d89f83.out @@ -0,0 +1,40 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guides_creator__ca9cfba4b80367070f0d70d13c501131.out b/share/extensions/tests/data/refs/guides_creator__ca9cfba4b80367070f0d70d13c501131.out new file mode 100644 index 0000000..67d930a --- /dev/null +++ b/share/extensions/tests/data/refs/guides_creator__ca9cfba4b80367070f0d70d13c501131.out @@ -0,0 +1,40 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/guillotine__--ignore__true__--directory__TMP_DIR__img__.out b/share/extensions/tests/data/refs/guillotine__--ignore__true__--directory__TMP_DIR__img__.out new file mode 100644 index 0000000..f7bcbef Binary files /dev/null and b/share/extensions/tests/data/refs/guillotine__--ignore__true__--directory__TMP_DIR__img__.out differ diff --git a/share/extensions/tests/data/refs/guillotine__--image__f____oo__--directory__TMP_DIR__img__.out b/share/extensions/tests/data/refs/guillotine__--image__f____oo__--directory__TMP_DIR__img__.out new file mode 100644 index 0000000..fc02093 Binary files /dev/null and b/share/extensions/tests/data/refs/guillotine__--image__f____oo__--directory__TMP_DIR__img__.out differ diff --git a/share/extensions/tests/data/refs/guillotine__--image__output__--directory__TMP_DIR__img__.out b/share/extensions/tests/data/refs/guillotine__--image__output__--directory__TMP_DIR__img__.out new file mode 100644 index 0000000..db737cf Binary files /dev/null and b/share/extensions/tests/data/refs/guillotine__--image__output__--directory__TMP_DIR__img__.out differ diff --git a/share/extensions/tests/data/refs/handles__--id__curve__--id__quad.out b/share/extensions/tests/data/refs/handles__--id__curve__--id__quad.out new file mode 100644 index 0000000..48f9e0e --- /dev/null +++ b/share/extensions/tests/data/refs/handles__--id__curve__--id__quad.out @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/hershey.out b/share/extensions/tests/data/refs/hershey.out new file mode 100644 index 0000000..a6b2290 --- /dev/null +++ b/share/extensions/tests/data/refs/hershey.out @@ -0,0 +1,52 @@ + + + + + + + + image/svg+xml + + + + + + +     + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/hershey_encoding.out b/share/extensions/tests/data/refs/hershey_encoding.out new file mode 100755 index 0000000..92979a0 --- /dev/null +++ b/share/extensions/tests/data/refs/hershey_encoding.out @@ -0,0 +1,13 @@ + + + + + + + image/svg+xml + + + + + EMSAllureEMSElfinEMSFelixEMSNixishEMSNixishItalicEMSOsmotronEMSReadabilityEMSReadabilityItalicEMSTechHersheyGothEnglishHersheySans1HersheySansMedHersheyScript1HersheyScriptMedHersheySerifBoldHersheySerifBoldItalicHersheySerifMedHersheySerifMedItalic + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/hershey_fonttable.out b/share/extensions/tests/data/refs/hershey_fonttable.out new file mode 100755 index 0000000..35ed814 --- /dev/null +++ b/share/extensions/tests/data/refs/hershey_fonttable.out @@ -0,0 +1,13 @@ + + + + + + + image/svg+xml + + + + + EMSAllureEMSElfinEMSFelixEMSNixishEMSNixishItalicEMSOsmotronEMSReadabilityEMSReadabilityItalicEMSTechHersheyGothEnglishHersheySans1HersheySansMedHersheyScript1HersheyScriptMedHersheySerifBoldHersheySerifBoldItalicHersheySerifMedHersheySerifMedItalic + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/hershey_glyphtable.out b/share/extensions/tests/data/refs/hershey_glyphtable.out new file mode 100755 index 0000000..cfb0ecc --- /dev/null +++ b/share/extensions/tests/data/refs/hershey_glyphtable.out @@ -0,0 +1,13 @@ + + + + + + + image/svg+xml + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/hershey_loadfont.out b/share/extensions/tests/data/refs/hershey_loadfont.out new file mode 100755 index 0000000..003e932 --- /dev/null +++ b/share/extensions/tests/data/refs/hershey_loadfont.out @@ -0,0 +1,17 @@ + + + + + + + + image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/hershey_partialselection.out b/share/extensions/tests/data/refs/hershey_partialselection.out new file mode 100755 index 0000000..21324f9 --- /dev/null +++ b/share/extensions/tests/data/refs/hershey_partialselection.out @@ -0,0 +1,22 @@ + + + + + + + + image/svg+xml + + + + + + + + + + Text + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/hershey_preservetext.out b/share/extensions/tests/data/refs/hershey_preservetext.out new file mode 100755 index 0000000..b566766 --- /dev/null +++ b/share/extensions/tests/data/refs/hershey_preservetext.out @@ -0,0 +1,22 @@ + + + + + + + + image/svg+xml + + + + + + + + + + Flow Text + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/hpgl_input.out b/share/extensions/tests/data/refs/hpgl_input.out new file mode 100644 index 0000000..b00d209 --- /dev/null +++ b/share/extensions/tests/data/refs/hpgl_input.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/hpgl_output__--force__24__--speed__20__--orientation__90__hpgl_multipen__svg.out b/share/extensions/tests/data/refs/hpgl_output__--force__24__--speed__20__--orientation__90__hpgl_multipen__svg.out new file mode 100644 index 0000000..d0f4221 --- /dev/null +++ b/share/extensions/tests/data/refs/hpgl_output__--force__24__--speed__20__--orientation__90__hpgl_multipen__svg.out @@ -0,0 +1 @@ +IN;PU;SP1;VS20;FS24;PU0,0;PD0,90;PU855,1988;PD860,1986,864,1983,865,1977,863,1972,859,1969,855,1968,855,1170,850,1172,846,1176,845,1180,0,1180,2,1185,5,1189,10,1190,10,1988,15,1986,19,1983,20,1978,865,1978,863,1973,860,1969,855,1968,855,1928;PU;SP2;PU855,798;PD855,798,855,0,850,2,846,6,845,10,0,10,2,16,5,19,10,20,10,818,15,817,19,813,20,808,865,808,863,803,860,799,855,798,855,758;PU;SP3;PU855,3108;PD855,3108,855,2310,850,2311,846,2315,845,2320,0,2320,2,2325,5,2329,10,2330,10,3128,15,3126,19,3122,20,3118,865,3118,863,3112,860,3109,855,3108,855,3068;SP0;PU0,0;IN; \ No newline at end of file diff --git a/share/extensions/tests/data/refs/hpgl_output__--force__24__--speed__20__--orientation__90__shapes__svg.out b/share/extensions/tests/data/refs/hpgl_output__--force__24__--speed__20__--orientation__90__shapes__svg.out new file mode 100644 index 0000000..f6f0529 --- /dev/null +++ b/share/extensions/tests/data/refs/hpgl_output__--force__24__--speed__20__--orientation__90__shapes__svg.out @@ -0,0 +1 @@ +IN;PU;SP1;VS20;FS24;PU0,0;PD0,90;PU5966,2652;PD5971,2651,5975,2647,5976,2641,5975,2636,5971,2633,5966,2632,5966,0,5961,1,5957,5,5956,10,3824,10,3825,15,3829,19,3834,20,3834,2652,3839,2651,3843,2647,3844,2642,5976,2642,5975,2637,5971,2633,5966,2632,5966,2592;PU5479,7938;PD5474,7939,5470,7943,5469,7948,5470,7953,5474,7957,5478,7957,5477,7997,5476,7997,5472,8037,5471,8036,5464,8075,5463,8075,5453,8112,5452,8112,5439,8149,5439,8148,5423,8184,5405,8218,5404,8217,5384,8250,5361,8281,5361,8280,5336,8310,5335,8309,5308,8337,5308,8336,5279,8362,5248,8385,5247,8385,5214,8406,5214,8405,5180,8425,5179,8424,5143,8441,5143,8440,5105,8454,5105,8453,5067,8464,5067,8463,5029,8471,5028,8470,4990,8476,4990,8475,4951,8477,4951,8476,4913,8476,4913,8475,4874,8472,4874,8471,4836,8465,4837,8464,4799,8455,4763,8443,4763,8442,4727,8428,4727,8427,4692,8411,4693,8410,4659,8390,4660,8390,4627,8368,4628,8367,4597,8343,4597,8342,4568,8315,4569,8314,4541,8285,4542,8285,4517,8254,4518,8253,4496,8221,4497,8221,4477,8187,4478,8187,4461,8152,4461,8151,4447,8116,4448,8115,4436,8079,4437,8078,4428,8041,4429,8041,4423,8003,4420,7964,4421,7964,4420,7926,4421,7926,4423,7887,4424,7887,4429,7849,4430,7849,4438,7811,4439,7811,4450,7773,4464,7736,4465,7736,4481,7700,4482,7700,4501,7665,4502,7666,4523,7633,4524,7633,4548,7603,4574,7574,4574,7575,4602,7548,4603,7548,4632,7524,4664,7502,4697,7482,4697,7483,4731,7465,4732,7466,4767,7450,4767,7451,4804,7438,4804,7439,4842,7429,4842,7430,4880,7422,4880,7423,4920,7419,4959,7418,4959,7419,5014,7422,5013,7423,5066,7431,5066,7432,5117,7445,5116,7446,5165,7463,5164,7464,5211,7487,5210,7487,5254,7514,5253,7515,5294,7545,5293,7546,5331,7580,5330,7581,5365,7618,5364,7619,5394,7660,5393,7660,5420,7704,5419,7704,5441,7751,5458,7800,5457,7800,5470,7851,5469,7851,5477,7903,5476,7903,5479,7957,5478,7957,5477,7997,5476,7997;PU5478,5312;PD5478,5312,5477,5391,5472,5470,5465,5547,5464,5547,5454,5622,5441,5695,5425,5766,5407,5834,5387,5899,5386,5899,5364,5961,5363,5961,5338,6020,5311,6075,5310,6075,5282,6126,5281,6126,5250,6173,5217,6216,5216,6215,5182,6254,5181,6253,5145,6286,5144,6285,5107,6313,5106,6312,5068,6334,5067,6333,5029,6349,5029,6348,4990,6358,4990,6356,4951,6361,4951,6359,4913,6358,4913,6357,4874,6350,4875,6349,4837,6337,4837,6335,4800,6318,4800,6317,4764,6293,4728,6264,4729,6263,4694,6230,4695,6229,4661,6190,4662,6190,4630,6145,4599,6096,4600,6095,4571,6041,4544,5982,4520,5920,4498,5856,4499,5855,4479,5788,4480,5788,4463,5718,4449,5647,4449,5646,4438,5573,4429,5498,4430,5498,4424,5422,4421,5346,4420,5268,4421,5268,4423,5191,4428,5114,4429,5114,4437,5037,4448,4962,4449,4962,4462,4887,4463,4887,4479,4814,4480,4815,4499,4745,4499,4746,4521,4680,4545,4618,4546,4619,4571,4561,4572,4561,4599,4507,4600,4508,4629,4458,4630,4458,4661,4413,4662,4414,4695,4374,4729,4339,4730,4339,4765,4309,4766,4310,4803,4284,4803,4285,4841,4265,4841,4266,4880,4252,4880,4253,4919,4244,4920,4246,4959,4243,4959,4244,4987,4245,4987,4246,5013,4250,5013,4251,5040,4258,5040,4259,5066,4268,5065,4269,5091,4281,5090,4282,5116,4296,5115,4297,5140,4313,5139,4314,5163,4333,5186,4354,5186,4355,5209,4378,5208,4379,5230,4404,5252,4432,5251,4432,5292,4493,5291,4494,5328,4562,5362,4638,5361,4638,5392,4719,5391,4720,5418,4807,5417,4807,5439,4899,5439,4900,5457,4997,5456,4997,5469,5098,5477,5203,5476,5203,5479,5312,5478,5312,5478,5352;PU4655,1257;PD4650,1256,4649,1256,4615,1306,4615,1307,4583,1362,4584,1362,4554,1422,4555,1422,4528,1486,4528,1487,4504,1554,4505,1554,4483,1625,4484,1625,4465,1699,4466,1699,4450,1775,4451,1775,4438,1854,4429,1934,4423,2016,4420,2099,4421,2099,4421,2182,4425,2266,4432,2350,4443,2433,4457,2514,4474,2592,4494,2667,4495,2667,4517,2737,4542,2803,4543,2803,4570,2865,4571,2865,4600,2922,4601,2922,4632,2975,4633,2974,4667,3022,4667,3021,4703,3064,4703,3063,4741,3100,4741,3099,4780,3130,4780,3129,4820,3154,4821,3153,4862,3171,4862,3170,4904,3182,4905,3181,4948,3186,4948,3184,4991,3183,4990,3181,5033,3173,5032,3171,5074,3156,5073,3155,5114,3134,5113,3133,5152,3105,5151,3104,5189,3071,5188,3070,5225,3031,5224,3031,5259,2986,5258,2986,5291,2936,5290,2936,5321,2881,5349,2821,5375,2757,5375,2756,5398,2688,5419,2615,5437,2539,5437,2538,5452,2458,5464,2376,5472,2293,5477,2209,5479,2126,5477,2043,5472,1961,5464,1880,5453,1800,5439,1723,5438,1723,5422,1647,5421,1648,5401,1575,5378,1505,5378,1506,5352,1439,5352,1440,5324,1377,5323,1378,5292,1319,5292,1320,5258,1266,5254,1270,5253,1275,5255,1280,5259,1284,5260,1284,4946,2136,4942,2133,4940,2128,4940,2123,4944,2119,4946,2117,4652,1238,4647,1241,4645,1246,4646,1251,4649,1255,4649,1256,4627,1289;PU3356,8485;PD3353,8481,3352,8476,3354,8471,3355,8470,2297,7411,2301,7409,2307,7409,2311,7411,3369,6353,3364,6350,3359,6350,3355,6353,2297,5295;PU3355,4236;PD3352,4241,3352,4243,3307,4241,3307,4240,3254,4235,3187,4225,3107,4209,3107,4208,3017,4185,3018,4184,2970,4169,2971,4169,2922,4151,2873,4130,2824,4107,2824,4106,2774,4080,2775,4079,2726,4050,2726,4049,2678,4016,2631,3979,2631,3978,2585,3938,2586,3937,2542,3892,2543,3892,2501,3843,2502,3842,2463,3789,2464,3788,2428,3730,2429,3730,2397,3667,2398,3666,2369,3598,2370,3598,2346,3525,2347,3525,2327,3446,2328,3446,2314,3361,2315,3361,2306,3271,2303,3175,2304,3175,2307,3082,2308,3082,2317,3000,2324,2964,2332,2930,2333,2930,2342,2899,2352,2870,2353,2870,2364,2843,2365,2843,2378,2819,2392,2797,2393,2797,2407,2777,2408,2777,2423,2759,2424,2760,2440,2743,2441,2744,2458,2729,2459,2729,2477,2716,2478,2717,2516,2695,2517,2696,2558,2680,2559,2681,2603,2669,2603,2670,2648,2662,2648,2663,2696,2658,2696,2659,2744,2656,2744,2657,2843,2656,2942,2655,2942,2654,2990,2652,2990,2651,3037,2647,3037,2646,3083,2638,3082,2637,3126,2625,3126,2624,3167,2608,3167,2607,3205,2585,3205,2584,3223,2571,3222,2570,3240,2555,3239,2555,3256,2538,3255,2537,3271,2519,3270,2519,3285,2498,3284,2498,3298,2475,3297,2475,3310,2450,3309,2450,3320,2423,3330,2394,3339,2362,3338,2362,3346,2328,3345,2328,3352,2291,3351,2291,3360,2210,3359,2210,3362,2117,3359,2021,3358,2021,3349,1930,3348,1931,3334,1846,3333,1846,3314,1768,3313,1768,3289,1695,3261,1627,3260,1627,3228,1564,3227,1564,3191,1506,3191,1507,3152,1453,3151,1454,3110,1405,3066,1360,3065,1361,3020,1320,3019,1321,2972,1284,2923,1251,2923,1252,2874,1222,2824,1196,2774,1173,2774,1174,2725,1153,2725,1154,2676,1136,2629,1121,2629,1122,2539,1098,2539,1099,2459,1083,2391,1074,2339,1069,2339,1070,2294,1068;PU292,6943;PD293,6949,297,6952,302,6954,304,6954,390,7434,384,7433,381,7431,34,7774,39,7776,44,7776,49,7773,51,7769,51,7768,534,7834,532,7839,529,7842,748,8277,752,8274,754,8269,752,8264,749,8260,748,8260,960,7821,964,7824,966,7828,1448,7754,1446,7750,1441,7746,1436,7746,1431,7749,1079,7411,1084,7409,1088,7408,1167,6927,1161,6928,1157,6931,1155,6936,1156,6941,1156,6942,726,7172,725,7167,726,7163,293,6939,292,6944,294,6950,298,6953,303,6954,304,6954,311,6993;PU272,4837;PD272,4837,358,5317,353,5316,349,5314,3,5657,7,5660,13,5660,17,5657,20,5652,20,5651,503,5718,501,5723,497,5725,716,6161,720,6157,722,6152,721,6147,717,6143,716,6143,929,5704,933,5708,934,5712,1416,5638,1414,5633,1409,5630,1404,5629,1399,5632,1047,5295,1052,5292,1056,5292,1135,4811,1130,4811,1125,4814,1123,4819,1124,4825,695,5055,693,5050,695,5046,261,4823,260,4828,262,4833,266,4836,271,4837,272,4837,279,4876;PU8793,5312;PD8798,5309,8801,5305,8801,5299,8798,5295,8794,5292,8791,5292,8791,4551,8786,4552,8782,4556,8781,4561,8047,4561,8048,4566,8052,4570,8057,4571,8057,5312,8062,5310,8066,5306,8067,5302,8801,5302,8800,5297,8796,5293,8791,5292,8791,5252;PU7595,8467;PD7595,8467,7595,7408,7590,7410,7587,7414,7585,7418,6527,7418,6528,7423,6532,7427,6537,7428,6537,8487,6542,8485,6546,8481,6547,8477,7605,8477,7604,8472,7600,8468,7595,8467,7595,8427;PU7595,6350;PD7595,6350,7595,4233,7590,4235,7587,4239,7585,4243,6527,4243,6528,4248,6532,4252,6537,4253,6537,6370,6542,6369,6546,6365,6547,6360,7605,6360,7604,6355,7600,6351,7595,6350,7595,6310;PU7595,2699;PD7595,2699,7595,1534,7593,1487,7592,1487,7586,1441,7585,1441,7575,1396,7561,1352,7560,1353,7543,1311,7542,1311,7521,1271,7521,1272,7497,1234,7496,1235,7468,1200,7437,1169,7437,1170,7404,1142,7404,1143,7369,1119,7368,1120,7332,1100,7332,1101,7294,1085,7293,1086,7254,1075,7254,1076,7214,1069,7214,1070,7173,1068,6939,1068,6939,1069,6899,1071,6899,1072,6859,1079,6859,1080,6820,1092,6820,1093,6782,1108,6783,1109,6746,1129,6747,1130,6712,1154,6713,1155,6680,1183,6681,1183,6651,1215,6652,1216,6624,1250,6625,1251,6601,1289,6602,1289,6581,1329,6582,1329,6565,1371,6565,1372,6552,1415,6553,1415,6543,1461,6544,1461,6538,1507,6539,1507,6537,1554,6537,2719,6539,2766,6540,2766,6546,2812,6547,2812,6557,2857,6558,2857,6571,2901,6572,2901,6589,2943,6590,2942,6611,2982,6612,2982,6636,3019,6637,3019,6664,3054,6665,3053,6695,3085,6696,3084,6728,3112,6729,3111,6763,3135,6764,3134,6800,3154,6801,3153,6839,3168,6839,3167,6878,3179,6878,3177,6918,3184,6918,3183,6959,3186,6959,3185,7193,3185,7193,3184,7234,3182,7234,3181,7274,3174,7274,3173,7313,3162,7312,3161,7350,3145,7350,3144,7386,3124,7385,3123,7420,3099,7419,3099,7452,3071,7451,3070,7482,3038,7481,3038,7508,3003,7507,3002,7531,2965,7531,2964,7551,2924,7568,2882,7567,2882,7580,2838,7589,2793,7595,2746,7594,2746,7596,2699,7595,2699,7595,2659;SP0;PU0,0;IN; \ No newline at end of file diff --git a/share/extensions/tests/data/refs/image_attributes.out b/share/extensions/tests/data/refs/image_attributes.out new file mode 100644 index 0000000..90f335e --- /dev/null +++ b/share/extensions/tests/data/refs/image_attributes.out @@ -0,0 +1,18 @@ + + + + + + + image/svg+xml + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/image_attributes__--id__embeded_image01__--image_rendering__optimizeSpeed__--tab____tab_image_rendering__.out b/share/extensions/tests/data/refs/image_attributes__--id__embeded_image01__--image_rendering__optimizeSpeed__--tab____tab_image_rendering__.out new file mode 100644 index 0000000..9dbd633 --- /dev/null +++ b/share/extensions/tests/data/refs/image_attributes__--id__embeded_image01__--image_rendering__optimizeSpeed__--tab____tab_image_rendering__.out @@ -0,0 +1,18 @@ + + + + + + + image/svg+xml + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/image_attributes__--id__image174__--aspect_ratio__xMinYMin__--tab____tab_aspect_ratio__.out b/share/extensions/tests/data/refs/image_attributes__--id__image174__--aspect_ratio__xMinYMin__--tab____tab_aspect_ratio__.out new file mode 100644 index 0000000..2553d2b --- /dev/null +++ b/share/extensions/tests/data/refs/image_attributes__--id__image174__--aspect_ratio__xMinYMin__--tab____tab_aspect_ratio__.out @@ -0,0 +1,18 @@ + + + + + + + image/svg+xml + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/image_embed.out b/share/extensions/tests/data/refs/image_embed.out new file mode 100644 index 0000000..4c24140 --- /dev/null +++ b/share/extensions/tests/data/refs/image_embed.out @@ -0,0 +1,18 @@ + + + + + + + image/svg+xml + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/image_embed__--id__image174__--selectedonly__True.out b/share/extensions/tests/data/refs/image_embed__--id__image174__--selectedonly__True.out new file mode 100644 index 0000000..4c24140 --- /dev/null +++ b/share/extensions/tests/data/refs/image_embed__--id__image174__--selectedonly__True.out @@ -0,0 +1,18 @@ + + + + + + + image/svg+xml + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/image_extract__--selectedonly__False__--filepath__TMP_DIR__.out b/share/extensions/tests/data/refs/image_extract__--selectedonly__False__--filepath__TMP_DIR__.out new file mode 100644 index 0000000..3bc0a06 Binary files /dev/null and b/share/extensions/tests/data/refs/image_extract__--selectedonly__False__--filepath__TMP_DIR__.out differ diff --git a/share/extensions/tests/data/refs/image_extract__--selectedonly__True__--id__embeded_image01__--filepath__TMP_DIR__.out b/share/extensions/tests/data/refs/image_extract__--selectedonly__True__--id__embeded_image01__--filepath__TMP_DIR__.out new file mode 100644 index 0000000..3bc0a06 Binary files /dev/null and b/share/extensions/tests/data/refs/image_extract__--selectedonly__True__--id__embeded_image01__--filepath__TMP_DIR__.out differ diff --git a/share/extensions/tests/data/refs/ink2canvas.out b/share/extensions/tests/data/refs/ink2canvas.out new file mode 100644 index 0000000..c6bc3c0 --- /dev/null +++ b/share/extensions/tests/data/refs/ink2canvas.out @@ -0,0 +1,162 @@ + + + + + Inkscape Output + + + + + + diff --git a/share/extensions/tests/data/refs/ink2canvas__--id__alpha.out b/share/extensions/tests/data/refs/ink2canvas__--id__alpha.out new file mode 100644 index 0000000..717d6d0 --- /dev/null +++ b/share/extensions/tests/data/refs/ink2canvas__--id__alpha.out @@ -0,0 +1,288 @@ + + + + + Inkscape Output + + + + + + diff --git a/share/extensions/tests/data/refs/ink2canvas__--id__path31.out b/share/extensions/tests/data/refs/ink2canvas__--id__path31.out new file mode 100644 index 0000000..30951b1 --- /dev/null +++ b/share/extensions/tests/data/refs/ink2canvas__--id__path31.out @@ -0,0 +1,49 @@ + + + + + Inkscape Output + + + + + + diff --git a/share/extensions/tests/data/refs/ink2canvas__--id__rect3898.out b/share/extensions/tests/data/refs/ink2canvas__--id__rect3898.out new file mode 100644 index 0000000..c0c8c13 --- /dev/null +++ b/share/extensions/tests/data/refs/ink2canvas__--id__rect3898.out @@ -0,0 +1,124 @@ + + + + + Inkscape Output + + + + + + diff --git a/share/extensions/tests/data/refs/inkex_extensions_color.out b/share/extensions/tests/data/refs/inkex_extensions_color.out new file mode 100644 index 0000000..f2d7ded --- /dev/null +++ b/share/extensions/tests/data/refs/inkex_extensions_color.out @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/inkex_extensions_color__--id__color_svg.out b/share/extensions/tests/data/refs/inkex_extensions_color__--id__color_svg.out new file mode 100644 index 0000000..f2d7ded --- /dev/null +++ b/share/extensions/tests/data/refs/inkex_extensions_color__--id__color_svg.out @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/inkex_extensions_color__--id__r1.out b/share/extensions/tests/data/refs/inkex_extensions_color__--id__r1.out new file mode 100644 index 0000000..2a106d1 --- /dev/null +++ b/share/extensions/tests/data/refs/inkex_extensions_color__--id__r1.out @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/inkex_extensions_color__--id__r1__--id__r2.out b/share/extensions/tests/data/refs/inkex_extensions_color__--id__r1__--id__r2.out new file mode 100644 index 0000000..176992b --- /dev/null +++ b/share/extensions/tests/data/refs/inkex_extensions_color__--id__r1__--id__r2.out @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/inkex_extensions_color__--id__r2.out b/share/extensions/tests/data/refs/inkex_extensions_color__--id__r2.out new file mode 100644 index 0000000..430e485 --- /dev/null +++ b/share/extensions/tests/data/refs/inkex_extensions_color__--id__r2.out @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/inkex_extensions_color__--id__r3.out b/share/extensions/tests/data/refs/inkex_extensions_color__--id__r3.out new file mode 100644 index 0000000..f663d51 --- /dev/null +++ b/share/extensions/tests/data/refs/inkex_extensions_color__--id__r3.out @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/inkex_extensions_color__--id__r4.out b/share/extensions/tests/data/refs/inkex_extensions_color__--id__r4.out new file mode 100644 index 0000000..9c93172 --- /dev/null +++ b/share/extensions/tests/data/refs/inkex_extensions_color__--id__r4.out @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/inkscape_follow_link.out b/share/extensions/tests/data/refs/inkscape_follow_link.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/inkscape_follow_link__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/inkscape_follow_link__--id__p1__--id__r3.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/interp__3ed855778ec06e18dc5f0d8329e9d085.out b/share/extensions/tests/data/refs/interp__3ed855778ec06e18dc5f0d8329e9d085.out new file mode 100644 index 0000000..e947e70 --- /dev/null +++ b/share/extensions/tests/data/refs/interp__3ed855778ec06e18dc5f0d8329e9d085.out @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/interp__bf1a5fd7b7c87a9e06cf0b9659d389ed.out b/share/extensions/tests/data/refs/interp__bf1a5fd7b7c87a9e06cf0b9659d389ed.out new file mode 100644 index 0000000..c139806 --- /dev/null +++ b/share/extensions/tests/data/refs/interp__bf1a5fd7b7c87a9e06cf0b9659d389ed.out @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/interp_att_g__--id__c1__--id__c2__--id__c3__--att__style__fill.out b/share/extensions/tests/data/refs/interp_att_g__--id__c1__--id__c2__--id__c3__--att__style__fill.out new file mode 100644 index 0000000..9d7b9e9 --- /dev/null +++ b/share/extensions/tests/data/refs/interp_att_g__--id__c1__--id__c2__--id__c3__--att__style__fill.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__other__--att-other__width__--start-val__5__--end-val__10__--att-other-type__ValueInterpolator.out b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__other__--att-other__width__--start-val__5__--end-val__10__--att-other-type__ValueInterpolator.out new file mode 100644 index 0000000..55062d3 --- /dev/null +++ b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__other__--att-other__width__--start-val__5__--end-val__10__--att-other-type__ValueInterpolator.out @@ -0,0 +1,27 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__style__fill__--start-val____050505__--end-val____000000.out b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__style__fill__--start-val____050505__--end-val____000000.out new file mode 100644 index 0000000..272230f --- /dev/null +++ b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__style__fill__--start-val____050505__--end-val____000000.out @@ -0,0 +1,27 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__style__fill__--start-val____181818__--end-val____000000.out b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__style__fill__--start-val____181818__--end-val____000000.out new file mode 100644 index 0000000..8b968a3 --- /dev/null +++ b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__style__fill__--start-val____181818__--end-val____000000.out @@ -0,0 +1,27 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__transform__scale__--start-val__0__2__--end-val__0__9.out b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__transform__scale__--start-val__0__2__--end-val__0__9.out new file mode 100644 index 0000000..09bb63a --- /dev/null +++ b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__transform__scale__--start-val__0__2__--end-val__0__9.out @@ -0,0 +1,27 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__transform__trans-x__--start-val__0__--end-val__20.out b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__transform__trans-x__--start-val__0__--end-val__20.out new file mode 100644 index 0000000..4581433 --- /dev/null +++ b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__transform__trans-x__--start-val__0__--end-val__20.out @@ -0,0 +1,27 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__width__--start-val__0__02__--end-val__0__1__--unit__mm.out b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__width__--start-val__0__02__--end-val__0__1__--unit__mm.out new file mode 100644 index 0000000..7828cf3 --- /dev/null +++ b/share/extensions/tests/data/refs/interp_att_g__--id__g53__--att__width__--start-val__0__02__--end-val__0__1__--unit__mm.out @@ -0,0 +1,27 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/interp_att_g__--id__layer1__--att__style__fill.out b/share/extensions/tests/data/refs/interp_att_g__--id__layer1__--att__style__fill.out new file mode 100644 index 0000000..14044d2 --- /dev/null +++ b/share/extensions/tests/data/refs/interp_att_g__--id__layer1__--att__style__fill.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/interp_att_g__e692b471578dc63d4bf1ba375b8b650c.out b/share/extensions/tests/data/refs/interp_att_g__e692b471578dc63d4bf1ba375b8b650c.out new file mode 100644 index 0000000..5d405f1 --- /dev/null +++ b/share/extensions/tests/data/refs/interp_att_g__e692b471578dc63d4bf1ba375b8b650c.out @@ -0,0 +1,27 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jessyink_autotexts__--autoText__slideTitle__--id__t1.out b/share/extensions/tests/data/refs/jessyink_autotexts__--autoText__slideTitle__--id__t1.out new file mode 100644 index 0000000..acc2010 --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_autotexts__--autoText__slideTitle__--id__t1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jessyink_effects__--id__p1__--effectIn__fade__--effectOut__pop__--effectOutOrder__2.out b/share/extensions/tests/data/refs/jessyink_effects__--id__p1__--effectIn__fade__--effectOut__pop__--effectOutOrder__2.out new file mode 100644 index 0000000..e101ee3 --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_effects__--id__p1__--effectIn__fade__--effectOut__pop__--effectOutOrder__2.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/refs/jessyink_effects__--id__p1__--id__r3__--effectOutOrder__2.out b/share/extensions/tests/data/refs/jessyink_effects__--id__p1__--id__r3__--effectOutOrder__2.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/jessyink_export__--resolution__1__--type__png.out b/share/extensions/tests/data/refs/jessyink_export__--resolution__1__--type__png.out new file mode 100644 index 0000000..b9168de Binary files /dev/null and b/share/extensions/tests/data/refs/jessyink_export__--resolution__1__--type__png.out differ diff --git a/share/extensions/tests/data/refs/jessyink_install.out b/share/extensions/tests/data/refs/jessyink_install.out new file mode 100644 index 0000000..f9d81b7 --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_install.out @@ -0,0 +1,2766 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + // Copyright 2008, 2009 Hannes Hochreiner +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see http://www.gnu.org/licenses/. + +// Set onload event handler. +window.onload = jessyInkInit; + +// Creating a namespace dictionary. The standard Inkscape namespaces are taken from inkex.py. +var NSS = new Object(); +NSS['sodipodi']='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd'; +NSS['cc']='http://web.resource.org/cc/'; +NSS['svg']='http://www.w3.org/2000/svg'; +NSS['dc']='http://purl.org/dc/elements/1.1/'; +NSS['rdf']='http://www.w3.org/1999/02/22-rdf-syntax-ns#'; +NSS['inkscape']='http://www.inkscape.org/namespaces/inkscape'; +NSS['xlink']='http://www.w3.org/1999/xlink'; +NSS['xml']='http://www.w3.org/XML/1998/namespace'; +NSS['jessyink']='https://launchpad.net/jessyink'; + +// Keycodes. +var LEFT_KEY = 37; // cursor left keycode +var UP_KEY = 38; // cursor up keycode +var RIGHT_KEY = 39; // cursor right keycode +var DOWN_KEY = 40; // cursor down keycode +var PAGE_UP_KEY = 33; // page up keycode +var PAGE_DOWN_KEY = 34; // page down keycode +var HOME_KEY = 36; // home keycode +var END_KEY = 35; // end keycode +var ENTER_KEY = 13; // next slide +var SPACE_KEY = 32; +var ESCAPE_KEY = 27; + +// Presentation modes. +var SLIDE_MODE = 1; +var INDEX_MODE = 2; +var DRAWING_MODE = 3; + +// Mouse handler actions. +var MOUSE_UP = 1; +var MOUSE_DOWN = 2; +var MOUSE_MOVE = 3; +var MOUSE_WHEEL = 4; + +// Parameters. +var ROOT_NODE = document.getElementsByTagNameNS(NSS["svg"], "svg")[0]; +var HEIGHT = 0; +var WIDTH = 0; +var INDEX_COLUMNS_DEFAULT = 4; +var INDEX_COLUMNS = INDEX_COLUMNS_DEFAULT; +var INDEX_OFFSET = 0; +var STATE_START = -1; +var STATE_END = -2; +var BACKGROUND_COLOR = null; +var slides = new Array(); + +// Initialisation. +var currentMode = SLIDE_MODE; +var masterSlide = null; +var activeSlide = 0; +var activeEffect = 0; +var timeStep = 30; // 40 ms equal 25 frames per second. +var lastFrameTime = null; +var processingEffect = false; +var transCounter = 0; +var effectArray = 0; +var defaultTransitionInDict = new Object(); +defaultTransitionInDict["name"] = "appear"; +var defaultTransitionOutDict = new Object(); +defaultTransitionOutDict["name"] = "appear"; +var jessyInkInitialised = false; + +// Initialise char and key code dictionaries. +var charCodeDictionary = getDefaultCharCodeDictionary(); +var keyCodeDictionary = getDefaultKeyCodeDictionary(); + +// Initialise mouse handler dictionary. +var mouseHandlerDictionary = getDefaultMouseHandlerDictionary(); + +var progress_bar_visible = false; +var timer_elapsed = 0; +var timer_start = timer_elapsed; +var timer_duration = 15; // 15 minutes + +var history_counter = 0; +var history_original_elements = new Array(); +var history_presentation_elements = new Array(); + +var mouse_original_path = null; +var mouse_presentation_path = null; +var mouse_last_x = -1; +var mouse_last_y = -1; +var mouse_min_dist_sqr = 3 * 3; +var path_colour = "red"; +var path_width_default = 3; +var path_width = path_width_default; +var path_paint_width = path_width; + +var number_of_added_slides = 0; + +/** Initialisation function. + * The whole presentation is set-up in this function. + */ +function jessyInkInit() +{ + // Make sure we only execute this code once. Double execution can occur if the onload event handler is set + // in the main svg tag as well (as was recommended in earlier versions). Executing this function twice does + // not lead to any problems, but it takes more time. + if (jessyInkInitialised) + return; + + // Making the presentation scalable. + var VIEWBOX = ROOT_NODE.getAttribute("viewBox"); + + if (VIEWBOX) + { + WIDTH = ROOT_NODE.viewBox.animVal.width; + HEIGHT = ROOT_NODE.viewBox.animVal.height; + } + else + { + HEIGHT = parseFloat(ROOT_NODE.getAttribute("height")); + WIDTH = parseFloat(ROOT_NODE.getAttribute("width")); + ROOT_NODE.setAttribute("viewBox", "0 0 " + WIDTH + " " + HEIGHT); + } + + ROOT_NODE.setAttribute("width", "100%"); + ROOT_NODE.setAttribute("height", "100%"); + + // Setting the background color. + var namedViews = document.getElementsByTagNameNS(NSS["sodipodi"], "namedview"); + + for (var counter = 0; counter < namedViews.length; counter++) + { + if (namedViews[counter].hasAttribute("id") && namedViews[counter].hasAttribute("pagecolor")) + { + if (namedViews[counter].getAttribute("id") == "base") + { + BACKGROUND_COLOR = namedViews[counter].getAttribute("pagecolor"); + var newAttribute = "background-color:" + BACKGROUND_COLOR + ";"; + + if (ROOT_NODE.hasAttribute("style")) + newAttribute += ROOT_NODE.getAttribute("style"); + + ROOT_NODE.setAttribute("style", newAttribute); + } + } + } + + // Defining clip-path. + var defsNodes = document.getElementsByTagNameNS(NSS["svg"], "defs"); + + if (defsNodes.length > 0) + { + var existingClipPath = document.getElementById("jessyInkSlideClipPath"); + + if (!existingClipPath) + { + var rectNode = document.createElementNS(NSS["svg"], "rect"); + var clipPath = document.createElementNS(NSS["svg"], "clipPath"); + + rectNode.setAttribute("x", 0); + rectNode.setAttribute("y", 0); + rectNode.setAttribute("width", WIDTH); + rectNode.setAttribute("height", HEIGHT); + + clipPath.setAttribute("id", "jessyInkSlideClipPath"); + clipPath.setAttribute("clipPathUnits", "userSpaceOnUse"); + + clipPath.appendChild(rectNode); + defsNodes[0].appendChild(clipPath); + } + } + + // Making a list of the slide and finding the master slide. + var nodes = document.getElementsByTagNameNS(NSS["svg"], "g"); + var tempSlides = new Array(); + var existingJessyInkPresentationLayer = null; + + for (var counter = 0; counter < nodes.length; counter++) + { + if (nodes[counter].getAttributeNS(NSS["inkscape"], "groupmode") && (nodes[counter].getAttributeNS(NSS["inkscape"], "groupmode") == "layer")) + { + if (nodes[counter].getAttributeNS(NSS["inkscape"], "label") && nodes[counter].getAttributeNS(NSS["jessyink"], "masterSlide") == "masterSlide") + masterSlide = nodes[counter]; + else if (nodes[counter].getAttributeNS(NSS["inkscape"], "label") && nodes[counter].getAttributeNS(NSS["jessyink"], "presentationLayer") == "presentationLayer") + existingJessyInkPresentationLayer = nodes[counter]; + else + tempSlides.push(nodes[counter].getAttribute("id")); + } + else if (nodes[counter].getAttributeNS(NSS['jessyink'], 'element')) + { + handleElement(nodes[counter]); + } + } + + // Hide master slide set default transitions. + if (masterSlide) + { + masterSlide.style.display = "none"; + + if (masterSlide.hasAttributeNS(NSS["jessyink"], "transitionIn")) + defaultTransitionInDict = propStrToDict(masterSlide.getAttributeNS(NSS["jessyink"], "transitionIn")); + + if (masterSlide.hasAttributeNS(NSS["jessyink"], "transitionOut")) + defaultTransitionOutDict = propStrToDict(masterSlide.getAttributeNS(NSS["jessyink"], "transitionOut")); + } + + if (existingJessyInkPresentationLayer != null) + { + existingJessyInkPresentationLayer.parentNode.removeChild(existingJessyInkPresentationLayer); + } + + // Set start slide. + var hashObj = new LocationHash(window.location.hash); + + activeSlide = hashObj.slideNumber; + activeEffect = hashObj.effectNumber; + + if (activeSlide < 0) + activeSlide = 0; + else if (activeSlide >= tempSlides.length) + activeSlide = tempSlides.length - 1; + + var originalNode = document.getElementById(tempSlides[counter]); + + var JessyInkPresentationLayer = document.createElementNS(NSS["svg"], "g"); + JessyInkPresentationLayer.setAttributeNS(NSS["inkscape"], "groupmode", "layer"); + JessyInkPresentationLayer.setAttributeNS(NSS["inkscape"], "label", "JessyInk Presentation Layer"); + JessyInkPresentationLayer.setAttributeNS(NSS["jessyink"], "presentationLayer", "presentationLayer"); + JessyInkPresentationLayer.setAttribute("id", "jessyink_presentation_layer"); + JessyInkPresentationLayer.style.display = "inherit"; + ROOT_NODE.appendChild(JessyInkPresentationLayer); + + // Gathering all the information about the transitions and effects of the slides, set the background + // from the master slide and substitute the auto-texts. + for (var counter = 0; counter < tempSlides.length; counter++) + { + var originalNode = document.getElementById(tempSlides[counter]); + originalNode.style.display = "none"; + var node = suffixNodeIds(originalNode.cloneNode(true), "_" + counter); + JessyInkPresentationLayer.appendChild(node); + slides[counter] = new Object(); + slides[counter]["original_element"] = originalNode; + slides[counter]["element"] = node; + + // Set build in transition. + slides[counter]["transitionIn"] = new Object(); + + var dict; + + if (node.hasAttributeNS(NSS["jessyink"], "transitionIn")) + dict = propStrToDict(node.getAttributeNS(NSS["jessyink"], "transitionIn")); + else + dict = defaultTransitionInDict; + + slides[counter]["transitionIn"]["name"] = dict["name"]; + slides[counter]["transitionIn"]["options"] = new Object(); + + for (key in dict) + if (key != "name") + slides[counter]["transitionIn"]["options"][key] = dict[key]; + + // Set build out transition. + slides[counter]["transitionOut"] = new Object(); + + if (node.hasAttributeNS(NSS["jessyink"], "transitionOut")) + dict = propStrToDict(node.getAttributeNS(NSS["jessyink"], "transitionOut")); + else + dict = defaultTransitionOutDict; + + slides[counter]["transitionOut"]["name"] = dict["name"]; + slides[counter]["transitionOut"]["options"] = new Object(); + + for (key in dict) + if (key != "name") + slides[counter]["transitionOut"]["options"][key] = dict[key]; + + // Copy master slide content. + if (masterSlide) + { + var clonedNode = suffixNodeIds(masterSlide.cloneNode(true), "_" + counter); + clonedNode.removeAttributeNS(NSS["inkscape"], "groupmode"); + clonedNode.removeAttributeNS(NSS["inkscape"], "label"); + clonedNode.style.display = "inherit"; + + node.insertBefore(clonedNode, node.firstChild); + } + + // Setting clip path. + node.setAttribute("clip-path", "url(#jessyInkSlideClipPath)"); + + // Substitute auto texts. + substituteAutoTexts(node, node.getAttributeNS(NSS["inkscape"], "label"), counter + 1, tempSlides.length); + + node.removeAttributeNS(NSS["inkscape"], "groupmode"); + node.removeAttributeNS(NSS["inkscape"], "label"); + + // Set effects. + var tempEffects = new Array(); + var groups = new Object(); + + for (var IOCounter = 0; IOCounter <= 1; IOCounter++) + { + var propName = ""; + var dir = 0; + + if (IOCounter == 0) + { + propName = "effectIn"; + dir = 1; + } + else if (IOCounter == 1) + { + propName = "effectOut"; + dir = -1; + } + + var effects = getElementsByPropertyNS(node, NSS["jessyink"], propName); + + for (var effectCounter = 0; effectCounter < effects.length; effectCounter++) + { + var element = document.getElementById(effects[effectCounter]); + var dict = propStrToDict(element.getAttributeNS(NSS["jessyink"], propName)); + + // Put every element that has an effect associated with it, into its own group. + // Unless of course, we already put it into its own group. + if (!(groups[element.id])) + { + var newGroup = document.createElementNS(NSS["svg"], "g"); + + element.parentNode.insertBefore(newGroup, element); + newGroup.appendChild(element.parentNode.removeChild(element)); + groups[element.id] = newGroup; + } + + var effectDict = new Object(); + + effectDict["effect"] = dict["name"]; + effectDict["dir"] = dir; + effectDict["element"] = groups[element.id]; + + for (var option in dict) + { + if ((option != "name") && (option != "order")) + { + if (!effectDict["options"]) + effectDict["options"] = new Object(); + + effectDict["options"][option] = dict[option]; + } + } + + if (!tempEffects[dict["order"]]) + tempEffects[dict["order"]] = new Array(); + + tempEffects[dict["order"]][tempEffects[dict["order"]].length] = effectDict; + } + } + + // Make invisible, but keep in rendering tree to ensure that bounding box can be calculated. + node.setAttribute("opacity",0); + node.style.display = "inherit"; + + // Create a transform group. + var transformGroup = document.createElementNS(NSS["svg"], "g"); + + // Add content to transform group. + while (node.firstChild) + transformGroup.appendChild(node.firstChild); + + // Transfer the transform attribute from the node to the transform group. + if (node.getAttribute("transform")) + { + transformGroup.setAttribute("transform", node.getAttribute("transform")); + node.removeAttribute("transform"); + } + + // Create a view group. + var viewGroup = document.createElementNS(NSS["svg"], "g"); + + viewGroup.appendChild(transformGroup); + slides[counter]["viewGroup"] = node.appendChild(viewGroup); + + // Insert background. + if (BACKGROUND_COLOR != null) + { + var rectNode = document.createElementNS(NSS["svg"], "rect"); + + rectNode.setAttribute("x", 0); + rectNode.setAttribute("y", 0); + rectNode.setAttribute("width", WIDTH); + rectNode.setAttribute("height", HEIGHT); + rectNode.setAttribute("id", "jessyInkBackground" + counter); + rectNode.setAttribute("fill", BACKGROUND_COLOR); + + slides[counter]["viewGroup"].insertBefore(rectNode, slides[counter]["viewGroup"].firstChild); + } + + // Set views. + var tempViews = new Array(); + var views = getElementsByPropertyNS(node, NSS["jessyink"], "view"); + var matrixOld = (new matrixSVG()).fromElements(1, 0, 0, 0, 1, 0, 0, 0, 1); + + // Set initial view even if there are no other views. + slides[counter]["viewGroup"].setAttribute("transform", matrixOld.toAttribute()); + slides[counter].initialView = matrixOld.toAttribute(); + + for (var viewCounter = 0; viewCounter < views.length; viewCounter++) + { + var element = document.getElementById(views[viewCounter]); + var dict = propStrToDict(element.getAttributeNS(NSS["jessyink"], "view")); + + if (dict["order"] == 0) + { + matrixOld = pointMatrixToTransformation(rectToMatrix(element)).mult((new matrixSVG()).fromSVGMatrix(slides[counter].viewGroup.getScreenCTM()).inv().mult((new matrixSVG()).fromSVGMatrix(element.parentNode.getScreenCTM())).inv()); + slides[counter].initialView = matrixOld.toAttribute(); + } + else + { + var effectDict = new Object(); + + effectDict["effect"] = dict["name"]; + effectDict["dir"] = 1; + effectDict["element"] = slides[counter]["viewGroup"]; + effectDict["order"] = dict["order"]; + + for (var option in dict) + { + if ((option != "name") && (option != "order")) + { + if (!effectDict["options"]) + effectDict["options"] = new Object(); + + effectDict["options"][option] = dict[option]; + } + } + + effectDict["options"]["matrixNew"] = pointMatrixToTransformation(rectToMatrix(element)).mult((new matrixSVG()).fromSVGMatrix(slides[counter].viewGroup.getScreenCTM()).inv().mult((new matrixSVG()).fromSVGMatrix(element.parentNode.getScreenCTM())).inv()); + + tempViews[dict["order"]] = effectDict; + } + + // Remove element. + element.parentNode.removeChild(element); + } + + // Consolidate view array and append it to the effect array. + if (tempViews.length > 0) + { + for (var viewCounter = 0; viewCounter < tempViews.length; viewCounter++) + { + if (tempViews[viewCounter]) + { + tempViews[viewCounter]["options"]["matrixOld"] = matrixOld; + matrixOld = tempViews[viewCounter]["options"]["matrixNew"]; + + if (!tempEffects[tempViews[viewCounter]["order"]]) + tempEffects[tempViews[viewCounter]["order"]] = new Array(); + + tempEffects[tempViews[viewCounter]["order"]][tempEffects[tempViews[viewCounter]["order"]].length] = tempViews[viewCounter]; + } + } + } + + // Set consolidated effect array. + if (tempEffects.length > 0) + { + slides[counter]["effects"] = new Array(); + + for (var effectCounter = 0; effectCounter < tempEffects.length; effectCounter++) + { + if (tempEffects[effectCounter]) + slides[counter]["effects"][slides[counter]["effects"].length] = tempEffects[effectCounter]; + } + } + + node.setAttribute("onmouseover", "if ((currentMode == INDEX_MODE) && ( activeSlide != " + counter + ")) { indexSetActiveSlide(" + counter + "); };"); + + // Set visibility for initial state. + if (counter == activeSlide) + { + node.style.display = "inherit"; + node.setAttribute("opacity",1); + } + else + { + node.style.display = "none"; + node.setAttribute("opacity",0); + } + } + + // Set key handler. + var jessyInkObjects = document.getElementsByTagNameNS(NSS["svg"], "g"); + + for (var counter = 0; counter < jessyInkObjects.length; counter++) + { + var elem = jessyInkObjects[counter]; + + if (elem.getAttributeNS(NSS["jessyink"], "customKeyBindings")) + { + if (elem.getCustomKeyBindings != undefined) + keyCodeDictionary = elem.getCustomKeyBindings(); + + if (elem.getCustomCharBindings != undefined) + charCodeDictionary = elem.getCustomCharBindings(); + } + } + + // Set mouse handler. + var jessyInkMouseHandler = document.getElementsByTagNameNS(NSS["jessyink"], "mousehandler"); + + for (var counter = 0; counter < jessyInkMouseHandler.length; counter++) + { + var elem = jessyInkMouseHandler[counter]; + + if (elem.getMouseHandler != undefined) + { + var tempDict = elem.getMouseHandler(); + + for (mode in tempDict) + { + if (!mouseHandlerDictionary[mode]) + mouseHandlerDictionary[mode] = new Object(); + + for (handler in tempDict[mode]) + mouseHandlerDictionary[mode][handler] = tempDict[mode][handler]; + } + } + } + + // Check effect number. + if ((activeEffect < 0) || (!slides[activeSlide].effects)) + { + activeEffect = 0; + } + else if (activeEffect > slides[activeSlide].effects.length) + { + activeEffect = slides[activeSlide].effects.length; + } + + createProgressBar(JessyInkPresentationLayer); + hideProgressBar(); + setProgressBarValue(activeSlide); + setTimeIndicatorValue(0); + setInterval("updateTimer()", 1000); + setSlideToState(activeSlide, activeEffect); + jessyInkInitialised = true; +} + +/** Function to substitute the auto-texts. + * + * @param node the node + * @param slideName name of the slide the node is on + * @param slideNumber number of the slide the node is on + * @param numberOfSlides number of slides in the presentation + */ +function substituteAutoTexts(node, slideName, slideNumber, numberOfSlides) +{ + var texts = node.getElementsByTagNameNS(NSS["svg"], "tspan"); + + for (var textCounter = 0; textCounter < texts.length; textCounter++) + { + if (texts[textCounter].getAttributeNS(NSS["jessyink"], "autoText") == "slideNumber") + texts[textCounter].firstChild.nodeValue = slideNumber; + else if (texts[textCounter].getAttributeNS(NSS["jessyink"], "autoText") == "numberOfSlides") + texts[textCounter].firstChild.nodeValue = numberOfSlides; + else if (texts[textCounter].getAttributeNS(NSS["jessyink"], "autoText") == "slideTitle") + texts[textCounter].firstChild.nodeValue = slideName; + } +} + +/** Convenience function to get an element depending on whether it has a property with a particular name. + * This function emulates some dearly missed XPath functionality. + * + * @param node the node + * @param namespace namespace of the attribute + * @param name attribute name + */ +function getElementsByPropertyNS(node, namespace, name) +{ + var elems = new Array(); + + if (node.getAttributeNS(namespace, name)) + elems.push(node.getAttribute("id")); + + for (var counter = 0; counter < node.childNodes.length; counter++) + { + if (node.childNodes[counter].nodeType == 1) + elems = elems.concat(getElementsByPropertyNS(node.childNodes[counter], namespace, name)); + } + + return elems; +} + +/** Function to dispatch the next effect, if there is none left, change the slide. + * + * @param dir direction of the change (1 = forwards, -1 = backwards) + */ +function dispatchEffects(dir) +{ + if (slides[activeSlide]["effects"] && (((dir == 1) && (activeEffect < slides[activeSlide]["effects"].length)) || ((dir == -1) && (activeEffect > 0)))) + { + processingEffect = true; + + if (dir == 1) + { + effectArray = slides[activeSlide]["effects"][activeEffect]; + activeEffect += dir; + } + else if (dir == -1) + { + activeEffect += dir; + effectArray = slides[activeSlide]["effects"][activeEffect]; + } + + transCounter = 0; + startTime = (new Date()).getTime(); + lastFrameTime = null; + effect(dir); + } + else if (((dir == 1) && (activeSlide < (slides.length - 1))) || (((dir == -1) && (activeSlide > 0)))) + { + changeSlide(dir); + } +} + +/** Function to skip effects and directly either put the slide into start or end state or change slides. + * + * @param dir direction of the change (1 = forwards, -1 = backwards) + */ +function skipEffects(dir) +{ + if (slides[activeSlide]["effects"] && (((dir == 1) && (activeEffect < slides[activeSlide]["effects"].length)) || ((dir == -1) && (activeEffect > 0)))) + { + processingEffect = true; + + if (slides[activeSlide]["effects"] && (dir == 1)) + activeEffect = slides[activeSlide]["effects"].length; + else + activeEffect = 0; + + if (dir == 1) + setSlideToState(activeSlide, STATE_END); + else + setSlideToState(activeSlide, STATE_START); + + processingEffect = false; + } + else if (((dir == 1) && (activeSlide < (slides.length - 1))) || (((dir == -1) && (activeSlide > 0)))) + { + changeSlide(dir); + } +} + +/** Function to change between slides. + * + * @param dir direction (1 = forwards, -1 = backwards) + */ +function changeSlide(dir) +{ + processingEffect = true; + effectArray = new Array(); + + effectArray[0] = new Object(); + if (dir == 1) + { + effectArray[0]["effect"] = slides[activeSlide]["transitionOut"]["name"]; + effectArray[0]["options"] = slides[activeSlide]["transitionOut"]["options"]; + effectArray[0]["dir"] = -1; + } + else if (dir == -1) + { + effectArray[0]["effect"] = slides[activeSlide]["transitionIn"]["name"]; + effectArray[0]["options"] = slides[activeSlide]["transitionIn"]["options"]; + effectArray[0]["dir"] = 1; + } + effectArray[0]["element"] = slides[activeSlide]["element"]; + + activeSlide += dir; + setProgressBarValue(activeSlide); + + effectArray[1] = new Object(); + + if (dir == 1) + { + effectArray[1]["effect"] = slides[activeSlide]["transitionIn"]["name"]; + effectArray[1]["options"] = slides[activeSlide]["transitionIn"]["options"]; + effectArray[1]["dir"] = 1; + } + else if (dir == -1) + { + effectArray[1]["effect"] = slides[activeSlide]["transitionOut"]["name"]; + effectArray[1]["options"] = slides[activeSlide]["transitionOut"]["options"]; + effectArray[1]["dir"] = -1; + } + + effectArray[1]["element"] = slides[activeSlide]["element"]; + + if (slides[activeSlide]["effects"] && (dir == -1)) + activeEffect = slides[activeSlide]["effects"].length; + else + activeEffect = 0; + + if (dir == -1) + setSlideToState(activeSlide, STATE_END); + else + setSlideToState(activeSlide, STATE_START); + + transCounter = 0; + startTime = (new Date()).getTime(); + lastFrameTime = null; + effect(dir); +} + +/** Function to toggle between index and slide mode. +*/ +function toggleSlideIndex() +{ + var suspendHandle = ROOT_NODE.suspendRedraw(500); + + if (currentMode == SLIDE_MODE) + { + hideProgressBar(); + INDEX_OFFSET = -1; + indexSetPageSlide(activeSlide); + currentMode = INDEX_MODE; + } + else if (currentMode == INDEX_MODE) + { + for (var counter = 0; counter < slides.length; counter++) + { + slides[counter]["element"].setAttribute("transform","scale(1)"); + + if (counter == activeSlide) + { + slides[counter]["element"].style.display = "inherit"; + slides[counter]["element"].setAttribute("opacity",1); + activeEffect = 0; + } + else + { + slides[counter]["element"].setAttribute("opacity",0); + slides[counter]["element"].style.display = "none"; + } + } + currentMode = SLIDE_MODE; + setSlideToState(activeSlide, STATE_START); + setProgressBarValue(activeSlide); + + if (progress_bar_visible) + { + showProgressBar(); + } + } + + ROOT_NODE.unsuspendRedraw(suspendHandle); + ROOT_NODE.forceRedraw(); +} + +/** Function to run an effect. + * + * @param dir direction in which to play the effect (1 = forwards, -1 = backwards) + */ +function effect(dir) +{ + var done = true; + + var suspendHandle = ROOT_NODE.suspendRedraw(200); + + for (var counter = 0; counter < effectArray.length; counter++) + { + if (effectArray[counter]["effect"] == "fade") + done &= fade(parseInt(effectArray[counter]["dir"]) * dir, effectArray[counter]["element"], transCounter, effectArray[counter]["options"]); + else if (effectArray[counter]["effect"] == "appear") + done &= appear(parseInt(effectArray[counter]["dir"]) * dir, effectArray[counter]["element"], transCounter, effectArray[counter]["options"]); + else if (effectArray[counter]["effect"] == "pop") + done &= pop(parseInt(effectArray[counter]["dir"]) * dir, effectArray[counter]["element"], transCounter, effectArray[counter]["options"]); + else if (effectArray[counter]["effect"] == "view") + done &= view(parseInt(effectArray[counter]["dir"]) * dir, effectArray[counter]["element"], transCounter, effectArray[counter]["options"]); + } + + ROOT_NODE.unsuspendRedraw(suspendHandle); + ROOT_NODE.forceRedraw(); + + if (!done) + { + var currentTime = (new Date()).getTime(); + var timeDiff = 1; + + transCounter = currentTime - startTime; + + if (lastFrameTime != null) + { + timeDiff = timeStep - (currentTime - lastFrameTime); + + if (timeDiff <= 0) + timeDiff = 1; + } + + lastFrameTime = currentTime; + + window.setTimeout("effect(" + dir + ")", timeDiff); + } + else + { + window.location.hash = (activeSlide + 1) + '_' + activeEffect; + processingEffect = false; + } +} + +/** Function to display the index sheet. + * + * @param offsetNumber offset number + */ +function displayIndex(offsetNumber) +{ + var offsetX = 0; + var offsetY = 0; + + if (offsetNumber < 0) + offsetNumber = 0; + else if (offsetNumber >= slides.length) + offsetNumber = slides.length - 1; + + for (var counter = 0; counter < slides.length; counter++) + { + if ((counter < offsetNumber) || (counter > offsetNumber + INDEX_COLUMNS * INDEX_COLUMNS - 1)) + { + slides[counter]["element"].setAttribute("opacity",0); + slides[counter]["element"].style.display = "none"; + } + else + { + offsetX = ((counter - offsetNumber) % INDEX_COLUMNS) * WIDTH; + offsetY = Math.floor((counter - offsetNumber) / INDEX_COLUMNS) * HEIGHT; + + slides[counter]["element"].setAttribute("transform","scale("+1/INDEX_COLUMNS+") translate("+offsetX+","+offsetY+")"); + slides[counter]["element"].style.display = "inherit"; + slides[counter]["element"].setAttribute("opacity",0.5); + } + + setSlideToState(counter, STATE_END); + } + + //do we need to save the current offset? + if (INDEX_OFFSET != offsetNumber) + INDEX_OFFSET = offsetNumber; +} + +/** Function to set the active slide in the slide view. + * + * @param nbr index of the active slide + */ +function slideSetActiveSlide(nbr) +{ + if (nbr >= slides.length) + nbr = slides.length - 1; + else if (nbr < 0) + nbr = 0; + + slides[activeSlide]["element"].setAttribute("opacity",0); + slides[activeSlide]["element"].style.display = "none"; + + activeSlide = parseInt(nbr); + + setSlideToState(activeSlide, STATE_START); + slides[activeSlide]["element"].style.display = "inherit"; + slides[activeSlide]["element"].setAttribute("opacity",1); + + activeEffect = 0; + setProgressBarValue(nbr); +} + +/** Function to set the active slide in the index view. + * + * @param nbr index of the active slide + */ +function indexSetActiveSlide(nbr) +{ + if (nbr >= slides.length) + nbr = slides.length - 1; + else if (nbr < 0) + nbr = 0; + + slides[activeSlide]["element"].setAttribute("opacity",0.5); + + activeSlide = parseInt(nbr); + window.location.hash = (activeSlide + 1) + '_0'; + + slides[activeSlide]["element"].setAttribute("opacity",1); +} + +/** Function to set the page and active slide in index view. + * + * @param nbr index of the active slide + * + * NOTE: To force a redraw, + * set INDEX_OFFSET to -1 before calling indexSetPageSlide(). + * + * This is necessary for zooming (otherwise the index might not + * get redrawn) and when switching to index mode. + * + * INDEX_OFFSET = -1 + * indexSetPageSlide(activeSlide); + */ +function indexSetPageSlide(nbr) +{ + if (nbr >= slides.length) + nbr = slides.length - 1; + else if (nbr < 0) + nbr = 0; + + //calculate the offset + var offset = nbr - nbr % (INDEX_COLUMNS * INDEX_COLUMNS); + + if (offset < 0) + offset = 0; + + //if different from kept offset, then record and change the page + if (offset != INDEX_OFFSET) + { + INDEX_OFFSET = offset; + displayIndex(INDEX_OFFSET); + } + + //set the active slide + indexSetActiveSlide(nbr); +} + +/** Event handler for key press. + * + * @param e the event + */ +function keydown(e) +{ + if (!e) + e = window.event; + + code = e.keyCode || e.charCode; + + if (!processingEffect && keyCodeDictionary[currentMode] && keyCodeDictionary[currentMode][code]) + return keyCodeDictionary[currentMode][code](); + else + document.onkeypress = keypress; +} +// Set event handler for key down. +document.onkeydown = keydown; + +/** Event handler for key press. + * + * @param e the event + */ +function keypress(e) +{ + document.onkeypress = null; + + if (!e) + e = window.event; + + str = String.fromCharCode(e.keyCode || e.charCode); + + if (!processingEffect && charCodeDictionary[currentMode] && charCodeDictionary[currentMode][str]) + return charCodeDictionary[currentMode][str](); +} + +/** Function to supply the default char code dictionary. + * + * @returns default char code dictionary + */ +function getDefaultCharCodeDictionary() +{ + var charCodeDict = new Object(); + + charCodeDict[SLIDE_MODE] = new Object(); + charCodeDict[INDEX_MODE] = new Object(); + charCodeDict[DRAWING_MODE] = new Object(); + + charCodeDict[SLIDE_MODE]["i"] = function () { return toggleSlideIndex(); }; + charCodeDict[SLIDE_MODE]["d"] = function () { return slideSwitchToDrawingMode(); }; + charCodeDict[SLIDE_MODE]["D"] = function () { return slideQueryDuration(); }; + charCodeDict[SLIDE_MODE]["n"] = function () { return slideAddSlide(activeSlide); }; + charCodeDict[SLIDE_MODE]["p"] = function () { return slideToggleProgressBarVisibility(); }; + charCodeDict[SLIDE_MODE]["t"] = function () { return slideResetTimer(); }; + charCodeDict[SLIDE_MODE]["e"] = function () { return slideUpdateExportLayer(); }; + + charCodeDict[DRAWING_MODE]["d"] = function () { return drawingSwitchToSlideMode(); }; + charCodeDict[DRAWING_MODE]["0"] = function () { return drawingResetPathWidth(); }; + charCodeDict[DRAWING_MODE]["1"] = function () { return drawingSetPathWidth(1.0); }; + charCodeDict[DRAWING_MODE]["3"] = function () { return drawingSetPathWidth(3.0); }; + charCodeDict[DRAWING_MODE]["5"] = function () { return drawingSetPathWidth(5.0); }; + charCodeDict[DRAWING_MODE]["7"] = function () { return drawingSetPathWidth(7.0); }; + charCodeDict[DRAWING_MODE]["9"] = function () { return drawingSetPathWidth(9.0); }; + charCodeDict[DRAWING_MODE]["b"] = function () { return drawingSetPathColour("blue"); }; + charCodeDict[DRAWING_MODE]["c"] = function () { return drawingSetPathColour("cyan"); }; + charCodeDict[DRAWING_MODE]["g"] = function () { return drawingSetPathColour("green"); }; + charCodeDict[DRAWING_MODE]["k"] = function () { return drawingSetPathColour("black"); }; + charCodeDict[DRAWING_MODE]["m"] = function () { return drawingSetPathColour("magenta"); }; + charCodeDict[DRAWING_MODE]["o"] = function () { return drawingSetPathColour("orange"); }; + charCodeDict[DRAWING_MODE]["r"] = function () { return drawingSetPathColour("red"); }; + charCodeDict[DRAWING_MODE]["w"] = function () { return drawingSetPathColour("white"); }; + charCodeDict[DRAWING_MODE]["y"] = function () { return drawingSetPathColour("yellow"); }; + charCodeDict[DRAWING_MODE]["z"] = function () { return drawingUndo(); }; + + charCodeDict[INDEX_MODE]["i"] = function () { return toggleSlideIndex(); }; + charCodeDict[INDEX_MODE]["-"] = function () { return indexDecreaseNumberOfColumns(); }; + charCodeDict[INDEX_MODE]["="] = function () { return indexIncreaseNumberOfColumns(); }; + charCodeDict[INDEX_MODE]["+"] = function () { return indexIncreaseNumberOfColumns(); }; + charCodeDict[INDEX_MODE]["0"] = function () { return indexResetNumberOfColumns(); }; + + return charCodeDict; +} + +/** Function to supply the default key code dictionary. + * + * @returns default key code dictionary + */ +function getDefaultKeyCodeDictionary() +{ + var keyCodeDict = new Object(); + + keyCodeDict[SLIDE_MODE] = new Object(); + keyCodeDict[INDEX_MODE] = new Object(); + keyCodeDict[DRAWING_MODE] = new Object(); + + keyCodeDict[SLIDE_MODE][LEFT_KEY] = function() { return dispatchEffects(-1); }; + keyCodeDict[SLIDE_MODE][RIGHT_KEY] = function() { return dispatchEffects(1); }; + keyCodeDict[SLIDE_MODE][UP_KEY] = function() { return skipEffects(-1); }; + keyCodeDict[SLIDE_MODE][DOWN_KEY] = function() { return skipEffects(1); }; + keyCodeDict[SLIDE_MODE][PAGE_UP_KEY] = function() { return dispatchEffects(-1); }; + keyCodeDict[SLIDE_MODE][PAGE_DOWN_KEY] = function() { return dispatchEffects(1); }; + keyCodeDict[SLIDE_MODE][HOME_KEY] = function() { return slideSetActiveSlide(0); }; + keyCodeDict[SLIDE_MODE][END_KEY] = function() { return slideSetActiveSlide(slides.length - 1); }; + keyCodeDict[SLIDE_MODE][SPACE_KEY] = function() { return dispatchEffects(1); }; + + keyCodeDict[INDEX_MODE][LEFT_KEY] = function() { return indexSetPageSlide(activeSlide - 1); }; + keyCodeDict[INDEX_MODE][RIGHT_KEY] = function() { return indexSetPageSlide(activeSlide + 1); }; + keyCodeDict[INDEX_MODE][UP_KEY] = function() { return indexSetPageSlide(activeSlide - INDEX_COLUMNS); }; + keyCodeDict[INDEX_MODE][DOWN_KEY] = function() { return indexSetPageSlide(activeSlide + INDEX_COLUMNS); }; + keyCodeDict[INDEX_MODE][PAGE_UP_KEY] = function() { return indexSetPageSlide(activeSlide - INDEX_COLUMNS * INDEX_COLUMNS); }; + keyCodeDict[INDEX_MODE][PAGE_DOWN_KEY] = function() { return indexSetPageSlide(activeSlide + INDEX_COLUMNS * INDEX_COLUMNS); }; + keyCodeDict[INDEX_MODE][HOME_KEY] = function() { return indexSetPageSlide(0); }; + keyCodeDict[INDEX_MODE][END_KEY] = function() { return indexSetPageSlide(slides.length - 1); }; + keyCodeDict[INDEX_MODE][ENTER_KEY] = function() { return toggleSlideIndex(); }; + + keyCodeDict[DRAWING_MODE][ESCAPE_KEY] = function () { return drawingSwitchToSlideMode(); }; + + return keyCodeDict; +} + +/** Function to handle all mouse events. + * + * @param evnt event + * @param action type of event (e.g. mouse up, mouse wheel) + */ +function mouseHandlerDispatch(evnt, action) +{ + if (!evnt) + evnt = window.event; + + var retVal = true; + + if (!processingEffect && mouseHandlerDictionary[currentMode] && mouseHandlerDictionary[currentMode][action]) + { + var subRetVal = mouseHandlerDictionary[currentMode][action](evnt); + + if (subRetVal != null && subRetVal != undefined) + retVal = subRetVal; + } + + if (evnt.preventDefault && !retVal) + evnt.preventDefault(); + + evnt.returnValue = retVal; + + return retVal; +} + +// Set mouse event handler. +document.onmousedown = function(e) { return mouseHandlerDispatch(e, MOUSE_DOWN); }; +document.onmouseup = function(e) { return mouseHandlerDispatch(e, MOUSE_UP); }; +document.onmousemove = function(e) { return mouseHandlerDispatch(e, MOUSE_MOVE); }; + +// Moz +if (window.addEventListener) +{ + window.addEventListener('DOMMouseScroll', function(e) { return mouseHandlerDispatch(e, MOUSE_WHEEL); }, false); +} + +// Opera Safari OK - may not work in IE +window.onmousewheel = function(e) { return mouseHandlerDispatch(e, MOUSE_WHEEL); }; + +/** Function to supply the default mouse handler dictionary. + * + * @returns default mouse handler dictionary + */ +function getDefaultMouseHandlerDictionary() +{ + var mouseHandlerDict = new Object(); + + mouseHandlerDict[SLIDE_MODE] = new Object(); + mouseHandlerDict[INDEX_MODE] = new Object(); + mouseHandlerDict[DRAWING_MODE] = new Object(); + + mouseHandlerDict[SLIDE_MODE][MOUSE_DOWN] = function(evnt) { return dispatchEffects(1); }; + mouseHandlerDict[SLIDE_MODE][MOUSE_WHEEL] = function(evnt) { return slideMousewheel(evnt); }; + + mouseHandlerDict[INDEX_MODE][MOUSE_DOWN] = function(evnt) { return toggleSlideIndex(); }; + + mouseHandlerDict[DRAWING_MODE][MOUSE_DOWN] = function(evnt) { return drawingMousedown(evnt); }; + mouseHandlerDict[DRAWING_MODE][MOUSE_UP] = function(evnt) { return drawingMouseup(evnt); }; + mouseHandlerDict[DRAWING_MODE][MOUSE_MOVE] = function(evnt) { return drawingMousemove(evnt); }; + + return mouseHandlerDict; +} + +/** Function to switch from slide mode to drawing mode. +*/ +function slideSwitchToDrawingMode() +{ + currentMode = DRAWING_MODE; + + var tempDict; + + if (ROOT_NODE.hasAttribute("style")) + tempDict = propStrToDict(ROOT_NODE.getAttribute("style")); + else + tempDict = new Object(); + + tempDict["cursor"] = "crosshair"; + ROOT_NODE.setAttribute("style", dictToPropStr(tempDict)); +} + +/** Function to switch from drawing mode to slide mode. +*/ +function drawingSwitchToSlideMode() +{ + currentMode = SLIDE_MODE; + + var tempDict; + + if (ROOT_NODE.hasAttribute("style")) + tempDict = propStrToDict(ROOT_NODE.getAttribute("style")); + else + tempDict = new Object(); + + tempDict["cursor"] = "auto"; + ROOT_NODE.setAttribute("style", dictToPropStr(tempDict)); +} + +/** Function to decrease the number of columns in index mode. +*/ +function indexDecreaseNumberOfColumns() +{ + if (INDEX_COLUMNS >= 3) + { + INDEX_COLUMNS -= 1; + INDEX_OFFSET = -1 + indexSetPageSlide(activeSlide); + } +} + +/** Function to increase the number of columns in index mode. +*/ +function indexIncreaseNumberOfColumns() +{ + if (INDEX_COLUMNS < 7) + { + INDEX_COLUMNS += 1; + INDEX_OFFSET = -1 + indexSetPageSlide(activeSlide); + } +} + +/** Function to reset the number of columns in index mode. +*/ +function indexResetNumberOfColumns() +{ + if (INDEX_COLUMNS != INDEX_COLUMNS_DEFAULT) + { + INDEX_COLUMNS = INDEX_COLUMNS_DEFAULT; + INDEX_OFFSET = -1 + indexSetPageSlide(activeSlide); + } +} + +/** Function to reset path width in drawing mode. +*/ +function drawingResetPathWidth() +{ + path_width = path_width_default; + set_path_paint_width(); +} + +/** Function to set path width in drawing mode. + * + * @param width new path width + */ +function drawingSetPathWidth(width) +{ + path_width = width; + set_path_paint_width(); +} + +/** Function to set path colour in drawing mode. + * + * @param colour new path colour + */ +function drawingSetPathColour(colour) +{ + path_colour = colour; +} + +/** Function to query the duration of the presentation from the user in slide mode. +*/ +function slideQueryDuration() +{ + var new_duration = prompt("Length of presentation in minutes?", timer_duration); + + if ((new_duration != null) && (new_duration != '')) + { + timer_duration = new_duration; + } + + updateTimer(); +} + +/** Function to add new slide in slide mode. + * + * @param afterSlide after which slide to insert the new one + */ +function slideAddSlide(afterSlide) +{ + addSlide(afterSlide); + slideSetActiveSlide(afterSlide + 1); + updateTimer(); +} + +/** Function to toggle the visibility of the progress bar in slide mode. +*/ +function slideToggleProgressBarVisibility() +{ + if (progress_bar_visible) + { + progress_bar_visible = false; + hideProgressBar(); + } + else + { + progress_bar_visible = true; + showProgressBar(); + } +} + +/** Function to reset the timer in slide mode. +*/ +function slideResetTimer() +{ + timer_start = timer_elapsed; + updateTimer(); +} + +/** Convenience function to pad a string with zero in front up to a certain length. + */ +function padString(str, len) +{ + var outStr = str; + + while (outStr.length < len) + { + outStr = '0' + outStr; + } + + return outStr; +} + +/** Function to update the export layer. + */ +function slideUpdateExportLayer() +{ + // Suspend redraw since we are going to mess with the slides. + var suspendHandle = ROOT_NODE.suspendRedraw(2000); + + var tmpActiveSlide = activeSlide; + var tmpActiveEffect = activeEffect; + var exportedLayers = new Array(); + + for (var counterSlides = 0; counterSlides < slides.length; counterSlides++) + { + var exportNode; + + setSlideToState(counterSlides, STATE_START); + + var maxEffect = 0; + + if (slides[counterSlides].effects) + { + maxEffect = slides[counterSlides].effects.length; + } + + exportNode = slides[counterSlides].element.cloneNode(true); + exportNode.setAttributeNS(NSS["inkscape"], "groupmode", "layer"); + exportNode.setAttributeNS(NSS["inkscape"], "label", "slide_" + padString((counterSlides + 1).toString(), slides.length.toString().length) + "_effect_" + padString("0", maxEffect.toString().length)); + + exportedLayers.push(exportNode); + + if (slides[counterSlides]["effects"]) + { + for (var counter = 0; counter < slides[counterSlides]["effects"].length; counter++) + { + for (var subCounter = 0; subCounter < slides[counterSlides]["effects"][counter].length; subCounter++) + { + var effect = slides[counterSlides]["effects"][counter][subCounter]; + if (effect["effect"] == "fade") + fade(parseInt(effect["dir"]), effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "appear") + appear(parseInt(effect["dir"]), effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "pop") + pop(parseInt(effect["dir"]), effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "view") + view(parseInt(effect["dir"]), effect["element"], STATE_END, effect["options"]); + } + + var layerName = "slide_" + padString((counterSlides + 1).toString(), slides.length.toString().length) + "_effect_" + padString((counter + 1).toString(), maxEffect.toString().length); + exportNode = slides[counterSlides].element.cloneNode(true); + exportNode.setAttributeNS(NSS["inkscape"], "groupmode", "layer"); + exportNode.setAttributeNS(NSS["inkscape"], "label", layerName); + exportNode.setAttribute("id", layerName); + + exportedLayers.push(exportNode); + } + } + } + + activeSlide = tmpActiveSlide; + activeEffect = tmpActiveEffect; + setSlideToState(activeSlide, activeEffect); + + // Copy image. + var newDoc = document.documentElement.cloneNode(true); + + // Delete viewbox form new imag and set width and height. + newDoc.removeAttribute('viewbox'); + newDoc.setAttribute('width', WIDTH); + newDoc.setAttribute('height', HEIGHT); + + // Delete all layers and script elements. + var nodesToBeRemoved = new Array(); + + for (var childCounter = 0; childCounter < newDoc.childNodes.length; childCounter++) + { + var child = newDoc.childNodes[childCounter]; + + if (child.nodeType == 1) + { + if ((child.nodeName.toUpperCase() == 'G') || (child.nodeName.toUpperCase() == 'SCRIPT')) + { + nodesToBeRemoved.push(child); + } + } + } + + for (var ndCounter = 0; ndCounter < nodesToBeRemoved.length; ndCounter++) + { + var nd = nodesToBeRemoved[ndCounter]; + + // Before removing the node, check whether it contains any definitions. + var defs = nd.getElementsByTagNameNS(NSS["svg"], "defs"); + + for (var defsCounter = 0; defsCounter < defs.length; defsCounter++) + { + if (defs[defsCounter].id) + { + newDoc.appendChild(defs[defsCounter].cloneNode(true)); + } + } + + // Remove node. + nd.parentNode.removeChild(nd); + } + + // Set current layer. + if (exportedLayers[0]) + { + var namedView; + + for (var nodeCounter = 0; nodeCounter < newDoc.childNodes.length; nodeCounter++) + { + if ((newDoc.childNodes[nodeCounter].nodeType == 1) && (newDoc.childNodes[nodeCounter].getAttribute('id') == 'base')) + { + namedView = newDoc.childNodes[nodeCounter]; + } + } + + if (namedView) + { + namedView.setAttributeNS(NSS['inkscape'], 'current-layer', exportedLayers[0].getAttributeNS(NSS['inkscape'], 'label')); + } + } + + // Add exported layers. + while (exportedLayers.length > 0) + { + var nd = exportedLayers.pop(); + + nd.setAttribute("opacity",1); + nd.style.display = "inherit"; + + newDoc.appendChild(nd); + } + + // Serialise the new document. + window.location = 'data:application/svg+xml;base64;charset=utf-8,' + window.btoa(unescape(encodeURIComponent((new XMLSerializer()).serializeToString(newDoc)))); + + // Unsuspend redraw. + ROOT_NODE.unsuspendRedraw(suspendHandle); + ROOT_NODE.forceRedraw(); +} + +/** Function to undo last drawing operation. +*/ +function drawingUndo() +{ + mouse_presentation_path = null; + mouse_original_path = null; + + if (history_presentation_elements.length > 0) + { + var p = history_presentation_elements.pop(); + var parent = p.parentNode.removeChild(p); + + p = history_original_elements.pop(); + parent = p.parentNode.removeChild(p); + } +} + +/** Event handler for mouse down in drawing mode. + * + * @param e the event + */ +function drawingMousedown(e) +{ + var value = 0; + + if (e.button) + value = e.button; + else if (e.which) + value = e.which; + + if (value == 1) + { + history_counter++; + + var p = calcCoord(e); + + mouse_last_x = e.clientX; + mouse_last_y = e.clientY; + mouse_original_path = document.createElementNS(NSS["svg"], "path"); + mouse_original_path.setAttribute("stroke", path_colour); + mouse_original_path.setAttribute("stroke-width", path_paint_width); + mouse_original_path.setAttribute("fill", "none"); + mouse_original_path.setAttribute("id", "path " + Date()); + mouse_original_path.setAttribute("d", "M" + p.x + "," + p.y); + slides[activeSlide]["original_element"].appendChild(mouse_original_path); + history_original_elements.push(mouse_original_path); + + mouse_presentation_path = document.createElementNS(NSS["svg"], "path"); + mouse_presentation_path.setAttribute("stroke", path_colour); + mouse_presentation_path.setAttribute("stroke-width", path_paint_width); + mouse_presentation_path.setAttribute("fill", "none"); + mouse_presentation_path.setAttribute("id", "path " + Date() + " presentation copy"); + mouse_presentation_path.setAttribute("d", "M" + p.x + "," + p.y); + + if (slides[activeSlide]["viewGroup"]) + slides[activeSlide]["viewGroup"].appendChild(mouse_presentation_path); + else + slides[activeSlide]["element"].appendChild(mouse_presentation_path); + + history_presentation_elements.push(mouse_presentation_path); + + return false; + } + + return true; +} + +/** Event handler for mouse up in drawing mode. + * + * @param e the event + */ +function drawingMouseup(e) +{ + if(!e) + e = window.event; + + if (mouse_presentation_path != null) + { + var p = calcCoord(e); + var d = mouse_presentation_path.getAttribute("d"); + d += " L" + p.x + "," + p.y; + mouse_presentation_path.setAttribute("d", d); + mouse_presentation_path = null; + mouse_original_path.setAttribute("d", d); + mouse_original_path = null; + + return false; + } + + return true; +} + +/** Event handler for mouse move in drawing mode. + * + * @param e the event + */ +function drawingMousemove(e) +{ + if(!e) + e = window.event; + + var dist = (mouse_last_x - e.clientX) * (mouse_last_x - e.clientX) + (mouse_last_y - e.clientY) * (mouse_last_y - e.clientY); + + if (mouse_presentation_path == null) + { + return true; + } + + if (dist >= mouse_min_dist_sqr) + { + var p = calcCoord(e); + var d = mouse_presentation_path.getAttribute("d"); + d += " L" + p.x + "," + p.y; + mouse_presentation_path.setAttribute("d", d); + mouse_original_path.setAttribute("d", d); + mouse_last_x = e.clientX; + mouse_last_y = e.clientY; + } + + return false; +} + +/** Event handler for mouse wheel events in slide mode. + * based on http://adomas.org/javascript-mouse-wheel/ + * + * @param e the event + */ +function slideMousewheel(e) +{ + var delta = 0; + + if (!e) + e = window.event; + + if (e.wheelDelta) + { // IE Opera + delta = e.wheelDelta/120; + } + else if (e.detail) + { // MOZ + delta = -e.detail/3; + } + + if (delta > 0) + skipEffects(-1); + else if (delta < 0) + skipEffects(1); + + if (e.preventDefault) + e.preventDefault(); + + e.returnValue = false; +} + +/** Event handler for mouse wheel events in index mode. + * based on http://adomas.org/javascript-mouse-wheel/ + * + * @param e the event + */ +function indexMousewheel(e) +{ + var delta = 0; + + if (!e) + e = window.event; + + if (e.wheelDelta) + { // IE Opera + delta = e.wheelDelta/120; + } + else if (e.detail) + { // MOZ + delta = -e.detail/3; + } + + if (delta > 0) + indexSetPageSlide(activeSlide - INDEX_COLUMNS * INDEX_COLUMNS); + else if (delta < 0) + indexSetPageSlide(activeSlide + INDEX_COLUMNS * INDEX_COLUMNS); + + if (e.preventDefault) + e.preventDefault(); + + e.returnValue = false; +} + +/** Function to set the path paint width. +*/ +function set_path_paint_width() +{ + var svgPoint1 = document.documentElement.createSVGPoint(); + var svgPoint2 = document.documentElement.createSVGPoint(); + + svgPoint1.x = 0.0; + svgPoint1.y = 0.0; + svgPoint2.x = 1.0; + svgPoint2.y = 0.0; + + var matrix = slides[activeSlide]["element"].getTransformToElement(ROOT_NODE); + + if (slides[activeSlide]["viewGroup"]) + matrix = slides[activeSlide]["viewGroup"].getTransformToElement(ROOT_NODE); + + svgPoint1 = svgPoint1.matrixTransform(matrix); + svgPoint2 = svgPoint2.matrixTransform(matrix); + + path_paint_width = path_width / Math.sqrt((svgPoint2.x - svgPoint1.x) * (svgPoint2.x - svgPoint1.x) + (svgPoint2.y - svgPoint1.y) * (svgPoint2.y - svgPoint1.y)); +} + +/** The view effect. + * + * @param dir direction the effect should be played (1 = forwards, -1 = backwards) + * @param element the element the effect should be applied to + * @param time the time that has elapsed since the beginning of the effect + * @param options a dictionary with additional options (e.g. length of the effect); for the view effect the options need to contain the old and the new matrix. + */ +function view(dir, element, time, options) +{ + var length = 250; + var fraction; + + if (!options["matrixInitial"]) + { + var tempString = slides[activeSlide]["viewGroup"].getAttribute("transform"); + + if (tempString) + options["matrixInitial"] = (new matrixSVG()).fromAttribute(tempString); + else + options["matrixInitial"] = (new matrixSVG()).fromSVGElements(1, 0, 0, 1, 0, 0); + } + + if ((time == STATE_END) || (time == STATE_START)) + fraction = 1; + else + { + if (options && options["length"]) + length = options["length"]; + + fraction = time / length; + } + + if (dir == 1) + { + if (fraction <= 0) + { + element.setAttribute("transform", options["matrixInitial"].toAttribute()); + } + else if (fraction >= 1) + { + element.setAttribute("transform", options["matrixNew"].toAttribute()); + + set_path_paint_width(); + + options["matrixInitial"] = null; + return true; + } + else + { + element.setAttribute("transform", options["matrixInitial"].mix(options["matrixNew"], fraction).toAttribute()); + } + } + else if (dir == -1) + { + if (fraction <= 0) + { + element.setAttribute("transform", options["matrixInitial"].toAttribute()); + } + else if (fraction >= 1) + { + element.setAttribute("transform", options["matrixOld"].toAttribute()); + set_path_paint_width(); + + options["matrixInitial"] = null; + return true; + } + else + { + element.setAttribute("transform", options["matrixInitial"].mix(options["matrixOld"], fraction).toAttribute()); + } + } + + return false; +} + +/** The fade effect. + * + * @param dir direction the effect should be played (1 = forwards, -1 = backwards) + * @param element the element the effect should be applied to + * @param time the time that has elapsed since the beginning of the effect + * @param options a dictionary with additional options (e.g. length of the effect) + */ +function fade(dir, element, time, options) +{ + var length = 250; + var fraction; + + if ((time == STATE_END) || (time == STATE_START)) + fraction = 1; + else + { + if (options && options["length"]) + length = options["length"]; + + fraction = time / length; + } + + if (dir == 1) + { + if (fraction <= 0) + { + element.style.display = "none"; + element.setAttribute("opacity", 0); + } + else if (fraction >= 1) + { + element.style.display = "inherit"; + element.setAttribute("opacity", 1); + return true; + } + else + { + element.style.display = "inherit"; + element.setAttribute("opacity", fraction); + } + } + else if (dir == -1) + { + if (fraction <= 0) + { + element.style.display = "inherit"; + element.setAttribute("opacity", 1); + } + else if (fraction >= 1) + { + element.setAttribute("opacity", 0); + element.style.display = "none"; + return true; + } + else + { + element.style.display = "inherit"; + element.setAttribute("opacity", 1 - fraction); + } + } + return false; +} + +/** The appear effect. + * + * @param dir direction the effect should be played (1 = forwards, -1 = backwards) + * @param element the element the effect should be applied to + * @param time the time that has elapsed since the beginning of the effect + * @param options a dictionary with additional options (e.g. length of the effect) + */ +function appear(dir, element, time, options) +{ + if (dir == 1) + { + element.style.display = "inherit"; + element.setAttribute("opacity",1); + } + else if (dir == -1) + { + element.style.display = "none"; + element.setAttribute("opacity",0); + } + return true; +} + +/** The pop effect. + * + * @param dir direction the effect should be played (1 = forwards, -1 = backwards) + * @param element the element the effect should be applied to + * @param time the time that has elapsed since the beginning of the effect + * @param options a dictionary with additional options (e.g. length of the effect) + */ +function pop(dir, element, time, options) +{ + var length = 500; + var fraction; + + if ((time == STATE_END) || (time == STATE_START)) + fraction = 1; + else + { + if (options && options["length"]) + length = options["length"]; + + fraction = time / length; + } + + if (dir == 1) + { + if (fraction <= 0) + { + element.setAttribute("opacity", 0); + element.setAttribute("transform", "scale(0)"); + element.style.display = "none"; + } + else if (fraction >= 1) + { + element.setAttribute("opacity", 1); + element.removeAttribute("transform"); + element.style.display = "inherit"; + return true; + } + else + { + element.style.display = "inherit"; + var opacityFraction = fraction * 3; + if (opacityFraction > 1) + opacityFraction = 1; + element.setAttribute("opacity", opacityFraction); + var offsetX = WIDTH * (1.0 - fraction) / 2.0; + var offsetY = HEIGHT * (1.0 - fraction) / 2.0; + element.setAttribute("transform", "translate(" + offsetX + "," + offsetY + ") scale(" + fraction + ")"); + } + } + else if (dir == -1) + { + if (fraction <= 0) + { + element.setAttribute("opacity", 1); + element.setAttribute("transform", "scale(1)"); + element.style.display = "inherit"; + } + else if (fraction >= 1) + { + element.setAttribute("opacity", 0); + element.removeAttribute("transform"); + element.style.display = "none"; + return true; + } + else + { + element.setAttribute("opacity", 1 - fraction); + element.setAttribute("transform", "scale(" + 1 - fraction + ")"); + element.style.display = "inherit"; + } + } + return false; +} + +/** Function to set a slide either to the start or the end state. + * + * @param slide the slide to use + * @param state the state into which the slide should be set + */ +function setSlideToState(slide, state) +{ + slides[slide]["viewGroup"].setAttribute("transform", slides[slide].initialView); + + if (slides[slide]["effects"]) + { + if (state == STATE_END) + { + for (var counter = 0; counter < slides[slide]["effects"].length; counter++) + { + for (var subCounter = 0; subCounter < slides[slide]["effects"][counter].length; subCounter++) + { + var effect = slides[slide]["effects"][counter][subCounter]; + if (effect["effect"] == "fade") + fade(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "appear") + appear(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "pop") + pop(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "view") + view(effect["dir"], effect["element"], STATE_END, effect["options"]); + } + } + } + else if (state == STATE_START) + { + for (var counter = slides[slide]["effects"].length - 1; counter >= 0; counter--) + { + for (var subCounter = 0; subCounter < slides[slide]["effects"][counter].length; subCounter++) + { + var effect = slides[slide]["effects"][counter][subCounter]; + if (effect["effect"] == "fade") + fade(parseInt(effect["dir"]) * -1, effect["element"], STATE_START, effect["options"]); + else if (effect["effect"] == "appear") + appear(parseInt(effect["dir"]) * -1, effect["element"], STATE_START, effect["options"]); + else if (effect["effect"] == "pop") + pop(parseInt(effect["dir"]) * -1, effect["element"], STATE_START, effect["options"]); + else if (effect["effect"] == "view") + view(parseInt(effect["dir"]) * -1, effect["element"], STATE_START, effect["options"]); + } + } + } + else + { + setSlideToState(slide, STATE_START); + + for (var counter = 0; counter < slides[slide]["effects"].length && counter < state; counter++) + { + for (var subCounter = 0; subCounter < slides[slide]["effects"][counter].length; subCounter++) + { + var effect = slides[slide]["effects"][counter][subCounter]; + if (effect["effect"] == "fade") + fade(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "appear") + appear(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "pop") + pop(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "view") + view(effect["dir"], effect["element"], STATE_END, effect["options"]); + } + } + } + } + + window.location.hash = (activeSlide + 1) + '_' + activeEffect; +} + +/** Convenience function to translate a attribute string into a dictionary. + * + * @param str the attribute string + * @return a dictionary + * @see dictToPropStr + */ +function propStrToDict(str) +{ + var list = str.split(";"); + var obj = new Object(); + + for (var counter = 0; counter < list.length; counter++) + { + var subStr = list[counter]; + var subList = subStr.split(":"); + if (subList.length == 2) + { + obj[subList[0]] = subList[1]; + } + } + + return obj; +} + +/** Convenience function to translate a dictionary into a string that can be used as an attribute. + * + * @param dict the dictionary to convert + * @return a string that can be used as an attribute + * @see propStrToDict + */ +function dictToPropStr(dict) +{ + var str = ""; + + for (var key in dict) + { + str += key + ":" + dict[key] + ";"; + } + + return str; +} + +/** Sub-function to add a suffix to the ids of the node and all its children. + * + * @param node the node to change + * @param suffix the suffix to add + * @param replace dictionary of replaced ids + * @see suffixNodeIds + */ +function suffixNoneIds_sub(node, suffix, replace) +{ + if (node.nodeType == 1) + { + if (node.getAttribute("id")) + { + var id = node.getAttribute("id") + replace["#" + id] = id + suffix; + node.setAttribute("id", id + suffix); + } + + if ((node.nodeName == "use") && (node.getAttributeNS(NSS["xlink"], "href")) && (replace[node.getAttribute(NSS["xlink"], "href")])) + node.setAttribute(NSS["xlink"], "href", node.getAttribute(NSS["xlink"], "href") + suffix); + + if (node.childNodes) + { + for (var counter = 0; counter < node.childNodes.length; counter++) + suffixNoneIds_sub(node.childNodes[counter], suffix, replace); + } + } +} + +/** Function to add a suffix to the ids of the node and all its children. + * + * @param node the node to change + * @param suffix the suffix to add + * @return the changed node + * @see suffixNodeIds_sub + */ +function suffixNodeIds(node, suffix) +{ + var replace = new Object(); + + suffixNoneIds_sub(node, suffix, replace); + + return node; +} + +/** Function to build a progress bar. + * + * @param parent node to attach the progress bar to + */ +function createProgressBar(parent_node) +{ + var g = document.createElementNS(NSS["svg"], "g"); + g.setAttribute("clip-path", "url(#jessyInkSlideClipPath)"); + g.setAttribute("id", "layer_progress_bar"); + g.setAttribute("style", "display: none;"); + + var rect_progress_bar = document.createElementNS(NSS["svg"], "rect"); + rect_progress_bar.setAttribute("style", "marker: none; fill: rgb(128, 128, 128); stroke: none;"); + rect_progress_bar.setAttribute("id", "rect_progress_bar"); + rect_progress_bar.setAttribute("x", 0); + rect_progress_bar.setAttribute("y", 0.99 * HEIGHT); + rect_progress_bar.setAttribute("width", 0); + rect_progress_bar.setAttribute("height", 0.01 * HEIGHT); + g.appendChild(rect_progress_bar); + + var circle_timer_indicator = document.createElementNS(NSS["svg"], "circle"); + circle_timer_indicator.setAttribute("style", "marker: none; fill: rgb(255, 0, 0); stroke: none;"); + circle_timer_indicator.setAttribute("id", "circle_timer_indicator"); + circle_timer_indicator.setAttribute("cx", 0.005 * HEIGHT); + circle_timer_indicator.setAttribute("cy", 0.995 * HEIGHT); + circle_timer_indicator.setAttribute("r", 0.005 * HEIGHT); + g.appendChild(circle_timer_indicator); + + parent_node.appendChild(g); +} + +/** Function to hide the progress bar. + * + */ +function hideProgressBar() +{ + var progress_bar = document.getElementById("layer_progress_bar"); + + if (!progress_bar) + { + return; + } + + progress_bar.setAttribute("style", "display: none;"); +} + +/** Function to show the progress bar. + * + */ +function showProgressBar() +{ + var progress_bar = document.getElementById("layer_progress_bar"); + + if (!progress_bar) + { + return; + } + + progress_bar.setAttribute("style", "display: inherit;"); +} + +/** Set progress bar value. + * + * @param value the current slide number + * + */ +function setProgressBarValue(value) +{ + var rect_progress_bar = document.getElementById("rect_progress_bar"); + + if (!rect_progress_bar) + { + return; + } + + if (value < 1) + { + // First slide, assumed to be the title of the presentation + var x = 0; + var w = 0.01 * HEIGHT; + } + else if (value >= slides.length - 1) + { + // Last slide, assumed to be the end of the presentation + var x = WIDTH - 0.01 * HEIGHT; + var w = 0.01 * HEIGHT; + } + else + { + value -= 1; + value /= (slides.length - 2); + + var x = WIDTH * value; + var w = WIDTH / (slides.length - 2); + } + + rect_progress_bar.setAttribute("x", x); + rect_progress_bar.setAttribute("width", w); +} + +/** Set time indicator. + * + * @param value the percentage of time elapse so far between 0.0 and 1.0 + * + */ +function setTimeIndicatorValue(value) +{ + var circle_timer_indicator = document.getElementById("circle_timer_indicator"); + + if (!circle_timer_indicator) + { + return; + } + + if (value < 0.0) + { + value = 0.0; + } + + if (value > 1.0) + { + value = 1.0; + } + + var cx = (WIDTH - 0.01 * HEIGHT) * value + 0.005 * HEIGHT; + circle_timer_indicator.setAttribute("cx", cx); +} + +/** Update timer. + * + */ +function updateTimer() +{ + timer_elapsed += 1; + setTimeIndicatorValue((timer_elapsed - timer_start) / (60 * timer_duration)); +} + +/** Convert screen coordinates to document coordinates. + * + * @param e event with screen coordinates + * + * @return coordinates in SVG file coordinate system + */ +function calcCoord(e) +{ + var svgPoint = document.documentElement.createSVGPoint(); + svgPoint.x = e.clientX + window.pageXOffset; + svgPoint.y = e.clientY + window.pageYOffset; + + var matrix = slides[activeSlide]["element"].getScreenCTM(); + + if (slides[activeSlide]["viewGroup"]) + matrix = slides[activeSlide]["viewGroup"].getScreenCTM(); + + svgPoint = svgPoint.matrixTransform(matrix.inverse()); + return svgPoint; +} + +/** Add slide. + * + * @param after_slide after which slide the new slide should be inserted into the presentation + */ +function addSlide(after_slide) +{ + number_of_added_slides++; + + var g = document.createElementNS(NSS["svg"], "g"); + g.setAttribute("clip-path", "url(#jessyInkSlideClipPath)"); + g.setAttribute("id", "Whiteboard " + Date() + " presentation copy"); + g.setAttribute("style", "display: none;"); + + var new_slide = new Object(); + new_slide["element"] = g; + + // Set build in transition. + new_slide["transitionIn"] = new Object(); + var dict = defaultTransitionInDict; + new_slide["transitionIn"]["name"] = dict["name"]; + new_slide["transitionIn"]["options"] = new Object(); + + for (key in dict) + if (key != "name") + new_slide["transitionIn"]["options"][key] = dict[key]; + + // Set build out transition. + new_slide["transitionOut"] = new Object(); + dict = defaultTransitionOutDict; + new_slide["transitionOut"]["name"] = dict["name"]; + new_slide["transitionOut"]["options"] = new Object(); + + for (key in dict) + if (key != "name") + new_slide["transitionOut"]["options"][key] = dict[key]; + + // Copy master slide content. + if (masterSlide) + { + var clonedNode = suffixNodeIds(masterSlide.cloneNode(true), "_" + Date() + " presentation_copy"); + clonedNode.removeAttributeNS(NSS["inkscape"], "groupmode"); + clonedNode.removeAttributeNS(NSS["inkscape"], "label"); + clonedNode.style.display = "inherit"; + + g.appendChild(clonedNode); + } + + // Substitute auto texts. + substituteAutoTexts(g, "Whiteboard " + number_of_added_slides, "W" + number_of_added_slides, slides.length); + + g.setAttribute("onmouseover", "if ((currentMode == INDEX_MODE) && ( activeSlide != " + (after_slide + 1) + ")) { indexSetActiveSlide(" + (after_slide + 1) + "); };"); + + // Create a transform group. + var transformGroup = document.createElementNS(NSS["svg"], "g"); + + // Add content to transform group. + while (g.firstChild) + transformGroup.appendChild(g.firstChild); + + // Transfer the transform attribute from the node to the transform group. + if (g.getAttribute("transform")) + { + transformGroup.setAttribute("transform", g.getAttribute("transform")); + g.removeAttribute("transform"); + } + + // Create a view group. + var viewGroup = document.createElementNS(NSS["svg"], "g"); + + viewGroup.appendChild(transformGroup); + new_slide["viewGroup"] = g.appendChild(viewGroup); + + // Insert background. + if (BACKGROUND_COLOR != null) + { + var rectNode = document.createElementNS(NSS["svg"], "rect"); + + rectNode.setAttribute("x", 0); + rectNode.setAttribute("y", 0); + rectNode.setAttribute("width", WIDTH); + rectNode.setAttribute("height", HEIGHT); + rectNode.setAttribute("id", "jessyInkBackground" + Date()); + rectNode.setAttribute("fill", BACKGROUND_COLOR); + + new_slide["viewGroup"].insertBefore(rectNode, new_slide["viewGroup"].firstChild); + } + + // Set initial view even if there are no other views. + var matrixOld = (new matrixSVG()).fromElements(1, 0, 0, 0, 1, 0, 0, 0, 1); + + new_slide["viewGroup"].setAttribute("transform", matrixOld.toAttribute()); + new_slide.initialView = matrixOld.toAttribute(); + + // Insert slide + var node = slides[after_slide]["element"]; + var next_node = node.nextSibling; + var parent_node = node.parentNode; + + if (next_node) + { + parent_node.insertBefore(g, next_node); + } + else + { + parent_node.appendChild(g); + } + + g = document.createElementNS(NSS["svg"], "g"); + g.setAttributeNS(NSS["inkscape"], "groupmode", "layer"); + g.setAttributeNS(NSS["inkscape"], "label", "Whiteboard " + number_of_added_slides); + g.setAttribute("clip-path", "url(#jessyInkSlideClipPath)"); + g.setAttribute("id", "Whiteboard " + Date()); + g.setAttribute("style", "display: none;"); + + new_slide["original_element"] = g; + + node = slides[after_slide]["original_element"]; + next_node = node.nextSibling; + parent_node = node.parentNode; + + if (next_node) + { + parent_node.insertBefore(g, next_node); + } + else + { + parent_node.appendChild(g); + } + + before_new_slide = slides.slice(0, after_slide + 1); + after_new_slide = slides.slice(after_slide + 1); + slides = before_new_slide.concat(new_slide, after_new_slide); + + //resetting the counter attributes on the slides that follow the new slide... + for (var counter = after_slide+2; counter < slides.length; counter++) + { + slides[counter]["element"].setAttribute("onmouseover", "if ((currentMode == INDEX_MODE) && ( activeSlide != " + counter + ")) { indexSetActiveSlide(" + counter + "); };"); + } +} + +/** Convenience function to obtain a transformation matrix from a point matrix. + * + * @param mPoints Point matrix. + * @return A transformation matrix. + */ +function pointMatrixToTransformation(mPoints) +{ + mPointsOld = (new matrixSVG()).fromElements(0, WIDTH, WIDTH, 0, 0, HEIGHT, 1, 1, 1); + + return mPointsOld.mult(mPoints.inv()); +} + +/** Convenience function to obtain a matrix with three corners of a rectangle. + * + * @param rect an svg rectangle + * @return a matrixSVG containing three corners of the rectangle + */ +function rectToMatrix(rect) +{ + rectWidth = rect.getBBox().width; + rectHeight = rect.getBBox().height; + rectX = rect.getBBox().x; + rectY = rect.getBBox().y; + rectXcorr = 0; + rectYcorr = 0; + + scaleX = WIDTH / rectWidth; + scaleY = HEIGHT / rectHeight; + + if (scaleX > scaleY) + { + scaleX = scaleY; + rectXcorr -= (WIDTH / scaleX - rectWidth) / 2; + rectWidth = WIDTH / scaleX; + } + else + { + scaleY = scaleX; + rectYcorr -= (HEIGHT / scaleY - rectHeight) / 2; + rectHeight = HEIGHT / scaleY; + } + + if (rect.transform.baseVal.numberOfItems < 1) + { + mRectTrans = (new matrixSVG()).fromElements(1, 0, 0, 0, 1, 0, 0, 0, 1); + } + else + { + mRectTrans = (new matrixSVG()).fromSVGMatrix(rect.transform.baseVal.consolidate().matrix); + } + + newBasePoints = (new matrixSVG()).fromElements(rectX, rectX, rectX, rectY, rectY, rectY, 1, 1, 1); + newVectors = (new matrixSVG()).fromElements(rectXcorr, rectXcorr + rectWidth, rectXcorr + rectWidth, rectYcorr, rectYcorr, rectYcorr + rectHeight, 0, 0, 0); + + return mRectTrans.mult(newBasePoints.add(newVectors)); +} + +/** Function to handle JessyInk elements. + * + * @param node Element node. + */ +function handleElement(node) +{ + if (node.getAttributeNS(NSS['jessyink'], 'element') == 'core.video') + { + var url; + var width; + var height; + var x; + var y; + var transform; + + var tspans = node.getElementsByTagNameNS("http://www.w3.org/2000/svg", "tspan"); + + for (var tspanCounter = 0; tspanCounter < tspans.length; tspanCounter++) + { + if (tspans[tspanCounter].getAttributeNS("https://launchpad.net/jessyink", "video") == "url") + { + url = tspans[tspanCounter].firstChild.nodeValue; + } + } + + var rects = node.getElementsByTagNameNS("http://www.w3.org/2000/svg", "rect"); + + for (var rectCounter = 0; rectCounter < rects.length; rectCounter++) + { + if (rects[rectCounter].getAttributeNS("https://launchpad.net/jessyink", "video") == "rect") + { + x = rects[rectCounter].getAttribute("x"); + y = rects[rectCounter].getAttribute("y"); + width = rects[rectCounter].getAttribute("width"); + height = rects[rectCounter].getAttribute("height"); + transform = rects[rectCounter].getAttribute("transform"); + } + } + + for (var childCounter = 0; childCounter < node.childNodes.length; childCounter++) + { + if (node.childNodes[childCounter].nodeType == 1) + { + if (node.childNodes[childCounter].style) + { + node.childNodes[childCounter].style.display = 'none'; + } + else + { + node.childNodes[childCounter].setAttribute("style", "display: none;"); + } + } + } + + var foreignNode = document.createElementNS("http://www.w3.org/2000/svg", "foreignObject"); + foreignNode.setAttribute("x", x); + foreignNode.setAttribute("y", y); + foreignNode.setAttribute("width", width); + foreignNode.setAttribute("height", height); + foreignNode.setAttribute("transform", transform); + + var videoNode = document.createElementNS("http://www.w3.org/1999/xhtml", "video"); + videoNode.setAttribute("src", url); + + foreignNode.appendChild(videoNode); + node.appendChild(foreignNode); + } +} + +/** Class processing the location hash. + * + * @param str location hash + */ +function LocationHash(str) +{ + this.slideNumber = 0; + this.effectNumber = 0; + + str = str.substr(1, str.length - 1); + + var parts = str.split('_'); + + // Try to extract slide number. + if (parts.length >= 1) + { + try + { + var slideNumber = parseInt(parts[0]); + + if (!isNaN(slideNumber)) + { + this.slideNumber = slideNumber - 1; + } + } + catch (e) + { + } + } + + // Try to extract effect number. + if (parts.length >= 2) + { + try + { + var effectNumber = parseInt(parts[1]); + + if (!isNaN(effectNumber)) + { + this.effectNumber = effectNumber; + } + } + catch (e) + { + } + } +} + +/** Class representing an svg matrix. +*/ +function matrixSVG() +{ + this.e11 = 0; // a + this.e12 = 0; // c + this.e13 = 0; // e + this.e21 = 0; // b + this.e22 = 0; // d + this.e23 = 0; // f + this.e31 = 0; + this.e32 = 0; + this.e33 = 0; +} + +/** Constructor function. + * + * @param a element a (i.e. 1, 1) as described in the svg standard. + * @param b element b (i.e. 2, 1) as described in the svg standard. + * @param c element c (i.e. 1, 2) as described in the svg standard. + * @param d element d (i.e. 2, 2) as described in the svg standard. + * @param e element e (i.e. 1, 3) as described in the svg standard. + * @param f element f (i.e. 2, 3) as described in the svg standard. + */ +matrixSVG.prototype.fromSVGElements = function(a, b, c, d, e, f) +{ + this.e11 = a; + this.e12 = c; + this.e13 = e; + this.e21 = b; + this.e22 = d; + this.e23 = f; + this.e31 = 0; + this.e32 = 0; + this.e33 = 1; + + return this; +} + +/** Constructor function. + * + * @param matrix an svg matrix as described in the svg standard. + */ +matrixSVG.prototype.fromSVGMatrix = function(m) +{ + this.e11 = m.a; + this.e12 = m.c; + this.e13 = m.e; + this.e21 = m.b; + this.e22 = m.d; + this.e23 = m.f; + this.e31 = 0; + this.e32 = 0; + this.e33 = 1; + + return this; +} + +/** Constructor function. + * + * @param e11 element 1, 1 of the matrix. + * @param e12 element 1, 2 of the matrix. + * @param e13 element 1, 3 of the matrix. + * @param e21 element 2, 1 of the matrix. + * @param e22 element 2, 2 of the matrix. + * @param e23 element 2, 3 of the matrix. + * @param e31 element 3, 1 of the matrix. + * @param e32 element 3, 2 of the matrix. + * @param e33 element 3, 3 of the matrix. + */ +matrixSVG.prototype.fromElements = function(e11, e12, e13, e21, e22, e23, e31, e32, e33) +{ + this.e11 = e11; + this.e12 = e12; + this.e13 = e13; + this.e21 = e21; + this.e22 = e22; + this.e23 = e23; + this.e31 = e31; + this.e32 = e32; + this.e33 = e33; + + return this; +} + +/** Constructor function. + * + * @param attrString string value of the "transform" attribute (currently only "matrix" is accepted) + */ +matrixSVG.prototype.fromAttribute = function(attrString) +{ + str = attrString.substr(7, attrString.length - 8); + + str = str.trim(); + + strArray = str.split(","); + + // Opera does not use commas to separate the values of the matrix, only spaces. + if (strArray.length != 6) + strArray = str.split(" "); + + this.e11 = parseFloat(strArray[0]); + this.e21 = parseFloat(strArray[1]); + this.e31 = 0; + this.e12 = parseFloat(strArray[2]); + this.e22 = parseFloat(strArray[3]); + this.e32 = 0; + this.e13 = parseFloat(strArray[4]); + this.e23 = parseFloat(strArray[5]); + this.e33 = 1; + + return this; +} + +/** Output function + * + * @return a string that can be used as the "transform" attribute. + */ +matrixSVG.prototype.toAttribute = function() +{ + return "matrix(" + this.e11 + ", " + this.e21 + ", " + this.e12 + ", " + this.e22 + ", " + this.e13 + ", " + this.e23 + ")"; +} + +/** Matrix nversion. + * + * @return the inverse of the matrix + */ +matrixSVG.prototype.inv = function() +{ + out = new matrixSVG(); + + det = this.e11 * (this.e33 * this.e22 - this.e32 * this.e23) - this.e21 * (this.e33 * this.e12 - this.e32 * this.e13) + this.e31 * (this.e23 * this.e12 - this.e22 * this.e13); + + out.e11 = (this.e33 * this.e22 - this.e32 * this.e23) / det; + out.e12 = -(this.e33 * this.e12 - this.e32 * this.e13) / det; + out.e13 = (this.e23 * this.e12 - this.e22 * this.e13) / det; + out.e21 = -(this.e33 * this.e21 - this.e31 * this.e23) / det; + out.e22 = (this.e33 * this.e11 - this.e31 * this.e13) / det; + out.e23 = -(this.e23 * this.e11 - this.e21 * this.e13) / det; + out.e31 = (this.e32 * this.e21 - this.e31 * this.e22) / det; + out.e32 = -(this.e32 * this.e11 - this.e31 * this.e12) / det; + out.e33 = (this.e22 * this.e11 - this.e21 * this.e12) / det; + + return out; +} + +/** Matrix multiplication. + * + * @param op another svg matrix + * @return this * op + */ +matrixSVG.prototype.mult = function(op) +{ + out = new matrixSVG(); + + out.e11 = this.e11 * op.e11 + this.e12 * op.e21 + this.e13 * op.e31; + out.e12 = this.e11 * op.e12 + this.e12 * op.e22 + this.e13 * op.e32; + out.e13 = this.e11 * op.e13 + this.e12 * op.e23 + this.e13 * op.e33; + out.e21 = this.e21 * op.e11 + this.e22 * op.e21 + this.e23 * op.e31; + out.e22 = this.e21 * op.e12 + this.e22 * op.e22 + this.e23 * op.e32; + out.e23 = this.e21 * op.e13 + this.e22 * op.e23 + this.e23 * op.e33; + out.e31 = this.e31 * op.e11 + this.e32 * op.e21 + this.e33 * op.e31; + out.e32 = this.e31 * op.e12 + this.e32 * op.e22 + this.e33 * op.e32; + out.e33 = this.e31 * op.e13 + this.e32 * op.e23 + this.e33 * op.e33; + + return out; +} + +/** Matrix addition. + * + * @param op another svg matrix + * @return this + op + */ +matrixSVG.prototype.add = function(op) +{ + out = new matrixSVG(); + + out.e11 = this.e11 + op.e11; + out.e12 = this.e12 + op.e12; + out.e13 = this.e13 + op.e13; + out.e21 = this.e21 + op.e21; + out.e22 = this.e22 + op.e22; + out.e23 = this.e23 + op.e23; + out.e31 = this.e31 + op.e31; + out.e32 = this.e32 + op.e32; + out.e33 = this.e33 + op.e33; + + return out; +} + +/** Matrix mixing. + * + * @param op another svg matrix + * @parma contribOp contribution of the other matrix (0 <= contribOp <= 1) + * @return (1 - contribOp) * this + contribOp * op + */ +matrixSVG.prototype.mix = function(op, contribOp) +{ + contribThis = 1.0 - contribOp; + out = new matrixSVG(); + + out.e11 = contribThis * this.e11 + contribOp * op.e11; + out.e12 = contribThis * this.e12 + contribOp * op.e12; + out.e13 = contribThis * this.e13 + contribOp * op.e13; + out.e21 = contribThis * this.e21 + contribOp * op.e21; + out.e22 = contribThis * this.e22 + contribOp * op.e22; + out.e23 = contribThis * this.e23 + contribOp * op.e23; + out.e31 = contribThis * this.e31 + contribOp * op.e31; + out.e32 = contribThis * this.e32 + contribOp * op.e32; + out.e33 = contribThis * this.e33 + contribOp * op.e33; + + return out; +} + +/** Trimming function for strings. +*/ +String.prototype.trim = function() +{ + return this.replace(/^\s+|\s+$/g, ''); +} + +/** SVGElement.getTransformToElement polyfill */ +SVGElement.prototype.getTransformToElement = SVGElement.prototype.getTransformToElement || function(elem) { + return elem.getScreenCTM().inverse().multiply(this.getScreenCTM()); +}; + diff --git a/share/extensions/tests/data/refs/jessyink_install__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/jessyink_install__--id__p1__--id__r3.out new file mode 100644 index 0000000..5a819a7 --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_install__--id__p1__--id__r3.out @@ -0,0 +1,2766 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + // Copyright 2008, 2009 Hannes Hochreiner +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see http://www.gnu.org/licenses/. + +// Set onload event handler. +window.onload = jessyInkInit; + +// Creating a namespace dictionary. The standard Inkscape namespaces are taken from inkex.py. +var NSS = new Object(); +NSS['sodipodi']='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd'; +NSS['cc']='http://web.resource.org/cc/'; +NSS['svg']='http://www.w3.org/2000/svg'; +NSS['dc']='http://purl.org/dc/elements/1.1/'; +NSS['rdf']='http://www.w3.org/1999/02/22-rdf-syntax-ns#'; +NSS['inkscape']='http://www.inkscape.org/namespaces/inkscape'; +NSS['xlink']='http://www.w3.org/1999/xlink'; +NSS['xml']='http://www.w3.org/XML/1998/namespace'; +NSS['jessyink']='https://launchpad.net/jessyink'; + +// Keycodes. +var LEFT_KEY = 37; // cursor left keycode +var UP_KEY = 38; // cursor up keycode +var RIGHT_KEY = 39; // cursor right keycode +var DOWN_KEY = 40; // cursor down keycode +var PAGE_UP_KEY = 33; // page up keycode +var PAGE_DOWN_KEY = 34; // page down keycode +var HOME_KEY = 36; // home keycode +var END_KEY = 35; // end keycode +var ENTER_KEY = 13; // next slide +var SPACE_KEY = 32; +var ESCAPE_KEY = 27; + +// Presentation modes. +var SLIDE_MODE = 1; +var INDEX_MODE = 2; +var DRAWING_MODE = 3; + +// Mouse handler actions. +var MOUSE_UP = 1; +var MOUSE_DOWN = 2; +var MOUSE_MOVE = 3; +var MOUSE_WHEEL = 4; + +// Parameters. +var ROOT_NODE = document.getElementsByTagNameNS(NSS["svg"], "svg")[0]; +var HEIGHT = 0; +var WIDTH = 0; +var INDEX_COLUMNS_DEFAULT = 4; +var INDEX_COLUMNS = INDEX_COLUMNS_DEFAULT; +var INDEX_OFFSET = 0; +var STATE_START = -1; +var STATE_END = -2; +var BACKGROUND_COLOR = null; +var slides = new Array(); + +// Initialisation. +var currentMode = SLIDE_MODE; +var masterSlide = null; +var activeSlide = 0; +var activeEffect = 0; +var timeStep = 30; // 40 ms equal 25 frames per second. +var lastFrameTime = null; +var processingEffect = false; +var transCounter = 0; +var effectArray = 0; +var defaultTransitionInDict = new Object(); +defaultTransitionInDict["name"] = "appear"; +var defaultTransitionOutDict = new Object(); +defaultTransitionOutDict["name"] = "appear"; +var jessyInkInitialised = false; + +// Initialise char and key code dictionaries. +var charCodeDictionary = getDefaultCharCodeDictionary(); +var keyCodeDictionary = getDefaultKeyCodeDictionary(); + +// Initialise mouse handler dictionary. +var mouseHandlerDictionary = getDefaultMouseHandlerDictionary(); + +var progress_bar_visible = false; +var timer_elapsed = 0; +var timer_start = timer_elapsed; +var timer_duration = 15; // 15 minutes + +var history_counter = 0; +var history_original_elements = new Array(); +var history_presentation_elements = new Array(); + +var mouse_original_path = null; +var mouse_presentation_path = null; +var mouse_last_x = -1; +var mouse_last_y = -1; +var mouse_min_dist_sqr = 3 * 3; +var path_colour = "red"; +var path_width_default = 3; +var path_width = path_width_default; +var path_paint_width = path_width; + +var number_of_added_slides = 0; + +/** Initialisation function. + * The whole presentation is set-up in this function. + */ +function jessyInkInit() +{ + // Make sure we only execute this code once. Double execution can occur if the onload event handler is set + // in the main svg tag as well (as was recommended in earlier versions). Executing this function twice does + // not lead to any problems, but it takes more time. + if (jessyInkInitialised) + return; + + // Making the presentation scalable. + var VIEWBOX = ROOT_NODE.getAttribute("viewBox"); + + if (VIEWBOX) + { + WIDTH = ROOT_NODE.viewBox.animVal.width; + HEIGHT = ROOT_NODE.viewBox.animVal.height; + } + else + { + HEIGHT = parseFloat(ROOT_NODE.getAttribute("height")); + WIDTH = parseFloat(ROOT_NODE.getAttribute("width")); + ROOT_NODE.setAttribute("viewBox", "0 0 " + WIDTH + " " + HEIGHT); + } + + ROOT_NODE.setAttribute("width", "100%"); + ROOT_NODE.setAttribute("height", "100%"); + + // Setting the background color. + var namedViews = document.getElementsByTagNameNS(NSS["sodipodi"], "namedview"); + + for (var counter = 0; counter < namedViews.length; counter++) + { + if (namedViews[counter].hasAttribute("id") && namedViews[counter].hasAttribute("pagecolor")) + { + if (namedViews[counter].getAttribute("id") == "base") + { + BACKGROUND_COLOR = namedViews[counter].getAttribute("pagecolor"); + var newAttribute = "background-color:" + BACKGROUND_COLOR + ";"; + + if (ROOT_NODE.hasAttribute("style")) + newAttribute += ROOT_NODE.getAttribute("style"); + + ROOT_NODE.setAttribute("style", newAttribute); + } + } + } + + // Defining clip-path. + var defsNodes = document.getElementsByTagNameNS(NSS["svg"], "defs"); + + if (defsNodes.length > 0) + { + var existingClipPath = document.getElementById("jessyInkSlideClipPath"); + + if (!existingClipPath) + { + var rectNode = document.createElementNS(NSS["svg"], "rect"); + var clipPath = document.createElementNS(NSS["svg"], "clipPath"); + + rectNode.setAttribute("x", 0); + rectNode.setAttribute("y", 0); + rectNode.setAttribute("width", WIDTH); + rectNode.setAttribute("height", HEIGHT); + + clipPath.setAttribute("id", "jessyInkSlideClipPath"); + clipPath.setAttribute("clipPathUnits", "userSpaceOnUse"); + + clipPath.appendChild(rectNode); + defsNodes[0].appendChild(clipPath); + } + } + + // Making a list of the slide and finding the master slide. + var nodes = document.getElementsByTagNameNS(NSS["svg"], "g"); + var tempSlides = new Array(); + var existingJessyInkPresentationLayer = null; + + for (var counter = 0; counter < nodes.length; counter++) + { + if (nodes[counter].getAttributeNS(NSS["inkscape"], "groupmode") && (nodes[counter].getAttributeNS(NSS["inkscape"], "groupmode") == "layer")) + { + if (nodes[counter].getAttributeNS(NSS["inkscape"], "label") && nodes[counter].getAttributeNS(NSS["jessyink"], "masterSlide") == "masterSlide") + masterSlide = nodes[counter]; + else if (nodes[counter].getAttributeNS(NSS["inkscape"], "label") && nodes[counter].getAttributeNS(NSS["jessyink"], "presentationLayer") == "presentationLayer") + existingJessyInkPresentationLayer = nodes[counter]; + else + tempSlides.push(nodes[counter].getAttribute("id")); + } + else if (nodes[counter].getAttributeNS(NSS['jessyink'], 'element')) + { + handleElement(nodes[counter]); + } + } + + // Hide master slide set default transitions. + if (masterSlide) + { + masterSlide.style.display = "none"; + + if (masterSlide.hasAttributeNS(NSS["jessyink"], "transitionIn")) + defaultTransitionInDict = propStrToDict(masterSlide.getAttributeNS(NSS["jessyink"], "transitionIn")); + + if (masterSlide.hasAttributeNS(NSS["jessyink"], "transitionOut")) + defaultTransitionOutDict = propStrToDict(masterSlide.getAttributeNS(NSS["jessyink"], "transitionOut")); + } + + if (existingJessyInkPresentationLayer != null) + { + existingJessyInkPresentationLayer.parentNode.removeChild(existingJessyInkPresentationLayer); + } + + // Set start slide. + var hashObj = new LocationHash(window.location.hash); + + activeSlide = hashObj.slideNumber; + activeEffect = hashObj.effectNumber; + + if (activeSlide < 0) + activeSlide = 0; + else if (activeSlide >= tempSlides.length) + activeSlide = tempSlides.length - 1; + + var originalNode = document.getElementById(tempSlides[counter]); + + var JessyInkPresentationLayer = document.createElementNS(NSS["svg"], "g"); + JessyInkPresentationLayer.setAttributeNS(NSS["inkscape"], "groupmode", "layer"); + JessyInkPresentationLayer.setAttributeNS(NSS["inkscape"], "label", "JessyInk Presentation Layer"); + JessyInkPresentationLayer.setAttributeNS(NSS["jessyink"], "presentationLayer", "presentationLayer"); + JessyInkPresentationLayer.setAttribute("id", "jessyink_presentation_layer"); + JessyInkPresentationLayer.style.display = "inherit"; + ROOT_NODE.appendChild(JessyInkPresentationLayer); + + // Gathering all the information about the transitions and effects of the slides, set the background + // from the master slide and substitute the auto-texts. + for (var counter = 0; counter < tempSlides.length; counter++) + { + var originalNode = document.getElementById(tempSlides[counter]); + originalNode.style.display = "none"; + var node = suffixNodeIds(originalNode.cloneNode(true), "_" + counter); + JessyInkPresentationLayer.appendChild(node); + slides[counter] = new Object(); + slides[counter]["original_element"] = originalNode; + slides[counter]["element"] = node; + + // Set build in transition. + slides[counter]["transitionIn"] = new Object(); + + var dict; + + if (node.hasAttributeNS(NSS["jessyink"], "transitionIn")) + dict = propStrToDict(node.getAttributeNS(NSS["jessyink"], "transitionIn")); + else + dict = defaultTransitionInDict; + + slides[counter]["transitionIn"]["name"] = dict["name"]; + slides[counter]["transitionIn"]["options"] = new Object(); + + for (key in dict) + if (key != "name") + slides[counter]["transitionIn"]["options"][key] = dict[key]; + + // Set build out transition. + slides[counter]["transitionOut"] = new Object(); + + if (node.hasAttributeNS(NSS["jessyink"], "transitionOut")) + dict = propStrToDict(node.getAttributeNS(NSS["jessyink"], "transitionOut")); + else + dict = defaultTransitionOutDict; + + slides[counter]["transitionOut"]["name"] = dict["name"]; + slides[counter]["transitionOut"]["options"] = new Object(); + + for (key in dict) + if (key != "name") + slides[counter]["transitionOut"]["options"][key] = dict[key]; + + // Copy master slide content. + if (masterSlide) + { + var clonedNode = suffixNodeIds(masterSlide.cloneNode(true), "_" + counter); + clonedNode.removeAttributeNS(NSS["inkscape"], "groupmode"); + clonedNode.removeAttributeNS(NSS["inkscape"], "label"); + clonedNode.style.display = "inherit"; + + node.insertBefore(clonedNode, node.firstChild); + } + + // Setting clip path. + node.setAttribute("clip-path", "url(#jessyInkSlideClipPath)"); + + // Substitute auto texts. + substituteAutoTexts(node, node.getAttributeNS(NSS["inkscape"], "label"), counter + 1, tempSlides.length); + + node.removeAttributeNS(NSS["inkscape"], "groupmode"); + node.removeAttributeNS(NSS["inkscape"], "label"); + + // Set effects. + var tempEffects = new Array(); + var groups = new Object(); + + for (var IOCounter = 0; IOCounter <= 1; IOCounter++) + { + var propName = ""; + var dir = 0; + + if (IOCounter == 0) + { + propName = "effectIn"; + dir = 1; + } + else if (IOCounter == 1) + { + propName = "effectOut"; + dir = -1; + } + + var effects = getElementsByPropertyNS(node, NSS["jessyink"], propName); + + for (var effectCounter = 0; effectCounter < effects.length; effectCounter++) + { + var element = document.getElementById(effects[effectCounter]); + var dict = propStrToDict(element.getAttributeNS(NSS["jessyink"], propName)); + + // Put every element that has an effect associated with it, into its own group. + // Unless of course, we already put it into its own group. + if (!(groups[element.id])) + { + var newGroup = document.createElementNS(NSS["svg"], "g"); + + element.parentNode.insertBefore(newGroup, element); + newGroup.appendChild(element.parentNode.removeChild(element)); + groups[element.id] = newGroup; + } + + var effectDict = new Object(); + + effectDict["effect"] = dict["name"]; + effectDict["dir"] = dir; + effectDict["element"] = groups[element.id]; + + for (var option in dict) + { + if ((option != "name") && (option != "order")) + { + if (!effectDict["options"]) + effectDict["options"] = new Object(); + + effectDict["options"][option] = dict[option]; + } + } + + if (!tempEffects[dict["order"]]) + tempEffects[dict["order"]] = new Array(); + + tempEffects[dict["order"]][tempEffects[dict["order"]].length] = effectDict; + } + } + + // Make invisible, but keep in rendering tree to ensure that bounding box can be calculated. + node.setAttribute("opacity",0); + node.style.display = "inherit"; + + // Create a transform group. + var transformGroup = document.createElementNS(NSS["svg"], "g"); + + // Add content to transform group. + while (node.firstChild) + transformGroup.appendChild(node.firstChild); + + // Transfer the transform attribute from the node to the transform group. + if (node.getAttribute("transform")) + { + transformGroup.setAttribute("transform", node.getAttribute("transform")); + node.removeAttribute("transform"); + } + + // Create a view group. + var viewGroup = document.createElementNS(NSS["svg"], "g"); + + viewGroup.appendChild(transformGroup); + slides[counter]["viewGroup"] = node.appendChild(viewGroup); + + // Insert background. + if (BACKGROUND_COLOR != null) + { + var rectNode = document.createElementNS(NSS["svg"], "rect"); + + rectNode.setAttribute("x", 0); + rectNode.setAttribute("y", 0); + rectNode.setAttribute("width", WIDTH); + rectNode.setAttribute("height", HEIGHT); + rectNode.setAttribute("id", "jessyInkBackground" + counter); + rectNode.setAttribute("fill", BACKGROUND_COLOR); + + slides[counter]["viewGroup"].insertBefore(rectNode, slides[counter]["viewGroup"].firstChild); + } + + // Set views. + var tempViews = new Array(); + var views = getElementsByPropertyNS(node, NSS["jessyink"], "view"); + var matrixOld = (new matrixSVG()).fromElements(1, 0, 0, 0, 1, 0, 0, 0, 1); + + // Set initial view even if there are no other views. + slides[counter]["viewGroup"].setAttribute("transform", matrixOld.toAttribute()); + slides[counter].initialView = matrixOld.toAttribute(); + + for (var viewCounter = 0; viewCounter < views.length; viewCounter++) + { + var element = document.getElementById(views[viewCounter]); + var dict = propStrToDict(element.getAttributeNS(NSS["jessyink"], "view")); + + if (dict["order"] == 0) + { + matrixOld = pointMatrixToTransformation(rectToMatrix(element)).mult((new matrixSVG()).fromSVGMatrix(slides[counter].viewGroup.getScreenCTM()).inv().mult((new matrixSVG()).fromSVGMatrix(element.parentNode.getScreenCTM())).inv()); + slides[counter].initialView = matrixOld.toAttribute(); + } + else + { + var effectDict = new Object(); + + effectDict["effect"] = dict["name"]; + effectDict["dir"] = 1; + effectDict["element"] = slides[counter]["viewGroup"]; + effectDict["order"] = dict["order"]; + + for (var option in dict) + { + if ((option != "name") && (option != "order")) + { + if (!effectDict["options"]) + effectDict["options"] = new Object(); + + effectDict["options"][option] = dict[option]; + } + } + + effectDict["options"]["matrixNew"] = pointMatrixToTransformation(rectToMatrix(element)).mult((new matrixSVG()).fromSVGMatrix(slides[counter].viewGroup.getScreenCTM()).inv().mult((new matrixSVG()).fromSVGMatrix(element.parentNode.getScreenCTM())).inv()); + + tempViews[dict["order"]] = effectDict; + } + + // Remove element. + element.parentNode.removeChild(element); + } + + // Consolidate view array and append it to the effect array. + if (tempViews.length > 0) + { + for (var viewCounter = 0; viewCounter < tempViews.length; viewCounter++) + { + if (tempViews[viewCounter]) + { + tempViews[viewCounter]["options"]["matrixOld"] = matrixOld; + matrixOld = tempViews[viewCounter]["options"]["matrixNew"]; + + if (!tempEffects[tempViews[viewCounter]["order"]]) + tempEffects[tempViews[viewCounter]["order"]] = new Array(); + + tempEffects[tempViews[viewCounter]["order"]][tempEffects[tempViews[viewCounter]["order"]].length] = tempViews[viewCounter]; + } + } + } + + // Set consolidated effect array. + if (tempEffects.length > 0) + { + slides[counter]["effects"] = new Array(); + + for (var effectCounter = 0; effectCounter < tempEffects.length; effectCounter++) + { + if (tempEffects[effectCounter]) + slides[counter]["effects"][slides[counter]["effects"].length] = tempEffects[effectCounter]; + } + } + + node.setAttribute("onmouseover", "if ((currentMode == INDEX_MODE) && ( activeSlide != " + counter + ")) { indexSetActiveSlide(" + counter + "); };"); + + // Set visibility for initial state. + if (counter == activeSlide) + { + node.style.display = "inherit"; + node.setAttribute("opacity",1); + } + else + { + node.style.display = "none"; + node.setAttribute("opacity",0); + } + } + + // Set key handler. + var jessyInkObjects = document.getElementsByTagNameNS(NSS["svg"], "g"); + + for (var counter = 0; counter < jessyInkObjects.length; counter++) + { + var elem = jessyInkObjects[counter]; + + if (elem.getAttributeNS(NSS["jessyink"], "customKeyBindings")) + { + if (elem.getCustomKeyBindings != undefined) + keyCodeDictionary = elem.getCustomKeyBindings(); + + if (elem.getCustomCharBindings != undefined) + charCodeDictionary = elem.getCustomCharBindings(); + } + } + + // Set mouse handler. + var jessyInkMouseHandler = document.getElementsByTagNameNS(NSS["jessyink"], "mousehandler"); + + for (var counter = 0; counter < jessyInkMouseHandler.length; counter++) + { + var elem = jessyInkMouseHandler[counter]; + + if (elem.getMouseHandler != undefined) + { + var tempDict = elem.getMouseHandler(); + + for (mode in tempDict) + { + if (!mouseHandlerDictionary[mode]) + mouseHandlerDictionary[mode] = new Object(); + + for (handler in tempDict[mode]) + mouseHandlerDictionary[mode][handler] = tempDict[mode][handler]; + } + } + } + + // Check effect number. + if ((activeEffect < 0) || (!slides[activeSlide].effects)) + { + activeEffect = 0; + } + else if (activeEffect > slides[activeSlide].effects.length) + { + activeEffect = slides[activeSlide].effects.length; + } + + createProgressBar(JessyInkPresentationLayer); + hideProgressBar(); + setProgressBarValue(activeSlide); + setTimeIndicatorValue(0); + setInterval("updateTimer()", 1000); + setSlideToState(activeSlide, activeEffect); + jessyInkInitialised = true; +} + +/** Function to substitute the auto-texts. + * + * @param node the node + * @param slideName name of the slide the node is on + * @param slideNumber number of the slide the node is on + * @param numberOfSlides number of slides in the presentation + */ +function substituteAutoTexts(node, slideName, slideNumber, numberOfSlides) +{ + var texts = node.getElementsByTagNameNS(NSS["svg"], "tspan"); + + for (var textCounter = 0; textCounter < texts.length; textCounter++) + { + if (texts[textCounter].getAttributeNS(NSS["jessyink"], "autoText") == "slideNumber") + texts[textCounter].firstChild.nodeValue = slideNumber; + else if (texts[textCounter].getAttributeNS(NSS["jessyink"], "autoText") == "numberOfSlides") + texts[textCounter].firstChild.nodeValue = numberOfSlides; + else if (texts[textCounter].getAttributeNS(NSS["jessyink"], "autoText") == "slideTitle") + texts[textCounter].firstChild.nodeValue = slideName; + } +} + +/** Convenience function to get an element depending on whether it has a property with a particular name. + * This function emulates some dearly missed XPath functionality. + * + * @param node the node + * @param namespace namespace of the attribute + * @param name attribute name + */ +function getElementsByPropertyNS(node, namespace, name) +{ + var elems = new Array(); + + if (node.getAttributeNS(namespace, name)) + elems.push(node.getAttribute("id")); + + for (var counter = 0; counter < node.childNodes.length; counter++) + { + if (node.childNodes[counter].nodeType == 1) + elems = elems.concat(getElementsByPropertyNS(node.childNodes[counter], namespace, name)); + } + + return elems; +} + +/** Function to dispatch the next effect, if there is none left, change the slide. + * + * @param dir direction of the change (1 = forwards, -1 = backwards) + */ +function dispatchEffects(dir) +{ + if (slides[activeSlide]["effects"] && (((dir == 1) && (activeEffect < slides[activeSlide]["effects"].length)) || ((dir == -1) && (activeEffect > 0)))) + { + processingEffect = true; + + if (dir == 1) + { + effectArray = slides[activeSlide]["effects"][activeEffect]; + activeEffect += dir; + } + else if (dir == -1) + { + activeEffect += dir; + effectArray = slides[activeSlide]["effects"][activeEffect]; + } + + transCounter = 0; + startTime = (new Date()).getTime(); + lastFrameTime = null; + effect(dir); + } + else if (((dir == 1) && (activeSlide < (slides.length - 1))) || (((dir == -1) && (activeSlide > 0)))) + { + changeSlide(dir); + } +} + +/** Function to skip effects and directly either put the slide into start or end state or change slides. + * + * @param dir direction of the change (1 = forwards, -1 = backwards) + */ +function skipEffects(dir) +{ + if (slides[activeSlide]["effects"] && (((dir == 1) && (activeEffect < slides[activeSlide]["effects"].length)) || ((dir == -1) && (activeEffect > 0)))) + { + processingEffect = true; + + if (slides[activeSlide]["effects"] && (dir == 1)) + activeEffect = slides[activeSlide]["effects"].length; + else + activeEffect = 0; + + if (dir == 1) + setSlideToState(activeSlide, STATE_END); + else + setSlideToState(activeSlide, STATE_START); + + processingEffect = false; + } + else if (((dir == 1) && (activeSlide < (slides.length - 1))) || (((dir == -1) && (activeSlide > 0)))) + { + changeSlide(dir); + } +} + +/** Function to change between slides. + * + * @param dir direction (1 = forwards, -1 = backwards) + */ +function changeSlide(dir) +{ + processingEffect = true; + effectArray = new Array(); + + effectArray[0] = new Object(); + if (dir == 1) + { + effectArray[0]["effect"] = slides[activeSlide]["transitionOut"]["name"]; + effectArray[0]["options"] = slides[activeSlide]["transitionOut"]["options"]; + effectArray[0]["dir"] = -1; + } + else if (dir == -1) + { + effectArray[0]["effect"] = slides[activeSlide]["transitionIn"]["name"]; + effectArray[0]["options"] = slides[activeSlide]["transitionIn"]["options"]; + effectArray[0]["dir"] = 1; + } + effectArray[0]["element"] = slides[activeSlide]["element"]; + + activeSlide += dir; + setProgressBarValue(activeSlide); + + effectArray[1] = new Object(); + + if (dir == 1) + { + effectArray[1]["effect"] = slides[activeSlide]["transitionIn"]["name"]; + effectArray[1]["options"] = slides[activeSlide]["transitionIn"]["options"]; + effectArray[1]["dir"] = 1; + } + else if (dir == -1) + { + effectArray[1]["effect"] = slides[activeSlide]["transitionOut"]["name"]; + effectArray[1]["options"] = slides[activeSlide]["transitionOut"]["options"]; + effectArray[1]["dir"] = -1; + } + + effectArray[1]["element"] = slides[activeSlide]["element"]; + + if (slides[activeSlide]["effects"] && (dir == -1)) + activeEffect = slides[activeSlide]["effects"].length; + else + activeEffect = 0; + + if (dir == -1) + setSlideToState(activeSlide, STATE_END); + else + setSlideToState(activeSlide, STATE_START); + + transCounter = 0; + startTime = (new Date()).getTime(); + lastFrameTime = null; + effect(dir); +} + +/** Function to toggle between index and slide mode. +*/ +function toggleSlideIndex() +{ + var suspendHandle = ROOT_NODE.suspendRedraw(500); + + if (currentMode == SLIDE_MODE) + { + hideProgressBar(); + INDEX_OFFSET = -1; + indexSetPageSlide(activeSlide); + currentMode = INDEX_MODE; + } + else if (currentMode == INDEX_MODE) + { + for (var counter = 0; counter < slides.length; counter++) + { + slides[counter]["element"].setAttribute("transform","scale(1)"); + + if (counter == activeSlide) + { + slides[counter]["element"].style.display = "inherit"; + slides[counter]["element"].setAttribute("opacity",1); + activeEffect = 0; + } + else + { + slides[counter]["element"].setAttribute("opacity",0); + slides[counter]["element"].style.display = "none"; + } + } + currentMode = SLIDE_MODE; + setSlideToState(activeSlide, STATE_START); + setProgressBarValue(activeSlide); + + if (progress_bar_visible) + { + showProgressBar(); + } + } + + ROOT_NODE.unsuspendRedraw(suspendHandle); + ROOT_NODE.forceRedraw(); +} + +/** Function to run an effect. + * + * @param dir direction in which to play the effect (1 = forwards, -1 = backwards) + */ +function effect(dir) +{ + var done = true; + + var suspendHandle = ROOT_NODE.suspendRedraw(200); + + for (var counter = 0; counter < effectArray.length; counter++) + { + if (effectArray[counter]["effect"] == "fade") + done &= fade(parseInt(effectArray[counter]["dir"]) * dir, effectArray[counter]["element"], transCounter, effectArray[counter]["options"]); + else if (effectArray[counter]["effect"] == "appear") + done &= appear(parseInt(effectArray[counter]["dir"]) * dir, effectArray[counter]["element"], transCounter, effectArray[counter]["options"]); + else if (effectArray[counter]["effect"] == "pop") + done &= pop(parseInt(effectArray[counter]["dir"]) * dir, effectArray[counter]["element"], transCounter, effectArray[counter]["options"]); + else if (effectArray[counter]["effect"] == "view") + done &= view(parseInt(effectArray[counter]["dir"]) * dir, effectArray[counter]["element"], transCounter, effectArray[counter]["options"]); + } + + ROOT_NODE.unsuspendRedraw(suspendHandle); + ROOT_NODE.forceRedraw(); + + if (!done) + { + var currentTime = (new Date()).getTime(); + var timeDiff = 1; + + transCounter = currentTime - startTime; + + if (lastFrameTime != null) + { + timeDiff = timeStep - (currentTime - lastFrameTime); + + if (timeDiff <= 0) + timeDiff = 1; + } + + lastFrameTime = currentTime; + + window.setTimeout("effect(" + dir + ")", timeDiff); + } + else + { + window.location.hash = (activeSlide + 1) + '_' + activeEffect; + processingEffect = false; + } +} + +/** Function to display the index sheet. + * + * @param offsetNumber offset number + */ +function displayIndex(offsetNumber) +{ + var offsetX = 0; + var offsetY = 0; + + if (offsetNumber < 0) + offsetNumber = 0; + else if (offsetNumber >= slides.length) + offsetNumber = slides.length - 1; + + for (var counter = 0; counter < slides.length; counter++) + { + if ((counter < offsetNumber) || (counter > offsetNumber + INDEX_COLUMNS * INDEX_COLUMNS - 1)) + { + slides[counter]["element"].setAttribute("opacity",0); + slides[counter]["element"].style.display = "none"; + } + else + { + offsetX = ((counter - offsetNumber) % INDEX_COLUMNS) * WIDTH; + offsetY = Math.floor((counter - offsetNumber) / INDEX_COLUMNS) * HEIGHT; + + slides[counter]["element"].setAttribute("transform","scale("+1/INDEX_COLUMNS+") translate("+offsetX+","+offsetY+")"); + slides[counter]["element"].style.display = "inherit"; + slides[counter]["element"].setAttribute("opacity",0.5); + } + + setSlideToState(counter, STATE_END); + } + + //do we need to save the current offset? + if (INDEX_OFFSET != offsetNumber) + INDEX_OFFSET = offsetNumber; +} + +/** Function to set the active slide in the slide view. + * + * @param nbr index of the active slide + */ +function slideSetActiveSlide(nbr) +{ + if (nbr >= slides.length) + nbr = slides.length - 1; + else if (nbr < 0) + nbr = 0; + + slides[activeSlide]["element"].setAttribute("opacity",0); + slides[activeSlide]["element"].style.display = "none"; + + activeSlide = parseInt(nbr); + + setSlideToState(activeSlide, STATE_START); + slides[activeSlide]["element"].style.display = "inherit"; + slides[activeSlide]["element"].setAttribute("opacity",1); + + activeEffect = 0; + setProgressBarValue(nbr); +} + +/** Function to set the active slide in the index view. + * + * @param nbr index of the active slide + */ +function indexSetActiveSlide(nbr) +{ + if (nbr >= slides.length) + nbr = slides.length - 1; + else if (nbr < 0) + nbr = 0; + + slides[activeSlide]["element"].setAttribute("opacity",0.5); + + activeSlide = parseInt(nbr); + window.location.hash = (activeSlide + 1) + '_0'; + + slides[activeSlide]["element"].setAttribute("opacity",1); +} + +/** Function to set the page and active slide in index view. + * + * @param nbr index of the active slide + * + * NOTE: To force a redraw, + * set INDEX_OFFSET to -1 before calling indexSetPageSlide(). + * + * This is necessary for zooming (otherwise the index might not + * get redrawn) and when switching to index mode. + * + * INDEX_OFFSET = -1 + * indexSetPageSlide(activeSlide); + */ +function indexSetPageSlide(nbr) +{ + if (nbr >= slides.length) + nbr = slides.length - 1; + else if (nbr < 0) + nbr = 0; + + //calculate the offset + var offset = nbr - nbr % (INDEX_COLUMNS * INDEX_COLUMNS); + + if (offset < 0) + offset = 0; + + //if different from kept offset, then record and change the page + if (offset != INDEX_OFFSET) + { + INDEX_OFFSET = offset; + displayIndex(INDEX_OFFSET); + } + + //set the active slide + indexSetActiveSlide(nbr); +} + +/** Event handler for key press. + * + * @param e the event + */ +function keydown(e) +{ + if (!e) + e = window.event; + + code = e.keyCode || e.charCode; + + if (!processingEffect && keyCodeDictionary[currentMode] && keyCodeDictionary[currentMode][code]) + return keyCodeDictionary[currentMode][code](); + else + document.onkeypress = keypress; +} +// Set event handler for key down. +document.onkeydown = keydown; + +/** Event handler for key press. + * + * @param e the event + */ +function keypress(e) +{ + document.onkeypress = null; + + if (!e) + e = window.event; + + str = String.fromCharCode(e.keyCode || e.charCode); + + if (!processingEffect && charCodeDictionary[currentMode] && charCodeDictionary[currentMode][str]) + return charCodeDictionary[currentMode][str](); +} + +/** Function to supply the default char code dictionary. + * + * @returns default char code dictionary + */ +function getDefaultCharCodeDictionary() +{ + var charCodeDict = new Object(); + + charCodeDict[SLIDE_MODE] = new Object(); + charCodeDict[INDEX_MODE] = new Object(); + charCodeDict[DRAWING_MODE] = new Object(); + + charCodeDict[SLIDE_MODE]["i"] = function () { return toggleSlideIndex(); }; + charCodeDict[SLIDE_MODE]["d"] = function () { return slideSwitchToDrawingMode(); }; + charCodeDict[SLIDE_MODE]["D"] = function () { return slideQueryDuration(); }; + charCodeDict[SLIDE_MODE]["n"] = function () { return slideAddSlide(activeSlide); }; + charCodeDict[SLIDE_MODE]["p"] = function () { return slideToggleProgressBarVisibility(); }; + charCodeDict[SLIDE_MODE]["t"] = function () { return slideResetTimer(); }; + charCodeDict[SLIDE_MODE]["e"] = function () { return slideUpdateExportLayer(); }; + + charCodeDict[DRAWING_MODE]["d"] = function () { return drawingSwitchToSlideMode(); }; + charCodeDict[DRAWING_MODE]["0"] = function () { return drawingResetPathWidth(); }; + charCodeDict[DRAWING_MODE]["1"] = function () { return drawingSetPathWidth(1.0); }; + charCodeDict[DRAWING_MODE]["3"] = function () { return drawingSetPathWidth(3.0); }; + charCodeDict[DRAWING_MODE]["5"] = function () { return drawingSetPathWidth(5.0); }; + charCodeDict[DRAWING_MODE]["7"] = function () { return drawingSetPathWidth(7.0); }; + charCodeDict[DRAWING_MODE]["9"] = function () { return drawingSetPathWidth(9.0); }; + charCodeDict[DRAWING_MODE]["b"] = function () { return drawingSetPathColour("blue"); }; + charCodeDict[DRAWING_MODE]["c"] = function () { return drawingSetPathColour("cyan"); }; + charCodeDict[DRAWING_MODE]["g"] = function () { return drawingSetPathColour("green"); }; + charCodeDict[DRAWING_MODE]["k"] = function () { return drawingSetPathColour("black"); }; + charCodeDict[DRAWING_MODE]["m"] = function () { return drawingSetPathColour("magenta"); }; + charCodeDict[DRAWING_MODE]["o"] = function () { return drawingSetPathColour("orange"); }; + charCodeDict[DRAWING_MODE]["r"] = function () { return drawingSetPathColour("red"); }; + charCodeDict[DRAWING_MODE]["w"] = function () { return drawingSetPathColour("white"); }; + charCodeDict[DRAWING_MODE]["y"] = function () { return drawingSetPathColour("yellow"); }; + charCodeDict[DRAWING_MODE]["z"] = function () { return drawingUndo(); }; + + charCodeDict[INDEX_MODE]["i"] = function () { return toggleSlideIndex(); }; + charCodeDict[INDEX_MODE]["-"] = function () { return indexDecreaseNumberOfColumns(); }; + charCodeDict[INDEX_MODE]["="] = function () { return indexIncreaseNumberOfColumns(); }; + charCodeDict[INDEX_MODE]["+"] = function () { return indexIncreaseNumberOfColumns(); }; + charCodeDict[INDEX_MODE]["0"] = function () { return indexResetNumberOfColumns(); }; + + return charCodeDict; +} + +/** Function to supply the default key code dictionary. + * + * @returns default key code dictionary + */ +function getDefaultKeyCodeDictionary() +{ + var keyCodeDict = new Object(); + + keyCodeDict[SLIDE_MODE] = new Object(); + keyCodeDict[INDEX_MODE] = new Object(); + keyCodeDict[DRAWING_MODE] = new Object(); + + keyCodeDict[SLIDE_MODE][LEFT_KEY] = function() { return dispatchEffects(-1); }; + keyCodeDict[SLIDE_MODE][RIGHT_KEY] = function() { return dispatchEffects(1); }; + keyCodeDict[SLIDE_MODE][UP_KEY] = function() { return skipEffects(-1); }; + keyCodeDict[SLIDE_MODE][DOWN_KEY] = function() { return skipEffects(1); }; + keyCodeDict[SLIDE_MODE][PAGE_UP_KEY] = function() { return dispatchEffects(-1); }; + keyCodeDict[SLIDE_MODE][PAGE_DOWN_KEY] = function() { return dispatchEffects(1); }; + keyCodeDict[SLIDE_MODE][HOME_KEY] = function() { return slideSetActiveSlide(0); }; + keyCodeDict[SLIDE_MODE][END_KEY] = function() { return slideSetActiveSlide(slides.length - 1); }; + keyCodeDict[SLIDE_MODE][SPACE_KEY] = function() { return dispatchEffects(1); }; + + keyCodeDict[INDEX_MODE][LEFT_KEY] = function() { return indexSetPageSlide(activeSlide - 1); }; + keyCodeDict[INDEX_MODE][RIGHT_KEY] = function() { return indexSetPageSlide(activeSlide + 1); }; + keyCodeDict[INDEX_MODE][UP_KEY] = function() { return indexSetPageSlide(activeSlide - INDEX_COLUMNS); }; + keyCodeDict[INDEX_MODE][DOWN_KEY] = function() { return indexSetPageSlide(activeSlide + INDEX_COLUMNS); }; + keyCodeDict[INDEX_MODE][PAGE_UP_KEY] = function() { return indexSetPageSlide(activeSlide - INDEX_COLUMNS * INDEX_COLUMNS); }; + keyCodeDict[INDEX_MODE][PAGE_DOWN_KEY] = function() { return indexSetPageSlide(activeSlide + INDEX_COLUMNS * INDEX_COLUMNS); }; + keyCodeDict[INDEX_MODE][HOME_KEY] = function() { return indexSetPageSlide(0); }; + keyCodeDict[INDEX_MODE][END_KEY] = function() { return indexSetPageSlide(slides.length - 1); }; + keyCodeDict[INDEX_MODE][ENTER_KEY] = function() { return toggleSlideIndex(); }; + + keyCodeDict[DRAWING_MODE][ESCAPE_KEY] = function () { return drawingSwitchToSlideMode(); }; + + return keyCodeDict; +} + +/** Function to handle all mouse events. + * + * @param evnt event + * @param action type of event (e.g. mouse up, mouse wheel) + */ +function mouseHandlerDispatch(evnt, action) +{ + if (!evnt) + evnt = window.event; + + var retVal = true; + + if (!processingEffect && mouseHandlerDictionary[currentMode] && mouseHandlerDictionary[currentMode][action]) + { + var subRetVal = mouseHandlerDictionary[currentMode][action](evnt); + + if (subRetVal != null && subRetVal != undefined) + retVal = subRetVal; + } + + if (evnt.preventDefault && !retVal) + evnt.preventDefault(); + + evnt.returnValue = retVal; + + return retVal; +} + +// Set mouse event handler. +document.onmousedown = function(e) { return mouseHandlerDispatch(e, MOUSE_DOWN); }; +document.onmouseup = function(e) { return mouseHandlerDispatch(e, MOUSE_UP); }; +document.onmousemove = function(e) { return mouseHandlerDispatch(e, MOUSE_MOVE); }; + +// Moz +if (window.addEventListener) +{ + window.addEventListener('DOMMouseScroll', function(e) { return mouseHandlerDispatch(e, MOUSE_WHEEL); }, false); +} + +// Opera Safari OK - may not work in IE +window.onmousewheel = function(e) { return mouseHandlerDispatch(e, MOUSE_WHEEL); }; + +/** Function to supply the default mouse handler dictionary. + * + * @returns default mouse handler dictionary + */ +function getDefaultMouseHandlerDictionary() +{ + var mouseHandlerDict = new Object(); + + mouseHandlerDict[SLIDE_MODE] = new Object(); + mouseHandlerDict[INDEX_MODE] = new Object(); + mouseHandlerDict[DRAWING_MODE] = new Object(); + + mouseHandlerDict[SLIDE_MODE][MOUSE_DOWN] = function(evnt) { return dispatchEffects(1); }; + mouseHandlerDict[SLIDE_MODE][MOUSE_WHEEL] = function(evnt) { return slideMousewheel(evnt); }; + + mouseHandlerDict[INDEX_MODE][MOUSE_DOWN] = function(evnt) { return toggleSlideIndex(); }; + + mouseHandlerDict[DRAWING_MODE][MOUSE_DOWN] = function(evnt) { return drawingMousedown(evnt); }; + mouseHandlerDict[DRAWING_MODE][MOUSE_UP] = function(evnt) { return drawingMouseup(evnt); }; + mouseHandlerDict[DRAWING_MODE][MOUSE_MOVE] = function(evnt) { return drawingMousemove(evnt); }; + + return mouseHandlerDict; +} + +/** Function to switch from slide mode to drawing mode. +*/ +function slideSwitchToDrawingMode() +{ + currentMode = DRAWING_MODE; + + var tempDict; + + if (ROOT_NODE.hasAttribute("style")) + tempDict = propStrToDict(ROOT_NODE.getAttribute("style")); + else + tempDict = new Object(); + + tempDict["cursor"] = "crosshair"; + ROOT_NODE.setAttribute("style", dictToPropStr(tempDict)); +} + +/** Function to switch from drawing mode to slide mode. +*/ +function drawingSwitchToSlideMode() +{ + currentMode = SLIDE_MODE; + + var tempDict; + + if (ROOT_NODE.hasAttribute("style")) + tempDict = propStrToDict(ROOT_NODE.getAttribute("style")); + else + tempDict = new Object(); + + tempDict["cursor"] = "auto"; + ROOT_NODE.setAttribute("style", dictToPropStr(tempDict)); +} + +/** Function to decrease the number of columns in index mode. +*/ +function indexDecreaseNumberOfColumns() +{ + if (INDEX_COLUMNS >= 3) + { + INDEX_COLUMNS -= 1; + INDEX_OFFSET = -1 + indexSetPageSlide(activeSlide); + } +} + +/** Function to increase the number of columns in index mode. +*/ +function indexIncreaseNumberOfColumns() +{ + if (INDEX_COLUMNS < 7) + { + INDEX_COLUMNS += 1; + INDEX_OFFSET = -1 + indexSetPageSlide(activeSlide); + } +} + +/** Function to reset the number of columns in index mode. +*/ +function indexResetNumberOfColumns() +{ + if (INDEX_COLUMNS != INDEX_COLUMNS_DEFAULT) + { + INDEX_COLUMNS = INDEX_COLUMNS_DEFAULT; + INDEX_OFFSET = -1 + indexSetPageSlide(activeSlide); + } +} + +/** Function to reset path width in drawing mode. +*/ +function drawingResetPathWidth() +{ + path_width = path_width_default; + set_path_paint_width(); +} + +/** Function to set path width in drawing mode. + * + * @param width new path width + */ +function drawingSetPathWidth(width) +{ + path_width = width; + set_path_paint_width(); +} + +/** Function to set path colour in drawing mode. + * + * @param colour new path colour + */ +function drawingSetPathColour(colour) +{ + path_colour = colour; +} + +/** Function to query the duration of the presentation from the user in slide mode. +*/ +function slideQueryDuration() +{ + var new_duration = prompt("Length of presentation in minutes?", timer_duration); + + if ((new_duration != null) && (new_duration != '')) + { + timer_duration = new_duration; + } + + updateTimer(); +} + +/** Function to add new slide in slide mode. + * + * @param afterSlide after which slide to insert the new one + */ +function slideAddSlide(afterSlide) +{ + addSlide(afterSlide); + slideSetActiveSlide(afterSlide + 1); + updateTimer(); +} + +/** Function to toggle the visibility of the progress bar in slide mode. +*/ +function slideToggleProgressBarVisibility() +{ + if (progress_bar_visible) + { + progress_bar_visible = false; + hideProgressBar(); + } + else + { + progress_bar_visible = true; + showProgressBar(); + } +} + +/** Function to reset the timer in slide mode. +*/ +function slideResetTimer() +{ + timer_start = timer_elapsed; + updateTimer(); +} + +/** Convenience function to pad a string with zero in front up to a certain length. + */ +function padString(str, len) +{ + var outStr = str; + + while (outStr.length < len) + { + outStr = '0' + outStr; + } + + return outStr; +} + +/** Function to update the export layer. + */ +function slideUpdateExportLayer() +{ + // Suspend redraw since we are going to mess with the slides. + var suspendHandle = ROOT_NODE.suspendRedraw(2000); + + var tmpActiveSlide = activeSlide; + var tmpActiveEffect = activeEffect; + var exportedLayers = new Array(); + + for (var counterSlides = 0; counterSlides < slides.length; counterSlides++) + { + var exportNode; + + setSlideToState(counterSlides, STATE_START); + + var maxEffect = 0; + + if (slides[counterSlides].effects) + { + maxEffect = slides[counterSlides].effects.length; + } + + exportNode = slides[counterSlides].element.cloneNode(true); + exportNode.setAttributeNS(NSS["inkscape"], "groupmode", "layer"); + exportNode.setAttributeNS(NSS["inkscape"], "label", "slide_" + padString((counterSlides + 1).toString(), slides.length.toString().length) + "_effect_" + padString("0", maxEffect.toString().length)); + + exportedLayers.push(exportNode); + + if (slides[counterSlides]["effects"]) + { + for (var counter = 0; counter < slides[counterSlides]["effects"].length; counter++) + { + for (var subCounter = 0; subCounter < slides[counterSlides]["effects"][counter].length; subCounter++) + { + var effect = slides[counterSlides]["effects"][counter][subCounter]; + if (effect["effect"] == "fade") + fade(parseInt(effect["dir"]), effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "appear") + appear(parseInt(effect["dir"]), effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "pop") + pop(parseInt(effect["dir"]), effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "view") + view(parseInt(effect["dir"]), effect["element"], STATE_END, effect["options"]); + } + + var layerName = "slide_" + padString((counterSlides + 1).toString(), slides.length.toString().length) + "_effect_" + padString((counter + 1).toString(), maxEffect.toString().length); + exportNode = slides[counterSlides].element.cloneNode(true); + exportNode.setAttributeNS(NSS["inkscape"], "groupmode", "layer"); + exportNode.setAttributeNS(NSS["inkscape"], "label", layerName); + exportNode.setAttribute("id", layerName); + + exportedLayers.push(exportNode); + } + } + } + + activeSlide = tmpActiveSlide; + activeEffect = tmpActiveEffect; + setSlideToState(activeSlide, activeEffect); + + // Copy image. + var newDoc = document.documentElement.cloneNode(true); + + // Delete viewbox form new imag and set width and height. + newDoc.removeAttribute('viewbox'); + newDoc.setAttribute('width', WIDTH); + newDoc.setAttribute('height', HEIGHT); + + // Delete all layers and script elements. + var nodesToBeRemoved = new Array(); + + for (var childCounter = 0; childCounter < newDoc.childNodes.length; childCounter++) + { + var child = newDoc.childNodes[childCounter]; + + if (child.nodeType == 1) + { + if ((child.nodeName.toUpperCase() == 'G') || (child.nodeName.toUpperCase() == 'SCRIPT')) + { + nodesToBeRemoved.push(child); + } + } + } + + for (var ndCounter = 0; ndCounter < nodesToBeRemoved.length; ndCounter++) + { + var nd = nodesToBeRemoved[ndCounter]; + + // Before removing the node, check whether it contains any definitions. + var defs = nd.getElementsByTagNameNS(NSS["svg"], "defs"); + + for (var defsCounter = 0; defsCounter < defs.length; defsCounter++) + { + if (defs[defsCounter].id) + { + newDoc.appendChild(defs[defsCounter].cloneNode(true)); + } + } + + // Remove node. + nd.parentNode.removeChild(nd); + } + + // Set current layer. + if (exportedLayers[0]) + { + var namedView; + + for (var nodeCounter = 0; nodeCounter < newDoc.childNodes.length; nodeCounter++) + { + if ((newDoc.childNodes[nodeCounter].nodeType == 1) && (newDoc.childNodes[nodeCounter].getAttribute('id') == 'base')) + { + namedView = newDoc.childNodes[nodeCounter]; + } + } + + if (namedView) + { + namedView.setAttributeNS(NSS['inkscape'], 'current-layer', exportedLayers[0].getAttributeNS(NSS['inkscape'], 'label')); + } + } + + // Add exported layers. + while (exportedLayers.length > 0) + { + var nd = exportedLayers.pop(); + + nd.setAttribute("opacity",1); + nd.style.display = "inherit"; + + newDoc.appendChild(nd); + } + + // Serialise the new document. + window.location = 'data:application/svg+xml;base64;charset=utf-8,' + window.btoa(unescape(encodeURIComponent((new XMLSerializer()).serializeToString(newDoc)))); + + // Unsuspend redraw. + ROOT_NODE.unsuspendRedraw(suspendHandle); + ROOT_NODE.forceRedraw(); +} + +/** Function to undo last drawing operation. +*/ +function drawingUndo() +{ + mouse_presentation_path = null; + mouse_original_path = null; + + if (history_presentation_elements.length > 0) + { + var p = history_presentation_elements.pop(); + var parent = p.parentNode.removeChild(p); + + p = history_original_elements.pop(); + parent = p.parentNode.removeChild(p); + } +} + +/** Event handler for mouse down in drawing mode. + * + * @param e the event + */ +function drawingMousedown(e) +{ + var value = 0; + + if (e.button) + value = e.button; + else if (e.which) + value = e.which; + + if (value == 1) + { + history_counter++; + + var p = calcCoord(e); + + mouse_last_x = e.clientX; + mouse_last_y = e.clientY; + mouse_original_path = document.createElementNS(NSS["svg"], "path"); + mouse_original_path.setAttribute("stroke", path_colour); + mouse_original_path.setAttribute("stroke-width", path_paint_width); + mouse_original_path.setAttribute("fill", "none"); + mouse_original_path.setAttribute("id", "path " + Date()); + mouse_original_path.setAttribute("d", "M" + p.x + "," + p.y); + slides[activeSlide]["original_element"].appendChild(mouse_original_path); + history_original_elements.push(mouse_original_path); + + mouse_presentation_path = document.createElementNS(NSS["svg"], "path"); + mouse_presentation_path.setAttribute("stroke", path_colour); + mouse_presentation_path.setAttribute("stroke-width", path_paint_width); + mouse_presentation_path.setAttribute("fill", "none"); + mouse_presentation_path.setAttribute("id", "path " + Date() + " presentation copy"); + mouse_presentation_path.setAttribute("d", "M" + p.x + "," + p.y); + + if (slides[activeSlide]["viewGroup"]) + slides[activeSlide]["viewGroup"].appendChild(mouse_presentation_path); + else + slides[activeSlide]["element"].appendChild(mouse_presentation_path); + + history_presentation_elements.push(mouse_presentation_path); + + return false; + } + + return true; +} + +/** Event handler for mouse up in drawing mode. + * + * @param e the event + */ +function drawingMouseup(e) +{ + if(!e) + e = window.event; + + if (mouse_presentation_path != null) + { + var p = calcCoord(e); + var d = mouse_presentation_path.getAttribute("d"); + d += " L" + p.x + "," + p.y; + mouse_presentation_path.setAttribute("d", d); + mouse_presentation_path = null; + mouse_original_path.setAttribute("d", d); + mouse_original_path = null; + + return false; + } + + return true; +} + +/** Event handler for mouse move in drawing mode. + * + * @param e the event + */ +function drawingMousemove(e) +{ + if(!e) + e = window.event; + + var dist = (mouse_last_x - e.clientX) * (mouse_last_x - e.clientX) + (mouse_last_y - e.clientY) * (mouse_last_y - e.clientY); + + if (mouse_presentation_path == null) + { + return true; + } + + if (dist >= mouse_min_dist_sqr) + { + var p = calcCoord(e); + var d = mouse_presentation_path.getAttribute("d"); + d += " L" + p.x + "," + p.y; + mouse_presentation_path.setAttribute("d", d); + mouse_original_path.setAttribute("d", d); + mouse_last_x = e.clientX; + mouse_last_y = e.clientY; + } + + return false; +} + +/** Event handler for mouse wheel events in slide mode. + * based on http://adomas.org/javascript-mouse-wheel/ + * + * @param e the event + */ +function slideMousewheel(e) +{ + var delta = 0; + + if (!e) + e = window.event; + + if (e.wheelDelta) + { // IE Opera + delta = e.wheelDelta/120; + } + else if (e.detail) + { // MOZ + delta = -e.detail/3; + } + + if (delta > 0) + skipEffects(-1); + else if (delta < 0) + skipEffects(1); + + if (e.preventDefault) + e.preventDefault(); + + e.returnValue = false; +} + +/** Event handler for mouse wheel events in index mode. + * based on http://adomas.org/javascript-mouse-wheel/ + * + * @param e the event + */ +function indexMousewheel(e) +{ + var delta = 0; + + if (!e) + e = window.event; + + if (e.wheelDelta) + { // IE Opera + delta = e.wheelDelta/120; + } + else if (e.detail) + { // MOZ + delta = -e.detail/3; + } + + if (delta > 0) + indexSetPageSlide(activeSlide - INDEX_COLUMNS * INDEX_COLUMNS); + else if (delta < 0) + indexSetPageSlide(activeSlide + INDEX_COLUMNS * INDEX_COLUMNS); + + if (e.preventDefault) + e.preventDefault(); + + e.returnValue = false; +} + +/** Function to set the path paint width. +*/ +function set_path_paint_width() +{ + var svgPoint1 = document.documentElement.createSVGPoint(); + var svgPoint2 = document.documentElement.createSVGPoint(); + + svgPoint1.x = 0.0; + svgPoint1.y = 0.0; + svgPoint2.x = 1.0; + svgPoint2.y = 0.0; + + var matrix = slides[activeSlide]["element"].getTransformToElement(ROOT_NODE); + + if (slides[activeSlide]["viewGroup"]) + matrix = slides[activeSlide]["viewGroup"].getTransformToElement(ROOT_NODE); + + svgPoint1 = svgPoint1.matrixTransform(matrix); + svgPoint2 = svgPoint2.matrixTransform(matrix); + + path_paint_width = path_width / Math.sqrt((svgPoint2.x - svgPoint1.x) * (svgPoint2.x - svgPoint1.x) + (svgPoint2.y - svgPoint1.y) * (svgPoint2.y - svgPoint1.y)); +} + +/** The view effect. + * + * @param dir direction the effect should be played (1 = forwards, -1 = backwards) + * @param element the element the effect should be applied to + * @param time the time that has elapsed since the beginning of the effect + * @param options a dictionary with additional options (e.g. length of the effect); for the view effect the options need to contain the old and the new matrix. + */ +function view(dir, element, time, options) +{ + var length = 250; + var fraction; + + if (!options["matrixInitial"]) + { + var tempString = slides[activeSlide]["viewGroup"].getAttribute("transform"); + + if (tempString) + options["matrixInitial"] = (new matrixSVG()).fromAttribute(tempString); + else + options["matrixInitial"] = (new matrixSVG()).fromSVGElements(1, 0, 0, 1, 0, 0); + } + + if ((time == STATE_END) || (time == STATE_START)) + fraction = 1; + else + { + if (options && options["length"]) + length = options["length"]; + + fraction = time / length; + } + + if (dir == 1) + { + if (fraction <= 0) + { + element.setAttribute("transform", options["matrixInitial"].toAttribute()); + } + else if (fraction >= 1) + { + element.setAttribute("transform", options["matrixNew"].toAttribute()); + + set_path_paint_width(); + + options["matrixInitial"] = null; + return true; + } + else + { + element.setAttribute("transform", options["matrixInitial"].mix(options["matrixNew"], fraction).toAttribute()); + } + } + else if (dir == -1) + { + if (fraction <= 0) + { + element.setAttribute("transform", options["matrixInitial"].toAttribute()); + } + else if (fraction >= 1) + { + element.setAttribute("transform", options["matrixOld"].toAttribute()); + set_path_paint_width(); + + options["matrixInitial"] = null; + return true; + } + else + { + element.setAttribute("transform", options["matrixInitial"].mix(options["matrixOld"], fraction).toAttribute()); + } + } + + return false; +} + +/** The fade effect. + * + * @param dir direction the effect should be played (1 = forwards, -1 = backwards) + * @param element the element the effect should be applied to + * @param time the time that has elapsed since the beginning of the effect + * @param options a dictionary with additional options (e.g. length of the effect) + */ +function fade(dir, element, time, options) +{ + var length = 250; + var fraction; + + if ((time == STATE_END) || (time == STATE_START)) + fraction = 1; + else + { + if (options && options["length"]) + length = options["length"]; + + fraction = time / length; + } + + if (dir == 1) + { + if (fraction <= 0) + { + element.style.display = "none"; + element.setAttribute("opacity", 0); + } + else if (fraction >= 1) + { + element.style.display = "inherit"; + element.setAttribute("opacity", 1); + return true; + } + else + { + element.style.display = "inherit"; + element.setAttribute("opacity", fraction); + } + } + else if (dir == -1) + { + if (fraction <= 0) + { + element.style.display = "inherit"; + element.setAttribute("opacity", 1); + } + else if (fraction >= 1) + { + element.setAttribute("opacity", 0); + element.style.display = "none"; + return true; + } + else + { + element.style.display = "inherit"; + element.setAttribute("opacity", 1 - fraction); + } + } + return false; +} + +/** The appear effect. + * + * @param dir direction the effect should be played (1 = forwards, -1 = backwards) + * @param element the element the effect should be applied to + * @param time the time that has elapsed since the beginning of the effect + * @param options a dictionary with additional options (e.g. length of the effect) + */ +function appear(dir, element, time, options) +{ + if (dir == 1) + { + element.style.display = "inherit"; + element.setAttribute("opacity",1); + } + else if (dir == -1) + { + element.style.display = "none"; + element.setAttribute("opacity",0); + } + return true; +} + +/** The pop effect. + * + * @param dir direction the effect should be played (1 = forwards, -1 = backwards) + * @param element the element the effect should be applied to + * @param time the time that has elapsed since the beginning of the effect + * @param options a dictionary with additional options (e.g. length of the effect) + */ +function pop(dir, element, time, options) +{ + var length = 500; + var fraction; + + if ((time == STATE_END) || (time == STATE_START)) + fraction = 1; + else + { + if (options && options["length"]) + length = options["length"]; + + fraction = time / length; + } + + if (dir == 1) + { + if (fraction <= 0) + { + element.setAttribute("opacity", 0); + element.setAttribute("transform", "scale(0)"); + element.style.display = "none"; + } + else if (fraction >= 1) + { + element.setAttribute("opacity", 1); + element.removeAttribute("transform"); + element.style.display = "inherit"; + return true; + } + else + { + element.style.display = "inherit"; + var opacityFraction = fraction * 3; + if (opacityFraction > 1) + opacityFraction = 1; + element.setAttribute("opacity", opacityFraction); + var offsetX = WIDTH * (1.0 - fraction) / 2.0; + var offsetY = HEIGHT * (1.0 - fraction) / 2.0; + element.setAttribute("transform", "translate(" + offsetX + "," + offsetY + ") scale(" + fraction + ")"); + } + } + else if (dir == -1) + { + if (fraction <= 0) + { + element.setAttribute("opacity", 1); + element.setAttribute("transform", "scale(1)"); + element.style.display = "inherit"; + } + else if (fraction >= 1) + { + element.setAttribute("opacity", 0); + element.removeAttribute("transform"); + element.style.display = "none"; + return true; + } + else + { + element.setAttribute("opacity", 1 - fraction); + element.setAttribute("transform", "scale(" + 1 - fraction + ")"); + element.style.display = "inherit"; + } + } + return false; +} + +/** Function to set a slide either to the start or the end state. + * + * @param slide the slide to use + * @param state the state into which the slide should be set + */ +function setSlideToState(slide, state) +{ + slides[slide]["viewGroup"].setAttribute("transform", slides[slide].initialView); + + if (slides[slide]["effects"]) + { + if (state == STATE_END) + { + for (var counter = 0; counter < slides[slide]["effects"].length; counter++) + { + for (var subCounter = 0; subCounter < slides[slide]["effects"][counter].length; subCounter++) + { + var effect = slides[slide]["effects"][counter][subCounter]; + if (effect["effect"] == "fade") + fade(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "appear") + appear(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "pop") + pop(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "view") + view(effect["dir"], effect["element"], STATE_END, effect["options"]); + } + } + } + else if (state == STATE_START) + { + for (var counter = slides[slide]["effects"].length - 1; counter >= 0; counter--) + { + for (var subCounter = 0; subCounter < slides[slide]["effects"][counter].length; subCounter++) + { + var effect = slides[slide]["effects"][counter][subCounter]; + if (effect["effect"] == "fade") + fade(parseInt(effect["dir"]) * -1, effect["element"], STATE_START, effect["options"]); + else if (effect["effect"] == "appear") + appear(parseInt(effect["dir"]) * -1, effect["element"], STATE_START, effect["options"]); + else if (effect["effect"] == "pop") + pop(parseInt(effect["dir"]) * -1, effect["element"], STATE_START, effect["options"]); + else if (effect["effect"] == "view") + view(parseInt(effect["dir"]) * -1, effect["element"], STATE_START, effect["options"]); + } + } + } + else + { + setSlideToState(slide, STATE_START); + + for (var counter = 0; counter < slides[slide]["effects"].length && counter < state; counter++) + { + for (var subCounter = 0; subCounter < slides[slide]["effects"][counter].length; subCounter++) + { + var effect = slides[slide]["effects"][counter][subCounter]; + if (effect["effect"] == "fade") + fade(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "appear") + appear(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "pop") + pop(effect["dir"], effect["element"], STATE_END, effect["options"]); + else if (effect["effect"] == "view") + view(effect["dir"], effect["element"], STATE_END, effect["options"]); + } + } + } + } + + window.location.hash = (activeSlide + 1) + '_' + activeEffect; +} + +/** Convenience function to translate a attribute string into a dictionary. + * + * @param str the attribute string + * @return a dictionary + * @see dictToPropStr + */ +function propStrToDict(str) +{ + var list = str.split(";"); + var obj = new Object(); + + for (var counter = 0; counter < list.length; counter++) + { + var subStr = list[counter]; + var subList = subStr.split(":"); + if (subList.length == 2) + { + obj[subList[0]] = subList[1]; + } + } + + return obj; +} + +/** Convenience function to translate a dictionary into a string that can be used as an attribute. + * + * @param dict the dictionary to convert + * @return a string that can be used as an attribute + * @see propStrToDict + */ +function dictToPropStr(dict) +{ + var str = ""; + + for (var key in dict) + { + str += key + ":" + dict[key] + ";"; + } + + return str; +} + +/** Sub-function to add a suffix to the ids of the node and all its children. + * + * @param node the node to change + * @param suffix the suffix to add + * @param replace dictionary of replaced ids + * @see suffixNodeIds + */ +function suffixNoneIds_sub(node, suffix, replace) +{ + if (node.nodeType == 1) + { + if (node.getAttribute("id")) + { + var id = node.getAttribute("id") + replace["#" + id] = id + suffix; + node.setAttribute("id", id + suffix); + } + + if ((node.nodeName == "use") && (node.getAttributeNS(NSS["xlink"], "href")) && (replace[node.getAttribute(NSS["xlink"], "href")])) + node.setAttribute(NSS["xlink"], "href", node.getAttribute(NSS["xlink"], "href") + suffix); + + if (node.childNodes) + { + for (var counter = 0; counter < node.childNodes.length; counter++) + suffixNoneIds_sub(node.childNodes[counter], suffix, replace); + } + } +} + +/** Function to add a suffix to the ids of the node and all its children. + * + * @param node the node to change + * @param suffix the suffix to add + * @return the changed node + * @see suffixNodeIds_sub + */ +function suffixNodeIds(node, suffix) +{ + var replace = new Object(); + + suffixNoneIds_sub(node, suffix, replace); + + return node; +} + +/** Function to build a progress bar. + * + * @param parent node to attach the progress bar to + */ +function createProgressBar(parent_node) +{ + var g = document.createElementNS(NSS["svg"], "g"); + g.setAttribute("clip-path", "url(#jessyInkSlideClipPath)"); + g.setAttribute("id", "layer_progress_bar"); + g.setAttribute("style", "display: none;"); + + var rect_progress_bar = document.createElementNS(NSS["svg"], "rect"); + rect_progress_bar.setAttribute("style", "marker: none; fill: rgb(128, 128, 128); stroke: none;"); + rect_progress_bar.setAttribute("id", "rect_progress_bar"); + rect_progress_bar.setAttribute("x", 0); + rect_progress_bar.setAttribute("y", 0.99 * HEIGHT); + rect_progress_bar.setAttribute("width", 0); + rect_progress_bar.setAttribute("height", 0.01 * HEIGHT); + g.appendChild(rect_progress_bar); + + var circle_timer_indicator = document.createElementNS(NSS["svg"], "circle"); + circle_timer_indicator.setAttribute("style", "marker: none; fill: rgb(255, 0, 0); stroke: none;"); + circle_timer_indicator.setAttribute("id", "circle_timer_indicator"); + circle_timer_indicator.setAttribute("cx", 0.005 * HEIGHT); + circle_timer_indicator.setAttribute("cy", 0.995 * HEIGHT); + circle_timer_indicator.setAttribute("r", 0.005 * HEIGHT); + g.appendChild(circle_timer_indicator); + + parent_node.appendChild(g); +} + +/** Function to hide the progress bar. + * + */ +function hideProgressBar() +{ + var progress_bar = document.getElementById("layer_progress_bar"); + + if (!progress_bar) + { + return; + } + + progress_bar.setAttribute("style", "display: none;"); +} + +/** Function to show the progress bar. + * + */ +function showProgressBar() +{ + var progress_bar = document.getElementById("layer_progress_bar"); + + if (!progress_bar) + { + return; + } + + progress_bar.setAttribute("style", "display: inherit;"); +} + +/** Set progress bar value. + * + * @param value the current slide number + * + */ +function setProgressBarValue(value) +{ + var rect_progress_bar = document.getElementById("rect_progress_bar"); + + if (!rect_progress_bar) + { + return; + } + + if (value < 1) + { + // First slide, assumed to be the title of the presentation + var x = 0; + var w = 0.01 * HEIGHT; + } + else if (value >= slides.length - 1) + { + // Last slide, assumed to be the end of the presentation + var x = WIDTH - 0.01 * HEIGHT; + var w = 0.01 * HEIGHT; + } + else + { + value -= 1; + value /= (slides.length - 2); + + var x = WIDTH * value; + var w = WIDTH / (slides.length - 2); + } + + rect_progress_bar.setAttribute("x", x); + rect_progress_bar.setAttribute("width", w); +} + +/** Set time indicator. + * + * @param value the percentage of time elapse so far between 0.0 and 1.0 + * + */ +function setTimeIndicatorValue(value) +{ + var circle_timer_indicator = document.getElementById("circle_timer_indicator"); + + if (!circle_timer_indicator) + { + return; + } + + if (value < 0.0) + { + value = 0.0; + } + + if (value > 1.0) + { + value = 1.0; + } + + var cx = (WIDTH - 0.01 * HEIGHT) * value + 0.005 * HEIGHT; + circle_timer_indicator.setAttribute("cx", cx); +} + +/** Update timer. + * + */ +function updateTimer() +{ + timer_elapsed += 1; + setTimeIndicatorValue((timer_elapsed - timer_start) / (60 * timer_duration)); +} + +/** Convert screen coordinates to document coordinates. + * + * @param e event with screen coordinates + * + * @return coordinates in SVG file coordinate system + */ +function calcCoord(e) +{ + var svgPoint = document.documentElement.createSVGPoint(); + svgPoint.x = e.clientX + window.pageXOffset; + svgPoint.y = e.clientY + window.pageYOffset; + + var matrix = slides[activeSlide]["element"].getScreenCTM(); + + if (slides[activeSlide]["viewGroup"]) + matrix = slides[activeSlide]["viewGroup"].getScreenCTM(); + + svgPoint = svgPoint.matrixTransform(matrix.inverse()); + return svgPoint; +} + +/** Add slide. + * + * @param after_slide after which slide the new slide should be inserted into the presentation + */ +function addSlide(after_slide) +{ + number_of_added_slides++; + + var g = document.createElementNS(NSS["svg"], "g"); + g.setAttribute("clip-path", "url(#jessyInkSlideClipPath)"); + g.setAttribute("id", "Whiteboard " + Date() + " presentation copy"); + g.setAttribute("style", "display: none;"); + + var new_slide = new Object(); + new_slide["element"] = g; + + // Set build in transition. + new_slide["transitionIn"] = new Object(); + var dict = defaultTransitionInDict; + new_slide["transitionIn"]["name"] = dict["name"]; + new_slide["transitionIn"]["options"] = new Object(); + + for (key in dict) + if (key != "name") + new_slide["transitionIn"]["options"][key] = dict[key]; + + // Set build out transition. + new_slide["transitionOut"] = new Object(); + dict = defaultTransitionOutDict; + new_slide["transitionOut"]["name"] = dict["name"]; + new_slide["transitionOut"]["options"] = new Object(); + + for (key in dict) + if (key != "name") + new_slide["transitionOut"]["options"][key] = dict[key]; + + // Copy master slide content. + if (masterSlide) + { + var clonedNode = suffixNodeIds(masterSlide.cloneNode(true), "_" + Date() + " presentation_copy"); + clonedNode.removeAttributeNS(NSS["inkscape"], "groupmode"); + clonedNode.removeAttributeNS(NSS["inkscape"], "label"); + clonedNode.style.display = "inherit"; + + g.appendChild(clonedNode); + } + + // Substitute auto texts. + substituteAutoTexts(g, "Whiteboard " + number_of_added_slides, "W" + number_of_added_slides, slides.length); + + g.setAttribute("onmouseover", "if ((currentMode == INDEX_MODE) && ( activeSlide != " + (after_slide + 1) + ")) { indexSetActiveSlide(" + (after_slide + 1) + "); };"); + + // Create a transform group. + var transformGroup = document.createElementNS(NSS["svg"], "g"); + + // Add content to transform group. + while (g.firstChild) + transformGroup.appendChild(g.firstChild); + + // Transfer the transform attribute from the node to the transform group. + if (g.getAttribute("transform")) + { + transformGroup.setAttribute("transform", g.getAttribute("transform")); + g.removeAttribute("transform"); + } + + // Create a view group. + var viewGroup = document.createElementNS(NSS["svg"], "g"); + + viewGroup.appendChild(transformGroup); + new_slide["viewGroup"] = g.appendChild(viewGroup); + + // Insert background. + if (BACKGROUND_COLOR != null) + { + var rectNode = document.createElementNS(NSS["svg"], "rect"); + + rectNode.setAttribute("x", 0); + rectNode.setAttribute("y", 0); + rectNode.setAttribute("width", WIDTH); + rectNode.setAttribute("height", HEIGHT); + rectNode.setAttribute("id", "jessyInkBackground" + Date()); + rectNode.setAttribute("fill", BACKGROUND_COLOR); + + new_slide["viewGroup"].insertBefore(rectNode, new_slide["viewGroup"].firstChild); + } + + // Set initial view even if there are no other views. + var matrixOld = (new matrixSVG()).fromElements(1, 0, 0, 0, 1, 0, 0, 0, 1); + + new_slide["viewGroup"].setAttribute("transform", matrixOld.toAttribute()); + new_slide.initialView = matrixOld.toAttribute(); + + // Insert slide + var node = slides[after_slide]["element"]; + var next_node = node.nextSibling; + var parent_node = node.parentNode; + + if (next_node) + { + parent_node.insertBefore(g, next_node); + } + else + { + parent_node.appendChild(g); + } + + g = document.createElementNS(NSS["svg"], "g"); + g.setAttributeNS(NSS["inkscape"], "groupmode", "layer"); + g.setAttributeNS(NSS["inkscape"], "label", "Whiteboard " + number_of_added_slides); + g.setAttribute("clip-path", "url(#jessyInkSlideClipPath)"); + g.setAttribute("id", "Whiteboard " + Date()); + g.setAttribute("style", "display: none;"); + + new_slide["original_element"] = g; + + node = slides[after_slide]["original_element"]; + next_node = node.nextSibling; + parent_node = node.parentNode; + + if (next_node) + { + parent_node.insertBefore(g, next_node); + } + else + { + parent_node.appendChild(g); + } + + before_new_slide = slides.slice(0, after_slide + 1); + after_new_slide = slides.slice(after_slide + 1); + slides = before_new_slide.concat(new_slide, after_new_slide); + + //resetting the counter attributes on the slides that follow the new slide... + for (var counter = after_slide+2; counter < slides.length; counter++) + { + slides[counter]["element"].setAttribute("onmouseover", "if ((currentMode == INDEX_MODE) && ( activeSlide != " + counter + ")) { indexSetActiveSlide(" + counter + "); };"); + } +} + +/** Convenience function to obtain a transformation matrix from a point matrix. + * + * @param mPoints Point matrix. + * @return A transformation matrix. + */ +function pointMatrixToTransformation(mPoints) +{ + mPointsOld = (new matrixSVG()).fromElements(0, WIDTH, WIDTH, 0, 0, HEIGHT, 1, 1, 1); + + return mPointsOld.mult(mPoints.inv()); +} + +/** Convenience function to obtain a matrix with three corners of a rectangle. + * + * @param rect an svg rectangle + * @return a matrixSVG containing three corners of the rectangle + */ +function rectToMatrix(rect) +{ + rectWidth = rect.getBBox().width; + rectHeight = rect.getBBox().height; + rectX = rect.getBBox().x; + rectY = rect.getBBox().y; + rectXcorr = 0; + rectYcorr = 0; + + scaleX = WIDTH / rectWidth; + scaleY = HEIGHT / rectHeight; + + if (scaleX > scaleY) + { + scaleX = scaleY; + rectXcorr -= (WIDTH / scaleX - rectWidth) / 2; + rectWidth = WIDTH / scaleX; + } + else + { + scaleY = scaleX; + rectYcorr -= (HEIGHT / scaleY - rectHeight) / 2; + rectHeight = HEIGHT / scaleY; + } + + if (rect.transform.baseVal.numberOfItems < 1) + { + mRectTrans = (new matrixSVG()).fromElements(1, 0, 0, 0, 1, 0, 0, 0, 1); + } + else + { + mRectTrans = (new matrixSVG()).fromSVGMatrix(rect.transform.baseVal.consolidate().matrix); + } + + newBasePoints = (new matrixSVG()).fromElements(rectX, rectX, rectX, rectY, rectY, rectY, 1, 1, 1); + newVectors = (new matrixSVG()).fromElements(rectXcorr, rectXcorr + rectWidth, rectXcorr + rectWidth, rectYcorr, rectYcorr, rectYcorr + rectHeight, 0, 0, 0); + + return mRectTrans.mult(newBasePoints.add(newVectors)); +} + +/** Function to handle JessyInk elements. + * + * @param node Element node. + */ +function handleElement(node) +{ + if (node.getAttributeNS(NSS['jessyink'], 'element') == 'core.video') + { + var url; + var width; + var height; + var x; + var y; + var transform; + + var tspans = node.getElementsByTagNameNS("http://www.w3.org/2000/svg", "tspan"); + + for (var tspanCounter = 0; tspanCounter < tspans.length; tspanCounter++) + { + if (tspans[tspanCounter].getAttributeNS("https://launchpad.net/jessyink", "video") == "url") + { + url = tspans[tspanCounter].firstChild.nodeValue; + } + } + + var rects = node.getElementsByTagNameNS("http://www.w3.org/2000/svg", "rect"); + + for (var rectCounter = 0; rectCounter < rects.length; rectCounter++) + { + if (rects[rectCounter].getAttributeNS("https://launchpad.net/jessyink", "video") == "rect") + { + x = rects[rectCounter].getAttribute("x"); + y = rects[rectCounter].getAttribute("y"); + width = rects[rectCounter].getAttribute("width"); + height = rects[rectCounter].getAttribute("height"); + transform = rects[rectCounter].getAttribute("transform"); + } + } + + for (var childCounter = 0; childCounter < node.childNodes.length; childCounter++) + { + if (node.childNodes[childCounter].nodeType == 1) + { + if (node.childNodes[childCounter].style) + { + node.childNodes[childCounter].style.display = 'none'; + } + else + { + node.childNodes[childCounter].setAttribute("style", "display: none;"); + } + } + } + + var foreignNode = document.createElementNS("http://www.w3.org/2000/svg", "foreignObject"); + foreignNode.setAttribute("x", x); + foreignNode.setAttribute("y", y); + foreignNode.setAttribute("width", width); + foreignNode.setAttribute("height", height); + foreignNode.setAttribute("transform", transform); + + var videoNode = document.createElementNS("http://www.w3.org/1999/xhtml", "video"); + videoNode.setAttribute("src", url); + + foreignNode.appendChild(videoNode); + node.appendChild(foreignNode); + } +} + +/** Class processing the location hash. + * + * @param str location hash + */ +function LocationHash(str) +{ + this.slideNumber = 0; + this.effectNumber = 0; + + str = str.substr(1, str.length - 1); + + var parts = str.split('_'); + + // Try to extract slide number. + if (parts.length >= 1) + { + try + { + var slideNumber = parseInt(parts[0]); + + if (!isNaN(slideNumber)) + { + this.slideNumber = slideNumber - 1; + } + } + catch (e) + { + } + } + + // Try to extract effect number. + if (parts.length >= 2) + { + try + { + var effectNumber = parseInt(parts[1]); + + if (!isNaN(effectNumber)) + { + this.effectNumber = effectNumber; + } + } + catch (e) + { + } + } +} + +/** Class representing an svg matrix. +*/ +function matrixSVG() +{ + this.e11 = 0; // a + this.e12 = 0; // c + this.e13 = 0; // e + this.e21 = 0; // b + this.e22 = 0; // d + this.e23 = 0; // f + this.e31 = 0; + this.e32 = 0; + this.e33 = 0; +} + +/** Constructor function. + * + * @param a element a (i.e. 1, 1) as described in the svg standard. + * @param b element b (i.e. 2, 1) as described in the svg standard. + * @param c element c (i.e. 1, 2) as described in the svg standard. + * @param d element d (i.e. 2, 2) as described in the svg standard. + * @param e element e (i.e. 1, 3) as described in the svg standard. + * @param f element f (i.e. 2, 3) as described in the svg standard. + */ +matrixSVG.prototype.fromSVGElements = function(a, b, c, d, e, f) +{ + this.e11 = a; + this.e12 = c; + this.e13 = e; + this.e21 = b; + this.e22 = d; + this.e23 = f; + this.e31 = 0; + this.e32 = 0; + this.e33 = 1; + + return this; +} + +/** Constructor function. + * + * @param matrix an svg matrix as described in the svg standard. + */ +matrixSVG.prototype.fromSVGMatrix = function(m) +{ + this.e11 = m.a; + this.e12 = m.c; + this.e13 = m.e; + this.e21 = m.b; + this.e22 = m.d; + this.e23 = m.f; + this.e31 = 0; + this.e32 = 0; + this.e33 = 1; + + return this; +} + +/** Constructor function. + * + * @param e11 element 1, 1 of the matrix. + * @param e12 element 1, 2 of the matrix. + * @param e13 element 1, 3 of the matrix. + * @param e21 element 2, 1 of the matrix. + * @param e22 element 2, 2 of the matrix. + * @param e23 element 2, 3 of the matrix. + * @param e31 element 3, 1 of the matrix. + * @param e32 element 3, 2 of the matrix. + * @param e33 element 3, 3 of the matrix. + */ +matrixSVG.prototype.fromElements = function(e11, e12, e13, e21, e22, e23, e31, e32, e33) +{ + this.e11 = e11; + this.e12 = e12; + this.e13 = e13; + this.e21 = e21; + this.e22 = e22; + this.e23 = e23; + this.e31 = e31; + this.e32 = e32; + this.e33 = e33; + + return this; +} + +/** Constructor function. + * + * @param attrString string value of the "transform" attribute (currently only "matrix" is accepted) + */ +matrixSVG.prototype.fromAttribute = function(attrString) +{ + str = attrString.substr(7, attrString.length - 8); + + str = str.trim(); + + strArray = str.split(","); + + // Opera does not use commas to separate the values of the matrix, only spaces. + if (strArray.length != 6) + strArray = str.split(" "); + + this.e11 = parseFloat(strArray[0]); + this.e21 = parseFloat(strArray[1]); + this.e31 = 0; + this.e12 = parseFloat(strArray[2]); + this.e22 = parseFloat(strArray[3]); + this.e32 = 0; + this.e13 = parseFloat(strArray[4]); + this.e23 = parseFloat(strArray[5]); + this.e33 = 1; + + return this; +} + +/** Output function + * + * @return a string that can be used as the "transform" attribute. + */ +matrixSVG.prototype.toAttribute = function() +{ + return "matrix(" + this.e11 + ", " + this.e21 + ", " + this.e12 + ", " + this.e22 + ", " + this.e13 + ", " + this.e23 + ")"; +} + +/** Matrix nversion. + * + * @return the inverse of the matrix + */ +matrixSVG.prototype.inv = function() +{ + out = new matrixSVG(); + + det = this.e11 * (this.e33 * this.e22 - this.e32 * this.e23) - this.e21 * (this.e33 * this.e12 - this.e32 * this.e13) + this.e31 * (this.e23 * this.e12 - this.e22 * this.e13); + + out.e11 = (this.e33 * this.e22 - this.e32 * this.e23) / det; + out.e12 = -(this.e33 * this.e12 - this.e32 * this.e13) / det; + out.e13 = (this.e23 * this.e12 - this.e22 * this.e13) / det; + out.e21 = -(this.e33 * this.e21 - this.e31 * this.e23) / det; + out.e22 = (this.e33 * this.e11 - this.e31 * this.e13) / det; + out.e23 = -(this.e23 * this.e11 - this.e21 * this.e13) / det; + out.e31 = (this.e32 * this.e21 - this.e31 * this.e22) / det; + out.e32 = -(this.e32 * this.e11 - this.e31 * this.e12) / det; + out.e33 = (this.e22 * this.e11 - this.e21 * this.e12) / det; + + return out; +} + +/** Matrix multiplication. + * + * @param op another svg matrix + * @return this * op + */ +matrixSVG.prototype.mult = function(op) +{ + out = new matrixSVG(); + + out.e11 = this.e11 * op.e11 + this.e12 * op.e21 + this.e13 * op.e31; + out.e12 = this.e11 * op.e12 + this.e12 * op.e22 + this.e13 * op.e32; + out.e13 = this.e11 * op.e13 + this.e12 * op.e23 + this.e13 * op.e33; + out.e21 = this.e21 * op.e11 + this.e22 * op.e21 + this.e23 * op.e31; + out.e22 = this.e21 * op.e12 + this.e22 * op.e22 + this.e23 * op.e32; + out.e23 = this.e21 * op.e13 + this.e22 * op.e23 + this.e23 * op.e33; + out.e31 = this.e31 * op.e11 + this.e32 * op.e21 + this.e33 * op.e31; + out.e32 = this.e31 * op.e12 + this.e32 * op.e22 + this.e33 * op.e32; + out.e33 = this.e31 * op.e13 + this.e32 * op.e23 + this.e33 * op.e33; + + return out; +} + +/** Matrix addition. + * + * @param op another svg matrix + * @return this + op + */ +matrixSVG.prototype.add = function(op) +{ + out = new matrixSVG(); + + out.e11 = this.e11 + op.e11; + out.e12 = this.e12 + op.e12; + out.e13 = this.e13 + op.e13; + out.e21 = this.e21 + op.e21; + out.e22 = this.e22 + op.e22; + out.e23 = this.e23 + op.e23; + out.e31 = this.e31 + op.e31; + out.e32 = this.e32 + op.e32; + out.e33 = this.e33 + op.e33; + + return out; +} + +/** Matrix mixing. + * + * @param op another svg matrix + * @parma contribOp contribution of the other matrix (0 <= contribOp <= 1) + * @return (1 - contribOp) * this + contribOp * op + */ +matrixSVG.prototype.mix = function(op, contribOp) +{ + contribThis = 1.0 - contribOp; + out = new matrixSVG(); + + out.e11 = contribThis * this.e11 + contribOp * op.e11; + out.e12 = contribThis * this.e12 + contribOp * op.e12; + out.e13 = contribThis * this.e13 + contribOp * op.e13; + out.e21 = contribThis * this.e21 + contribOp * op.e21; + out.e22 = contribThis * this.e22 + contribOp * op.e22; + out.e23 = contribThis * this.e23 + contribOp * op.e23; + out.e31 = contribThis * this.e31 + contribOp * op.e31; + out.e32 = contribThis * this.e32 + contribOp * op.e32; + out.e33 = contribThis * this.e33 + contribOp * op.e33; + + return out; +} + +/** Trimming function for strings. +*/ +String.prototype.trim = function() +{ + return this.replace(/^\s+|\s+$/g, ''); +} + +/** SVGElement.getTransformToElement polyfill */ +SVGElement.prototype.getTransformToElement = SVGElement.prototype.getTransformToElement || function(elem) { + return elem.getScreenCTM().inverse().multiply(this.getScreenCTM()); +}; + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jessyink_key_bindings__--slide_export__SPACE__--drawing_undo__ENTER__--index_nextPage__LEFT.out b/share/extensions/tests/data/refs/jessyink_key_bindings__--slide_export__SPACE__--drawing_undo__ENTER__--index_nextPage__LEFT.out new file mode 100644 index 0000000..4c87b34 --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_key_bindings__--slide_export__SPACE__--drawing_undo__ENTER__--index_nextPage__LEFT.out @@ -0,0 +1,61 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + +function getCustomKeyBindingsSub() +{ + var keyDict = new Object(); + keyDict[SLIDE_MODE] = new Object(); + keyDict[INDEX_MODE] = new Object(); + keyDict[DRAWING_MODE] = new Object(); + keyDict[SLIDE_MODE][SPACE_KEY] = function() { slideUpdateExportLayer(); }; + keyDict[DRAWING_MODE][ENTER_KEY] = function() { drawingUndo(); }; + keyDict[INDEX_MODE][LEFT_KEY] = function() { indexSetPageSlide(activeSlide + INDEX_COLUMNS * INDEX_COLUMNS); }; + return keyDict; +} + +function getCustomCharBindingsSub() +{ + var charDict = new Object(); + charDict[SLIDE_MODE] = new Object(); + charDict[INDEX_MODE] = new Object(); + charDict[DRAWING_MODE] = new Object(); + return charDict; +} + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jessyink_key_bindings__--slide_export__a__--drawing_undo__b__--index_nextPage__c.out b/share/extensions/tests/data/refs/jessyink_key_bindings__--slide_export__a__--drawing_undo__b__--index_nextPage__c.out new file mode 100644 index 0000000..ed3b6bb --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_key_bindings__--slide_export__a__--drawing_undo__b__--index_nextPage__c.out @@ -0,0 +1,61 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + +function getCustomKeyBindingsSub() +{ + var keyDict = new Object(); + keyDict[SLIDE_MODE] = new Object(); + keyDict[INDEX_MODE] = new Object(); + keyDict[DRAWING_MODE] = new Object(); + return keyDict; +} + +function getCustomCharBindingsSub() +{ + var charDict = new Object(); + charDict[SLIDE_MODE] = new Object(); + charDict[INDEX_MODE] = new Object(); + charDict[DRAWING_MODE] = new Object(); + charDict[SLIDE_MODE]["a"] = function() { slideUpdateExportLayer(); }; + charDict[DRAWING_MODE]["b"] = function() { drawingUndo(); }; + charDict[INDEX_MODE]["c"] = function() { indexSetPageSlide(activeSlide + INDEX_COLUMNS * INDEX_COLUMNS); }; + return charDict; +} + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jessyink_master_slide.out b/share/extensions/tests/data/refs/jessyink_master_slide.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/jessyink_master_slide__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/jessyink_master_slide__--id__p1__--id__r3.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__default.out b/share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__default.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__draggingZoom.out b/share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__draggingZoom.out new file mode 100644 index 0000000..46d82ea --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__draggingZoom.out @@ -0,0 +1,475 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + +// Copyright 2008, 2009 Hannes Hochreiner +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see http://www.gnu.org/licenses/. + +// Add event listener for initialisation. +document.addEventListener("DOMContentLoaded", jessyInk_core_mouseHandler_zoomControl_init, false); + +/** Initialisation function. + * + * This function looks for the objects of the appropriate sub-type and hands them to another function that will add the required methods. + */ +function jessyInk_core_mouseHandler_zoomControl_init() +{ + var elems = document.getElementsByTagNameNS("https://launchpad.net/jessyink", "mousehandler"); + + for (var counter = 0; counter < elems.length; counter++) + { + if (elems[counter].getAttributeNS("https://launchpad.net/jessyink", "subtype") == "jessyInk_core_mouseHandler_zoomControl") + jessyInk_core_mouseHandler_zoomControl(elems[counter]); + } +} + +/** Function to initialise an object. + * + * @param obj Object to be initialised. + */ +function jessyInk_core_mouseHandler_zoomControl(obj) +{ + // Last dragging position. + obj.dragging_last; + // Flag to indicate whether dragging is active currently. + obj.dragging_active = false; + // Flag to indicate whether dragging is working currently. + obj.dragging_working = false; + // Flag to indicate whether the user clicked. + obj.click = false; + + /** Function supplying a custom mouse handler. + * + * @returns A dictionary containing the new mouse handler functions. + */ + obj.getMouseHandler = function () + { + var handlerDictio = new Object(); + + handlerDictio[SLIDE_MODE] = new Object(); + handlerDictio[SLIDE_MODE][MOUSE_DOWN] = obj.mousedown; + handlerDictio[SLIDE_MODE][MOUSE_MOVE] = obj.mousemove; + handlerDictio[SLIDE_MODE][MOUSE_UP] = obj.mouseup; + handlerDictio[SLIDE_MODE][MOUSE_WHEEL] = obj.mousewheel; + + return handlerDictio; + } + + /** Event handler for mouse clicks. + * + * @param e Event object. + */ + obj.mouseclick = function (e) + { + var elem = obj.getAdHocViewBbox(slides[activeSlide]["viewGroup"], obj.getCoords(e)); + + processingEffect = true; + + effectArray = new Array(); + + effectArray[0] = new Object(); + effectArray[0]["effect"] = "view"; + effectArray[0]["dir"] = 1; + effectArray[0]["element"] = slides[activeSlide]["viewGroup"]; + effectArray[0]["options"] = new Object(); + effectArray[0]["options"]["length"] = 200; + + if (elem == null) + effectArray[0]["options"]["matrixNew"] = (new matrixSVG()).fromSVGElements(1, 0, 0, 1, 0, 0); + else + effectArray[0]["options"]["matrixNew"] = obj.pointMatrixToTransformation(obj.rectToMatrix(elem)).mult((new matrixSVG()).fromSVGMatrix(slides[activeSlide].viewGroup.getScreenCTM()).inv().mult((new matrixSVG()).fromSVGMatrix(elem.parentNode.getScreenCTM())).inv()); + + transCounter = 0; + startTime = (new Date()).getTime(); + lastFrameTime = null; + effect(1); + + return false; + } + + /** Function to search for the element the user clicked on. + * + * This function searches for the element with the highest z-order, which encloses the point the user clicked on + * and which view box fits entierly into the currently visible part of the slide. + * + * @param elem Element to start the search from. + * @param pnt Point where the user clicked. + * @returns The element the user clicked on or null, if no element could be found. + */ + obj.getAdHocViewBbox = function (elem, pnt) + { + var children = elem.childNodes; + + for (var counter = 0; counter < children.length; counter++) + { + if (children[counter].getBBox) + { + var childPointList = obj.projectRect(children[counter].getBBox(), children[counter].getScreenCTM()); + + var viewBbox = document.documentElement.createSVGRect(); + + viewBbox.x = 0.0; + viewBbox.y = 0.0; + viewBbox.width = WIDTH; + viewBbox.height = HEIGHT; + + var screenPointList = obj.projectRect(viewBbox, slides[activeSlide]["element"].getScreenCTM()); + + if (obj.pointsWithinRect([pnt], childPointList) && obj.pointsWithinRect(childPointList, screenPointList)) + return children[counter]; + + child = obj.getAdHocViewBbox(children[counter], pnt); + + if (child != null) + return child; + } + } + + return null; + } + + /** Function to project a rectangle using the projection matrix supplied. + * + * @param rect The rectangle to project. + * @param projectionMatrix The projection matrix. + * @returns A list of the four corners of the projected rectangle starting from the upper left corner and going counter-clockwise. + */ + obj.projectRect = function (rect, projectionMatrix) + { + var pntUL = document.documentElement.createSVGPoint(); + pntUL.x = rect.x; + pntUL.y = rect.y; + pntUL = pntUL.matrixTransform(projectionMatrix); + + var pntLL = document.documentElement.createSVGPoint(); + pntLL.x = rect.x; + pntLL.y = rect.y + rect.height; + pntLL = pntLL.matrixTransform(projectionMatrix); + + var pntUR = document.documentElement.createSVGPoint(); + pntUR.x = rect.x + rect.width; + pntUR.y = rect.y; + pntUR = pntUR.matrixTransform(projectionMatrix); + + var pntLR = document.documentElement.createSVGPoint(); + pntLR.x = rect.x + rect.width; + pntLR.y = rect.y + rect.height; + pntLR = pntLR.matrixTransform(projectionMatrix); + + return [pntUL, pntLL, pntUR, pntLR]; + } + + /** Function to determine whether all the points supplied in a list are within a rectangle. + * + * @param pnts List of points to check. + * @param pointList List of points representing the four corners of the rectangle. + * @return True, if all points are within the rectangle; false, otherwise. + */ + obj.pointsWithinRect = function (pnts, pointList) + { + var pntUL = pointList[0]; + var pntLL = pointList[1]; + var pntUR = pointList[2]; + + var matrixOrig = (new matrixSVG()).fromElements(pntUL.x, pntLL.x, pntUR.x, pntUL.y, pntLL.y, pntUR.y, 1, 1, 1); + var matrixProj = (new matrixSVG()).fromElements(0, 0, 1, 0, 1, 0, 1, 1, 1); + + var matrixProjection = matrixProj.mult(matrixOrig.inv()); + + for (var blockCounter = 0; blockCounter < Math.ceil(pnts.length / 3.0); blockCounter++) + { + var subPnts = new Array(); + + for (var pntCounter = 0; pntCounter < 3.0; pntCounter++) + { + if (blockCounter * 3.0 + pntCounter < pnts.length) + subPnts[pntCounter] = pnts[blockCounter * 3.0 + pntCounter]; + else + { + var tmpPnt = document.documentElement.createSVGPoint(); + + tmpPnt.x = 0.0; + tmpPnt.y = 0.0; + + subPnts[pntCounter] = tmpPnt; + } + } + + var matrixPnt = (new matrixSVG).fromElements(subPnts[0].x, subPnts[1].x, subPnts[2].x, subPnts[0].y, subPnts[1].y, subPnts[2].y, 1, 1, 1); + var matrixTrans = matrixProjection.mult(matrixPnt); + + for (var pntCounter = 0; pntCounter < 3.0; pntCounter++) + { + if (blockCounter * 3.0 + pntCounter < pnts.length) + { + if ((pntCounter == 0) && !((matrixTrans.e11 > 0.01) && (matrixTrans.e11 < 0.99) && (matrixTrans.e21 > 0.01) && (matrixTrans.e21 < 0.99))) + return false; + else if ((pntCounter == 1) && !((matrixTrans.e12 > 0.01) && (matrixTrans.e12 < 0.99) && (matrixTrans.e22 > 0.01) && (matrixTrans.e22 < 0.99))) + return false; + else if ((pntCounter == 2) && !((matrixTrans.e13 > 0.01) && (matrixTrans.e13 < 0.99) && (matrixTrans.e23 > 0.01) && (matrixTrans.e23 < 0.99))) + return false; + } + } + } + + return true; + } + + /** Event handler for mouse movements. + * + * @param e Event object. + */ + obj.mousemove = function (e) + { + obj.click = false; + + if (!obj.dragging_active || obj.dragging_working) + return false; + + obj.dragging_working = true; + + var p = obj.getCoords(e); + + if (slides[activeSlide].viewGroup.transform.baseVal.numberOfItems < 1) + { + var matrix = (new matrixSVG()).fromElements(1, 0, 0, 0, 1, 0, 0, 0, 1); + } + else + { + var matrix = (new matrixSVG()).fromSVGMatrix(slides[activeSlide].viewGroup.transform.baseVal.consolidate().matrix); + } + + matrix.e13 += p.x - obj.dragging_last.x; + matrix.e23 += p.y - obj.dragging_last.y; + + slides[activeSlide]["viewGroup"].setAttribute("transform", matrix.toAttribute()); + + obj.dragging_last = p; + obj.dragging_working = false; + + return false; + } + + /** Event handler for mouse down. + * + * @param e Event object. + */ + obj.mousedown = function (e) + { + if (obj.dragging_active) + return false; + + var value = 0; + + if (e.button) + value = e.button; + else if (e.which) + value = e.which; + + if (value == 1) + { + obj.dragging_last = obj.getCoords(e); + obj.dragging_active = true; + obj.click = true; + } + + return false; + } + + /** Event handler for mouse up. + * + * @param e Event object. + */ + obj.mouseup = function (e) + { + obj.dragging_active = false; + + if (obj.click) + return obj.mouseclick(e); + else + return false; + } + + /** Function to get the coordinates of a point corrected for the offset of the viewport. + * + * @param e Point. + * @returns Coordinates of the point corrected for the offset of the viewport. + */ + obj.getCoords = function (e) + { + var svgPoint = document.documentElement.createSVGPoint(); + svgPoint.x = e.clientX + window.pageXOffset; + svgPoint.y = e.clientY + window.pageYOffset; + + return svgPoint; + } + + /** Event handler for scrolling. + * + * @param e Event object. + */ + obj.mousewheel = function(e) + { + var p = obj.projectCoords(obj.getCoords(e)); + + if (slides[activeSlide].viewGroup.transform.baseVal.numberOfItems < 1) + { + var matrix = (new matrixSVG()).fromElements(1, 0, 0, 0, 1, 0, 0, 0, 1); + } + else + { + var matrix = (new matrixSVG()).fromSVGMatrix(slides[activeSlide].viewGroup.transform.baseVal.consolidate().matrix); + } + + if (e.wheelDelta) + { // IE Opera + delta = e.wheelDelta/120; + } + else if (e.detail) + { // MOZ + delta = -e.detail/3; + } + + var widthOld = p.x * matrix.e11 + p.y * matrix.e12; + var heightOld = p.x * matrix.e21 + p.y * matrix.e22; + + matrix.e11 *= (1.0 - delta / 20.0); + matrix.e12 *= (1.0 - delta / 20.0); + matrix.e21 *= (1.0 - delta / 20.0); + matrix.e22 *= (1.0 - delta / 20.0); + + var widthNew = p.x * matrix.e11 + p.y * matrix.e12; + var heightNew = p.x * matrix.e21 + p.y * matrix.e22; + + matrix.e13 += (widthOld - widthNew); + matrix.e23 += (heightOld - heightNew); + + slides[activeSlide]["viewGroup"].setAttribute("transform", matrix.toAttribute()); + + return false; + } + + /** Function to project a point to screen coordinates. + * + * @param Point. + * @returns The point projected to screen coordinates. + */ + obj.projectCoords = function(pnt) + { + var matrix = slides[activeSlide]["element"].getScreenCTM(); + + if (slides[activeSlide]["viewGroup"]) + matrix = slides[activeSlide]["viewGroup"].getScreenCTM(); + + pnt = pnt.matrixTransform(matrix.inverse()); + return pnt; + } + + /** Function to convert a rectangle into a point matrix. + * + * The function figures out a rectangle that encloses the rectangle given and has the same width/height ratio as the viewport of the presentation. + * + * @param rect Rectangle. + * @return The upper left, upper right and lower right corner of the rectangle in a point matrix. + */ + obj.rectToMatrix = function(rect) + { + rectWidth = rect.getBBox().width; + rectHeight = rect.getBBox().height; + rectX = rect.getBBox().x; + rectY = rect.getBBox().y; + rectXcorr = 0; + rectYcorr = 0; + + scaleX = WIDTH / rectWidth; + scaleY = HEIGHT / rectHeight; + + if (scaleX > scaleY) + { + scaleX = scaleY; + rectXcorr -= (WIDTH / scaleX - rectWidth) / 2; + rectWidth = WIDTH / scaleX; + } + else + { + scaleY = scaleX; + rectYcorr -= (HEIGHT / scaleY - rectHeight) / 2; + rectHeight = HEIGHT / scaleY; + } + + if (rect.transform.baseVal.numberOfItems < 1) + { + mRectTrans = (new matrixSVG()).fromElements(1, 0, 0, 0, 1, 0, 0, 0, 1); + } + else + { + mRectTrans = (new matrixSVG()).fromSVGMatrix(rect.transform.baseVal.consolidate().matrix); + } + + newBasePoints = (new matrixSVG()).fromElements(rectX, rectX, rectX, rectY, rectY, rectY, 1, 1, 1); + newVectors = (new matrixSVG()).fromElements(rectXcorr, rectXcorr + rectWidth, rectXcorr + rectWidth, rectYcorr, rectYcorr, rectYcorr + rectHeight, 0, 0, 0); + + return mRectTrans.mult(newBasePoints.add(newVectors)); + } + + /** Function to return a transformation matrix from a point matrix. + * + * @param mPoints The point matrix. + * @returns The transformation matrix. + */ + obj.pointMatrixToTransformation = function(mPoints) + { + mPointsOld = (new matrixSVG()).fromElements(0, WIDTH, WIDTH, 0, 0, HEIGHT, 1, 1, 1); + + return mPointsOld.mult(mPoints.inv()); + } +} + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__noclick.out b/share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__noclick.out new file mode 100644 index 0000000..c21263c --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_mouse_handler__--mouseSetting__noclick.out @@ -0,0 +1,94 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + +// Copyright 2008, 2009 Hannes Hochreiner +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see http://www.gnu.org/licenses/. + +// Add event listener for initialisation. +document.addEventListener("DOMContentLoaded", jessyInk_core_mouseHandler_noclick_init, false); + +/** Initialisation function. + * + * This function looks for the objects of the appropriate sub-type and hands them to another function that will add the required methods. + */ +function jessyInk_core_mouseHandler_noclick_init() +{ + var elems = document.getElementsByTagNameNS("https://launchpad.net/jessyink", "mousehandler"); + + for (var counter = 0; counter < elems.length; counter++) + { + if (elems[counter].getAttributeNS("https://launchpad.net/jessyink", "subtype") == "jessyInk_core_mouseHandler_noclick") + jessyInk_core_mouseHandler_noclick(elems[counter]); + } +} + +/** Function to initialise an object. + * + * @param obj Object to be initialised. + */ +function jessyInk_core_mouseHandler_noclick(obj) +{ + /** Function supplying a custom mouse handler. + * + * @returns A dictionary containing the new mouse handler functions. + */ + obj.getMouseHandler = function () + { + var handlerDictio = new Object(); + + handlerDictio[SLIDE_MODE] = new Object(); + handlerDictio[SLIDE_MODE][MOUSE_DOWN] = null; + + return handlerDictio; + } +} + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jessyink_summary.out b/share/extensions/tests/data/refs/jessyink_summary.out new file mode 100644 index 0000000..0c30d07 --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_summary.out @@ -0,0 +1,10 @@ +JessyInk script version 1.5.5 installed. + +Slide 1: + Layer name: Slide3 + +Slide 2: + Layer name: Slide2 + +Slide 3: + Layer name: Slide1 diff --git a/share/extensions/tests/data/refs/jessyink_transitions__--layerName__Slide2.out b/share/extensions/tests/data/refs/jessyink_transitions__--layerName__Slide2.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/jessyink_uninstall.out b/share/extensions/tests/data/refs/jessyink_uninstall.out new file mode 100644 index 0000000..f3d83ab --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_uninstall.out @@ -0,0 +1,39 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jessyink_video.out b/share/extensions/tests/data/refs/jessyink_video.out new file mode 100644 index 0000000..664de1f --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_video.out @@ -0,0 +1,61 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + <replace this text with the url of the movie> + + + + + + + JessyInk video element + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jessyink_view__--id__r3__--viewOrder__1.out b/share/extensions/tests/data/refs/jessyink_view__--id__r3__--viewOrder__1.out new file mode 100644 index 0000000..dd07df6 --- /dev/null +++ b/share/extensions/tests/data/refs/jessyink_view__--id__r3__--viewOrder__1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__gaussian__--end__false__--ctrl__true.out b/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__gaussian__--end__false__--ctrl__true.out new file mode 100644 index 0000000..523c51f --- /dev/null +++ b/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__gaussian__--end__false__--ctrl__true.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__lognorm__--radiusx__100__--ctrl__true.out b/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__lognorm__--radiusx__100__--ctrl__true.out new file mode 100644 index 0000000..6aca453b --- /dev/null +++ b/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__lognorm__--radiusx__100__--ctrl__true.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__pareto__--radiusy__100__--ctrl__true.out b/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__pareto__--radiusy__100__--ctrl__true.out new file mode 100644 index 0000000..8c38359 --- /dev/null +++ b/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__pareto__--radiusy__100__--ctrl__true.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__uniform__--ctrl__false.out b/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__uniform__--ctrl__false.out new file mode 100644 index 0000000..f6425d2 --- /dev/null +++ b/share/extensions/tests/data/refs/jitternodes__--id__p1__--dist__uniform__--ctrl__false.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/layer2png.out b/share/extensions/tests/data/refs/layer2png.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/layer2png__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/layer2png__--id__p1__--id__r3.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/layers2svgfont__font_layers__svg.out b/share/extensions/tests/data/refs/layers2svgfont__font_layers__svg.out new file mode 100644 index 0000000..dcfd9f4 --- /dev/null +++ b/share/extensions/tests/data/refs/layers2svgfont__font_layers__svg.out @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/layers2svgfont__font_layers_apostrophe__svg.out b/share/extensions/tests/data/refs/layers2svgfont__font_layers_apostrophe__svg.out new file mode 100644 index 0000000..a8014f1 --- /dev/null +++ b/share/extensions/tests/data/refs/layers2svgfont__font_layers_apostrophe__svg.out @@ -0,0 +1,19 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/lindenmayer.out b/share/extensions/tests/data/refs/lindenmayer.out new file mode 100644 index 0000000..ca0de7e --- /dev/null +++ b/share/extensions/tests/data/refs/lindenmayer.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/lindenmayer__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/lindenmayer__--id__p1__--id__r3.out new file mode 100644 index 0000000..8c2ec7d --- /dev/null +++ b/share/extensions/tests/data/refs/lindenmayer__--id__p1__--id__r3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/lindenmayer__--rules__F__F-E__F__E-F__E__EE__--axiom__F-E-E__--order__3__--langle__120__--rangle__120.out b/share/extensions/tests/data/refs/lindenmayer__--rules__F__F-E__F__E-F__E__EE__--axiom__F-E-E__--order__3__--langle__120__--rangle__120.out new file mode 100644 index 0000000..8c2852a --- /dev/null +++ b/share/extensions/tests/data/refs/lindenmayer__--rules__F__F-E__F__E-F__E__EE__--axiom__F-E-E__--order__3__--langle__120__--rangle__120.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/lindenmayer__--rules__F__F__F--F__F__--axiom__F__--order__1__--langle__60__--rangle__60.out b/share/extensions/tests/data/refs/lindenmayer__--rules__F__F__F--F__F__--axiom__F__--order__1__--langle__60__--rangle__60.out new file mode 100644 index 0000000..d0526d3 --- /dev/null +++ b/share/extensions/tests/data/refs/lindenmayer__--rules__F__F__F--F__F__--axiom__F__--order__1__--langle__60__--rangle__60.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/lorem_ipsum.out b/share/extensions/tests/data/refs/lorem_ipsum.out new file mode 100644 index 0000000..a2abd4d --- /dev/null +++ b/share/extensions/tests/data/refs/lorem_ipsum.out @@ -0,0 +1,49 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam molestie nisl at metus. Mauris ac massa vestibulum nisl facilisis viverra. Aliquam justo lectus, iaculis a, auctor sed, congue in, nisl. Sed quis elit. Mauris sed nulla quis nisi interdum tempor. Proin dolor sapien, adipiscing id, sagittis eu, molestie viverra, mauris. Integer tempus malesuada pede. Maecenas rhoncus rhoncus ipsum. Mauris ac massa vestibulum nisl facilisis viverra. Suspendisse fermentum. Phasellus magna sem, vulputate eget, ornare sed, dignissim sit amet, pede. Nam id neque. Nulla blandit justo a metus. Nam laoreet dui sed magna. Vivamus posuere, ante eu tempor dictum, felis nibh facilisis sem, eu auctor metus nulla non lorem. Phasellus at purus sed purus cursus iaculis. Vivamus feugiat. Integer fringilla. Praesent a eros. Aliquam sed erat. Nam a nunc. Maecenas rhoncus rhoncus ipsum. + +Praesent scelerisque. Proin lectus orci, venenatis pharetra, egestas id, tincidunt vel, eros. Etiam cursus purus interdum libero. Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. Suspendisse fermentum. Sed at turpis vitae velit euismod aliquet. Aliquam justo lectus, iaculis a, auctor sed, congue in, nisl. Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. Quisque arcu ante, cursus in, ornare quis, viverra ut, justo. Nam a nunc. Duis sem velit, ultrices et, fermentum auctor, rhoncus ut, ligula. Aliquam metus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti. Mauris tincidunt aliquam ante. Mauris et pede. In consectetuer, lorem eu lobortis egestas, velit odio imperdiet eros, sit amet sagittis nunc mi ac neque. Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. Donec ut purus. Integer accumsan. Morbi volutpat. Suspendisse potenti. Vivamus posuere, ante eu tempor dictum, felis nibh facilisis sem, eu auctor metus nulla non lorem. + +Aenean luctus vulputate turpis. Pellentesque convallis dolor vel libero. Quisque arcu ante, cursus in, ornare quis, viverra ut, justo. Etiam non neque ac mi vestibulum placerat. Mauris urna sem, suscipit vitae, dignissim id, ultrices sed, nunc. Phasellus at purus sed purus cursus iaculis. Phasellus lacinia iaculis mi. Mauris tempor ultrices justo. Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. Nam id neque. Fusce venenatis ligula in pede. Nullam libero nunc, tristique eget, laoreet eu, sagittis id, ante. Suspendisse lectus. Phasellus nisi metus, tempus sit amet, ultrices ac, porta nec, felis. Pellentesque suscipit accumsan massa. Aliquam metus. + +Cras ac enim vel dui vestibulum suscipit. In hac habitasse platea dictumst. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus eu orci. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti. Integer accumsan. Nam id neque. Donec at diam a tellus dignissim vestibulum. Donec ut urna. Pellentesque ac turpis. Phasellus hendrerit. Nulla sed lacus. Aenean justo ipsum, luctus ut, volutpat laoreet, vehicula in, libero. Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. Nam pharetra. Nulla sagittis condimentum ligula. Nam malesuada sapien eu nibh. Sed a lorem ut est tincidunt consectetuer. Sed dolor. Donec ut purus. Phasellus hendrerit. Mauris et pede. Donec diam eros, tristique sit amet, pretium vel, pellentesque ut, neque. Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. Nulla sagittis condimentum ligula. Aliquam imperdiet lobortis metus. Integer accumsan. Donec interdum vestibulum libero. Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. + +Donec interdum vestibulum libero. Nam molestie nisl at metus. In consectetuer, lorem eu lobortis egestas, velit odio imperdiet eros, sit amet sagittis nunc mi ac neque. Phasellus magna sem, vulputate eget, ornare sed, dignissim sit amet, pede. Aliquam imperdiet lobortis metus. Nam consectetuer mollis dolor. Curabitur lorem risus, sagittis vitae, accumsan a, iaculis id, metus. Integer tempus malesuada pede. Nam laoreet dui sed magna. Donec sit amet enim. Mauris et dolor. Ut eu metus id lectus vestibulum ultrices. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Pellentesque sit amet dui vel justo gravida auctor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Fusce venenatis ligula in pede. Suspendisse potenti. Quisque vehicula porttitor odio. Praesent a lacus vitae turpis consequat semper. Praesent scelerisque. Pellentesque viverra dolor non nunc. Aliquam justo lectus, iaculis a, auctor sed, congue in, nisl. Mauris sed nulla quis nisi interdum tempor. Aliquam velit dui, commodo quis, porttitor eget, convallis et, nisi. Donec ut urna. Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/lorem_ipsum__--id__r1.out b/share/extensions/tests/data/refs/lorem_ipsum__--id__r1.out new file mode 100644 index 0000000..94ac537 --- /dev/null +++ b/share/extensions/tests/data/refs/lorem_ipsum__--id__r1.out @@ -0,0 +1,49 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam cursus purus interdum libero. Fusce nonummy commodo dui. Pellentesque convallis dolor vel libero. Phasellus auctor enim eget sem. Donec ut urna. In consectetuer, lorem eu lobortis egestas, velit odio imperdiet eros, sit amet sagittis nunc mi ac neque. Quisque pretium rutrum ligula. Praesent scelerisque. Suspendisse lectus. Sed non ipsum. Sed a lorem ut est tincidunt consectetuer. Nullam venenatis gravida orci. Fusce consectetuer tellus ut nisl. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. In hac habitasse platea dictumst. Mauris urna sem, suscipit vitae, dignissim id, ultrices sed, nunc. Aenean ligula. Praesent a eros. Pellentesque et arcu. Donec sit amet enim. Donec nonummy lacinia leo. + +Vestibulum non arcu a ante feugiat vestibulum. Maecenas rhoncus rhoncus ipsum. In hac habitasse platea dictumst. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Praesent semper, neque vel condimentum hendrerit, lectus elit pretiumligula, nec consequat nisl velit at dui. Phasellus magna sem, vulputate eget, ornare sed, dignissim sit amet, pede. In hac habitasse platea dictumst. Maecenas rhoncus rhoncus ipsum. Integer fringilla. Etiam sodales orci nec ligula. Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. Donec interdum vestibulum libero. Ut eu metus id lectus vestibulum ultrices. Pellentesque et arcu. Mauris et dolor. Integer accumsan. Maecenas rhoncus rhoncus ipsum. In hac habitasse platea dictumst. Quisque vehicula porttitor odio. Pellentesque et arcu. Mauris tempus diam. Fusce nonummy commodo dui. + +Morbi pulvinar nulla sit amet nisl. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Duis sem velit, ultrices et, fermentum auctor, rhoncus ut, ligula. Quisque malesuada nulla sed pede volutpat pulvinar. Ut venenatis. Donec sit amet enim. Vivamus nisi elit, nonummy id, facilisis non, blandit ac, dolor. Aenean scelerisque metus eget sem. Mauris tincidunt aliquam ante. Pellentesque suscipit accumsan massa. Quisque malesuada nulla sed pede volutpat pulvinar. Duis sem velit, ultrices et, fermentum auctor, rhoncus ut, ligula. Pellentesque ac turpis. Sed elementum, felis quis porttitor sollicitudin, augue nulla sodales sapien, sit amet posuere quam purus at lacus. Ut eu metus id lectus vestibulum ultrices. Sed at turpis vitae velit euismod aliquet. Mauris tempus diam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam molestie nisl at metus. Aliquam imperdiet lobortis metus. + +Mauris tempus diam. Integer porta. Quisque malesuada nulla sed pede volutpat pulvinar. Suspendisse lectus. Phasellus hendrerit. Quisque vehicula porttitor odio. Praesent a eros. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Nulla sed lacus. Integer fringilla. Phasellus lacinia iaculis mi. Vestibulum non arcu a ante feugiat vestibulum. Aliquam sed erat. Aenean ligula. Mauris et pede. Vestibulum non arcu a ante feugiat vestibulum. Donec rutrum venenatis dui. Nullam sapien mauris, venenatis at, fermentum at, tempus eu, urna. Sed dolor. Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. Nam rhoncus, lectus vel hendrerit congue, nisl lorem feugiat ante, in fermentum erat nulla tristique arcu. + +Pellentesque sit amet dui vel justo gravida auctor. Pellentesque tempor. Maecenas justo. Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. Nam consectetuer mollis dolor. Pellentesque tempor. Sed elementum, felis quis porttitor sollicitudin, augue nulla sodales sapien, sit amet posuere quam purus at lacus. Aenean luctus vulputate turpis. Mauris et dolor. Aenean justo ipsum, luctus ut, volutpat laoreet, vehicula in, libero. Pellentesque convallis dolor vel libero. Donec sit amet enim. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Sed a lorem ut est tincidunt consectetuer. Cras ac enim vel dui vestibulum suscipit. Cras gravida. Quisque pretium rutrum ligula. Curabitur accumsan felis in erat. Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. Donec tempus quam quis neque. Sed a lorem ut est tincidunt consectetuer. Praesent a eros. In leo ante, venenatis eu, volutpat ut, imperdiet auctor, enim. Curabitur tincidunt tellus nec purus. Donec diam eros, tristique sit amet, pretium vel, pellentesque ut, neque. + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/lorem_ipsum__--id__r1__--svg2__false.out b/share/extensions/tests/data/refs/lorem_ipsum__--id__r1__--svg2__false.out new file mode 100644 index 0000000..82a61d9 --- /dev/null +++ b/share/extensions/tests/data/refs/lorem_ipsum__--id__r1__--svg2__false.out @@ -0,0 +1,42 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam justo lectus, iaculis a, auctor sed, congue in, nisl. Aliquam imperdiet lobortis metus. Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. Ut venenatis. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Phasellus auctor enim eget sem. Mauris tincidunt aliquam ante. Pellentesque sit amet dui vel justo gravida auctor. Phasellus magna sem, vulputate eget, ornare sed, dignissim sit amet, pede. Vivamus feugiat. Mauris ac massa vestibulum nisl facilisis viverra. Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. Curabitur accumsan felis in erat. Mauris ac massa vestibulum nisl facilisis viverra. Aenean scelerisque metus eget sem. In leo ante, venenatis eu, volutpat ut, imperdiet auctor, enim. Etiam pede nunc, vestibulum vel, rutrum et, tincidunt eu, enim. Donec ut purus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus eu orci. Sed non ipsum. Nam molestie nisl at metus. Phasellus hendrerit. Suspendisse potenti. Duis sem velit, ultrices et, fermentum auctor, rhoncus ut, ligula. Aenean justo ipsum, luctus ut, volutpat laoreet, vehicula in, libero. Phasellus nisi metus, tempus sit amet, ultrices ac, porta nec, felis. Suspendisse potenti. Praesent a eros. Donec sit amet enim. Sed non ipsum. Mauris sed nulla quis nisi interdum tempor. Donec at diam a tellus dignissim vestibulum. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Phasellus lacinia iaculis mi. Fusce consectetuer tellus ut nisl. Nam a nunc. Sed a lorem ut est tincidunt consectetuer. Phasellus at purus sed purus cursus iaculis. Aliquam velit dui, commodo quis, porttitor eget, convallis et, nisi. Mauris ac massa vestibulum nisl facilisis viverra. Phasellus magna sem, vulputate eget, ornare sed, dignissim sit amet, pede. Fusce consectetuer tellus ut nisl. Vivamus feugiat. In commodo, dolor quis fermentum ullamcorper, urna massa volutpat massa, vitae mattis purus arcu nec nulla. Aenean ultrices turpis. Nulla blandit justo a metus. Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. Integer fringilla. Nullam libero nunc, tristique eget, laoreet eu, sagittis id, ante. Aliquam vel nibh. Morbi a mauris. Suspendisse potenti. Nullam libero nunc, tristique eget, laoreet eu, sagittis id, ante. Nam id neque. Integer fringilla. Nullam venenatis gravida orci. Donec diam eros, tristique sit amet, pretium vel, pellentesque ut, neque. Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. Nam laoreet dui sed magna. Praesent aliquet, neque pretium congue mattis, ipsum augue dignissim ante, ac pretium nisl lectus at magna. Donec sit amet enim. Nam consectetuer mollis dolor. Nullam sapien mauris, venenatis at, fermentum at, tempus eu, urna. Aenean scelerisque metus eget sem. Cras gravida. Nam pharetra. Suspendisse venenatis. Vivamus nisi elit, nonummy id, facilisis non, blandit ac, dolor. Praesent aliquet, neque pretium congue mattis, ipsum augue dignissim ante, ac pretium nisl lectus at magna. Aenean justo ipsum, luctus ut, volutpat laoreet, vehicula in, libero. In commodo, dolor quis fermentum ullamcorper, urna massa volutpat massa, vitae mattis purus arcu nec nulla. Donec rutrum venenatis dui. Cras gravida. Curabitur lorem risus, sagittis vitae, accumsan a, iaculis id, metus. Curabitur lorem risus, sagittis vitae, accumsan a, iaculis id, metus. Quisque dictum quam vel neque. Maecenas rhoncus rhoncus ipsum. Vestibulum non arcu a ante feugiat vestibulum. Donec diam eros, tristique sit amet, pretium vel, pellentesque ut, neque. Praesent scelerisque. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec gravida, ante vel ornare lacinia, orci enim porta est, eget sollicitudin lectus lectus eget lacus. Mauris sed nulla quis nisi interdum tempor. Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. Suspendisse viverra placerat tortor. Nam a nunc. Pellentesque et arcu. Nullam sapien mauris, venenatis at, fermentum at, tempus eu, urna. Suspendisse viverra placerat tortor. Etiam sodales orci nec ligula. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Fusce consectetuer tellus ut nisl. Nulla sagittis condimentum ligula. Suspendisse lectus. Suspendisse lectus. Maecenas viverra. In hac habitasse platea dictumst. Praesent a eros. Fusce venenatis ligula in pede. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus eu orci. In consectetuer, lorem eu lobortis egestas, velit odio imperdiet eros, sit amet sagittis nunc mi ac neque. Mauris ac massa vestibulum nisl facilisis viverra. + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/lorem_ipsum__--id__t4.out b/share/extensions/tests/data/refs/lorem_ipsum__--id__t4.out new file mode 100644 index 0000000..ff93f65 --- /dev/null +++ b/share/extensions/tests/data/refs/lorem_ipsum__--id__t4.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wrapsLorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque ac turpis. Nam pharetra. Vestibulum non arcu a ante feugiat vestibulum. Sed at turpis vitae velit euismod aliquet. Mauris tempus diam. Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. Morbi urna. Integer accumsan. Phasellus hendrerit. Quisque facilisis, urna sit amet pulvinar mollis, purus arcu adipiscing velit, non condimentum diam purus eu massa. Mauris tempus diam. Suspendisse lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Proin dolor sapien, adipiscing id, sagittis eu, molestie viverra, mauris. Praesent semper, neque vel condimentum hendrerit, lectus elit pretiumligula, nec consequat nisl velit at dui. Nam pharetra. Suspendisse viverra placerat tortor. Nulla sagittis condimentum ligula. Sed fringilla. Nullam sapien mauris, venenatis at, fermentum at, tempus eu, urna. Aenean scelerisque metus eget sem. Donec rutrum venenatis dui. Donec diam eros, tristique sit amet, pretium vel, pellentesque ut, neque. Curabitur lorem risus, sagittis vitae, accumsan a, iaculis id, metus. Integer accumsan. In leo ante, venenatis eu, volutpat ut, imperdiet auctor, enim. Nam consectetuer mollis dolor. Nam consectetuer mollis dolor. Maecenas viverra. Aliquam justo lectus, iaculis a, auctor sed, congue in, nisl. Donec interdum vestibulum libero. Sed elementum, felis quis porttitor sollicitudin, augue nulla sodales sapien, sit amet posuere quam purus at lacus. Praesent scelerisque. Sed a lorem ut est tincidunt consectetuer. Quisque facilisis, urna sit amet pulvinar mollis, purus arcu adipiscing velit, non condimentum diam purus eu massa. Morbi volutpat. Mauris et pede. Suspendisse venenatis. Aliquam sed erat. Praesent scelerisque. Curabitur nunc ante, ullamcorper vel, auctor a, aliquam at, tortor. Suspendisse viverra placerat tortor. Phasellus at purus sed purus cursus iaculis. Nunc metus. Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. Nam nisl quam, posuere non, volutpat sed, semper vitae, magna. Curabitur nunc ante, ullamcorper vel, auctor a, aliquam at, tortor. Ut eu metus id lectus vestibulum ultrices. Suspendisse lectus. Nam id neque. Aliquam metus. Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. Quisque pretium rutrum ligula. Sed dolor. Donec at diam a tellus dignissim vestibulum. Integer fringilla. Praesent a lacus vitae turpis consequat semper. Vivamus posuere, ante eu tempor dictum, felis nibh facilisis sem, eu auctor metus nulla non lorem. Praesent scelerisque. Pellentesque convallis dolor vel libero. Aliquam vel nibh. Aenean justo ipsum, luctus ut, volutpat laoreet, vehicula in, libero. Donec interdum vestibulum libero. Aliquam imperdiet lobortis metus. Aenean luctus vulputate turpis. Nam sed nisl nec elit suscipit ullamcorper. Morbi a mauris. Etiam non neque ac mi vestibulum placerat. Sed non ipsum. Mauris et pede. Cras facilisis felis sit amet lorem. Aenean luctus vulputate turpis. Integer porta. Vivamus quis mi. Maecenas convallis dui. Duis sem velit, ultrices et, fermentum auctor, rhoncus ut, ligula. Suspendisse potenti. Aliquam sed erat. Praesent semper, neque vel condimentum hendrerit, lectus elit pretiumligula, nec consequat nisl velit at dui. Suspendisse potenti. Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. Aenean id purus. Vivamus quis mi. Vestibulum viverra varius enim. Morbi volutpat. Phasellus lacinia iaculis mi. Curabitur tincidunt tellus nec purus. Praesent aliquet, neque pretium congue mattis, ipsum augue dignissim ante, ac pretium nisl lectus at magna. Aliquam vel nibh. UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/lorem_ipsum__--svg2__false.out b/share/extensions/tests/data/refs/lorem_ipsum__--svg2__false.out new file mode 100644 index 0000000..243a8f1 --- /dev/null +++ b/share/extensions/tests/data/refs/lorem_ipsum__--svg2__false.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In hac habitasse platea dictumst. Integer accumsan. Vestibulum viverra varius enim. Phasellus lacinia iaculis mi. Cras gravida. Pellentesque sit amet dui vel justo gravida auctor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti. In consectetuer, lorem eu lobortis egestas, velit odio imperdiet eros, sit amet sagittis nunc mi ac neque. Aenean scelerisque metus eget sem. Proin lectus orci, venenatis pharetra, egestas id, tincidunt vel, eros. Vivamus feugiat. Cras gravida. Nam pharetra. Cras gravida. Aliquam velit dui, commodo quis, porttitor eget, convallis et, nisi. Donec tempus quam quis neque. Donec tempus quam quis neque. Aliquam imperdiet lobortis metus. Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. Mauris ac massa vestibulum nisl facilisis viverra. Nulla sagittis condimentum ligula. Mauris urna sem, suscipit vitae, dignissim id, ultrices sed, nunc. Aliquam metus. Sed dolor. Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. Nam pharetra. Donec interdum vestibulum libero. Pellentesque condimentum felis a sem. Suspendisse potenti. Donec ut urna. In consectetuer, lorem eu lobortis egestas, velit odio imperdiet eros, sit amet sagittis nunc mi ac neque. Pellentesque ac turpis. Nam sed nisl nec elit suscipit ullamcorper. Donec ut urna. Fusce nonummy commodo dui. Etiam non neque ac mi vestibulum placerat. Morbi a mauris. Curabitur lorem risus, sagittis vitae, accumsan a, iaculis id, metus. Pellentesque suscipit accumsan massa. Etiam non neque ac mi vestibulum placerat. Donec sit amet enim. Suspendisse potenti. Mauris sed nulla quis nisi interdum tempor. Duis sem velit, ultrices et, fermentum auctor, rhoncus ut, ligula. Nam laoreet dui sed magna. Nulla blandit justo a metus. Duis sem velit, ultrices et, fermentum auctor, rhoncus ut, ligula. Morbi pulvinar nulla sit amet nisl. Aliquam metus. Proin lectus orci, venenatis pharetra, egestas id, tincidunt vel, eros. Mauris urna sem, suscipit vitae, dignissim id, ultrices sed, nunc. Nam rhoncus, lectus vel hendrerit congue, nisl lorem feugiat ante, in fermentum erat nulla tristique arcu. Nullam sapien mauris, venenatis at, fermentum at, tempus eu, urna. Suspendisse lectus. Quisque pretium rutrum ligula. Etiam sodales orci nec ligula. Donec ut purus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec gravida, ante vel ornare lacinia, orci enim porta est, eget sollicitudin lectus lectus eget lacus. Aenean justo ipsum, luctus ut, volutpat laoreet, vehicula in, libero. Vestibulum viverra varius enim. Suspendisse molestie sem. Sed fringilla. Aliquam metus. Vivamus feugiat. Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. Aenean scelerisque metus eget sem. Suspendisse fermentum. Mauris ac massa vestibulum nisl facilisis viverra. Suspendisse potenti. Phasellus hendrerit. In tempus urna. Morbi volutpat. Nam id neque. Donec sit amet enim. Phasellus at purus sed purus cursus iaculis. Phasellus auctor enim eget sem. Mauris et pede. Aenean luctus vulputate turpis. Nam consectetuer mollis dolor. Nam id neque. Curabitur tincidunt tellus nec purus. Mauris tincidunt aliquam ante. Proin lectus orci, venenatis pharetra, egestas id, tincidunt vel, eros. Donec rutrum venenatis dui. Quisque dictum quam vel neque. Sed a lorem ut est tincidunt consectetuer. Mauris tincidunt aliquam ante. Morbi a mauris. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Suspendisse potenti. Aliquam velit dui, commodo quis, porttitor eget, convallis et, nisi. Donec ut purus. Sed at turpis vitae velit euismod aliquet. Nunc in turpis ac lacus eleifend sagittis. Suspendisse fermentum. Pellentesque sit amet dui vel justo gravida auctor. Morbi a mauris. Nulla facilisi. Mauris tempus diam. Donec nonummy lacinia leo. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Aenean ultrices turpis. Cras facilisis felis sit amet lorem. Mauris urna sem, suscipit vitae, dignissim id, ultrices sed, nunc. Sed quis elit. Nulla blandit justo a metus. Quisque vehicula porttitor odio. Integer accumsan. Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. Nam sed nisl nec elit suscipit ullamcorper. Nullam libero nunc, tristique eget, laoreet eu, sagittis id, ante. Morbi pulvinar nulla sit amet nisl. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Aliquam velit dui, commodo quis, porttitor eget, convallis et, nisi. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Cras facilisis felis sit amet lorem. Fusce venenatis ligula in pede. Aliquam sed erat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec gravida, ante vel ornare lacinia, orci enim porta est, eget sollicitudin lectus lectus eget lacus. + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/lorem_ipsum__--svg2__true.out b/share/extensions/tests/data/refs/lorem_ipsum__--svg2__true.out new file mode 100644 index 0000000..e47873a --- /dev/null +++ b/share/extensions/tests/data/refs/lorem_ipsum__--svg2__true.out @@ -0,0 +1,42 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam molestie nisl at metus. Mauris ac massa vestibulum nisl facilisis viverra. Aliquam justo lectus, iaculis a, auctor sed, congue in, nisl. Sed quis elit. Mauris sed nulla quis nisi interdum tempor. Proin dolor sapien, adipiscing id, sagittis eu, molestie viverra, mauris. Integer tempus malesuada pede. Maecenas rhoncus rhoncus ipsum. Mauris ac massa vestibulum nisl facilisis viverra. Suspendisse fermentum. Phasellus magna sem, vulputate eget, ornare sed, dignissim sit amet, pede. Nam id neque. Nulla blandit justo a metus. Nam laoreet dui sed magna. Vivamus posuere, ante eu tempor dictum, felis nibh facilisis sem, eu auctor metus nulla non lorem. Phasellus at purus sed purus cursus iaculis. Vivamus feugiat. Integer fringilla. Praesent a eros. Aliquam sed erat. Nam a nunc. Maecenas rhoncus rhoncus ipsum. + +Praesent scelerisque. Proin lectus orci, venenatis pharetra, egestas id, tincidunt vel, eros. Etiam cursus purus interdum libero. Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. Suspendisse fermentum. Sed at turpis vitae velit euismod aliquet. Aliquam justo lectus, iaculis a, auctor sed, congue in, nisl. Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. Quisque arcu ante, cursus in, ornare quis, viverra ut, justo. Nam a nunc. Duis sem velit, ultrices et, fermentum auctor, rhoncus ut, ligula. Aliquam metus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti. Mauris tincidunt aliquam ante. Mauris et pede. In consectetuer, lorem eu lobortis egestas, velit odio imperdiet eros, sit amet sagittis nunc mi ac neque. Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. Donec ut purus. Integer accumsan. Morbi volutpat. Suspendisse potenti. Vivamus posuere, ante eu tempor dictum, felis nibh facilisis sem, eu auctor metus nulla non lorem. + +Aenean luctus vulputate turpis. Pellentesque convallis dolor vel libero. Quisque arcu ante, cursus in, ornare quis, viverra ut, justo. Etiam non neque ac mi vestibulum placerat. Mauris urna sem, suscipit vitae, dignissim id, ultrices sed, nunc. Phasellus at purus sed purus cursus iaculis. Phasellus lacinia iaculis mi. Mauris tempor ultrices justo. Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. Nam id neque. Fusce venenatis ligula in pede. Nullam libero nunc, tristique eget, laoreet eu, sagittis id, ante. Suspendisse lectus. Phasellus nisi metus, tempus sit amet, ultrices ac, porta nec, felis. Pellentesque suscipit accumsan massa. Aliquam metus. + +Cras ac enim vel dui vestibulum suscipit. In hac habitasse platea dictumst. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus eu orci. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti. Integer accumsan. Nam id neque. Donec at diam a tellus dignissim vestibulum. Donec ut urna. Pellentesque ac turpis. Phasellus hendrerit. Nulla sed lacus. Aenean justo ipsum, luctus ut, volutpat laoreet, vehicula in, libero. Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. Nam pharetra. Nulla sagittis condimentum ligula. Nam malesuada sapien eu nibh. Sed a lorem ut est tincidunt consectetuer. Sed dolor. Donec ut purus. Phasellus hendrerit. Mauris et pede. Donec diam eros, tristique sit amet, pretium vel, pellentesque ut, neque. Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. Nulla sagittis condimentum ligula. Aliquam imperdiet lobortis metus. Integer accumsan. Donec interdum vestibulum libero. Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. + +Donec interdum vestibulum libero. Nam molestie nisl at metus. In consectetuer, lorem eu lobortis egestas, velit odio imperdiet eros, sit amet sagittis nunc mi ac neque. Phasellus magna sem, vulputate eget, ornare sed, dignissim sit amet, pede. Aliquam imperdiet lobortis metus. Nam consectetuer mollis dolor. Curabitur lorem risus, sagittis vitae, accumsan a, iaculis id, metus. Integer tempus malesuada pede. Nam laoreet dui sed magna. Donec sit amet enim. Mauris et dolor. Ut eu metus id lectus vestibulum ultrices. Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. Pellentesque sit amet dui vel justo gravida auctor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Fusce venenatis ligula in pede. Suspendisse potenti. Quisque vehicula porttitor odio. Praesent a lacus vitae turpis consequat semper. Praesent scelerisque. Pellentesque viverra dolor non nunc. Aliquam justo lectus, iaculis a, auctor sed, congue in, nisl. Mauris sed nulla quis nisi interdum tempor. Aliquam velit dui, commodo quis, porttitor eget, convallis et, nisi. Donec ut urna. Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. \ No newline at end of file diff --git a/share/extensions/tests/data/refs/markers_strokepaint__--tab____custom____--id__dimension__--type__stroke.out b/share/extensions/tests/data/refs/markers_strokepaint__--tab____custom____--id__dimension__--type__stroke.out new file mode 100644 index 0000000..0a85c09 --- /dev/null +++ b/share/extensions/tests/data/refs/markers_strokepaint__--tab____custom____--id__dimension__--type__stroke.out @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/markers_strokepaint__--tab____object____--id__dimension__--type__stroke.out b/share/extensions/tests/data/refs/markers_strokepaint__--tab____object____--id__dimension__--type__stroke.out new file mode 100644 index 0000000..070a6e8 --- /dev/null +++ b/share/extensions/tests/data/refs/markers_strokepaint__--tab____object____--id__dimension__--type__stroke.out @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/measure__--id__p1__--id__p2__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out b/share/extensions/tests/data/refs/measure__--id__p1__--id__p2__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out new file mode 100644 index 0000000..179cbf8 --- /dev/null +++ b/share/extensions/tests/data/refs/measure__--id__p1__--id__p2__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + 123.48 mm141.14 mm + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_bbox__--id__p2__--fontsize__20__--unit__mm__--scale__1__1.out b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_bbox__--id__p2__--fontsize__20__--unit__mm__--scale__1__1.out new file mode 100644 index 0000000..ec3aa85 --- /dev/null +++ b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_bbox__--id__p2__--fontsize__20__--unit__mm__--scale__1__1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + 141.14 mm + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_start__--id__D__--fontsize__20__--unit__mm__--scale__1__1.out b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_start__--id__D__--fontsize__20__--unit__mm__--scale__1__1.out new file mode 100644 index 0000000..09774b9 --- /dev/null +++ b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_start__--id__D__--fontsize__20__--unit__mm__--scale__1__1.out @@ -0,0 +1,34 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + 54.15 mm + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_start__--id__p1__--fontsize__20__--unit__mm__--scale__1__1.out b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_start__--id__p1__--fontsize__20__--unit__mm__--scale__1__1.out new file mode 100644 index 0000000..7b61804 --- /dev/null +++ b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__FT_start__--id__p1__--fontsize__20__--unit__mm__--scale__1__1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + 123.48 mm + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_end__--id__p2__--fontsize__20__--unit__mm__--scale__1__1.out b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_end__--id__p2__--fontsize__20__--unit__mm__--scale__1__1.out new file mode 100644 index 0000000..6ef1b7c --- /dev/null +++ b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_end__--id__p2__--fontsize__20__--unit__mm__--scale__1__1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + 141.14 mm + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_start__--id__D__--fontsize__20__--unit__mm__--scale__1__1.out b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_start__--id__D__--fontsize__20__--unit__mm__--scale__1__1.out new file mode 100644 index 0000000..a21eb63 --- /dev/null +++ b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_start__--id__D__--fontsize__20__--unit__mm__--scale__1__1.out @@ -0,0 +1,34 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + 54.15 mm + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_start__--id__p1__--fontsize__20__--unit__mm__--scale__1__1.out b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_start__--id__p1__--fontsize__20__--unit__mm__--scale__1__1.out new file mode 100644 index 0000000..da1b409 --- /dev/null +++ b/share/extensions/tests/data/refs/measure__--method__presets__--presetFormat__TaP_start__--id__p1__--fontsize__20__--unit__mm__--scale__1__1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + 123.48 mm + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/measure__--type__area__--id__p1__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out b/share/extensions/tests/data/refs/measure__--type__area__--id__p1__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out new file mode 100644 index 0000000..65d9a94 --- /dev/null +++ b/share/extensions/tests/data/refs/measure__--type__area__--id__p1__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + 0.0 mm2 + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/refs/measure__--type__cofm__--id__D__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out b/share/extensions/tests/data/refs/measure__--type__cofm__--id__D__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out new file mode 100644 index 0000000..6779ab0 --- /dev/null +++ b/share/extensions/tests/data/refs/measure__--type__cofm__--id__D__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out @@ -0,0 +1,34 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/measure__--type__cofm__--id__c3__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out b/share/extensions/tests/data/refs/measure__--type__cofm__--id__c3__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out new file mode 100644 index 0000000..9deca59 --- /dev/null +++ b/share/extensions/tests/data/refs/measure__--type__cofm__--id__c3__--presetFormat__TaP_start__--fontsize__20__--unit__mm__--scale__1__1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/merge_styles__--id__c2__--id__c3.out b/share/extensions/tests/data/refs/merge_styles__--id__c2__--id__c3.out new file mode 100644 index 0000000..13c7bbc --- /dev/null +++ b/share/extensions/tests/data/refs/merge_styles__--id__c2__--id__c3.out @@ -0,0 +1,46 @@ + + + + + + +.css5815 { + display:inline; + stroke-width:16; +} + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/motion__--id__c3__--id__p2.out b/share/extensions/tests/data/refs/motion__--id__c3__--id__p2.out new file mode 100644 index 0000000..aff7cc7 --- /dev/null +++ b/share/extensions/tests/data/refs/motion__--id__c3__--id__p2.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/motion__--magnitude__2__--angle__45__--fillwithstroke__True__--id__path23053__--id__path28636.out b/share/extensions/tests/data/refs/motion__--magnitude__2__--angle__45__--fillwithstroke__True__--id__path23053__--id__path28636.out new file mode 100644 index 0000000..0412348 --- /dev/null +++ b/share/extensions/tests/data/refs/motion__--magnitude__2__--angle__45__--fillwithstroke__True__--id__path23053__--id__path28636.out @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/new_glyph_layer.out b/share/extensions/tests/data/refs/new_glyph_layer.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/new_glyph_layer__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/new_glyph_layer__--id__p1__--id__r3.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/next_glyph_layer.out b/share/extensions/tests/data/refs/next_glyph_layer.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/next_glyph_layer__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/next_glyph_layer__--id__p1__--id__r3.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out b/share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out new file mode 100644 index 0000000..3374868 --- /dev/null +++ b/share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out @@ -0,0 +1,13 @@ + + + + + + image/svg+xml + + + + + + +JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember1978 \ No newline at end of file diff --git a/share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--type__pie__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out b/share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--type__pie__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out new file mode 100644 index 0000000..cb8d23f --- /dev/null +++ b/share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--type__pie__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out @@ -0,0 +1,13 @@ + + + + + + image/svg+xml + + + + + + +JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember1978 \ No newline at end of file diff --git a/share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--type__stbar__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out b/share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--type__stbar__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out new file mode 100644 index 0000000..d7fe426 --- /dev/null +++ b/share/extensions/tests/data/refs/nicechart__--file__DAT_DIR__io__nicechart_01__csv__--type__stbar__--blur__True__--headings__True__--font-color__black__--what__22__11__67.out @@ -0,0 +1,13 @@ + + + + + + image/svg+xml + + + + + + +JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember1978 \ No newline at end of file diff --git a/share/extensions/tests/data/refs/nicechart__3afa80cf55d99e9c0ea691c780458309.out b/share/extensions/tests/data/refs/nicechart__3afa80cf55d99e9c0ea691c780458309.out new file mode 100644 index 0000000..2bfbbf0 --- /dev/null +++ b/share/extensions/tests/data/refs/nicechart__3afa80cf55d99e9c0ea691c780458309.out @@ -0,0 +1,13 @@ + + + + + + image/svg+xml + + + + + + +JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember1978 \ No newline at end of file diff --git a/share/extensions/tests/data/refs/output_scour.out b/share/extensions/tests/data/refs/output_scour.out new file mode 100644 index 0000000..6b54e20 --- /dev/null +++ b/share/extensions/tests/data/refs/output_scour.out @@ -0,0 +1,40 @@ + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps + UPPER + Multi linetextFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/refs/param_curves__--id__p1__--id__r3__-s__8__--isoscale__True__--drawaxis__True.out b/share/extensions/tests/data/refs/param_curves__--id__p1__--id__r3__-s__8__--isoscale__True__--drawaxis__True.out new file mode 100644 index 0000000..c5acfe7 --- /dev/null +++ b/share/extensions/tests/data/refs/param_curves__--id__p1__--id__r3__-s__8__--isoscale__True__--drawaxis__True.out @@ -0,0 +1,40 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/param_curves__-s__8__--isoscale__True__--drawaxis__True.out b/share/extensions/tests/data/refs/param_curves__-s__8__--isoscale__True__--drawaxis__True.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/path_envelope__--id__obj__--id__envelope.out b/share/extensions/tests/data/refs/path_envelope__--id__obj__--id__envelope.out new file mode 100644 index 0000000..37c35bc --- /dev/null +++ b/share/extensions/tests/data/refs/path_envelope__--id__obj__--id__envelope.out @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_envelope__--id__text__--id__envelope.out b/share/extensions/tests/data/refs/path_envelope__--id__text__--id__envelope.out new file mode 100644 index 0000000..d82aee7 --- /dev/null +++ b/share/extensions/tests/data/refs/path_envelope__--id__text__--id__envelope.out @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__faces.out b/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__faces.out new file mode 100644 index 0000000..221aae9 --- /dev/null +++ b/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__faces.out @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__gridlines.out b/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__gridlines.out new file mode 100644 index 0000000..f315d5e --- /dev/null +++ b/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__gridlines.out @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__meshpatches.out b/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__meshpatches.out new file mode 100644 index 0000000..5bf081b --- /dev/null +++ b/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__meshpatches.out @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__outline.out b/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__outline.out new file mode 100644 index 0000000..b4c9fe0 --- /dev/null +++ b/share/extensions/tests/data/refs/path_mesh_m2p__--id__mesh1__--mode__outline.out @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_mesh_p2m__--id__path1__--id__path9.out b/share/extensions/tests/data/refs/path_mesh_p2m__--id__path1__--id__path9.out new file mode 100644 index 0000000..6f6773f --- /dev/null +++ b/share/extensions/tests/data/refs/path_mesh_p2m__--id__path1__--id__path9.out @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_number_nodes__--id__D.out b/share/extensions/tests/data/refs/path_number_nodes__--id__D.out new file mode 100644 index 0000000..ab2102a --- /dev/null +++ b/share/extensions/tests/data/refs/path_number_nodes__--id__D.out @@ -0,0 +1,33 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + 1234567 + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_number_nodes__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/path_number_nodes__--id__p1__--id__r3.out new file mode 100644 index 0000000..c3b1c5d --- /dev/null +++ b/share/extensions/tests/data/refs/path_number_nodes__--id__p1__--id__r3.out @@ -0,0 +1,40 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + 1234 + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_to_absolute__--id__c1__--id__c2__--id__c3.out b/share/extensions/tests/data/refs/path_to_absolute__--id__c1__--id__c2__--id__c3.out new file mode 100644 index 0000000..e904237 --- /dev/null +++ b/share/extensions/tests/data/refs/path_to_absolute__--id__c1__--id__c2__--id__c3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_to_absolute__--id__p1__--id__p2__--id__s1__--id__u1.out b/share/extensions/tests/data/refs/path_to_absolute__--id__p1__--id__p2__--id__s1__--id__u1.out new file mode 100644 index 0000000..8fbffb2 --- /dev/null +++ b/share/extensions/tests/data/refs/path_to_absolute__--id__p1__--id__p2__--id__s1__--id__u1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_to_absolute__--id__r1__--id__r2__--id__r3__--id__slicerect.out b/share/extensions/tests/data/refs/path_to_absolute__--id__r1__--id__r2__--id__r3__--id__slicerect.out new file mode 100644 index 0000000..33edebd --- /dev/null +++ b/share/extensions/tests/data/refs/path_to_absolute__--id__r1__--id__r2__--id__r3__--id__slicerect.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/path_to_absolute__--id__r1__--id__r2__--id__r3__--id__slicerect1.out b/share/extensions/tests/data/refs/path_to_absolute__--id__r1__--id__r2__--id__r3__--id__slicerect1.out new file mode 100644 index 0000000..72e29de --- /dev/null +++ b/share/extensions/tests/data/refs/path_to_absolute__--id__r1__--id__r2__--id__r3__--id__slicerect1.out @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated__--kind__Snake__--id__g3427__--id__path2551.out b/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated__--kind__Snake__--id__g3427__--id__path2551.out new file mode 100644 index 0000000..483726d --- /dev/null +++ b/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated__--kind__Snake__--id__g3427__--id__path2551.out @@ -0,0 +1,101 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Settings: Repeated, Snake, no distance. Tests a path with fillrule=evenodd + Settings: Repeated, Stretched, Ribbon, Vertical. Tests a group pattern with multiple nested transforms + Settings: Repeated, Stretched, Ribbon. Tests a group pattern with multiple nested clones + Settings: Single, Stretched, Snake. Tests putting a text (converted to a path) on a path and stretching it to fit its length + + Settings: Repeated, Stretched, Snake, Space between copies=5, Normal offset=5. Tests putting a path with multiple subpaths with a gradient on a closed path + Settings: Single, Stretched, Snake. Tests selecting multiple sceleton paths, one consisting of multiple subpaths + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Ribbon__--id__g4054__--id__path4056.out b/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Ribbon__--id__g4054__--id__path4056.out new file mode 100644 index 0000000..6622d5e --- /dev/null +++ b/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Ribbon__--id__g4054__--id__path4056.out @@ -0,0 +1,117 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Settings: Repeated, Snake, no distance. Tests a path with fillrule=evenodd + Settings: Repeated, Stretched, Ribbon, Vertical. Tests a group pattern with multiple nested transforms + Settings: Repeated, Stretched, Ribbon. Tests a group pattern with multiple nested clones + Settings: Single, Stretched, Snake. Tests putting a text (converted to a path) on a path and stretching it to fit its length + + Settings: Repeated, Stretched, Snake, Space between copies=5, Normal offset=5. Tests putting a path with multiple subpaths with a gradient on a closed path + Settings: Single, Stretched, Snake. Tests selecting multiple sceleton paths, one consisting of multiple subpaths + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Ribbon__--vertical__True__--id__g3961__--id__path10007.out b/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Ribbon__--vertical__True__--id__g3961__--id__path10007.out new file mode 100644 index 0000000..d6a315f --- /dev/null +++ b/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Ribbon__--vertical__True__--id__g3961__--id__path10007.out @@ -0,0 +1,108 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Settings: Repeated, Snake, no distance. Tests a path with fillrule=evenodd + Settings: Repeated, Stretched, Ribbon, Vertical. Tests a group pattern with multiple nested transforms + Settings: Repeated, Stretched, Ribbon. Tests a group pattern with multiple nested clones + Settings: Single, Stretched, Snake. Tests putting a text (converted to a path) on a path and stretching it to fit its length + + Settings: Repeated, Stretched, Snake, Space between copies=5, Normal offset=5. Tests putting a path with multiple subpaths with a gradient on a closed path + Settings: Single, Stretched, Snake. Tests selecting multiple sceleton paths, one consisting of multiple subpaths + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Snake__--noffset__5__--space__5__--id__path2408__--id__path2405.out b/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Snake__--noffset__5__--space__5__--id__path2408__--id__path2405.out new file mode 100644 index 0000000..62e5ba9 --- /dev/null +++ b/share/extensions/tests/data/refs/pathalongpath__--copymode__Repeated____stretched__--kind__Snake__--noffset__5__--space__5__--id__path2408__--id__path2405.out @@ -0,0 +1,98 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Settings: Repeated, Snake, no distance. Tests a path with fillrule=evenodd + Settings: Repeated, Stretched, Ribbon, Vertical. Tests a group pattern with multiple nested transforms + Settings: Repeated, Stretched, Ribbon. Tests a group pattern with multiple nested clones + Settings: Single, Stretched, Snake. Tests putting a text (converted to a path) on a path and stretching it to fit its length + + + Settings: Repeated, Stretched, Snake, Space between copies=5, Normal offset=5. Tests putting a path with multiple subpaths with a gradient on a closed path + Settings: Single, Stretched, Snake. Tests selecting multiple sceleton paths, one consisting of multiple subpaths + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathalongpath__--copymode__Single__--duplicate__True__--kind__Snake__--id__g5848__--id__path3336.out b/share/extensions/tests/data/refs/pathalongpath__--copymode__Single__--duplicate__True__--kind__Snake__--id__g5848__--id__path3336.out new file mode 100644 index 0000000..ea16422 --- /dev/null +++ b/share/extensions/tests/data/refs/pathalongpath__--copymode__Single__--duplicate__True__--kind__Snake__--id__g5848__--id__path3336.out @@ -0,0 +1,53 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathalongpath__--copymode__Single____stretched__--kind__Snake__--id__path4585__--id__path4608__--id__path4610__--id__path4612.out b/share/extensions/tests/data/refs/pathalongpath__--copymode__Single____stretched__--kind__Snake__--id__path4585__--id__path4608__--id__path4610__--id__path4612.out new file mode 100644 index 0000000..1012962 --- /dev/null +++ b/share/extensions/tests/data/refs/pathalongpath__--copymode__Single____stretched__--kind__Snake__--id__path4585__--id__path4608__--id__path4610__--id__path4612.out @@ -0,0 +1,98 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Settings: Repeated, Snake, no distance. Tests a path with fillrule=evenodd + Settings: Repeated, Stretched, Ribbon, Vertical. Tests a group pattern with multiple nested transforms + Settings: Repeated, Stretched, Ribbon. Tests a group pattern with multiple nested clones + Settings: Single, Stretched, Snake. Tests putting a text (converted to a path) on a path and stretching it to fit its length + + Settings: Repeated, Stretched, Snake, Space between copies=5, Normal offset=5. Tests putting a path with multiple subpaths with a gradient on a closed path + Settings: Single, Stretched, Snake. Tests selecting multiple sceleton paths, one consisting of multiple subpaths + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathalongpath__--copymode__Single____stretched__--kind__Snake__--id__text4418__--id__path4412.out b/share/extensions/tests/data/refs/pathalongpath__--copymode__Single____stretched__--kind__Snake__--id__text4418__--id__path4412.out new file mode 100644 index 0000000..c151f76 --- /dev/null +++ b/share/extensions/tests/data/refs/pathalongpath__--copymode__Single____stretched__--kind__Snake__--id__text4418__--id__path4412.out @@ -0,0 +1,121 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Settings: Repeated, Snake, no distance. Tests a path with fillrule=evenodd + Settings: Repeated, Stretched, Ribbon, Vertical. Tests a group pattern with multiple nested transforms + Settings: Repeated, Stretched, Ribbon. Tests a group pattern with multiple nested clones + Settings: Single, Stretched, Snake. Tests putting a text (converted to a path) on a path and stretching it to fit its length + + Settings: Repeated, Stretched, Snake, Space between copies=5, Normal offset=5. Tests putting a path with multiple subpaths with a gradient on a closed path + Settings: Single, Stretched, Snake. Tests selecting multiple sceleton paths, one consisting of multiple subpaths + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__False__--follow__False.out b/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__False__--follow__False.out new file mode 100644 index 0000000..f8d0f71 --- /dev/null +++ b/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__False__--follow__False.out @@ -0,0 +1,158 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--copymode__copy__--grouppick__True__--pickmode__seq.out b/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--copymode__copy__--grouppick__True__--pickmode__seq.out new file mode 100644 index 0000000..0bf037e --- /dev/null +++ b/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--copymode__copy__--grouppick__True__--pickmode__seq.out @@ -0,0 +1,62 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--rotate__True__--copymode__clone.out b/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--rotate__True__--copymode__clone.out new file mode 100644 index 0000000..cac8ad1 --- /dev/null +++ b/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--rotate__True__--copymode__clone.out @@ -0,0 +1,24 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--space__10.out b/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--space__10.out new file mode 100644 index 0000000..4382d7e --- /dev/null +++ b/share/extensions/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__True__--space__10.out @@ -0,0 +1,74 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pathscatter__--id__path3990__--id__path3982__--stretch__True__--follow__True__--copymode__copy.out b/share/extensions/tests/data/refs/pathscatter__--id__path3990__--id__path3982__--stretch__True__--follow__True__--copymode__copy.out new file mode 100644 index 0000000..6f1ecf5 --- /dev/null +++ b/share/extensions/tests/data/refs/pathscatter__--id__path3990__--id__path3982__--stretch__True__--follow__True__--copymode__copy.out @@ -0,0 +1,65 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pdflatex__--font_size__15.out b/share/extensions/tests/data/refs/pdflatex__--font_size__15.out new file mode 100644 index 0000000..e71064f --- /dev/null +++ b/share/extensions/tests/data/refs/pdflatex__--font_size__15.out @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pdflatex__--font_size__15__--standalone__False.out b/share/extensions/tests/data/refs/pdflatex__--font_size__15__--standalone__False.out new file mode 100644 index 0000000..1371e43 --- /dev/null +++ b/share/extensions/tests/data/refs/pdflatex__--font_size__15__--standalone__False.out @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pdflatex__--font_size__20__--formule________frac__1____sqrt__5______2______.out b/share/extensions/tests/data/refs/pdflatex__--font_size__20__--formule________frac__1____sqrt__5______2______.out new file mode 100644 index 0000000..e862eec --- /dev/null +++ b/share/extensions/tests/data/refs/pdflatex__--font_size__20__--formule________frac__1____sqrt__5______2______.out @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pdflatex__--font_size__20__--standalone__False__--formule________frac__1____sqrt__5______2______.out b/share/extensions/tests/data/refs/pdflatex__--font_size__20__--standalone__False__--formule________frac__1____sqrt__5______2______.out new file mode 100644 index 0000000..1ec3d22 --- /dev/null +++ b/share/extensions/tests/data/refs/pdflatex__--font_size__20__--standalone__False__--formule________frac__1____sqrt__5______2______.out @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pdflatex__0355ed68ae6ec25166e664512ef53660.out b/share/extensions/tests/data/refs/pdflatex__0355ed68ae6ec25166e664512ef53660.out new file mode 100644 index 0000000..4f629c0 --- /dev/null +++ b/share/extensions/tests/data/refs/pdflatex__0355ed68ae6ec25166e664512ef53660.out @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/perfectboundcover.out b/share/extensions/tests/data/refs/perfectboundcover.out new file mode 100644 index 0000000..df88e21 --- /dev/null +++ b/share/extensions/tests/data/refs/perfectboundcover.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/perspective__--id__obj__--id__envelope.out b/share/extensions/tests/data/refs/perspective__--id__obj__--id__envelope.out new file mode 100644 index 0000000..df50e03 --- /dev/null +++ b/share/extensions/tests/data/refs/perspective__--id__obj__--id__envelope.out @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/perspective__--id__p1__--id__p2.out b/share/extensions/tests/data/refs/perspective__--id__p1__--id__p2.out new file mode 100644 index 0000000..b7497dc --- /dev/null +++ b/share/extensions/tests/data/refs/perspective__--id__p1__--id__p2.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/perspective__--id__text__--id__envelope.out b/share/extensions/tests/data/refs/perspective__--id__text__--id__envelope.out new file mode 100644 index 0000000..5093cdd --- /dev/null +++ b/share/extensions/tests/data/refs/perspective__--id__text__--id__envelope.out @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pixelsnap__--id__p1__--id__r3__--snap_to__bl.out b/share/extensions/tests/data/refs/pixelsnap__--id__p1__--id__r3__--snap_to__bl.out new file mode 100644 index 0000000..ad90237 --- /dev/null +++ b/share/extensions/tests/data/refs/pixelsnap__--id__p1__--id__r3__--snap_to__bl.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pixelsnap__--id__rect1144__--id__path1302__--id__path1430__--id__path1434__--id__path1434__--snap_to__bl.out b/share/extensions/tests/data/refs/pixelsnap__--id__rect1144__--id__path1302__--id__path1430__--id__path1434__--id__path1434__--snap_to__bl.out new file mode 100644 index 0000000..5782872 --- /dev/null +++ b/share/extensions/tests/data/refs/pixelsnap__--id__rect1144__--id__path1302__--id__path1430__--id__path1434__--id__path1434__--snap_to__bl.out @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/pixelsnap__--id__rect1144__--id__path1302__--id__path1430__--id__path1434__--id__path1434__--snap_to__tl.out b/share/extensions/tests/data/refs/pixelsnap__--id__rect1144__--id__path1302__--id__path1430__--id__path1434__--id__path1434__--snap_to__tl.out new file mode 100644 index 0000000..5a3ce2b --- /dev/null +++ b/share/extensions/tests/data/refs/pixelsnap__--id__rect1144__--id__path1302__--id__path1430__--id__path1434__--id__path1434__--snap_to__tl.out @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/plotter__--serialPort____test____--commandLanguage__DMPL__--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out b/share/extensions/tests/data/refs/plotter__--serialPort____test____--commandLanguage__DMPL__--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out new file mode 100644 index 0000000..aa162ff --- /dev/null +++ b/share/extensions/tests/data/refs/plotter__--serialPort____test____--commandLanguage__DMPL__--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out @@ -0,0 +1,2 @@ + +:HAL0V20EC1U,P1,VS20,FS24,U0,0,D0,90,U5966,2652,D5971,2651,5975,2647,5976,2641,5975,2636,5971,2633,5966,2632,5966,0,5961,1,5957,5,5956,10,3824,10,3825,15,3829,19,3834,20,3834,2652,3839,2651,3843,2647,3844,2642,5976,2642,5975,2637,5971,2633,5966,2632,5966,2592,U5479,7938,D5474,7939,5470,7943,5469,7948,5470,7953,5474,7957,5478,7957,5477,7997,5476,7997,5472,8037,5471,8036,5464,8075,5463,8075,5453,8112,5452,8112,5439,8149,5439,8148,5423,8184,5405,8218,5404,8217,5384,8250,5361,8281,5361,8280,5336,8310,5335,8309,5308,8337,5308,8336,5279,8362,5248,8385,5247,8385,5214,8406,5214,8405,5180,8425,5179,8424,5143,8441,5143,8440,5105,8454,5105,8453,5067,8464,5067,8463,5029,8471,5028,8470,4990,8476,4990,8475,4951,8477,4951,8476,4913,8476,4913,8475,4874,8472,4874,8471,4836,8465,4837,8464,4799,8455,4763,8443,4763,8442,4727,8428,4727,8427,4692,8411,4693,8410,4659,8390,4660,8390,4627,8368,4628,8367,4597,8343,4597,8342,4568,8315,4569,8314,4541,8285,4542,8285,4517,8254,4518,8253,4496,8221,4497,8221,4477,8187,4478,8187,4461,8152,4461,8151,4447,8116,4448,8115,4436,8079,4437,8078,4428,8041,4429,8041,4423,8003,4420,7964,4421,7964,4420,7926,4421,7926,4423,7887,4424,7887,4429,7849,4430,7849,4438,7811,4439,7811,4450,7773,4464,7736,4465,7736,4481,7700,4482,7700,4501,7665,4502,7666,4523,7633,4524,7633,4548,7603,4574,7574,4574,7575,4602,7548,4603,7548,4632,7524,4664,7502,4697,7482,4697,7483,4731,7465,4732,7466,4767,7450,4767,7451,4804,7438,4804,7439,4842,7429,4842,7430,4880,7422,4880,7423,4920,7419,4959,7418,4959,7419,5014,7422,5013,7423,5066,7431,5066,7432,5117,7445,5116,7446,5165,7463,5164,7464,5211,7487,5210,7487,5254,7514,5253,7515,5294,7545,5293,7546,5331,7580,5330,7581,5365,7618,5364,7619,5394,7660,5393,7660,5420,7704,5419,7704,5441,7751,5458,7800,5457,7800,5470,7851,5469,7851,5477,7903,5476,7903,5479,7957,5478,7957,5477,7997,5476,7997,U5478,5312,D5478,5312,5477,5391,5472,5470,5465,5547,5464,5547,5454,5622,5441,5695,5425,5766,5407,5834,5387,5899,5386,5899,5364,5961,5363,5961,5338,6020,5311,6075,5310,6075,5282,6126,5281,6126,5250,6173,5217,6216,5216,6215,5182,6254,5181,6253,5145,6286,5144,6285,5107,6313,5106,6312,5068,6334,5067,6333,5029,6349,5029,6348,4990,6358,4990,6356,4951,6361,4951,6359,4913,6358,4913,6357,4874,6350,4875,6349,4837,6337,4837,6335,4800,6318,4800,6317,4764,6293,4728,6264,4729,6263,4694,6230,4695,6229,4661,6190,4662,6190,4630,6145,4599,6096,4600,6095,4571,6041,4544,5982,4520,5920,4498,5856,4499,5855,4479,5788,4480,5788,4463,5718,4449,5647,4449,5646,4438,5573,4429,5498,4430,5498,4424,5422,4421,5346,4420,5268,4421,5268,4423,5191,4428,5114,4429,5114,4437,5037,4448,4962,4449,4962,4462,4887,4463,4887,4479,4814,4480,4815,4499,4745,4499,4746,4521,4680,4545,4618,4546,4619,4571,4561,4572,4561,4599,4507,4600,4508,4629,4458,4630,4458,4661,4413,4662,4414,4695,4374,4729,4339,4730,4339,4765,4309,4766,4310,4803,4284,4803,4285,4841,4265,4841,4266,4880,4252,4880,4253,4919,4244,4920,4246,4959,4243,4959,4244,4987,4245,4987,4246,5013,4250,5013,4251,5040,4258,5040,4259,5066,4268,5065,4269,5091,4281,5090,4282,5116,4296,5115,4297,5140,4313,5139,4314,5163,4333,5186,4354,5186,4355,5209,4378,5208,4379,5230,4404,5252,4432,5251,4432,5292,4493,5291,4494,5328,4562,5362,4638,5361,4638,5392,4719,5391,4720,5418,4807,5417,4807,5439,4899,5439,4900,5457,4997,5456,4997,5469,5098,5477,5203,5476,5203,5479,5312,5478,5312,5478,5352,U4655,1257,D4650,1256,4649,1256,4615,1306,4615,1307,4583,1362,4584,1362,4554,1422,4555,1422,4528,1486,4528,1487,4504,1554,4505,1554,4483,1625,4484,1625,4465,1699,4466,1699,4450,1775,4451,1775,4438,1854,4429,1934,4423,2016,4420,2099,4421,2099,4421,2182,4425,2266,4432,2350,4443,2433,4457,2514,4474,2592,4494,2667,4495,2667,4517,2737,4542,2803,4543,2803,4570,2865,4571,2865,4600,2922,4601,2922,4632,2975,4633,2974,4667,3022,4667,3021,4703,3064,4703,3063,4741,3100,4741,3099,4780,3130,4780,3129,4820,3154,4821,3153,4862,3171,4862,3170,4904,3182,4905,3181,4948,3186,4948,3184,4991,3183,4990,3181,5033,3173,5032,3171,5074,3156,5073,3155,5114,3134,5113,3133,5152,3105,5151,3104,5189,3071,5188,3070,5225,3031,5224,3031,5259,2986,5258,2986,5291,2936,5290,2936,5321,2881,5349,2821,5375,2757,5375,2756,5398,2688,5419,2615,5437,2539,5437,2538,5452,2458,5464,2376,5472,2293,5477,2209,5479,2126,5477,2043,5472,1961,5464,1880,5453,1800,5439,1723,5438,1723,5422,1647,5421,1648,5401,1575,5378,1505,5378,1506,5352,1439,5352,1440,5324,1377,5323,1378,5292,1319,5292,1320,5258,1266,5254,1270,5253,1275,5255,1280,5259,1284,5260,1284,4946,2136,4942,2133,4940,2128,4940,2123,4944,2119,4946,2117,4652,1238,4647,1241,4645,1246,4646,1251,4649,1255,4649,1256,4627,1289,U3356,8485,D3353,8481,3352,8476,3354,8471,3355,8470,2297,7411,2301,7409,2307,7409,2311,7411,3369,6353,3364,6350,3359,6350,3355,6353,2297,5295,U3355,4236,D3352,4241,3352,4243,3307,4241,3307,4240,3254,4235,3187,4225,3107,4209,3107,4208,3017,4185,3018,4184,2970,4169,2971,4169,2922,4151,2873,4130,2824,4107,2824,4106,2774,4080,2775,4079,2726,4050,2726,4049,2678,4016,2631,3979,2631,3978,2585,3938,2586,3937,2542,3892,2543,3892,2501,3843,2502,3842,2463,3789,2464,3788,2428,3730,2429,3730,2397,3667,2398,3666,2369,3598,2370,3598,2346,3525,2347,3525,2327,3446,2328,3446,2314,3361,2315,3361,2306,3271,2303,3175,2304,3175,2307,3082,2308,3082,2317,3000,2324,2964,2332,2930,2333,2930,2342,2899,2352,2870,2353,2870,2364,2843,2365,2843,2378,2819,2392,2797,2393,2797,2407,2777,2408,2777,2423,2759,2424,2760,2440,2743,2441,2744,2458,2729,2459,2729,2477,2716,2478,2717,2516,2695,2517,2696,2558,2680,2559,2681,2603,2669,2603,2670,2648,2662,2648,2663,2696,2658,2696,2659,2744,2656,2744,2657,2843,2656,2942,2655,2942,2654,2990,2652,2990,2651,3037,2647,3037,2646,3083,2638,3082,2637,3126,2625,3126,2624,3167,2608,3167,2607,3205,2585,3205,2584,3223,2571,3222,2570,3240,2555,3239,2555,3256,2538,3255,2537,3271,2519,3270,2519,3285,2498,3284,2498,3298,2475,3297,2475,3310,2450,3309,2450,3320,2423,3330,2394,3339,2362,3338,2362,3346,2328,3345,2328,3352,2291,3351,2291,3360,2210,3359,2210,3362,2117,3359,2021,3358,2021,3349,1930,3348,1931,3334,1846,3333,1846,3314,1768,3313,1768,3289,1695,3261,1627,3260,1627,3228,1564,3227,1564,3191,1506,3191,1507,3152,1453,3151,1454,3110,1405,3066,1360,3065,1361,3020,1320,3019,1321,2972,1284,2923,1251,2923,1252,2874,1222,2824,1196,2774,1173,2774,1174,2725,1153,2725,1154,2676,1136,2629,1121,2629,1122,2539,1098,2539,1099,2459,1083,2391,1074,2339,1069,2339,1070,2294,1068,U292,6943,D293,6949,297,6952,302,6954,304,6954,390,7434,384,7433,381,7431,34,7774,39,7776,44,7776,49,7773,51,7769,51,7768,534,7834,532,7839,529,7842,748,8277,752,8274,754,8269,752,8264,749,8260,748,8260,960,7821,964,7824,966,7828,1448,7754,1446,7750,1441,7746,1436,7746,1431,7749,1079,7411,1084,7409,1088,7408,1167,6927,1161,6928,1157,6931,1155,6936,1156,6941,1156,6942,726,7172,725,7167,726,7163,293,6939,292,6944,294,6950,298,6953,303,6954,304,6954,311,6993,U272,4837,D272,4837,358,5317,353,5316,349,5314,3,5657,7,5660,13,5660,17,5657,20,5652,20,5651,503,5718,501,5723,497,5725,716,6161,720,6157,722,6152,721,6147,717,6143,716,6143,929,5704,933,5708,934,5712,1416,5638,1414,5633,1409,5630,1404,5629,1399,5632,1047,5295,1052,5292,1056,5292,1135,4811,1130,4811,1125,4814,1123,4819,1124,4825,695,5055,693,5050,695,5046,261,4823,260,4828,262,4833,266,4836,271,4837,272,4837,279,4876,U8793,5312,D8798,5309,8801,5305,8801,5299,8798,5295,8794,5292,8791,5292,8791,4551,8786,4552,8782,4556,8781,4561,8047,4561,8048,4566,8052,4570,8057,4571,8057,5312,8062,5310,8066,5306,8067,5302,8801,5302,8800,5297,8796,5293,8791,5292,8791,5252,U7595,8467,D7595,8467,7595,7408,7590,7410,7587,7414,7585,7418,6527,7418,6528,7423,6532,7427,6537,7428,6537,8487,6542,8485,6546,8481,6547,8477,7605,8477,7604,8472,7600,8468,7595,8467,7595,8427,U7595,6350,D7595,6350,7595,4233,7590,4235,7587,4239,7585,4243,6527,4243,6528,4248,6532,4252,6537,4253,6537,6370,6542,6369,6546,6365,6547,6360,7605,6360,7604,6355,7600,6351,7595,6350,7595,6310,U7595,2699,D7595,2699,7595,1534,7593,1487,7592,1487,7586,1441,7585,1441,7575,1396,7561,1352,7560,1353,7543,1311,7542,1311,7521,1271,7521,1272,7497,1234,7496,1235,7468,1200,7437,1169,7437,1170,7404,1142,7404,1143,7369,1119,7368,1120,7332,1100,7332,1101,7294,1085,7293,1086,7254,1075,7254,1076,7214,1069,7214,1070,7173,1068,6939,1068,6939,1069,6899,1071,6899,1072,6859,1079,6859,1080,6820,1092,6820,1093,6782,1108,6783,1109,6746,1129,6747,1130,6712,1154,6713,1155,6680,1183,6681,1183,6651,1215,6652,1216,6624,1250,6625,1251,6601,1289,6602,1289,6581,1329,6582,1329,6565,1371,6565,1372,6552,1415,6553,1415,6543,1461,6544,1461,6538,1507,6539,1507,6537,1554,6537,2719,6539,2766,6540,2766,6546,2812,6547,2812,6557,2857,6558,2857,6571,2901,6572,2901,6589,2943,6590,2942,6611,2982,6612,2982,6636,3019,6637,3019,6664,3054,6665,3053,6695,3085,6696,3084,6728,3112,6729,3111,6763,3135,6764,3134,6800,3154,6801,3153,6839,3168,6839,3167,6878,3179,6878,3177,6918,3184,6918,3183,6959,3186,6959,3185,7193,3185,7193,3184,7234,3182,7234,3181,7274,3174,7274,3173,7313,3162,7312,3161,7350,3145,7350,3144,7386,3124,7385,3123,7420,3099,7419,3099,7452,3071,7451,3070,7482,3038,7481,3038,7508,3003,7507,3002,7531,2965,7531,2964,7551,2924,7568,2882,7567,2882,7580,2838,7589,2793,7595,2746,7594,2746,7596,2699,7595,2699,7595,2659,P0,U0,0,Z \ No newline at end of file diff --git a/share/extensions/tests/data/refs/plotter__--serialPort____test____--commandLanguage__KNK__--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out b/share/extensions/tests/data/refs/plotter__--serialPort____test____--commandLanguage__KNK__--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out new file mode 100644 index 0000000..3136307 --- /dev/null +++ b/share/extensions/tests/data/refs/plotter__--serialPort____test____--commandLanguage__KNK__--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out @@ -0,0 +1,34 @@ +ZG +PU +SP1 +VS20 +FS24 +PU0,0 +PD0,90 +PU5966,2652 +PD5971,2651,5975,2647,5976,2641,5975,2636,5971,2633,5966,2632,5966,0,5961,1,5957,5,5956,10,3824,10,3825,15,3829,19,3834,20,3834,2652,3839,2651,3843,2647,3844,2642,5976,2642,5975,2637,5971,2633,5966,2632,5966,2592 +PU5479,7938 +PD5474,7939,5470,7943,5469,7948,5470,7953,5474,7957,5478,7957,5477,7997,5476,7997,5472,8037,5471,8036,5464,8075,5463,8075,5453,8112,5452,8112,5439,8149,5439,8148,5423,8184,5405,8218,5404,8217,5384,8250,5361,8281,5361,8280,5336,8310,5335,8309,5308,8337,5308,8336,5279,8362,5248,8385,5247,8385,5214,8406,5214,8405,5180,8425,5179,8424,5143,8441,5143,8440,5105,8454,5105,8453,5067,8464,5067,8463,5029,8471,5028,8470,4990,8476,4990,8475,4951,8477,4951,8476,4913,8476,4913,8475,4874,8472,4874,8471,4836,8465,4837,8464,4799,8455,4763,8443,4763,8442,4727,8428,4727,8427,4692,8411,4693,8410,4659,8390,4660,8390,4627,8368,4628,8367,4597,8343,4597,8342,4568,8315,4569,8314,4541,8285,4542,8285,4517,8254,4518,8253,4496,8221,4497,8221,4477,8187,4478,8187,4461,8152,4461,8151,4447,8116,4448,8115,4436,8079,4437,8078,4428,8041,4429,8041,4423,8003,4420,7964,4421,7964,4420,7926,4421,7926,4423,7887,4424,7887,4429,7849,4430,7849,4438,7811,4439,7811,4450,7773,4464,7736,4465,7736,4481,7700,4482,7700,4501,7665,4502,7666,4523,7633,4524,7633,4548,7603,4574,7574,4574,7575,4602,7548,4603,7548,4632,7524,4664,7502,4697,7482,4697,7483,4731,7465,4732,7466,4767,7450,4767,7451,4804,7438,4804,7439,4842,7429,4842,7430,4880,7422,4880,7423,4920,7419,4959,7418,4959,7419,5014,7422,5013,7423,5066,7431,5066,7432,5117,7445,5116,7446,5165,7463,5164,7464,5211,7487,5210,7487,5254,7514,5253,7515,5294,7545,5293,7546,5331,7580,5330,7581,5365,7618,5364,7619,5394,7660,5393,7660,5420,7704,5419,7704,5441,7751,5458,7800,5457,7800,5470,7851,5469,7851,5477,7903,5476,7903,5479,7957,5478,7957,5477,7997,5476,7997 +PU5478,5312 +PD5478,5312,5477,5391,5472,5470,5465,5547,5464,5547,5454,5622,5441,5695,5425,5766,5407,5834,5387,5899,5386,5899,5364,5961,5363,5961,5338,6020,5311,6075,5310,6075,5282,6126,5281,6126,5250,6173,5217,6216,5216,6215,5182,6254,5181,6253,5145,6286,5144,6285,5107,6313,5106,6312,5068,6334,5067,6333,5029,6349,5029,6348,4990,6358,4990,6356,4951,6361,4951,6359,4913,6358,4913,6357,4874,6350,4875,6349,4837,6337,4837,6335,4800,6318,4800,6317,4764,6293,4728,6264,4729,6263,4694,6230,4695,6229,4661,6190,4662,6190,4630,6145,4599,6096,4600,6095,4571,6041,4544,5982,4520,5920,4498,5856,4499,5855,4479,5788,4480,5788,4463,5718,4449,5647,4449,5646,4438,5573,4429,5498,4430,5498,4424,5422,4421,5346,4420,5268,4421,5268,4423,5191,4428,5114,4429,5114,4437,5037,4448,4962,4449,4962,4462,4887,4463,4887,4479,4814,4480,4815,4499,4745,4499,4746,4521,4680,4545,4618,4546,4619,4571,4561,4572,4561,4599,4507,4600,4508,4629,4458,4630,4458,4661,4413,4662,4414,4695,4374,4729,4339,4730,4339,4765,4309,4766,4310,4803,4284,4803,4285,4841,4265,4841,4266,4880,4252,4880,4253,4919,4244,4920,4246,4959,4243,4959,4244,4987,4245,4987,4246,5013,4250,5013,4251,5040,4258,5040,4259,5066,4268,5065,4269,5091,4281,5090,4282,5116,4296,5115,4297,5140,4313,5139,4314,5163,4333,5186,4354,5186,4355,5209,4378,5208,4379,5230,4404,5252,4432,5251,4432,5292,4493,5291,4494,5328,4562,5362,4638,5361,4638,5392,4719,5391,4720,5418,4807,5417,4807,5439,4899,5439,4900,5457,4997,5456,4997,5469,5098,5477,5203,5476,5203,5479,5312,5478,5312,5478,5352 +PU4655,1257 +PD4650,1256,4649,1256,4615,1306,4615,1307,4583,1362,4584,1362,4554,1422,4555,1422,4528,1486,4528,1487,4504,1554,4505,1554,4483,1625,4484,1625,4465,1699,4466,1699,4450,1775,4451,1775,4438,1854,4429,1934,4423,2016,4420,2099,4421,2099,4421,2182,4425,2266,4432,2350,4443,2433,4457,2514,4474,2592,4494,2667,4495,2667,4517,2737,4542,2803,4543,2803,4570,2865,4571,2865,4600,2922,4601,2922,4632,2975,4633,2974,4667,3022,4667,3021,4703,3064,4703,3063,4741,3100,4741,3099,4780,3130,4780,3129,4820,3154,4821,3153,4862,3171,4862,3170,4904,3182,4905,3181,4948,3186,4948,3184,4991,3183,4990,3181,5033,3173,5032,3171,5074,3156,5073,3155,5114,3134,5113,3133,5152,3105,5151,3104,5189,3071,5188,3070,5225,3031,5224,3031,5259,2986,5258,2986,5291,2936,5290,2936,5321,2881,5349,2821,5375,2757,5375,2756,5398,2688,5419,2615,5437,2539,5437,2538,5452,2458,5464,2376,5472,2293,5477,2209,5479,2126,5477,2043,5472,1961,5464,1880,5453,1800,5439,1723,5438,1723,5422,1647,5421,1648,5401,1575,5378,1505,5378,1506,5352,1439,5352,1440,5324,1377,5323,1378,5292,1319,5292,1320,5258,1266,5254,1270,5253,1275,5255,1280,5259,1284,5260,1284,4946,2136,4942,2133,4940,2128,4940,2123,4944,2119,4946,2117,4652,1238,4647,1241,4645,1246,4646,1251,4649,1255,4649,1256,4627,1289 +PU3356,8485 +PD3353,8481,3352,8476,3354,8471,3355,8470,2297,7411,2301,7409,2307,7409,2311,7411,3369,6353,3364,6350,3359,6350,3355,6353,2297,5295 +PU3355,4236 +PD3352,4241,3352,4243,3307,4241,3307,4240,3254,4235,3187,4225,3107,4209,3107,4208,3017,4185,3018,4184,2970,4169,2971,4169,2922,4151,2873,4130,2824,4107,2824,4106,2774,4080,2775,4079,2726,4050,2726,4049,2678,4016,2631,3979,2631,3978,2585,3938,2586,3937,2542,3892,2543,3892,2501,3843,2502,3842,2463,3789,2464,3788,2428,3730,2429,3730,2397,3667,2398,3666,2369,3598,2370,3598,2346,3525,2347,3525,2327,3446,2328,3446,2314,3361,2315,3361,2306,3271,2303,3175,2304,3175,2307,3082,2308,3082,2317,3000,2324,2964,2332,2930,2333,2930,2342,2899,2352,2870,2353,2870,2364,2843,2365,2843,2378,2819,2392,2797,2393,2797,2407,2777,2408,2777,2423,2759,2424,2760,2440,2743,2441,2744,2458,2729,2459,2729,2477,2716,2478,2717,2516,2695,2517,2696,2558,2680,2559,2681,2603,2669,2603,2670,2648,2662,2648,2663,2696,2658,2696,2659,2744,2656,2744,2657,2843,2656,2942,2655,2942,2654,2990,2652,2990,2651,3037,2647,3037,2646,3083,2638,3082,2637,3126,2625,3126,2624,3167,2608,3167,2607,3205,2585,3205,2584,3223,2571,3222,2570,3240,2555,3239,2555,3256,2538,3255,2537,3271,2519,3270,2519,3285,2498,3284,2498,3298,2475,3297,2475,3310,2450,3309,2450,3320,2423,3330,2394,3339,2362,3338,2362,3346,2328,3345,2328,3352,2291,3351,2291,3360,2210,3359,2210,3362,2117,3359,2021,3358,2021,3349,1930,3348,1931,3334,1846,3333,1846,3314,1768,3313,1768,3289,1695,3261,1627,3260,1627,3228,1564,3227,1564,3191,1506,3191,1507,3152,1453,3151,1454,3110,1405,3066,1360,3065,1361,3020,1320,3019,1321,2972,1284,2923,1251,2923,1252,2874,1222,2824,1196,2774,1173,2774,1174,2725,1153,2725,1154,2676,1136,2629,1121,2629,1122,2539,1098,2539,1099,2459,1083,2391,1074,2339,1069,2339,1070,2294,1068 +PU292,6943 +PD293,6949,297,6952,302,6954,304,6954,390,7434,384,7433,381,7431,34,7774,39,7776,44,7776,49,7773,51,7769,51,7768,534,7834,532,7839,529,7842,748,8277,752,8274,754,8269,752,8264,749,8260,748,8260,960,7821,964,7824,966,7828,1448,7754,1446,7750,1441,7746,1436,7746,1431,7749,1079,7411,1084,7409,1088,7408,1167,6927,1161,6928,1157,6931,1155,6936,1156,6941,1156,6942,726,7172,725,7167,726,7163,293,6939,292,6944,294,6950,298,6953,303,6954,304,6954,311,6993 +PU272,4837 +PD272,4837,358,5317,353,5316,349,5314,3,5657,7,5660,13,5660,17,5657,20,5652,20,5651,503,5718,501,5723,497,5725,716,6161,720,6157,722,6152,721,6147,717,6143,716,6143,929,5704,933,5708,934,5712,1416,5638,1414,5633,1409,5630,1404,5629,1399,5632,1047,5295,1052,5292,1056,5292,1135,4811,1130,4811,1125,4814,1123,4819,1124,4825,695,5055,693,5050,695,5046,261,4823,260,4828,262,4833,266,4836,271,4837,272,4837,279,4876 +PU8793,5312 +PD8798,5309,8801,5305,8801,5299,8798,5295,8794,5292,8791,5292,8791,4551,8786,4552,8782,4556,8781,4561,8047,4561,8048,4566,8052,4570,8057,4571,8057,5312,8062,5310,8066,5306,8067,5302,8801,5302,8800,5297,8796,5293,8791,5292,8791,5252 +PU7595,8467 +PD7595,8467,7595,7408,7590,7410,7587,7414,7585,7418,6527,7418,6528,7423,6532,7427,6537,7428,6537,8487,6542,8485,6546,8481,6547,8477,7605,8477,7604,8472,7600,8468,7595,8467,7595,8427 +PU7595,6350 +PD7595,6350,7595,4233,7590,4235,7587,4239,7585,4243,6527,4243,6528,4248,6532,4252,6537,4253,6537,6370,6542,6369,6546,6365,6547,6360,7605,6360,7604,6355,7600,6351,7595,6350,7595,6310 +PU7595,2699 +PD7595,2699,7595,1534,7593,1487,7592,1487,7586,1441,7585,1441,7575,1396,7561,1352,7560,1353,7543,1311,7542,1311,7521,1271,7521,1272,7497,1234,7496,1235,7468,1200,7437,1169,7437,1170,7404,1142,7404,1143,7369,1119,7368,1120,7332,1100,7332,1101,7294,1085,7293,1086,7254,1075,7254,1076,7214,1069,7214,1070,7173,1068,6939,1068,6939,1069,6899,1071,6899,1072,6859,1079,6859,1080,6820,1092,6820,1093,6782,1108,6783,1109,6746,1129,6747,1130,6712,1154,6713,1155,6680,1183,6681,1183,6651,1215,6652,1216,6624,1250,6625,1251,6601,1289,6602,1289,6581,1329,6582,1329,6565,1371,6565,1372,6552,1415,6553,1415,6543,1461,6544,1461,6538,1507,6539,1507,6537,1554,6537,2719,6539,2766,6540,2766,6546,2812,6547,2812,6557,2857,6558,2857,6571,2901,6572,2901,6589,2943,6590,2942,6611,2982,6612,2982,6636,3019,6637,3019,6664,3054,6665,3053,6695,3085,6696,3084,6728,3112,6729,3111,6763,3135,6764,3134,6800,3154,6801,3153,6839,3168,6839,3167,6878,3179,6878,3177,6918,3184,6918,3183,6959,3186,6959,3185,7193,3185,7193,3184,7234,3182,7234,3181,7274,3174,7274,3173,7313,3162,7312,3161,7350,3145,7350,3144,7386,3124,7385,3123,7420,3099,7419,3099,7452,3071,7451,3070,7482,3038,7481,3038,7508,3003,7507,3002,7531,2965,7531,2964,7551,2924,7568,2882,7567,2882,7580,2838,7589,2793,7595,2746,7594,2746,7596,2699,7595,2699,7595,2659 +SP0 +PU0,0 +@ \ No newline at end of file diff --git a/share/extensions/tests/data/refs/plotter__--serialPort____test____--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out b/share/extensions/tests/data/refs/plotter__--serialPort____test____--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out new file mode 100644 index 0000000..5fab8e2 --- /dev/null +++ b/share/extensions/tests/data/refs/plotter__--serialPort____test____--serialFlowControl__0__--force__24__--speed__20__--orientation__90.out @@ -0,0 +1,35 @@ +IN +PU +SP1 +VS20 +FS24 +PU0,0 +PD0,90 +PU5966,2652 +PD5971,2651,5975,2647,5976,2641,5975,2636,5971,2633,5966,2632,5966,0,5961,1,5957,5,5956,10,3824,10,3825,15,3829,19,3834,20,3834,2652,3839,2651,3843,2647,3844,2642,5976,2642,5975,2637,5971,2633,5966,2632,5966,2592 +PU5479,7938 +PD5474,7939,5470,7943,5469,7948,5470,7953,5474,7957,5478,7957,5477,7997,5476,7997,5472,8037,5471,8036,5464,8075,5463,8075,5453,8112,5452,8112,5439,8149,5439,8148,5423,8184,5405,8218,5404,8217,5384,8250,5361,8281,5361,8280,5336,8310,5335,8309,5308,8337,5308,8336,5279,8362,5248,8385,5247,8385,5214,8406,5214,8405,5180,8425,5179,8424,5143,8441,5143,8440,5105,8454,5105,8453,5067,8464,5067,8463,5029,8471,5028,8470,4990,8476,4990,8475,4951,8477,4951,8476,4913,8476,4913,8475,4874,8472,4874,8471,4836,8465,4837,8464,4799,8455,4763,8443,4763,8442,4727,8428,4727,8427,4692,8411,4693,8410,4659,8390,4660,8390,4627,8368,4628,8367,4597,8343,4597,8342,4568,8315,4569,8314,4541,8285,4542,8285,4517,8254,4518,8253,4496,8221,4497,8221,4477,8187,4478,8187,4461,8152,4461,8151,4447,8116,4448,8115,4436,8079,4437,8078,4428,8041,4429,8041,4423,8003,4420,7964,4421,7964,4420,7926,4421,7926,4423,7887,4424,7887,4429,7849,4430,7849,4438,7811,4439,7811,4450,7773,4464,7736,4465,7736,4481,7700,4482,7700,4501,7665,4502,7666,4523,7633,4524,7633,4548,7603,4574,7574,4574,7575,4602,7548,4603,7548,4632,7524,4664,7502,4697,7482,4697,7483,4731,7465,4732,7466,4767,7450,4767,7451,4804,7438,4804,7439,4842,7429,4842,7430,4880,7422,4880,7423,4920,7419,4959,7418,4959,7419,5014,7422,5013,7423,5066,7431,5066,7432,5117,7445,5116,7446,5165,7463,5164,7464,5211,7487,5210,7487,5254,7514,5253,7515,5294,7545,5293,7546,5331,7580,5330,7581,5365,7618,5364,7619,5394,7660,5393,7660,5420,7704,5419,7704,5441,7751,5458,7800,5457,7800,5470,7851,5469,7851,5477,7903,5476,7903,5479,7957,5478,7957,5477,7997,5476,7997 +PU5478,5312 +PD5478,5312,5477,5391,5472,5470,5465,5547,5464,5547,5454,5622,5441,5695,5425,5766,5407,5834,5387,5899,5386,5899,5364,5961,5363,5961,5338,6020,5311,6075,5310,6075,5282,6126,5281,6126,5250,6173,5217,6216,5216,6215,5182,6254,5181,6253,5145,6286,5144,6285,5107,6313,5106,6312,5068,6334,5067,6333,5029,6349,5029,6348,4990,6358,4990,6356,4951,6361,4951,6359,4913,6358,4913,6357,4874,6350,4875,6349,4837,6337,4837,6335,4800,6318,4800,6317,4764,6293,4728,6264,4729,6263,4694,6230,4695,6229,4661,6190,4662,6190,4630,6145,4599,6096,4600,6095,4571,6041,4544,5982,4520,5920,4498,5856,4499,5855,4479,5788,4480,5788,4463,5718,4449,5647,4449,5646,4438,5573,4429,5498,4430,5498,4424,5422,4421,5346,4420,5268,4421,5268,4423,5191,4428,5114,4429,5114,4437,5037,4448,4962,4449,4962,4462,4887,4463,4887,4479,4814,4480,4815,4499,4745,4499,4746,4521,4680,4545,4618,4546,4619,4571,4561,4572,4561,4599,4507,4600,4508,4629,4458,4630,4458,4661,4413,4662,4414,4695,4374,4729,4339,4730,4339,4765,4309,4766,4310,4803,4284,4803,4285,4841,4265,4841,4266,4880,4252,4880,4253,4919,4244,4920,4246,4959,4243,4959,4244,4987,4245,4987,4246,5013,4250,5013,4251,5040,4258,5040,4259,5066,4268,5065,4269,5091,4281,5090,4282,5116,4296,5115,4297,5140,4313,5139,4314,5163,4333,5186,4354,5186,4355,5209,4378,5208,4379,5230,4404,5252,4432,5251,4432,5292,4493,5291,4494,5328,4562,5362,4638,5361,4638,5392,4719,5391,4720,5418,4807,5417,4807,5439,4899,5439,4900,5457,4997,5456,4997,5469,5098,5477,5203,5476,5203,5479,5312,5478,5312,5478,5352 +PU4655,1257 +PD4650,1256,4649,1256,4615,1306,4615,1307,4583,1362,4584,1362,4554,1422,4555,1422,4528,1486,4528,1487,4504,1554,4505,1554,4483,1625,4484,1625,4465,1699,4466,1699,4450,1775,4451,1775,4438,1854,4429,1934,4423,2016,4420,2099,4421,2099,4421,2182,4425,2266,4432,2350,4443,2433,4457,2514,4474,2592,4494,2667,4495,2667,4517,2737,4542,2803,4543,2803,4570,2865,4571,2865,4600,2922,4601,2922,4632,2975,4633,2974,4667,3022,4667,3021,4703,3064,4703,3063,4741,3100,4741,3099,4780,3130,4780,3129,4820,3154,4821,3153,4862,3171,4862,3170,4904,3182,4905,3181,4948,3186,4948,3184,4991,3183,4990,3181,5033,3173,5032,3171,5074,3156,5073,3155,5114,3134,5113,3133,5152,3105,5151,3104,5189,3071,5188,3070,5225,3031,5224,3031,5259,2986,5258,2986,5291,2936,5290,2936,5321,2881,5349,2821,5375,2757,5375,2756,5398,2688,5419,2615,5437,2539,5437,2538,5452,2458,5464,2376,5472,2293,5477,2209,5479,2126,5477,2043,5472,1961,5464,1880,5453,1800,5439,1723,5438,1723,5422,1647,5421,1648,5401,1575,5378,1505,5378,1506,5352,1439,5352,1440,5324,1377,5323,1378,5292,1319,5292,1320,5258,1266,5254,1270,5253,1275,5255,1280,5259,1284,5260,1284,4946,2136,4942,2133,4940,2128,4940,2123,4944,2119,4946,2117,4652,1238,4647,1241,4645,1246,4646,1251,4649,1255,4649,1256,4627,1289 +PU3356,8485 +PD3353,8481,3352,8476,3354,8471,3355,8470,2297,7411,2301,7409,2307,7409,2311,7411,3369,6353,3364,6350,3359,6350,3355,6353,2297,5295 +PU3355,4236 +PD3352,4241,3352,4243,3307,4241,3307,4240,3254,4235,3187,4225,3107,4209,3107,4208,3017,4185,3018,4184,2970,4169,2971,4169,2922,4151,2873,4130,2824,4107,2824,4106,2774,4080,2775,4079,2726,4050,2726,4049,2678,4016,2631,3979,2631,3978,2585,3938,2586,3937,2542,3892,2543,3892,2501,3843,2502,3842,2463,3789,2464,3788,2428,3730,2429,3730,2397,3667,2398,3666,2369,3598,2370,3598,2346,3525,2347,3525,2327,3446,2328,3446,2314,3361,2315,3361,2306,3271,2303,3175,2304,3175,2307,3082,2308,3082,2317,3000,2324,2964,2332,2930,2333,2930,2342,2899,2352,2870,2353,2870,2364,2843,2365,2843,2378,2819,2392,2797,2393,2797,2407,2777,2408,2777,2423,2759,2424,2760,2440,2743,2441,2744,2458,2729,2459,2729,2477,2716,2478,2717,2516,2695,2517,2696,2558,2680,2559,2681,2603,2669,2603,2670,2648,2662,2648,2663,2696,2658,2696,2659,2744,2656,2744,2657,2843,2656,2942,2655,2942,2654,2990,2652,2990,2651,3037,2647,3037,2646,3083,2638,3082,2637,3126,2625,3126,2624,3167,2608,3167,2607,3205,2585,3205,2584,3223,2571,3222,2570,3240,2555,3239,2555,3256,2538,3255,2537,3271,2519,3270,2519,3285,2498,3284,2498,3298,2475,3297,2475,3310,2450,3309,2450,3320,2423,3330,2394,3339,2362,3338,2362,3346,2328,3345,2328,3352,2291,3351,2291,3360,2210,3359,2210,3362,2117,3359,2021,3358,2021,3349,1930,3348,1931,3334,1846,3333,1846,3314,1768,3313,1768,3289,1695,3261,1627,3260,1627,3228,1564,3227,1564,3191,1506,3191,1507,3152,1453,3151,1454,3110,1405,3066,1360,3065,1361,3020,1320,3019,1321,2972,1284,2923,1251,2923,1252,2874,1222,2824,1196,2774,1173,2774,1174,2725,1153,2725,1154,2676,1136,2629,1121,2629,1122,2539,1098,2539,1099,2459,1083,2391,1074,2339,1069,2339,1070,2294,1068 +PU292,6943 +PD293,6949,297,6952,302,6954,304,6954,390,7434,384,7433,381,7431,34,7774,39,7776,44,7776,49,7773,51,7769,51,7768,534,7834,532,7839,529,7842,748,8277,752,8274,754,8269,752,8264,749,8260,748,8260,960,7821,964,7824,966,7828,1448,7754,1446,7750,1441,7746,1436,7746,1431,7749,1079,7411,1084,7409,1088,7408,1167,6927,1161,6928,1157,6931,1155,6936,1156,6941,1156,6942,726,7172,725,7167,726,7163,293,6939,292,6944,294,6950,298,6953,303,6954,304,6954,311,6993 +PU272,4837 +PD272,4837,358,5317,353,5316,349,5314,3,5657,7,5660,13,5660,17,5657,20,5652,20,5651,503,5718,501,5723,497,5725,716,6161,720,6157,722,6152,721,6147,717,6143,716,6143,929,5704,933,5708,934,5712,1416,5638,1414,5633,1409,5630,1404,5629,1399,5632,1047,5295,1052,5292,1056,5292,1135,4811,1130,4811,1125,4814,1123,4819,1124,4825,695,5055,693,5050,695,5046,261,4823,260,4828,262,4833,266,4836,271,4837,272,4837,279,4876 +PU8793,5312 +PD8798,5309,8801,5305,8801,5299,8798,5295,8794,5292,8791,5292,8791,4551,8786,4552,8782,4556,8781,4561,8047,4561,8048,4566,8052,4570,8057,4571,8057,5312,8062,5310,8066,5306,8067,5302,8801,5302,8800,5297,8796,5293,8791,5292,8791,5252 +PU7595,8467 +PD7595,8467,7595,7408,7590,7410,7587,7414,7585,7418,6527,7418,6528,7423,6532,7427,6537,7428,6537,8487,6542,8485,6546,8481,6547,8477,7605,8477,7604,8472,7600,8468,7595,8467,7595,8427 +PU7595,6350 +PD7595,6350,7595,4233,7590,4235,7587,4239,7585,4243,6527,4243,6528,4248,6532,4252,6537,4253,6537,6370,6542,6369,6546,6365,6547,6360,7605,6360,7604,6355,7600,6351,7595,6350,7595,6310 +PU7595,2699 +PD7595,2699,7595,1534,7593,1487,7592,1487,7586,1441,7585,1441,7575,1396,7561,1352,7560,1353,7543,1311,7542,1311,7521,1271,7521,1272,7497,1234,7496,1235,7468,1200,7437,1169,7437,1170,7404,1142,7404,1143,7369,1119,7368,1120,7332,1100,7332,1101,7294,1085,7293,1086,7254,1075,7254,1076,7214,1069,7214,1070,7173,1068,6939,1068,6939,1069,6899,1071,6899,1072,6859,1079,6859,1080,6820,1092,6820,1093,6782,1108,6783,1109,6746,1129,6747,1130,6712,1154,6713,1155,6680,1183,6681,1183,6651,1215,6652,1216,6624,1250,6625,1251,6601,1289,6602,1289,6581,1329,6582,1329,6565,1371,6565,1372,6552,1415,6553,1415,6543,1461,6544,1461,6538,1507,6539,1507,6537,1554,6537,2719,6539,2766,6540,2766,6546,2812,6547,2812,6557,2857,6558,2857,6571,2901,6572,2901,6589,2943,6590,2942,6611,2982,6612,2982,6636,3019,6637,3019,6664,3054,6665,3053,6695,3085,6696,3084,6728,3112,6729,3111,6763,3135,6764,3134,6800,3154,6801,3153,6839,3168,6839,3167,6878,3179,6878,3177,6918,3184,6918,3183,6959,3186,6959,3185,7193,3185,7193,3184,7234,3182,7234,3181,7274,3174,7274,3173,7313,3162,7312,3161,7350,3145,7350,3144,7386,3124,7385,3123,7420,3099,7419,3099,7452,3071,7451,3070,7482,3038,7481,3038,7508,3003,7507,3002,7531,2965,7531,2964,7551,2924,7568,2882,7567,2882,7580,2838,7589,2793,7595,2746,7594,2746,7596,2699,7595,2699,7595,2659 +PU0,0 +SP0 +IN + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/plt_output.out b/share/extensions/tests/data/refs/plt_output.out new file mode 100644 index 0000000..b64aac8 --- /dev/null +++ b/share/extensions/tests/data/refs/plt_output.out @@ -0,0 +1 @@ +IN;PU7353,7293;PD10160,7293;PD10160,5019;PD7353,5019;PD7353,7293;PU2258,6209;PD2255,6151;PD2246,6095;PD2232,6041;PD2213,5989;PD2190,5940;PD2161,5893;PD2129,5850;PD2092,5810;PD2052,5773;PD2009,5741;PD1962,5713;PD1913,5689;PD1861,5670;PD1807,5656;PD1751,5647;PD1693,5644;PD1636,5647;PD1580,5656;PD1526,5670;PD1474,5689;PD1424,5713;PD1378,5741;PD1334,5773;PD1294,5810;PD1258,5850;PD1225,5893;PD1197,5940;PD1173,5989;PD1154,6041;PD1140,6095;PD1132,6151;PD1129,6209;PD1132,6267;PD1140,6323;PD1154,6377;PD1173,6429;PD1197,6478;PD1225,6524;PD1258,6568;PD1294,6608;PD1334,6644;PD1378,6677;PD1424,6705;PD1474,6729;PD1526,6748;PD1580,6762;PD1636,6770;PD1693,6773;PD1751,6770;PD1807,6762;PD1861,6748;PD1913,6729;PD1962,6705;PD2009,6677;PD2052,6644;PD2092,6608;PD2129,6568;PD2161,6524;PD2190,6478;PD2213,6429;PD2232,6377;PD2246,6323;PD2255,6267;PD2258,6209;PU5644,6209;PD5639,6151;PD5621,6095;PD5594,6041;PD5556,5989;PD5508,5940;PD5452,5893;PD5387,5850;PD5314,5810;PD5233,5773;PD5147,5741;PD5053,5713;PD4955,5689;PD4851,5670;PD4743,5656;PD4631,5647;PD4516,5644;PD4400,5647;PD4288,5656;PD4180,5670;PD4076,5689;PD3978,5713;PD3885,5741;PD3798,5773;PD3717,5810;PD3645,5850;PD3580,5893;PD3523,5940;PD3475,5989;PD3437,6041;PD3410,6095;PD3392,6151;PD3387,6209;PD3392,6267;PD3410,6323;PD3437,6377;PD3475,6429;PD3523,6478;PD3580,6524;PD3645,6568;PD3717,6608;PD3798,6644;PD3885,6677;PD3978,6705;PD4076,6729;PD4180,6748;PD4288,6762;PD4400,6770;PD4516,6773;PD4631,6770;PD4743,6762;PD4851,6748;PD4955,6729;PD5053,6705;PD5147,6677;PD5233,6644;PD5314,6608;PD5387,6568;PD5452,6524;PD5508,6478;PD5556,6429;PD5594,6377;PD5621,6323;PD5639,6267;PD5644,6209;PU8840,5895;PD7902,6209;PD8840,5895;PU1129,4516;PD2258,3387;PD3387,4516;PD4516,3387;PU5644,4516;PD5647,4467;PD5662,4339;PD5679,4254;PD5704,4158;PD5739,4056;PD5786,3951;PD5814,3898;PD5845,3846;PD5881,3794;PD5920,3744;PD5963,3695;PD6011,3648;PD6064,3604;PD6121,3563;PD6183,3525;PD6250,3491;PD6323,3461;PD6401,3435;PD6485,3415;PD6575,3399;PD6671,3390;PD6773,3387;PD6873,3390;PD6960,3399;PD7035,3415;PD7100,3435;PD7154,3461;PD7200,3491;PD7237,3525;PD7267,3563;PD7291,3604;PD7308,3648;PD7321,3695;PD7329,3744;PD7337,3846;PD7338,3951;PD7339,4056;PD7347,4158;PD7355,4207;PD7368,4254;PD7385,4298;PD7408,4339;PD7438,4377;PD7476,4411;PD7521,4441;PD7576,4467;PD7641,4488;PD7716,4503;PD7803,4512;PD7902,4516;PD8005,4512;PD8101,4503;PD8191,4488;PD8275,4467;PD8353,4441;PD8426,4411;PD8493,4377;PD8555,4339;PD8612,4298;PD8664,4254;PD8712,4207;PD8756,4158;PD8795,4108;PD8830,4056;PD8862,4004;PD8890,3951;PD8937,3846;PD8972,3744;PD8997,3648;PD9013,3563;PD9029,3435;PD9031,3387;PU2764,1251;PD2252,1343;PD1886,974;PD1815,1489;PD1351,1723;PD1819,1949;PD1898,2463;PD2258,2088;PD2771,2172;PD2525,1714;PD2764,1251;PU5022,1218;PD4510,1309;PD4144,940;PD4073,1455;PD3609,1689;PD4077,1915;PD4155,2429;PD4516,2054;PD5029,2138;PD4783,1680;PD5022,1218;PU1161,10281;PD1161,10231;PD1221,10231;PD1221,10281;PD1237,10281;PD1237,10160;PD1221,10160;PD1221,10217;PD1161,10217;PD1161,10160;PD1145,10160;PD1145,10281;PD1161,10281;PU1349,10202;PD1281,10202;PD1284,10188;PD1290,10178;PD1300,10172;PD1313,10170;PD1322,10171;PD1330,10172;PD1338,10175;PD1346,10179;PD1346,10165;PD1338,10162;PD1330,10159;PD1321,10158;PD1312,10158;PD1293,10161;PD1278,10170;PD1269,10185;PD1266,10204;PD1269,10224;PD1278,10240;PD1292,10249;PD1310,10253;PD1326,10250;PD1339,10241;PD1347,10227;PD1349,10209;PD1349,10202;PU1310,10240;PD1299,10238;PD1290,10233;PD1284,10225;PD1282,10213;PD1335,10213;PD1333,10224;PD1328,10233;PD1320,10238;PD1310,10240;PU1391,10286;PD1391,10160;PD1376,10160;PD1376,10286;PD1391,10286;PU1438,10286;PD1438,10160;PD1423,10160;PD1423,10286;PD1438,10286;PU1480,10205;PD1481,10191;PD1487,10180;PD1495,10173;PD1506,10170;PD1516,10173;PD1524,10180;PD1530,10191;PD1531,10205;PD1530,10220;PD1524,10231;PD1516,10238;PD1506,10240;PD1495,10238;PD1487,10231;PD1481,10220;PD1480,10205;PU1547,10205;PD1544,10185;PD1536,10170;PD1523,10161;PD1506,10158;PD1488,10161;PD1475,10170;PD1467,10185;PD1464,10205;PD1467,10225;PD1475,10240;PD1488,10250;PD1506,10253;PD1523,10250;PD1536,10240;PD1544,10225;PD1547,10205;PU1635,10281;PD1660,10179;PD1685,10281;PD1704,10281;PD1729,10179;PD1754,10281;PD1771,10281;PD1740,10160;PD1720,10160;PD1694,10265;PD1669,10160;PD1648,10160;PD1618,10281;PD1635,10281;PU1793,10205;PD1795,10191;PD1800,10180;PD1808,10173;PD1819,10170;PD1830,10173;PD1838,10180;PD1843,10191;PD1845,10205;PD1843,10220;PD1838,10231;PD1830,10238;PD1819,10240;PD1808,10238;PD1800,10231;PD1795,10220;PD1793,10205;PU1861,10205;PD1858,10185;PD1850,10170;PD1837,10161;PD1819,10158;PD1802,10161;PD1789,10170;PD1780,10185;PD1778,10205;PD1780,10225;PD1789,10240;PD1802,10250;PD1819,10253;PD1837,10250;PD1850,10240;PD1858,10225;PD1861,10205;PU1928,10239;PD1917,10237;PD1909,10231;PD1904,10221;PD1902,10208;PD1902,10160;PD1887,10160;PD1887,10251;PD1902,10251;PD1902,10236;PD1908,10244;PD1914,10249;PD1923,10252;PD1933,10253;PD1934,10253;PD1936,10253;PD1938,10252;PD1940,10252;PD1940,10237;PD1938,10238;PD1935,10239;PD1932,10239;PD1928,10239;PU1972,10286;PD1972,10160;PD1958,10160;PD1958,10286;PD1972,10286;PU2064,10286;PD2079,10286;PD2079,10160;PD2064,10160;PD2064,10174;PD2059,10167;PD2052,10162;PD2045,10159;PD2035,10158;PD2020,10161;PD2009,10171;PD2001,10186;PD1998,10205;PD2001,10224;PD2009,10240;PD2020,10249;PD2035,10253;PD2045,10252;PD2052,10249;PD2059,10244;PD2064,10237;PD2064,10286;PU2039,10170;PD2049,10172;PD2057,10179;PD2063,10191;PD2064,10205;PD2063,10220;PD2057,10231;PD2049,10238;PD2039,10240;PD2028,10238;PD2020,10231;PD2015,10220;PD2014,10205;PD2015,10191;PD2020,10179;PD2028,10172;PD2039,10170;PU4516,10306;PD5306,10306;PD5306,9523;PD4516,9523;PD4516,10306;PU2289,10281;PD2289,10207;PD2290,10191;PD2296,10179;PD2305,10173;PD2318,10171;PD2332,10173;PD2341,10179;PD2346,10191;PD2348,10207;PD2348,10281;PD2365,10281;PD2365,10205;PD2362,10185;PD2353,10170;PD2338,10161;PD2318,10158;PD2298,10161;PD2284,10170;PD2275,10185;PD2272,10205;PD2272,10281;PD2289,10281;PU2414,10222;PD2435,10222;PD2445,10223;PD2453,10228;PD2457,10235;PD2459,10245;PD2457,10254;PD2453,10261;PD2445,10266;PD2435,10267;PD2414,10267;PD2414,10222;PU2435,10281;PD2453,10278;PD2466,10272;PD2473,10260;PD2476,10245;PD2473,10229;PD2466,10218;PD2453,10211;PD2435,10209;PD2414,10209;PD2414,10160;PD2398,10160;PD2398,10281;PD2435,10281;PU2517,10222;PD2537,10222;PD2547,10223;PD2555,10228;PD2560,10235;PD2561,10245;PD2560,10254;PD2555,10261;PD2547,10266;PD2537,10267;PD2517,10267;PD2517,10222;PU2537,10281;PD2555,10278;PD2568,10272;PD2576,10260;PD2578,10245;PD2576,10229;PD2568,10218;PD2555,10211;PD2537,10209;PD2517,10209;PD2517,10160;PD2500,10160;PD2500,10281;PD2537,10281;PU2679,10281;PD2679,10267;PD2619,10267;PD2619,10231;PD2676,10231;PD2676,10217;PD2619,10217;PD2619,10174;PD2680,10174;PD2680,10160;PD2603,10160;PD2603,10281;PD2679,10281;PU2787,10193;PD2804,10160;PD2786,10160;PD2771,10191;PD2765,10201;PD2759,10207;PD2753,10210;PD2744,10211;PD2726,10211;PD2726,10160;PD2710,10160;PD2710,10281;PD2747,10281;PD2765,10279;PD2777,10272;PD2785,10261;PD2788,10246;PD2786,10236;PD2782,10227;PD2776,10221;PD2767,10217;PD2772,10214;PD2777,10209;PD2782,10202;PD2787,10193;PU2726,10224;PD2747,10224;PD2757,10226;PD2764,10230;PD2769,10237;PD2770,10246;PD2769,10255;PD2764,10262;PD2757,10266;PD2747,10267;PD2726,10267;PD2726,10224;PU3416,10247;PD3438,10188;PD3461,10247;PD3478,10247;PD3478,10160;PD3467,10160;PD3467,10236;PD3444,10177;PD3432,10177;PD3410,10236;PD3410,10160;PD3398,10160;PD3398,10247;PD3416,10247;PU3502,10225;PD3513,10225;PD3513,10186;PD3514,10178;PD3517,10172;PD3521,10169;PD3528,10168;PD3535,10169;PD3541,10173;PD3545,10180;PD3546,10188;PD3546,10225;PD3557,10225;PD3557,10160;PD3546,10160;PD3546,10170;PD3542,10165;PD3537,10161;PD3532,10159;PD3525,10158;PD3515,10160;PD3508,10165;PD3504,10174;PD3502,10186;PD3502,10225;PU3592,10251;PD3592,10160;PD3581,10160;PD3581,10251;PD3592,10251;PU3626,10225;PD3648,10225;PD3648,10217;PD3626,10217;PD3626,10182;PD3626,10175;PD3628,10171;PD3631,10170;PD3637,10169;PD3648,10169;PD3648,10160;PD3637,10160;PD3626,10161;PD3620,10165;PD3616,10171;PD3615,10182;PD3615,10217;PD3607,10217;PD3607,10225;PD3615,10225;PD3615,10244;PD3626,10244;PD3626,10225;PU3674,10225;PD3674,10160;PD3663,10160;PD3663,10225;PD3674,10225;PU3674,10251;PD3674,10237;PD3663,10237;PD3663,10251;PD3674,10251;PU3747,10251;PD3747,10160;PD3736,10160;PD3736,10251;PD3747,10251;PU3781,10225;PD3781,10160;PD3770,10160;PD3770,10225;PD3781,10225;PU3781,10251;PD3781,10237;PD3770,10237;PD3770,10251;PD3781,10251;PU3858,10160;PD3847,10160;PD3847,10199;PD3847,10207;PD3844,10213;PD3839,10216;PD3833,10218;PD3825,10216;PD3819,10212;PD3815,10205;PD3814,10197;PD3814,10160;PD3803,10160;PD3803,10225;PD3814,10225;PD3814,10215;PD3818,10220;PD3823,10224;PD3829,10226;PD3835,10227;PD3845,10225;PD3852,10220;PD3857,10211;PD3858,10199;PD3858,10160;PU3937,10190;PD3888,10190;PD3890,10180;PD3895,10173;PD3902,10169;PD3911,10167;PD3917,10168;PD3923,10169;PD3929,10171;PD3935,10173;PD3935,10163;PD3929,10161;PD3923,10160;PD3917,10159;PD3911,10158;PD3897,10161;PD3886,10167;PD3879,10178;PD3877,10192;PD3879,10206;PD3885,10217;PD3896,10225;PD3909,10227;PD3921,10225;PD3930,10218;PD3935,10208;PD3937,10195;PD3937,10190;PU3909,10218;PD3901,10217;PD3894,10213;PD3890,10207;PD3888,10198;PD3927,10199;PD3925,10206;PD3922,10213;PD3916,10217;PD3909,10218;PU3967,10225;PD3989,10225;PD3989,10217;PD3967,10217;PD3967,10182;PD3968,10175;PD3969,10171;PD3973,10170;PD3978,10169;PD3989,10169;PD3989,10160;PD3978,10160;PD3968,10161;PD3961,10165;PD3958,10171;PD3956,10182;PD3956,10217;PD3949,10217;PD3949,10225;PD3956,10225;PD3956,10244;PD3967,10244;PD3967,10225;PU4061,10190;PD4011,10190;PD4013,10180;PD4018,10173;PD4025,10169;PD4034,10167;PD4041,10168;PD4046,10169;PD4052,10171;PD4058,10173;PD4058,10163;PD4052,10161;PD4046,10160;PD4040,10159;PD4034,10158;PD4020,10161;PD4009,10167;PD4002,10178;PD4000,10192;PD4002,10206;PD4009,10217;PD4019,10225;PD4032,10227;PD4044,10225;PD4053,10218;PD4059,10208;PD4061,10195;PD4061,10190;PU4032,10218;PD4024,10217;PD4018,10213;PD4013,10207;PD4011,10198;PD4050,10199;PD4048,10206;PD4045,10213;PD4039,10217;PD4032,10218;PU4108,10194;PD4133,10160;PD4120,10160;PD4101,10186;PD4082,10160;PD4069,10160;PD4095,10194;PD4071,10225;PD4084,10225;PD4101,10202;PD4119,10225;PD4131,10225;PD4108,10194;PU4160,10225;PD4182,10225;PD4182,10217;PD4160,10217;PD4160,10182;PD4161,10175;PD4162,10171;PD4166,10170;PD4171,10169;PD4182,10169;PD4182,10160;PD4171,10160;PD4161,10161;PD4154,10165;PD4150,10171;PD4149,10182;PD4149,10217;PD4141,10217;PD4141,10225;PD4149,10225;PD4149,10244;PD4160,10244;PD4160,10225;PU4248,10247;PD4248,10237;PD4210,10237;PD4210,10212;PD4244,10212;PD4244,10202;PD4210,10202;PD4210,10160;PD4198,10160;PD4198,10247;PD4248,10247;PU4276,10203;PD4278,10189;PD4283,10177;PD4292,10170;PD4304,10168;PD4315,10170;PD4324,10177;PD4330,10189;PD4331,10203;PD4330,10218;PD4324,10230;PD4315,10237;PD4304,10239;PD4292,10237;PD4283,10230;PD4278,10218;PD4276,10203;PU4344,10203;PD4341,10185;PD4333,10171;PD4320,10161;PD4304,10158;PD4287,10161;PD4274,10171;PD4266,10185;PD4263,10203;PD4266,10222;PD4274,10236;PD4287,10246;PD4304,10249;PD4320,10246;PD4333,10236;PD4341,10222;PD4344,10203;PU4372,10203;PD4374,10189;PD4380,10177;PD4388,10170;PD4400,10168;PD4411,10170;PD4420,10177;PD4426,10189;PD4428,10203;PD4426,10218;PD4420,10230;PD4411,10237;PD4400,10239;PD4388,10237;PD4380,10230;PD4374,10218;PD4372,10203;PU4440,10203;PD4437,10185;PD4429,10171;PD4416,10161;PD4400,10158;PD4383,10161;PD4371,10171;PD4362,10185;PD4360,10203;PD4362,10222;PD4371,10236;PD4383,10246;PD4400,10249;PD4416,10246;PD4429,10236;PD4437,10222;PD4440,10203;PU5716,10196;PD5696,10196;PD5696,10206;PD5727,10206;PD5727,10168;PD5720,10164;PD5712,10161;PD5704,10159;PD5695,10158;PD5676,10161;PD5663,10170;PD5654,10185;PD5651,10203;PD5654,10222;PD5663,10237;PD5676,10246;PD5695,10249;PD5703,10248;PD5711,10247;PD5718,10244;PD5725,10240;PD5725,10228;PD5718,10233;PD5711,10236;PD5704,10238;PD5696,10239;PD5682,10237;PD5672,10230;PD5666,10219;PD5664,10203;PD5666,10188;PD5672,10177;PD5682,10170;PD5696,10168;PD5702,10168;PD5707,10169;PD5711,10170;PD5716,10172;PD5716,10196;PU5780,10217;PD5772,10216;PD5766,10211;PD5762,10204;PD5761,10194;PD5761,10160;PD5750,10160;PD5750,10225;PD5761,10225;PD5761,10215;PD5765,10220;PD5770,10224;PD5776,10226;PD5783,10227;PD5784,10227;PD5785,10227;PD5787,10227;PD5788,10226;PD5788,10215;PD5786,10216;PD5784,10217;PD5782,10217;PD5780,10217;PU5804,10193;PD5805,10182;PD5809,10174;PD5815,10169;PD5822,10167;PD5830,10169;PD5836,10174;PD5840,10182;PD5841,10193;PD5840,10203;PD5836,10211;PD5830,10216;PD5822,10218;PD5815,10216;PD5809,10211;PD5805,10203;PD5804,10193;PU5852,10193;PD5850,10178;PD5844,10167;PD5835,10161;PD5822,10158;PD5810,10161;PD5800,10167;PD5794,10178;PD5792,10193;PD5794,10207;PD5800,10218;PD5810,10225;PD5822,10227;PD5835,10225;PD5844,10218;PD5850,10207;PD5852,10193;PU5871,10225;PD5882,10225;PD5882,10186;PD5882,10178;PD5885,10172;PD5890,10169;PD5896,10168;PD5904,10169;PD5910,10173;PD5914,10180;PD5915,10188;PD5915,10225;PD5926,10225;PD5926,10160;PD5915,10160;PD5915,10170;PD5911,10165;PD5906,10161;PD5900,10159;PD5894,10158;PD5884,10160;PD5877,10165;PD5872,10174;PD5871,10186;PD5871,10225;PU5960,10135;PD5949,10135;PD5949,10225;PD5960,10225;PD5960,10215;PD5964,10221;PD5968,10224;PD5974,10226;PD5981,10227;PD5992,10225;PD6000,10217;PD6006,10207;PD6008,10193;PD6006,10179;PD6000,10168;PD5992,10161;PD5981,10158;PD5974,10159;PD5968,10161;PD5964,10165;PD5960,10170;PD5960,10135;PU5978,10218;PD5970,10216;PD5965,10211;PD5961,10203;PD5960,10193;PD5961,10182;PD5965,10174;PD5970,10169;PD5978,10167;PD5986,10169;PD5991,10174;PD5995,10182;PD5996,10193;PD5995,10203;PD5991,10211;PD5986,10216;PD5978,10218;PU6083,10190;PD6034,10190;PD6036,10180;PD6040,10173;PD6047,10169;PD6057,10167;PD6063,10168;PD6069,10169;PD6075,10171;PD6080,10173;PD6080,10163;PD6075,10161;PD6069,10160;PD6063,10159;PD6056,10158;PD6042,10161;PD6032,10167;PD6025,10178;PD6022,10192;PD6025,10206;PD6031,10217;PD6041,10225;PD6054,10227;PD6066,10225;PD6075,10218;PD6081,10208;PD6083,10195;PD6083,10190;PU6055,10218;PD6047,10217;PD6040,10213;PD6036,10207;PD6034,10198;PD6072,10199;PD6071,10206;PD6067,10213;PD6062,10217;PD6055,10218;PU6145,10251;PD6156,10251;PD6156,10160;PD6145,10160;PD6145,10170;PD6142,10165;PD6137,10161;PD6131,10159;PD6124,10158;PD6114,10161;PD6105,10168;PD6100,10179;PD6098,10193;PD6100,10207;PD6105,10217;PD6114,10225;PD6124,10227;PD6131,10226;PD6137,10224;PD6142,10221;PD6145,10215;PD6145,10251;PU6127,10167;PD6135,10169;PD6140,10174;PD6144,10182;PD6145,10193;PD6144,10203;PD6140,10211;PD6135,10216;PD6127,10218;PD6119,10216;PD6114,10211;PD6110,10203;PD6109,10193;PD6110,10182;PD6114,10174;PD6119,10169;PD6127,10167;PU5675,9912;PD5705,9912;PD5705,9900;PD5675,9900;PD5675,9851;PD5676,9842;PD5678,9837;PD5682,9835;PD5690,9834;PD5705,9834;PD5705,9821;PD5690,9821;PD5676,9823;PD5666,9828;PD5661,9837;PD5660,9851;PD5660,9900;PD5649,9900;PD5649,9912;PD5660,9912;PD5660,9938;PD5675,9938;PD5675,9912;PU5804,9863;PD5736,9863;PD5738,9850;PD5745,9840;PD5755,9834;PD5768,9832;PD5776,9832;PD5785,9834;PD5793,9836;PD5800,9840;PD5800,9826;PD5792,9823;PD5784,9821;PD5776,9819;PD5767,9819;PD5748,9822;PD5733,9832;PD5723,9846;PD5720,9866;PD5723,9886;PD5732,9901;PD5746,9911;PD5764,9914;PD5781,9911;PD5793,9902;PD5801,9888;PD5804,9870;PD5804,9863;PU5765,9901;PD5753,9900;PD5745,9894;PD5739,9886;PD5736,9875;PD5789,9875;PD5787,9886;PD5782,9894;PD5775,9900;PD5765,9901;PU5869,9868;PD5904,9821;PD5886,9821;PD5860,9857;PD5834,9821;PD5816,9821;PD5851,9869;PD5819,9912;PD5837,9912;PD5861,9880;PD5885,9912;PD5902,9912;PD5869,9868;PU5942,9912;PD5973,9912;PD5973,9900;PD5942,9900;PD5942,9851;PD5943,9842;PD5945,9837;PD5950,9835;PD5957,9834;PD5973,9834;PD5973,9821;PD5957,9821;PD5943,9823;PD5934,9828;PD5929,9837;PD5927,9851;PD5927,9900;PD5916,9900;PD5916,9912;PD5927,9912;PD5927,9938;PD5942,9938;PD5942,9912;PU1129,9031;PD2258,9031;PD2258,7902;PD1129,7902;PD1129,9031;PU3387,9031;PD5644,9031;PD5644,7902;PD3387,7902;PD3387,9031;PU7281,9031;PD8524,9031;PD8576,9029;PD8626,9022;PD8675,9011;PD8721,8997;PD8766,8978;PD8807,8956;PD8846,8931;PD8882,8902;PD8915,8871;PD8944,8837;PD8970,8801;PD8991,8762;PD9008,8722;PD9021,8680;PD9028,8636;PD9031,8591;PD9031,8342;PD9028,8297;PD9021,8253;PD9008,8211;PD8991,8171;PD8970,8132;PD8944,8096;PD8915,8062;PD8882,8031;PD8846,8003;PD8807,7977;PD8766,7955;PD8721,7937;PD8675,7922;PD8626,7911;PD8576,7904;PD8524,7902;PD7281,7902;PD7229,7904;PD7178,7911;PD7130,7922;PD7083,7937;PD7039,7955;PD6997,7977;PD6958,8003;PD6922,8031;PD6889,8062;PD6860,8096;PD6835,8132;PD6813,8171;PD6796,8211;PD6784,8253;PD6776,8297;PD6773,8342;PD6773,8591;PD6776,8636;PD6784,8680;PD6796,8722;PD6813,8762;PD6835,8801;PD6860,8837;PD6889,8871;PD6922,8902;PD6958,8931;PD6997,8956;PD7039,8978;PD7083,8997;PD7130,9011;PD7178,9022;PD7229,9029;PD7281,9031;PU; \ No newline at end of file diff --git a/share/extensions/tests/data/refs/polyhedron_3d__--show__edg__--obj__methane__--cw_wound__True.out b/share/extensions/tests/data/refs/polyhedron_3d__--show__edg__--obj__methane__--cw_wound__True.out new file mode 100644 index 0000000..9bd5bde --- /dev/null +++ b/share/extensions/tests/data/refs/polyhedron_3d__--show__edg__--obj__methane__--cw_wound__True.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/polyhedron_3d__--show__edg__--obj__oct__--r1_ax__z__--r1_ang__45__--th__4__--cw_wound__True.out b/share/extensions/tests/data/refs/polyhedron_3d__--show__edg__--obj__oct__--r1_ax__z__--r1_ang__45__--th__4__--cw_wound__True.out new file mode 100644 index 0000000..1327760 --- /dev/null +++ b/share/extensions/tests/data/refs/polyhedron_3d__--show__edg__--obj__oct__--r1_ax__z__--r1_ang__45__--th__4__--cw_wound__True.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__x__--r1_ang__45__--r2_ax__y__--r2_ang__45__--cw_wound__True.out b/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__x__--r1_ang__45__--r2_ax__y__--r2_ang__45__--cw_wound__True.out new file mode 100644 index 0000000..5b78bb8 --- /dev/null +++ b/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__x__--r1_ang__45__--r2_ax__y__--r2_ang__45__--cw_wound__True.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__y__--r1_ang__45__--z_sort__cent__--cw_wound__True.out b/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__y__--r1_ang__45__--z_sort__cent__--cw_wound__True.out new file mode 100644 index 0000000..703447a --- /dev/null +++ b/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__y__--r1_ang__45__--z_sort__cent__--cw_wound__True.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__z__--r1_ang__45__--z_sort__max__--cw_wound__True.out b/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__z__--r1_ang__45__--z_sort__max__--cw_wound__True.out new file mode 100644 index 0000000..a7e0a5d --- /dev/null +++ b/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__cube__--r1_ax__z__--r1_ang__45__--z_sort__max__--cw_wound__True.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__from_file__--spec_file__great_stel_dodec__obj__--cw_wound__True.out b/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__from_file__--spec_file__great_stel_dodec__obj__--cw_wound__True.out new file mode 100644 index 0000000..f3a5255 --- /dev/null +++ b/share/extensions/tests/data/refs/polyhedron_3d__--show__fce__--obj__from_file__--spec_file__great_stel_dodec__obj__--cw_wound__True.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/polyhedron_3d__--show__vtx__--obj__methane__--cw_wound__True.out b/share/extensions/tests/data/refs/polyhedron_3d__--show__vtx__--obj__methane__--cw_wound__True.out new file mode 100644 index 0000000..9870376 --- /dev/null +++ b/share/extensions/tests/data/refs/polyhedron_3d__--show__vtx__--obj__methane__--cw_wound__True.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/polyhedron_3d__31c852a9dcfffc92123ff370cba34361.out b/share/extensions/tests/data/refs/polyhedron_3d__31c852a9dcfffc92123ff370cba34361.out new file mode 100644 index 0000000..dc24f34 --- /dev/null +++ b/share/extensions/tests/data/refs/polyhedron_3d__31c852a9dcfffc92123ff370cba34361.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/refs/prepare_file_save_as.out b/share/extensions/tests/data/refs/prepare_file_save_as.out new file mode 100644 index 0000000..999f85f --- /dev/null +++ b/share/extensions/tests/data/refs/prepare_file_save_as.out @@ -0,0 +1,115 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/previous_glyph_layer.out b/share/extensions/tests/data/refs/previous_glyph_layer.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/previous_glyph_layer__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/previous_glyph_layer__--id__p1__--id__r3.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/print_win32_vector.out b/share/extensions/tests/data/refs/print_win32_vector.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/print_win32_vector__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/print_win32_vector__--id__p1__--id__r3.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/printing_marks.out b/share/extensions/tests/data/refs/printing_marks.out new file mode 100644 index 0000000..f720f14 --- /dev/null +++ b/share/extensions/tests/data/refs/printing_marks.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/printing_marks__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/printing_marks__--id__p1__--id__r3.out new file mode 100644 index 0000000..f720f14 --- /dev/null +++ b/share/extensions/tests/data/refs/printing_marks__--id__p1__--id__r3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/printing_marks__fcb9f72a813c7f3f65cc9dbdb50c294a.out b/share/extensions/tests/data/refs/printing_marks__fcb9f72a813c7f3f65cc9dbdb50c294a.out new file mode 100644 index 0000000..9ef49f1 --- /dev/null +++ b/share/extensions/tests/data/refs/printing_marks__fcb9f72a813c7f3f65cc9dbdb50c294a.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + +Page size: 1000.0x1000.0 px \ No newline at end of file diff --git a/share/extensions/tests/data/refs/ps_input__test__eps.out b/share/extensions/tests/data/refs/ps_input__test__eps.out new file mode 100644 index 0000000..c35759d --- /dev/null +++ b/share/extensions/tests/data/refs/ps_input__test__eps.out @@ -0,0 +1,82 @@ +%PDF-1.4 +%Çì¢ +%%Invocation: path/gs -P- -dSAFER -dCompatibilityLevel=1.4 -dAutoRotatePages=/None -q -P- -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=? -sOutputFile=? -P- -dSAFER -dCompatibilityLevel=1.4 -dAutoRotatePages=/None ? +5 0 obj +<> +stream +xœ]K1†÷œ‚ ô9C7 ÑqÑ1½"ÛÆÒ–ÂìÈ$ÈÍú[68]2®oØ¡±; ãë†W|SŠÎ‡`ù »ì›E²(¾VDAبd²„ÔÙ_ЃÔ{Ê5;Jª“§¨X ³;î:P¥°˜\2m¯¿]–9ĈT09/3ÂSŒ{—b»öþµ¹}²Q؆þÝ­Àão×;œÍ>ÇœAÌendstream +endobj +6 0 obj +171 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +8 0 obj +<> +endobj +9 0 obj +<>stream + + + + + +2022-03-08T21:09:40+01:00 +2022-03-08T21:09:40+01:00 +cairo 1.15.10 (http://cairographics.org) + +Untitled + + + + + +endstream +endobj +2 0 obj +<>endobj +xref +0 10 +0000000000 65535 f +0000000680 00000 n +0000002256 00000 n +0000000621 00000 n +0000000490 00000 n +0000000230 00000 n +0000000471 00000 n +0000000744 00000 n +0000000785 00000 n +0000000814 00000 n +trailer +<< /Size 10 /Root 1 0 R /Info 2 0 R +/ID [<1B178512AC3E04BC69A8E7E5FE2378BB><1B178512AC3E04BC69A8E7E5FE2378BB>] +>> +startxref +2432 +%%EOF diff --git a/share/extensions/tests/data/refs/ps_input__test__ps.out b/share/extensions/tests/data/refs/ps_input__test__ps.out new file mode 100644 index 0000000..cfbdbc8 Binary files /dev/null and b/share/extensions/tests/data/refs/ps_input__test__ps.out differ diff --git a/share/extensions/tests/data/refs/render_barcode__--type__Code93__--text__3332222.out b/share/extensions/tests/data/refs/render_barcode__--type__Code93__--text__3332222.out new file mode 100644 index 0000000..aa4ba53 --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode__--type__Code93__--text__3332222.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + 3332222 + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode__--type__Ean2__--text__55.out b/share/extensions/tests/data/refs/render_barcode__--type__Ean2__--text__55.out new file mode 100644 index 0000000..5795ee5 --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode__--type__Ean2__--text__55.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + 5 5 + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode__--type__Upce__--text__123456.out b/share/extensions/tests/data/refs/render_barcode__--type__Upce__--text__123456.out new file mode 100644 index 0000000..334fb2f --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode__--type__Upce__--text__123456.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + 0 123456 + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__rect8x32__--text__1234Foo.out b/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__rect8x32__--text__1234Foo.out new file mode 100644 index 0000000..febc9b6 --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__rect8x32__--text__1234Foo.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq10.out b/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq10.out new file mode 100644 index 0000000..b270ac6 --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq10.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq144__--text__HelloTest.out b/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq144__--text__HelloTest.out new file mode 100644 index 0000000..1bdb7da --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq144__--text__HelloTest.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq96__--text__Sunshine.out b/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq96__--text__Sunshine.out new file mode 100644 index 0000000..be4c31f --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_datamatrix__--symbol__sq96__--text__Sunshine.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_qrcode__--text__0123456789__--typenumber__0__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__0123456789__--typenumber__0__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out new file mode 100644 index 0000000..b9eaf54 --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__0123456789__--typenumber__0__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out @@ -0,0 +1,2 @@ + + diff --git a/share/extensions/tests/data/refs/render_barcode_qrcode__--text__Blue__Front__Yard__--typenumber__3__--correctionlevel__1__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__Blue__Front__Yard__--typenumber__3__--correctionlevel__1__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out new file mode 100644 index 0000000..732616a --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__Blue__Front__Yard__--typenumber__3__--correctionlevel__1__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_qrcode__--text__BreadRolls__--typenumber__2__--encoding__utf8__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__BreadRolls__--typenumber__2__--encoding__utf8__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out new file mode 100644 index 0000000..a84e328 --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__BreadRolls__--typenumber__2__--encoding__utf8__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_qrcode__--text__ThingOne__--drawtype__symbol__--correctionlevel__2__--symbolid__AirTransportation_Inv__--modulesize__10.out b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__ThingOne__--drawtype__symbol__--correctionlevel__2__--symbolid__AirTransportation_Inv__--modulesize__10.out new file mode 100644 index 0000000..1576a05 --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__ThingOne__--drawtype__symbol__--correctionlevel__2__--symbolid__AirTransportation_Inv__--modulesize__10.out @@ -0,0 +1,12 @@ + + + + Air Transportation + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_qrcode__--text__Waterfall__--typenumber__1__--drawtype__pathpreset__--pathtype__circle__--modulesize__10.out b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__Waterfall__--typenumber__1__--drawtype__pathpreset__--pathtype__circle__--modulesize__10.out new file mode 100644 index 0000000..84f55c6 --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__Waterfall__--typenumber__1__--drawtype__pathpreset__--pathtype__circle__--modulesize__10.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_qrcode__--text__groupid__--groupid__testid__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__groupid__--groupid__testid__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out new file mode 100644 index 0000000..238624b --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__groupid__--groupid__testid__--modulesize__10__--drawtype__smooth__--smoothness__greedy.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_qrcode__--text__test__--drawtype__selection__--id__r3__--modulesize__10.out b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__test__--drawtype__selection__--id__r3__--modulesize__10.out new file mode 100644 index 0000000..e1deb0c --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_qrcode__--text__test__--drawtype__selection__--id__r3__--modulesize__10.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_qrcode__a95852ad07710857e3fadaaa059140e8.out b/share/extensions/tests/data/refs/render_barcode_qrcode__a95852ad07710857e3fadaaa059140e8.out new file mode 100644 index 0000000..8244654 --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_qrcode__a95852ad07710857e3fadaaa059140e8.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_barcode_qrcode__e3208cfbf8a72ec55b5335e55f8674db.out b/share/extensions/tests/data/refs/render_barcode_qrcode__e3208cfbf8a72ec55b5335e55f8674db.out new file mode 100644 index 0000000..801d0c6 --- /dev/null +++ b/share/extensions/tests/data/refs/render_barcode_qrcode__e3208cfbf8a72ec55b5335e55f8674db.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_gear_rack.out b/share/extensions/tests/data/refs/render_gear_rack.out new file mode 100644 index 0000000..3c89abc --- /dev/null +++ b/share/extensions/tests/data/refs/render_gear_rack.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_gear_rack__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/render_gear_rack__--id__p1__--id__r3.out new file mode 100644 index 0000000..3c89abc --- /dev/null +++ b/share/extensions/tests/data/refs/render_gear_rack__--id__p1__--id__r3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_gears__--centerdiameter__10__0.out b/share/extensions/tests/data/refs/render_gears__--centerdiameter__10__0.out new file mode 100644 index 0000000..cb5f548 --- /dev/null +++ b/share/extensions/tests/data/refs/render_gears__--centerdiameter__10__0.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/render_gears__--id__p1__--id__r3__--centerdiameter__10__0.out b/share/extensions/tests/data/refs/render_gears__--id__p1__--id__r3__--centerdiameter__10__0.out new file mode 100644 index 0000000..cb5f548 --- /dev/null +++ b/share/extensions/tests/data/refs/render_gears__--id__p1__--id__r3__--centerdiameter__10__0.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/replace_font__--action__find_replace__--fr_find__sans-serif__--fr_replace__monospace.out b/share/extensions/tests/data/refs/replace_font__--action__find_replace__--fr_find__sans-serif__--fr_replace__monospace.out new file mode 100644 index 0000000..30b778d --- /dev/null +++ b/share/extensions/tests/data/refs/replace_font__--action__find_replace__--fr_find__sans-serif__--fr_replace__monospace.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/replace_font__--action__list_only.out b/share/extensions/tests/data/refs/replace_font__--action__list_only.out new file mode 100644 index 0000000..5883134 --- /dev/null +++ b/share/extensions/tests/data/refs/replace_font__--action__list_only.out @@ -0,0 +1 @@ +Found the following font only: sans-serif diff --git a/share/extensions/tests/data/refs/restack__--id__g20858__--id__g21085__--id__g20940__--id__g26580__--id__g21081__--id__g20854.out b/share/extensions/tests/data/refs/restack__--id__g20858__--id__g21085__--id__g20940__--id__g26580__--id__g21081__--id__g20854.out new file mode 100644 index 0000000..799e354 --- /dev/null +++ b/share/extensions/tests/data/refs/restack__--id__g20858__--id__g21085__--id__g20940__--id__g26580__--id__g21081__--id__g20854.out @@ -0,0 +1,38 @@ + + + + + Ungrouped objects + Grouped objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/restack__--tab__positional__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out b/share/extensions/tests/data/refs/restack__--tab__positional__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out new file mode 100644 index 0000000..7604bd6 --- /dev/null +++ b/share/extensions/tests/data/refs/restack__--tab__positional__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/restack__--tab__z_order__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out b/share/extensions/tests/data/refs/restack__--tab__z_order__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out new file mode 100644 index 0000000..7604bd6 --- /dev/null +++ b/share/extensions/tests/data/refs/restack__--tab__z_order__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/restack__--tab__z_order__--id__r2__--id__t5__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out b/share/extensions/tests/data/refs/restack__--tab__z_order__--id__r2__--id__t5__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out new file mode 100644 index 0000000..7915077 --- /dev/null +++ b/share/extensions/tests/data/refs/restack__--tab__z_order__--id__r2__--id__t5__--id__p1__--id__r3__--direction__tb__--xanchor__m__--yanchor__m.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + Grouped + text + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/restack__--tab__z_order__--id__r3__--id__p1__--id__t5__--id__r2__--direction__tb__--xanchor__m__--yanchor__m.out b/share/extensions/tests/data/refs/restack__--tab__z_order__--id__r3__--id__p1__--id__t5__--id__r2__--direction__tb__--xanchor__m__--yanchor__m.out new file mode 100644 index 0000000..7915077 --- /dev/null +++ b/share/extensions/tests/data/refs/restack__--tab__z_order__--id__r3__--id__p1__--id__t5__--id__r2__--direction__tb__--xanchor__m__--yanchor__m.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + Grouped + text + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/restack__cde2e552c805941baaf79d0821ec1e63.out b/share/extensions/tests/data/refs/restack__cde2e552c805941baaf79d0821ec1e63.out new file mode 100644 index 0000000..7ebd13e --- /dev/null +++ b/share/extensions/tests/data/refs/restack__cde2e552c805941baaf79d0821ec1e63.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/rtree__--minimum__4__0.out b/share/extensions/tests/data/refs/rtree__--minimum__4__0.out new file mode 100644 index 0000000..eeef67a --- /dev/null +++ b/share/extensions/tests/data/refs/rtree__--minimum__4__0.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__0__--curve__50.out b/share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__0__--curve__50.out new file mode 100644 index 0000000..671e63c --- /dev/null +++ b/share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__0__--curve__50.out @@ -0,0 +1,16 @@ + + + + + + + image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__25__--curve__25.out b/share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__25__--curve__25.out new file mode 100644 index 0000000..adb25b9 --- /dev/null +++ b/share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__25__--curve__25.out @@ -0,0 +1,16 @@ + + + + + + + image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__50__--curve__0.out b/share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__50__--curve__0.out new file mode 100644 index 0000000..5e0a460 --- /dev/null +++ b/share/extensions/tests/data/refs/rubberstretch__--id__path3997__--ratio__50__--curve__0.out @@ -0,0 +1,16 @@ + + + + + + + image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/scribus_export_pdf__--pdf-version__13__--bleed__0.out b/share/extensions/tests/data/refs/scribus_export_pdf__--pdf-version__13__--bleed__0.out new file mode 100644 index 0000000..463561d Binary files /dev/null and b/share/extensions/tests/data/refs/scribus_export_pdf__--pdf-version__13__--bleed__0.out differ diff --git a/share/extensions/tests/data/refs/setup_typography_canvas__empty__svg.out b/share/extensions/tests/data/refs/setup_typography_canvas__empty__svg.out new file mode 100644 index 0000000..1db316a --- /dev/null +++ b/share/extensions/tests/data/refs/setup_typography_canvas__empty__svg.out @@ -0,0 +1,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/setup_typography_canvas__shapes__svg.out b/share/extensions/tests/data/refs/setup_typography_canvas__shapes__svg.out new file mode 100644 index 0000000..9148166 --- /dev/null +++ b/share/extensions/tests/data/refs/setup_typography_canvas__shapes__svg.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/sk1_output.out b/share/extensions/tests/data/refs/sk1_output.out new file mode 100644 index 0000000..59afc69 --- /dev/null +++ b/share/extensions/tests/data/refs/sk1_output.out @@ -0,0 +1,126 @@ +##sK1 1 2 +document() +layout((800,800),0) +grid((0,0,2.83465,2.83465),0,("RGB",0.83,0.87,0.91),'Grid') +page() +layer('New Layer',1,1,0,0,("RGB",0.196,0.314,0.635)) +G() +fp(("RGB",1.0,0.0,0.0)) +le() +lw(0.895418) +r(198.953,0,0,-161.198,521.047,516.859) +G_() +G() +fp(("RGB",0.0,0.0,0.502)) +le() +lw(0.283286) +e(40,0,0,-40,120,440) +lp(("RGB",1.0,0.0,0.0)) +lw(12.8) +e(80,0,0,-40,320,440) +fp(("RGB",1.0,1.0,0.0)) +lp(("RGB",0.0,0.502,0.0)) +lw(12.8) +b() +bs(626.469,417.741,0) +bs(560,440,0) +bs(626.469,417.741,0) +bC() +lp(("RGB",0.0,0.0,0.0)) +lw(8) +b() +bs(80,320,0) +bs(160,240,0) +bs(240,320,0) +bs(320,240,0) +lp(("RGB",0.0,0.0,0.0)) +lw(8) +b() +bs(400,320,0) +bc(400,320,400,240,480,240,0) +bc(560,240,480,320,560,320,0) +bc(640,320,640,240,640,240,0) +fp(("RGB",1.0,1.0,0.0)) +lp(("RGB",0.0,0.502,0.0)) +lw(8) +b() +bs(195.867,88.688,0) +bs(159.595,95.1955,0) +bs(133.672,69.0055,0) +bs(128.653,105.512,0) +bs(95.7337,122.074,0) +bs(128.903,138.129,0) +bs(134.481,174.554,0) +bs(160,147.97,0) +bs(196.367,153.921,0) +bs(178.969,121.436,0) +bs(195.867,88.688,0) +bC() +fp(("RGB",1.0,1.0,0.0)) +lp(("RGB",0.0,0.502,0.0)) +lw(8) +b() +bs(355.867,86.291,0) +bs(319.595,92.7986,0) +bs(293.672,66.6085,0) +bs(288.653,103.115,0) +bs(255.734,119.677,0) +bs(288.903,135.732,0) +bs(294.481,172.157,0) +bs(320,145.573,0) +bs(356.367,151.524,0) +bs(338.969,119.039,0) +bs(355.867,86.291,0) +bC() +G_() +G() +fp(("RGB",0.0,0.0,0.0)) +le() +lw(0.283286) +Fn('BitstreamVeraSans-Roman') +Fs(14.6667) +txt('\\u048\\u065\\u06c\\u06c\\u06f\\u020\\u057\\u06f\\u072\\u06c\\u064',(0.8,0,0,0.8,80,720),0,0,1,1,1) +fp(("RGB",0.0,0.0,0.0,0.5)) +le() +lw(0.283286) +r(56.0001,0,0,-55.4909,320,730.381) +fp(("RGB",0.0,0.0,0.0)) +le() +lw(0.283286) +Fn('BitstreamVeraSans-Roman') +Fs(14.6667) +txt('\\u055\\u050\\u050\\u045\\u052',(0.8,0,0,0.8,160,720),0,0,1,1,1) +fp(("RGB",0.0,0.0,0.0)) +le() +lw(0.283286) +Fn('BitstreamVeraSans-Roman') +Fs(10.5833) +txt('\\u04d\\u075\\u06c\\u074\\u069\\u020\\u06c\\u069\\u06e\\u065\\u074\\u065\\u078\\u074\\u046\\u04f\\u04f',(0.8,0,0,0.8,240,720),0,0,1,1,1) +G() +fp(("RGB",0.0,0.0,0.0)) +le() +lw(0.283286) +Fn('BitstreamVeraSans-Roman') +Fs(10.5833) +txt('\\u047\\u072\\u06f\\u075\\u070\\u065\\u064',(0.8,0,0,0.8,400,720),0,0,1,1,1) +fp(("RGB",0.0,0.0,0.0)) +le() +lw(0.283286) +Fn('BitstreamVeraSans-Roman') +Fs(14.6667) +txt('\\u074\\u065\\u078\\u074',(0.8,0,0,0.8,400,696),0,0,1,1,1) +G_() +fp(("RGB",0.0,0.0,0.502)) +le() +lw(0.283286) +r(80,0,0,-80,80,640) +lp(("RGB",1.0,0.0,0.0)) +lw(12.8) +r(160,0,0,-80,240,640) +fp(("RGB",1.0,1.0,0.0)) +lp(("RGB",0.0,0.502,0.0)) +lw(12.8) +r(160,0,0,-80,480,640,0.224716,0.389508) +G_() +masterlayer('MasterLayer 1',1,1,0,0,("RGB",0.196,0.314,0.635)) +guidelayer('Guide Lines',1,0,0,1,("RGB",0.0,0.3,1.0)) diff --git a/share/extensions/tests/data/refs/spirograph__--primaryr__60__0__--secondaryr__100__0.out b/share/extensions/tests/data/refs/spirograph__--primaryr__60__0__--secondaryr__100__0.out new file mode 100644 index 0000000..cc27d4d --- /dev/null +++ b/share/extensions/tests/data/refs/spirograph__--primaryr__60__0__--secondaryr__100__0.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/straightseg.out b/share/extensions/tests/data/refs/straightseg.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/straightseg__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/straightseg__--id__p1__--id__r3.out new file mode 100644 index 0000000..f05ae54 --- /dev/null +++ b/share/extensions/tests/data/refs/straightseg__--id__p1__--id__r3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/svgcalendar__9cc828f60a4a546fd4e0fdf4dd392e96.out b/share/extensions/tests/data/refs/svgcalendar__9cc828f60a4a546fd4e0fdf4dd392e96.out new file mode 100644 index 0000000..fae3a9c --- /dev/null +++ b/share/extensions/tests/data/refs/svgcalendar__9cc828f60a4a546fd4e0fdf4dd392e96.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + +2019JanuarySunMonTueWedThuFriSat303112345678910111213141516171819202122232425262728293031123456789FebruarySunMonTueWedThuFriSat272829303112345678910111213141516171819202122232425262728123456789MarchSunMonTueWedThuFriSat242526272812345678910111213141516171819202122232425262728293031123456AprilSunMonTueWedThuFriSat311234567891011121314151617181920212223242526272829301234567891011MaySunMonTueWedThuFriSat2829301234567891011121314151617181920212223242526272829303112345678JuneSunMonTueWedThuFriSat262728293031123456789101112131415161718192021222324252627282930123456JulySunMonTueWedThuFriSat301234567891011121314151617181920212223242526272829303112345678910AugustSunMonTueWedThuFriSat28293031123456789101112131415161718192021222324252627282930311234567SeptemberSunMonTueWedThuFriSat123456789101112131415161718192021222324252627282930123456789101112OctoberSunMonTueWedThuFriSat293012345678910111213141516171819202122232425262728293031123456789NovemberSunMonTueWedThuFriSat27282930311234567891011121314151617181920212223242526272829301234567DecemberSunMonTueWedThuFriSat123456789101112131415161718192021222324252627282930311234567891011 \ No newline at end of file diff --git a/share/extensions/tests/data/refs/svgfont2layers__--count__3.out b/share/extensions/tests/data/refs/svgfont2layers__--count__3.out new file mode 100644 index 0000000..ec11f1d --- /dev/null +++ b/share/extensions/tests/data/refs/svgfont2layers__--count__3.out @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/synfig_output.out b/share/extensions/tests/data/refs/synfig_output.out new file mode 100644 index 0000000..f982632 --- /dev/null +++ b/share/extensions/tests/data/refs/synfig_output.out @@ -0,0 +1,3 @@ + + input.svg + 0.00.01.00.00.01.00.00.02.52181499999999972.43455650000000026.66666699999999952.43455650000000026.6666669999999995-0.92374516666666672.5218149999999997-0.92374516666666670.00.00.00.00.50196078431372551.00.00.0-5.00.8333333333333334-5.2440776823445430.24407768234454277-5.8333333333333330.0-6.4225889843221230.24407768234454277-6.6666666666666670.8333333333333334-6.4225889843221231.422588984322124-5.8333333333333331.6666666666666667-5.2440776823445431.4225889843221241.00.00.01.00.00.00.00.8333333333333334-0.48815536468908650.24407768234454277-1.66666666666666670.0-2.84517796864424580.24407768234454277-3.33333333333333350.8333333333333334-2.84517796864424671.422588984322124-1.66666666666666671.6666666666666667-0.48815536468908651.4225889843221241.01.00.01.00.00.04.7181058333333340.36960316666666512.86646450000000060.033362833333336541.66708099999999980.81475333333334182.7956021666666671.62210183333333284.6753821666666661.32746966666666523.33333333333333350.83333333333333340.00.50196078431372550.01.00.00.04.7181058333333340.36960316666666512.86646450000000060.033362833333336541.66708099999999980.81475333333334182.7956021666666671.62210183333333284.6753821666666661.32746966666666523.33333333333333350.83333333333333340.00.00.01.00.00.0-6.666666666666667-1.6666666666666667-5.0-3.3333333333333335-3.3333333333333335-1.6666666666666667-1.6666666666666667-3.33333333333333350.00.00.01.00.00.00.0-1.66666666666666671.6666666666666667-3.33333333333333353.3333333333333335-1.66666666666666675.0-3.33333333333333351.01.00.01.00.00.0-4.25278-6.4856675-5.008427833333333-6.3500931666666665-5.548499166666667-6.895718666666666-5.653068333333334-6.13516-6.338880333333333-5.790129333333335-5.647859666666666-5.4556525-5.5316434999999995-4.696786333333334-5.0-5.250627000000001-4.242362666666667-5.1266525000000005-4.604809500000001-5.8034216666666660.00.50196078431372550.01.00.00.0-4.25278-6.4856675-5.008427833333333-6.3500931666666665-5.548499166666667-6.895718666666666-5.653068333333334-6.13516-6.338880333333333-5.790129333333335-5.647859666666666-5.4556525-5.5316434999999995-4.696786333333334-5.0-5.250627000000001-4.242362666666667-5.1266525000000005-4.604809500000001-5.8034216666666661.01.00.01.00.00.0-0.9194468333333333-6.535604333333334-1.6750948333333335-6.400030166666666-2.2151660000000004-6.945655666666666-2.3197353333333335-6.185097-3.0055471666666667-5.8400663333333345-2.3145265000000004-5.5055895-2.1983105000000003-4.746723333333334-1.6666670000000001-5.3005638333333325-0.9090294999999997-5.1765895-1.2714765-5.8533586666666660.00.50196078431372550.01.00.00.0-0.9194468333333333-6.535604333333334-1.6750948333333335-6.400030166666666-2.2151660000000004-6.945655666666666-2.3197353333333335-6.185097-3.0055471666666667-5.8400663333333345-2.3145265000000004-5.5055895-2.1983105000000003-4.746723333333334-1.6666670000000001-5.3005638333333325-0.9090294999999997-5.1765895-1.2714765-5.8533586666666660.00.00.00.00.01.00.00.0-6.6426756666666666.844868033333333-6.61856556.844868033333333-6.61856556.771820983333333-6.53095666666666656.771820983333333-6.53095666666666656.844868033333333-6.50684656.844868033333333-6.50684656.666666666666667-6.53095666666666656.666666666666667-6.53095666666666656.75153015-6.61856556.75153015-6.61856556.666666666666667-6.6426756666666666.6666666666666670.00.00.01.00.00.0-6.3454666666666676.738998333333332-6.3454666666666676.7282561166666675-6.44644356.7282561166666675-6.4328366666666666.693642283333334-6.3987003333333336.681825849999999-6.3742326.684929166666666-6.3505996.694239083333334-6.3505996.673470749999999-6.3748286666666676.665831850000001-6.4000133333333336.663206016666667-6.4507403333333336.681825849999999-6.4693601666666666.73219485-6.4516951666666666.78423485-6.4038326666666676.80357085-6.3612226.786144516666667-6.3454666666666666.738998183333333-6.3454666666666676.738998333333332-6.36743333333333356.745443333333332-6.3775788333333336.774208666666667-6.4035988333333346.784950883333333-6.4330801666666676.774566733333334-6.4457321666666676.745324066666668-6.36743333333333356.745443333333332-6.36743333333333356.745443333333332-6.3454666666666676.7389983333333320.00.00.01.00.00.0-6.3094284999999996.852387583333333-6.28746656.852387583333333-6.28746656.666666666666667-6.3094284999999996.6666666666666670.00.00.01.00.00.0-6.2415138333333336.852387583333333-6.2195519999999996.852387583333333-6.2195519999999996.666666666666667-6.2415138333333336.6666666666666670.00.00.01.00.00.0-6.12179999999999956.784949999999999-6.1497296666666676.771104466666666-6.15999456.7333873-6.1498490000000016.695550800000001-6.12179999999999956.681824633333334-6.09398956.695670150000001-6.0837248333333336.733387316666667-6.09398956.77098515-6.12179999999999956.784950033333333-6.12179999999999956.784949999999999-6.12179999999999956.80357-6.0768026.784950166666666-6.06044999999999946.7333875-6.0768026.681824833333334-6.12179999999999956.663205000000001-6.1669171666666676.681824833333334-6.1831498333333336.7333875-6.1669171666666676.784950166666666-6.12179999999999956.80357-6.12179999999999956.80357-6.12179999999999956.80357-6.12179999999999956.7849499999999990.00.00.01.00.00.0-5.9612615000000016.844868033333333-5.93691256.844868033333333-5.8994346.694238350000001-5.8620750000000016.844868033333333-5.8349808333333346.844868033333333-5.7975023333333336.694238350000001-5.7601433333333346.844868033333333-5.7356750000000016.844868033333333-5.7804341666666676.666666666666667-5.8107511666666676.666666666666667-5.84834883333333366.821354516666668-5.8863046666666666.666666666666667-5.9166215000000016.6666666666666670.00.00.01.00.00.0-5.6671666666666666.784949999999999-5.6950963333333346.771104466666666-5.7053611666666676.7333873-5.6952158333333336.695550800000001-5.6671666666666666.681824633333334-5.6393563333333346.695670150000001-5.62909156.733387316666667-5.6393563333333346.77098515-5.6671666666666666.784950033333333-5.6671666666666666.784949999999999-5.6671666666666666.80357-5.6221686666666666.784950166666666-5.6058166666666676.7333875-5.6221686666666666.681824833333334-5.6671666666666666.663205000000001-5.71228399999999956.681824833333334-5.7285166666666676.7333875-5.71228399999999956.784950166666666-5.6671666666666666.80357-5.6671666666666666.80357-5.6671666666666666.80357-5.6671666666666666.7849499999999990.00.00.01.00.00.0-5.4919461666666676.779817966666667-5.5000624999999996.7829212666666665-5.5096111666666686.783995433333333-5.5382570000000016.771820916666667-5.54816366666666656.737087766666667-5.54816366666666656.666666666666667-5.5702456.666666666666667-5.5702456.800347533333333-5.54816366666666656.800347533333333-5.54816366666666656.77957925-5.5301406666666676.797602299999999-5.5031658333333336.803570199999999-5.4981526666666676.8032122-5.49206556.80237670.00.00.01.00.00.0-5.4689099999999996.852387583333333-5.4469481666666676.852387583333333-5.4469481666666676.666666666666667-5.4689099999999996.6666666666666670.00.00.01.00.00.0-5.3130333333333346.780056666666667-5.3130333333333346.852388333333333-5.2910666666666676.852388333333333-5.2910666666666676.666666666666667-5.3130286666666676.666666666666667-5.3130286666666676.686718833333333-5.3305741666666676.668934500000001-5.3558786.663205366666667-5.39538556.682541366666667-5.4105440000000016.733387866666667-5.39538556.784234366666667-5.3558786.803570366666667-5.3305741666666676.797721816666668-5.3130286666666676.780056816666667-5.3130333333333346.780056666666667-5.3878666666666676.733388333333333-5.377966.695313166666667-5.3505076666666666.6815869999999995-5.3230553333333336.695313166666667-5.3130293333333336.733388333333333-5.3230553333333336.771344166666667-5.3505076666666666.785189683333332-5.377966.771344166666667-5.3878666666666676.733388333333333-5.3878666666666676.733388333333333-5.3878666666666676.733388333333333-5.3130333333333346.7800566666666670.00.00.01.00.00.0-1.5967173111865016.852388455020832-1.53560622289916766.852388455020832-1.53560622289916766.666668122332834-1.5576873940386676.666668122332834-1.5576873940386676.834126759972166-1.59695600914966756.834126759972166-1.61342735923166756.829352447931501-1.61796292921200046.812164959862832-1.61796292921200046.800348594888501-1.5817976081086.800348594888501-1.5817976081086.783280433752833-1.61796292921200046.783280433752833-1.61796292921200046.666668122332834-1.64004410035150076.666668122332834-1.64004410035150076.783280433752833-1.66105102041383366.783280433752833-1.66105102041383366.800348594888501-1.64004410035150076.800348594888501-1.64004410035150076.809658476909501-1.62965996725333386.8421237370500005-1.5967173111865016.8523884550208340.00.00.01.00.00.0-1.4378531672333346.784951760466667-1.46578285739350066.771106264368166-1.47604761946150046.7333892962606665-1.4659022284236676.695552957123001-1.4378531672333346.681826832054666-1.41004289220050046.695672328153167-1.39977813013250056.7333892962606665-1.41004289220050046.7709869374351666-1.4378531672333346.784951760466667-1.4378531672333346.784951760466667-1.4378531672333346.803569584233332-1.39285553642333376.784949820191334-1.3765035132743346.733387444179668-1.39285553642333376.681825068167999-1.4378531672333346.663205304125999-1.48297030136500046.681825068167999-1.49920290938666776.733387444179668-1.48297030136500046.784949820191334-1.4378531672333346.803569584233332-1.4378531672333346.803569584233332-1.4378531672333346.803569584233332-1.4378531672333346.7849517604666670.00.00.01.00.00.0-1.35286981318800016.800348594888501-1.33090801307866686.800348594888501-1.30345580703916736.696030088466333-1.27612292793266716.800348594888501-1.25022232479950066.800348594888501-1.22277007466283386.696030088466333-1.19543719555633376.800348594888501-1.17347539544700036.800348594888501-1.20844718263800056.666668122332834-1.2343477857711676.666668122332834-1.2631129408516.776238336722001-1.29199746696100046.666668122332834-1.3178980700941676.6666681223328340.00.00.01.00.00.0-1.04074980293833426.838304260959167-1.04074980293833426.800348594888501-0.99551325367933336.800348594888501-0.99551325367933336.783280433752833-1.04074980293833426.783280433752833-1.04074980293833426.7107110494845-1.03633355989100086.689704129422167-1.01807186484233336.685049188411667-0.99551325367933336.685049188411667-0.99551325367933336.666668122332834-1.01807186484233336.666668122332834-1.05316297896633376.676097375384001-1.06283092998066696.7107110494845-1.06283092998066696.783280433752833-1.0789442110693346.783280433752833-1.0789442110693346.800348594888501-1.06283092998066696.800348594888501-1.06283092998066696.8383042609591670.00.00.01.00.00.0-0.85228248135000046.738998103083333-0.85228248135000046.728255900991834-0.95325881941333356.728255900991834-0.93965202127800086.693642226891332-0.9055157872016.681825817819833-0.88104746004116716.6849291118268335-0.85741468599533356.694238993847834-0.85741468599533356.673470771748667-0.88164427109483476.665831907761333-0.90682869214416736.663206053777833-0.95755586781916696.681825817819833-0.97617563186116746.732194924501501-0.95851070376900046.784234872828167-0.91064852101233386.8035707748568335-0.86803786983400086.7861445888250005-0.85228265773866766.7389985440550015-0.85228248135000046.738998103083333-0.87424728006666716.74544510885-0.88439267110450056.774210263929833-0.91041260117066746.784952466021334-0.93989393833433426.7745683770203335-0.95254581232550026.745325737819834-0.87424728006666716.74544510885-0.87424728006666716.74544510885-0.85228248135000046.7389981030833330.00.00.01.00.00.0-0.70941321759300056.800348594888501-0.75775301676183356.735298703577333-0.70690669054249996.666668122332834-0.73280729367566746.666668122332834-0.77171783979333396.719185422488666-0.81062838591100036.666668122332834-0.83652898904416686.666668122332834-0.78460845584483356.736611652617667-0.83211274599683436.800348594888501-0.80621218696083376.800348594888501-0.77076295974633426.752724889609167-0.73531377662900096.8003485948885010.00.00.01.00.00.0-0.65415069242350046.838304260959167-0.65415069242350046.800348594888501-0.60891414316450046.800348594888501-0.60891414316450046.783280433752833-0.65415069242350046.783280433752833-0.65415069242350046.7107110494845-0.64973444937616696.689704129422167-0.63147275432750036.685049188411667-0.60891414316450046.685049188411667-0.60891414316450046.666668122332834-0.63147275432750036.666668122332834-0.66656386845150076.676097375384001-0.67623181946583396.7107110494845-0.67623181946583396.783280433752833-0.69234510055449996.783280433752833-0.69234510055449996.800348594888501-0.67623181946583396.800348594888501-0.67623181946583396.8383042609591670.00.00.01.00.00.0-1.65639607940333346.494793197548999-1.63443427929400036.494793197548999-1.60698202915733366.390474691126834-1.57964915005083346.494793197548999-1.55374859101483396.494793197548999-1.52629634087816736.390474691126834-1.4989634617716676.494793197548999-1.47700166166233386.494793197548999-1.51197344885333386.361112769090499-1.53787400788933346.361112769090499-1.56663920706633356.470682983479666-1.59552373317633376.361112769090499-1.62142429221233436.3611127690904990.00.00.01.00.00.0-1.33257903111233426.441798457369667-1.33257903111233426.361112769090499-1.35454083122166746.361112769090499-1.35454083122166746.441082319382999-1.36194099724583386.4694894054695-1.38414149531833376.478918658520667-1.41219051241149976.467579689472666-1.42245527447950056.4366660763356665-1.42245527447950056.361112769090499-1.4445364015218346.361112769090499-1.4445364015218346.5468331017785-1.42245527447950056.5468331017785-1.42245527447950056.474025019546999-1.40395483737050026.492047972535333-1.37924781224749986.498015862586166-1.3443954401838346.483692970561333-1.33257903111233426.4417984573696670.00.00.01.00.00.0-1.28877387588333366.4947924038-1.26681207577400056.4947924038-1.26681207577400056.361111843049999-1.28877387588333366.361111843049999-1.28877387588333366.4947924038-1.28877387588333366.546831470183334-1.26681207577400056.546831470183334-1.26681207577400056.519021151053333-1.28877387588333366.519021151053333-1.28877387588333366.546831470183334-1.28877387588333366.546831470183334-1.28877387588333366.49479240380.00.00.01.00.00.0-1.12465815625466716.489660816515-1.12465815625466716.469131336476166-1.1433972913268346.4767702004635-1.16225579742916726.479396098544167-1.19543719555633376.465789344506001-1.20725360462783356.427833634338167-1.19543719555633376.389758553140166-1.16225579742916726.376271170132168-1.1433972913268346.378777653085502-1.12465815625466716.386535932200166-1.12465815625466716.366245106027335-1.1437553603201676.359799820050167-1.16464295344950046.357651361993001-1.21262468362500056.3766292391255-1.23040893865016696.427833634338167-1.21250531259483426.479276727514001-1.16321067747616666.4980158625861675-1.1433972913268346.495867448626168-1.12465815625466716.4896608165150.00.00.01.00.00.0-0.97534188673099996.441798457369667-0.97534188673099996.361112769090499-0.99730364274316716.361112769090499-0.99730364274316716.441082319382999-1.00470380876733356.4694894054695-1.02690435093700026.478918658520667-1.05495336803016736.467579689472666-1.0652180860016.4366660763356665-1.0652180860016.361112769090499-1.08729925714049986.361112769090499-1.08729925714049986.5468331017785-1.0652180860016.5468331017785-1.0652180860016.474025019546999-1.04671769298916686.492047972535333-1.02201066786616736.498015862586166-0.98715825170533366.483692970561333-0.97534188673099996.4417984573696670.00.00.01.00.00.0-1.65639607940333346.189237844306666-1.63443427929400036.189237844306666-1.60698202915733366.084919337884499-1.57964915005083346.189237844306666-1.55374859101483396.189237844306666-1.52629634087816736.084919337884499-1.4989634617716676.189237844306666-1.47700166166233386.189237844306666-1.51197344885333386.055557371750999-1.53787400788933346.055557371750999-1.56663920706633356.1651276302373335-1.59552373317633376.055557371750999-1.62142429221233436.0555573717509990.00.00.01.00.00.0-1.3662378692636.168708364267833-1.3743541732738346.171811658274834-1.3839027973551676.172885865254833-1.41254858140483376.160711387190001-1.42245527447950056.125978342059333-1.42245527447950056.055557371750999-1.4445364015218346.055557371750999-1.4445364015218346.189237844306666-1.42245527447950056.189237844306666-1.42245527447950056.168469622207499-1.40443227739400066.186492619293-1.37745746728083426.192460509343834-1.37244445727700036.1921024403505-1.36635719619600026.1912669313336670.00.00.01.00.00.0-1.28245034218333386.122757837783333-1.31933180127400076.116670620799501-1.32959656334200066.095902398700334-1.32195769935466676.077282634658333-1.30095077929233386.070479235590667-1.27170814009183376.083369851642165-1.26060791310416686.117864198809666-1.26060791310416686.122757837783333-1.28245034218333386.122757837783333-1.23864421681666766.1318286249666665-1.23864421681666766.055559047443334-1.2606060169260016.055559047443334-1.2606060169260016.075849829518999-1.2793451519981676.057826876530667-1.30679740213483346.052097684443-1.33950136023850066.063556024521167-1.3515564672731676.094469637658166-1.3365173931645016.128486544802167-1.29140025903283426.1399448407831665-1.2606060169266.1399448407831665-1.2606060169266.142093298840333-1.2706320369336676.165487374923-1.29856172709383396.173842420994166-1.32088159619650016.1710971959805-1.34176914522866666.1628615209395-1.34176914522866666.1831523030151665-1.31837506914600066.190075029015833-1.29629389800656.192462185036167-1.25296710884156.1774231109275-1.23864421681666766.131828404480832-1.23864421681666766.1318286249666665-1.23864421681666766.1318286249666665-1.28245034218333386.1227578377833330.00.00.01.00.00.0-1.17216332835000016.075609147183333-1.17216332835000016.0047106045600005-1.19424445539233376.0047106045600005-1.19424445539233376.189238726249999-1.17216332835000016.189238726249999-1.17216332835000016.168947944174333-1.15473709822100086.186612872266499-1.12943330614150076.192461391287168-1.08992594897016676.173125445161334-1.07464817689833386.122279207136334-1.08992594897016676.071432969111333-1.12943330614150076.0520970229855005-1.15473709822100086.057826215073165-1.17216332835000016.075610470098331-1.17216332835000016.075609147183333-1.09744508915000076.122277178666667-1.1074711091576676.160232844737334-1.13480398826416726.174078340835833-1.16225623840083376.160232844737334-1.17216293147550076.122277178666667-1.16225623840083376.084202097468666-1.13480398826416726.070475972400334-1.1074711091576676.084202097468666-1.09744508915000076.122277178666667-1.09744508915000076.122277178666667-1.09744508915000076.122277178666667-1.17216332835000016.0756091471833330.00.00.01.00.00.0-0.95302201762833366.185299041282834-0.95302201762833366.164530819183667-0.9723579196570016.171692287244666-0.99312614175616726.174079443265-1.01771379584900036.1690664332611655-1.02583014395700066.1540273591525-1.01998158083916726.141972252117834-0.99646817782350086.133736577076833-0.98894864076916736.132065603140332-0.95576724264200076.117862038048499-0.94586054956733396.092438874938834-0.96066088161566756.062957537775166-1.0011231188340016.052096008750666-1.02356231486966756.054244466807832-1.04803064202950026.060451054821832-1.04803064202950026.083128992917834-1.02403975489316776.073580368836501-1.00064567881050076.0704770748295-0.97677416270433366.075728826893665-0.96841911663316676.090767856905165-0.97450637771416766.1044939819735005-1.00088437677366736.113684537061499-1.00852328485816736.115474882028165-1.03800457792466726.128604196042833-1.04707576198250096.153072523202665-1.03370770590756.182195747275833-0.9957520398368346.1924605093438325-0.97283535968050036.19067012028-0.95302201762833366.1852990412828340.00.00.01.00.00.0-4.9787543333333336.844868033333333-4.9545246666666676.844868033333333-4.9545246666666676.736610400000001-4.94414056.695312566666667-4.91048149999999956.682779983333334-4.8769426.695312566666667-4.8665578333333336.736610400000001-4.8665578333333336.844868033333333-4.84232816666666556.844868033333333-4.84232816666666556.733626450000001-4.8596351666666666.6809896166666665-4.91048149999999956.663205333333334-4.9615668333333336.6809896166666665-4.9787543333333336.7336264500000010.00.00.01.00.00.0-4.7729833333333336.825055-4.7729833333333336.758095166666667-4.74266649999999956.758095166666667-4.71664649999999956.766808283333334-4.70745583333333256.791634783333333-4.71664649999999956.816341949999999-4.74266649999999956.825055083333333-4.7729833333333336.825055-4.7970833333333336.844868333333333-4.74265616666666656.844868333333333-4.69741956.831261533333333-4.6820223333333336.7916346999999995-4.69741956.751769199999999-4.74265616666666656.7382817500000005-4.77297299999999956.7382817500000005-4.77297299999999956.666666666666667-4.7970833333333336.666666666666667-4.7970833333333336.844868333333333-4.7970833333333336.844868333333333-4.7729833333333336.8250550.00.00.01.00.00.0-4.6255666666666676.825055-4.6255666666666676.758095166666667-4.5952498333333336.758095166666667-4.5692298333333336.766808283333334-4.5600391666666676.791634783333333-4.5692298333333336.816341949999999-4.5952498333333336.825055083333333-4.6255666666666676.825055-4.6496833333333336.844868333333333-4.5952561666666676.844868333333333-4.55001956.831261533333333-4.5346223333333336.7916346999999995-4.55001956.751769199999999-4.5952561666666676.7382817500000005-4.6255736.7382817500000005-4.6255736.666666666666667-4.6496833333333336.666666666666667-4.6496833333333336.844868333333333-4.6496833333333336.844868333333333-4.6255666666666676.8250550.00.00.01.00.00.0-4.5022775000000016.844868033333333-4.3896036666666676.844868033333333-4.3896036666666676.824577183333334-4.4781671666666666.824577183333334-4.4781671666666666.771820983333333-4.3933036666666666.771820983333333-4.3933036666666666.75153015-4.4781671666666666.75153015-4.4781671666666666.686957516666666-4.3874551666666666.686957516666666-4.3874551666666666.666666666666667-4.50227756.6666666666666670.00.00.01.00.00.0-4.2633166666666666.750216666666668-4.24827749999999956.738997033333334-4.2334771666666666.715364199999999-4.2090166666666676.666666666666667-4.2349173333333336.666666666666667-4.2577146666666676.712380666666666-4.2749021666666666.736132833333333-4.2974608333333336.741981383333333-4.32371956.741981383333333-4.32371956.666666666666667-4.3478333333333336.666666666666667-4.3478333333333336.844868333333333-4.2934061666666676.844868333333333-4.24781156.832097033333334-4.2327723333333336.793544366666667-4.240656.765614533333333-4.2633286.750217349999999-4.2633166666666666.750216666666668-4.3237166666666676.825055-4.3237166666666676.761795333333334-4.2933998333333346.761795333333334-4.2671416.769792316666667-4.2581891666666676.793544483333333-4.2671416.817057983333332-4.2933998333333346.8250549666666664-4.3237166666666676.825055-4.3237166666666676.825055-4.2633166666666666.7502166666666680.00.00.01.00.00.0-3.30934233333333346.844868033333333-3.27341566666666676.844868033333333-3.22794033333333366.723600383333333-3.1822261666666676.844868033333333-3.14629950000000056.844868033333333-3.14629950000000056.666666666666667-3.1698130000000016.666666666666667-3.1698130000000016.823144883333333-3.2157658333333346.700922383333333-3.23999550000000056.700922383333333-3.2859481666666676.823144883333333-3.2859481666666676.666666666666667-3.30934233333333436.6666666666666670.00.00.01.00.00.0-3.1016666666666676.719423333333333-3.1016666666666676.8003480000000005-3.0797048333333346.8003480000000005-3.0797048333333346.720258833333332-3.07230466666666766.691732333333334-3.05010400000000066.68230305-3.0220548333333346.693642049999999-3.0116708333333346.724555716666667-3.0116708333333346.80034805-2.98970883333333376.80034805-2.98970883333333376.666666666666667-3.0116708333333346.666666666666667-3.0116708333333346.687196166666666-3.0302906666666676.6690536666666675-3.05475900000000026.663205183333334-3.0897308333333346.677528083333334-3.1016666666666686.719422749999999-3.1016666666666676.719423333333333-3.04639999999999986.80357-3.04639999999999986.80357-3.04639999999999986.80357-3.1016666666666676.7194233333333330.00.00.01.00.00.0-2.9444651666666676.852387583333333-2.92250333333333376.852387583333333-2.92250333333333376.666666666666667-2.9444651666666676.6666666666666670.00.00.01.00.00.0-2.85482756.838303350000001-2.85482756.800347533333333-2.8095908333333336.800347533333333-2.8095908333333336.78327935-2.85482756.78327935-2.85482756.710709733333332-2.8504111666666676.6897027499999995-2.83214956.685047783333334-2.8095908333333336.685047783333334-2.8095908333333336.666666666666667-2.83214956.666666666666667-2.8672406666666676.67609595-2.8769086666666676.710709733333332-2.8769086666666676.78327935-2.8930226.78327935-2.8930226.800347533333333-2.8769086666666676.800347533333333-2.8769086666666676.83830334999999940.00.00.01.00.00.0-2.78076.800348333333333-2.7587381666666676.800348333333333-2.7587381666666676.666666666666667-2.78076.666666666666667-2.78076.800348333333333-2.78076.852388333333333-2.7587381666666676.852388333333333-2.7587381666666676.824578000000001-2.78076.824578000000001-2.78076.852388333333333-2.78076.852388333333333-2.78076.8003483333333330.00.00.01.00.00.0-2.63508956.852387583333333-2.61312766666666676.852387583333333-2.61312766666666676.666666666666667-2.63508956.6666666666666670.00.00.01.00.00.0-2.5671666666666666.800348333333333-2.54520483333333356.800348333333333-2.54520483333333356.666666666666667-2.5671666666666666.666666666666667-2.5671666666666666.800348333333333-2.5671666666666666.852388333333333-2.54520483333333356.852388333333333-2.54520483333333356.824578000000001-2.5671666666666666.824578000000001-2.5671666666666666.852388333333333-2.5671666666666666.852388333333333-2.5671666666666666.8003483333333330.00.00.01.00.00.0-2.38813799999999966.7473526166666655-2.38813799999999966.666666666666667-2.41009983333333286.666666666666667-2.41009983333333286.746636466666667-2.41750016666666626.77504365-2.4397006666666666.7844729333333325-2.4677498333333336.773133933333335-2.47801449999999966.742220233333334-2.47801449999999966.666666666666667-2.5000958333333336.666666666666667-2.5000958333333336.800347533333333-2.47801449999999966.800347533333333-2.47801449999999966.77957925-2.45951399999999956.797602299999999-2.43480699999999976.803570199999999-2.39995449999999936.78924725-2.38813799999999966.7473526166666680.00.00.01.00.00.0-2.22998333333333286.738998333333332-2.22998333333333286.7282561166666675-2.3309601666666666.7282561166666675-2.31735333333333236.693642283333334-2.2832169999999996.681825849999999-2.25874849999999856.684929166666666-2.2351156666666656.694239083333334-2.2351156666666656.673470749999999-2.25934533333333136.665831850000001-2.28452983333333176.663206016666667-2.33525699999999866.681825849999999-2.35387683333333186.73219485-2.33621183333333136.78423485-2.2883493333333316.80357085-2.24573849999999766.786144516666667-2.2299833333333316.738998183333333-2.22998333333333286.738998333333332-2.25195000000000036.745443333333332-2.26209556.774208666666667-2.28811549999999956.784950883333333-2.31759683333333346.774566733333334-2.33024883333333356.745324066666668-2.25195000000000036.745443333333332-2.25195000000000036.745443333333332-2.22998333333333286.7389983333333320.00.00.01.00.00.0-3.28857416666666726.532747166666667-3.28857416666666726.4947913333333345-3.24333750000000046.4947913333333345-3.24333750000000046.477723166666667-3.28857416666666726.477723166666667-3.28857416666666726.4051535-3.2841578333333346.384146500000001-3.2658961666666676.3794915-3.24333750000000046.3794915-3.24333750000000046.3611103333333325-3.2658961666666676.3611103333333325-3.3009873333333346.370539666666668-3.31065533333333446.4051535-3.31065533333333446.477723166666667-3.3267686666666676.477723166666667-3.3267686666666676.4947913333333345-3.31065533333333446.4947913333333345-3.31065533333333446.5327471666666670.00.00.01.00.00.0-3.10009999999999946.4334333333333324-3.10009999999999946.4226911666666675-3.20107683333333266.4226911666666675-3.1874699999999996.3880773333333325-3.1533336666666666.376260833333333-3.1288651666666656.379364166666666-3.10523233333333166.388674166666665-3.10523233333333166.367905833333333-3.1294619999999986.360266833333332-3.15464649999999846.357640999999999-3.20537366666666526.376260833333333-3.22399349999999846.426629833333334-3.2063284999999986.478669999999999-3.15846599999999766.498006-3.11585516666666436.480579666666667-3.10009999999999766.4334333333333324-3.10009999999999946.4334333333333324-3.1220666666666676.439883333333333-3.13221216666666676.4686485000000005-3.1582321666666666.479390833333334-3.18771356.469006666666667-3.20036549999999986.439764-3.1220666666666676.439883333333333-3.1220666666666676.439883333333333-3.10009999999999946.43343333333333240.00.00.01.00.00.0-2.95723656.4947913333333345-3.00557649999999976.429741166666668-2.95472999999999966.3611103333333325-2.9806306666666666.3611103333333325-3.01954133333333236.413627833333334-3.05845199999999866.3611103333333325-3.08435266666666546.3611103333333325-3.03243199999999826.431054166666667-3.07993649999999836.4947913333333345-3.0540358333333326.4947913333333345-3.01858649999999876.447167500000001-2.98313716666666556.49479133333333450.00.00.01.00.00.0-2.90197383333333346.532747166666667-2.90197383333333346.4947913333333345-2.85673716666666656.4947913333333345-2.85673716666666656.477723166666667-2.90197383333333346.477723166666667-2.90197383333333346.4051535-2.89755766666666636.384146500000001-2.8792958333333336.3794915-2.85673716666666656.3794915-2.85673716666666656.3611103333333325-2.8792958333333336.3611103333333325-2.9143876.370539666666668-2.92405500000000056.4051535-2.92405500000000056.477723166666667-2.94016833333333336.477723166666667-2.94016833333333336.4947913333333345-2.92405500000000056.4947913333333345-2.92405500000000056.5327471666666670.00.00.01.00.00.0-3.30934233333333346.233755499999999-3.2069333333333336.233755499999999-3.2069333333333336.213464666666666-3.28523216666666646.213464666666666-3.28523216666666646.160947166666667-3.21457216666666626.160947166666667-3.21457216666666626.140656333333334-3.28523216666666646.140656333333334-3.28523216666666646.055554166666665-3.30934233333333346.0555541666666650.00.00.01.00.00.0-3.09646.2174-3.13817533333333386.197825333333332-3.15357250000000066.144472333333332-3.13817533333333386.091238666666667-3.09646.071664-3.05486356.091238666666667-3.0394663333333336.144472333333332-3.05486356.197825333333332-3.09646.2174-3.09646.2174-3.09646.236983333333334-3.03648233333333336.211798833333334-3.0140436.144481-3.03648233333333336.077163166666666-3.09646.052098000000001-3.15655656.077163166666666-3.17899566666666636.144481-3.15655656.211798833333334-3.09646.236983333333334-3.09646.236983333333334-3.09646.236983333333334-3.09646.21740.00.00.01.00.00.0-2.90400000000000046.2174-2.94577516666666656.197825333333332-2.96117233333333336.144472333333332-2.94577516666666656.091238666666667-2.90400000000000046.071664-2.8624633333333336.091238666666667-2.8470661666666666.144472333333332-2.8624633333333336.197825333333332-2.90400000000000046.2174-2.90400000000000046.2174-2.90400000000000046.236983333333334-2.84408216666666656.211798833333334-2.82164300000000036.144481-2.84408216666666656.077163166666666-2.90400000000000046.052098000000001-2.96415633333333346.077163166666666-2.98659566666666666.144481-2.96415633333333346.211798833333334-2.90400000000000046.236983333333334-2.90400000000000046.236983333333334-2.90400000000000046.236983333333334-2.90400000000000046.21740.00.00.01.00.00.00.145490883333332966.6920886666666660.145490883333332966.7399511666666670.10610278333333276.7399511666666670.10610278333333276.7597646666666660.16936246666666656.7597646666666660.16936246666666656.6832561666666660.138568133333332826.66821716666666650.102641399999999796.6632041666666660.037233266666666516.6875531666666650.0137197499999994466.7555871666666660.037233266666666516.82362116666666550.102641399999999796.84808949999999950.135703533333332886.8437926666666650.164707516666665786.8311406666666660.164707516666665786.8054786666666670.136300333333332446.8225468333333330.104670483333332726.8282761666666660.055495016666666676.8100143333333330.0391429833333328746.7555871666666670.055495016666666676.7012793333333340.104670483333332726.68301750.127467849999999336.6851660.00.00.01.00.00.00.28991396666666566.7798168333333320.281797616666665366.7829201666666680.27224898333333276.78399350.24360308333333296.7718190000000020.23369638333333196.7370858333333330.23369638333333196.6666646666666680.211615166666666726.6666646666666680.211615166666666726.80034550.23369638333333196.80034550.23369638333333196.7795771666666670.251719433333333136.7976003333333330.27869431666666556.8035681666666660.28370734999999936.8032098333333330.2897945999999996.80237483333333250.00.00.01.00.00.00.359379999999998766.7849499999999990.33145016666666536.7711045000000020.321185383333333136.7333873333333340.331330816666665366.6955510.359379983333334046.6818248333333340.3871903166666666.6956703333333340.397455100000000066.7333873333333340.3871903166666666.7709851666666660.359379983333334046.7849499999999990.359379999999998766.7849499999999990.359379999999998766.8035666666666660.404377999999998856.7849468333333340.420730033333332646.7333841666666670.404377999999998856.6818216666666670.359379999999998766.6632018333333330.31426266666666536.6818216666666670.298029983333333366.7333841666666670.31426266666666536.7849468333333340.359379999999998766.8035666666666660.359379999999998766.8035666666666660.359379999999998766.8035666666666660.359379999999998766.7849499999999990.00.00.01.00.00.00.454866666666665256.7194166666666660.454866666666665256.8003413333333340.476828499999999166.8003413333333340.476828499999999166.72025216666666750.48422869999999996.6917256666666660.50642920000000056.68229633333333250.53447836666666716.6936353333333330.54486249999999936.7245490.54486249999999936.8003413333333320.56682433333333326.8003413333333320.56682433333333326.6666605000000010.54486249999999936.6666605000000010.54486249999999936.687190.5262426666666676.6690476666666660.50177433333333296.6631991666666680.46680256.6775219999999990.454866716666667066.7194166666666660.454866666666665256.7194166666666660.510136.8035666666666660.510136.8035666666666660.510136.8035666666666660.454866666666665256.7194166666666660.00.00.01.00.00.00.63330666666666586.6867166666666660.63330666666666586.6158180.61122499999999986.6158180.61122499999999986.8003499999999990.63330666666666586.8003499999999990.63330666666666586.7800591666666660.65073283333333246.7977241666666660.67603666666666616.8035726666666660.71554416666666616.7842366666666680.7308219833333326.7333901666666670.71554416666666616.6825436666666670.67603666666666616.6632078333333330.65073283333333246.6689370.63330666666666586.6867213333333330.63330666666666586.6867166666666660.70802499999999976.7333833333333320.69799893333333416.77133916666666650.67066593333333356.7851846666666670.64321359999999956.77133916666666650.63330690000000056.7333833333333320.64321359999999956.6953081666666660.67066593333333356.6815820.69799893333333416.6953081666666660.70802499999999976.7333833333333320.70802499999999976.7333833333333320.70802499999999976.7333833333333320.63330666666666586.6867166666666660.00.00.01.00.00.00.88156666666666676.7390000000000010.88156666666666676.7282578333333330.78058983333333266.7282578333333330.79419666666666636.6936440000000010.82833299999999976.6818276666666670.85280133333333396.6849308333333340.87643416666666666.6942408333333340.87643416666666666.6734725000000010.85220449999999916.6658336666666670.82702000000000086.6632078333333350.77629300000000026.6818276666666670.75767316666666616.7321966666666680.77533799999999936.7842366666666680.82320066666666596.8035726666666680.86581133333333286.7861463333333330.88156666666666676.7390000000000010.88156666666666676.7390000000000010.85961666666666666.7454333333333340.8494711666666666.7741986666666660.82345116666666636.7849408333333340.79396983333333356.7745566666666660.78131783333333266.7453140.85961666666666666.7454333333333340.85961666666666666.7454333333333340.88156666666666676.7390000000000010.00.00.01.00.00.01.0055833333333346.780051.0055833333333346.8523808333333321.0275451666666666.8523808333333321.0275451666666666.6666591666666661.0055833333333346.6666591666666661.0055833333333346.6867113333333330.98803783333333216.6689270.96273383333333236.6631978333333330.92322633333333216.6825336666666660.90806799999999916.7333801666666660.92322633333333216.7842266666666660.96273383333333236.8035626666666660.98803783333333216.7977141666666661.0055833333333346.7800491666666671.0055833333333346.780050.93075000000000046.7333833333333320.94065666666666636.6953081666666660.96810900000000026.6815820.99556133333333236.6953081666666661.00558733333333346.7333833333333320.99556133333333236.77133916666666650.96810900000000026.7851846666666670.94065666666666636.77133916666666650.93075000000000046.7333833333333320.93075000000000046.7333833333333320.93075000000000046.7333833333333321.0055833333333346.780050.00.00.01.00.00.00.04475286666666616.3383021666666670.04475286666666616.3003463333333330.089989516666666236.3003463333333330.089989516666666236.28327816666666550.04475286666666616.28327816666666550.04475286666666616.21070850.049169116666665986.1897014999999990.067430883333332766.1850466666666670.089989516666666236.1850466666666670.089989516666666236.1666654999999990.067430883333332766.1666654999999990.032339650000000126.1760948333333340.0226716666666665876.21070850.0226716666666665876.28327816666666550.0065583499999992986.28327816666666550.0065583499999992986.30034633333333450.0226716666666665876.30034633333333450.0226716666666665876.3383021666666670.00.00.01.00.00.00.233218333333333786.2390000000000010.233218333333333786.2282578333333330.13224149999999976.2282578333333330.145848316666666736.1936440000000010.17998465000000016.1818276666666670.204452983333332376.1849308333333340.228085816666667086.1942408333333340.228085816666667086.1734725000000010.203856149999999546.1658336666666670.178671649999999246.1632078333333330.12794448333333346.1818276666666670.109324650000000186.2321966666666680.126989649999999686.2842366666666680.174852156.3035726666666660.21746298333333326.2861463333333330.233218233333332146.2390000000000010.233218333333333786.2390000000000010.211256666666666126.2454333333333340.2011112333333326.2741986666666660.17509123333333326.2849408333333340.145609899999999466.2745566666666660.13295794999999946.2453140.211256666666666126.2454333333333340.211256666666666126.2454333333333340.233218333333333786.2390000000000010.00.00.01.00.00.00.376090456.30034633333333450.32775056.2352963333333340.378596966666666876.16666550000000150.352696300000000466.16666550000000150.313785616666666546.2191830.27487493333333276.16666550000000150.248974266666666226.16666550000000150.300894966666665656.2366091666666670.25339051666666526.30034633333333450.279291183333333476.30034633333333450.31474048333333266.2527225000000010.350189783333333566.30034633333333450.00.00.01.00.00.00.431353149999999136.3383021666666670.431353149999999136.3003463333333330.47658979999999936.3003463333333330.47658979999999936.28327816666666550.431353149999999136.28327816666666550.431353149999999136.21070850.435769383333333376.1897014999999990.45403114999999926.1850466666666670.47658979999999936.1850466666666670.47658979999999936.1666654999999990.45403114999999926.1666654999999990.41893991666666666.1760948333333340.409271933333332066.21070850.409271933333332066.28327816666666550.39315861666666676.28327816666666550.39315861666666676.30034633333333450.409271933333332066.30034633333333450.409271933333332066.3383021666666670.00.00.50196078431372551.00.00.0-6.6666666666666675.0-5.05.0-5.03.3333333333333335-6.6666666666666673.33333333333333351.00.00.01.00.00.0-3.33333333333333355.00.05.00.03.3333333333333335-3.33333333333333353.33333333333333351.01.00.01.00.00.02.41572049999999955.04.2509461666666675.05.04.3508200000000015.03.98251333333333474.2509461666666673.33333333333333352.41572049999999953.33333333333333351.66666666666666673.98251333333333471.66666666666666674.3508200000000010.00.50196078431372550.01.00.00.02.41572049999999955.04.2509461666666675.05.04.3508200000000015.03.98251333333333474.2509461666666673.33333333333333352.41572049999999953.33333333333333351.66666666666666673.98251333333333471.66666666666666674.350820000000001 \ No newline at end of file diff --git a/share/extensions/tests/data/refs/tar_layers.out b/share/extensions/tests/data/refs/tar_layers.out new file mode 100644 index 0000000..50ce2ee Binary files /dev/null and b/share/extensions/tests/data/refs/tar_layers.out differ diff --git a/share/extensions/tests/data/refs/tar_layers__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/tar_layers__--id__p1__--id__r3.out new file mode 100644 index 0000000..50ce2ee Binary files /dev/null and b/share/extensions/tests/data/refs/tar_layers__--id__p1__--id__r3.out differ diff --git a/share/extensions/tests/data/refs/template__--size__100x50__--grid__true__--orientation__horizontal.out b/share/extensions/tests/data/refs/template__--size__100x50__--grid__true__--orientation__horizontal.out new file mode 100644 index 0000000..6a0bbf9 --- /dev/null +++ b/share/extensions/tests/data/refs/template__--size__100x50__--grid__true__--orientation__horizontal.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/template__--size__100x50__--grid__true__--orientation__vertical.out b/share/extensions/tests/data/refs/template__--size__100x50__--grid__true__--orientation__vertical.out new file mode 100644 index 0000000..ad7607e --- /dev/null +++ b/share/extensions/tests/data/refs/template__--size__100x50__--grid__true__--orientation__vertical.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/template__--size__5mmx15mm__--background__black__--noborder__true.out b/share/extensions/tests/data/refs/template__--size__5mmx15mm__--background__black__--noborder__true.out new file mode 100644 index 0000000..5b92e4d --- /dev/null +++ b/share/extensions/tests/data/refs/template__--size__5mmx15mm__--background__black__--noborder__true.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/template__--size__custom__--width__100__--height__100__--unit__in.out b/share/extensions/tests/data/refs/template__--size__custom__--width__100__--height__100__--unit__in.out new file mode 100644 index 0000000..fb3d8ad --- /dev/null +++ b/share/extensions/tests/data/refs/template__--size__custom__--width__100__--height__100__--unit__in.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/template_dvd_cover__-s__10__-b__10.out b/share/extensions/tests/data/refs/template_dvd_cover__-s__10__-b__10.out new file mode 100644 index 0000000..131054a --- /dev/null +++ b/share/extensions/tests/data/refs/template_dvd_cover__-s__10__-b__10.out @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/template_seamless_pattern__--width__100__--height__100.out b/share/extensions/tests/data/refs/template_seamless_pattern__--width__100__--height__100.out new file mode 100644 index 0000000..ccb26ab --- /dev/null +++ b/share/extensions/tests/data/refs/template_seamless_pattern__--width__100__--height__100.out @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Seamless pattern + Use the layers "Pattern Foreground" and "Pattern Background" on the pattern page to create your design. The separation into two layers will make it easier for you to create and edit overlapping content like a foreground drawing with a background fill. The layer named "Pattern" is for using the seamless pattern, copying it to other documents, adding opacity etc. Select the group on the page, and use Object->Pattern->Objects to Pattern to convert your creation into a fill pattern. The layer "Preview Background" provides an easy way to preview your creation if it contains transparency.Changing this layer's visibility will not alter the pattern. If an object is moved outside the pattern/page limits, it will be difficult to select it. To move it back onto the page, select the object using the rubberband selection (click and drag a selection box) with the selection tool.Then move it back onto the page, using the arrow keys or the "Align and Distribute" dialog (Shift+Ctrl+A). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Seamless Pattern + Seamless Pattern + Seamless Pattern + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/test_color_list.out b/share/extensions/tests/data/refs/test_color_list.out new file mode 100644 index 0000000..12d8497 --- /dev/null +++ b/share/extensions/tests/data/refs/test_color_list.out @@ -0,0 +1,10 @@ +7: red +7: #729fcf +7: #3465a4 +7: #000000 +6: #75507b +5: #cc0000 +4: #5c3566 +4: blue +3: #2e3436 +3: #123456 diff --git a/share/extensions/tests/data/refs/test_color_list__--id__color_svg.out b/share/extensions/tests/data/refs/test_color_list__--id__color_svg.out new file mode 100644 index 0000000..e4a6102 --- /dev/null +++ b/share/extensions/tests/data/refs/test_color_list__--id__color_svg.out @@ -0,0 +1,10 @@ +5: red +5: #729fcf +5: #3465a4 +4: #75507b +4: #000000 +3: #5c3566 +3: blue +3: #cc0000 +2: #2e3436 +2: #123456 diff --git a/share/extensions/tests/data/refs/test_color_list__--id__r1.out b/share/extensions/tests/data/refs/test_color_list__--id__r1.out new file mode 100644 index 0000000..7afd4b9 --- /dev/null +++ b/share/extensions/tests/data/refs/test_color_list__--id__r1.out @@ -0,0 +1,3 @@ +1: #5c3566 +1: #75507b +1: red diff --git a/share/extensions/tests/data/refs/test_color_list__--id__r1__--id__r2.out b/share/extensions/tests/data/refs/test_color_list__--id__r1__--id__r2.out new file mode 100644 index 0000000..67efc55 --- /dev/null +++ b/share/extensions/tests/data/refs/test_color_list__--id__r1__--id__r2.out @@ -0,0 +1,10 @@ +3: red +3: #729fcf +3: #3465a4 +2: #5c3566 +2: #75507b +2: blue +1: #2e3436 +1: #cc0000 +1: #000000 +1: #123456 diff --git a/share/extensions/tests/data/refs/test_color_list__--id__r2.out b/share/extensions/tests/data/refs/test_color_list__--id__r2.out new file mode 100644 index 0000000..0803b0f --- /dev/null +++ b/share/extensions/tests/data/refs/test_color_list__--id__r2.out @@ -0,0 +1,6 @@ +1: #5c3566 +1: #75507b +1: red +1: #729fcf +1: #3465a4 +1: blue diff --git a/share/extensions/tests/data/refs/test_color_list__--id__r3.out b/share/extensions/tests/data/refs/test_color_list__--id__r3.out new file mode 100644 index 0000000..168ffca --- /dev/null +++ b/share/extensions/tests/data/refs/test_color_list__--id__r3.out @@ -0,0 +1,8 @@ +2: red +1: #5c3566 +1: #75507b +1: #729fcf +1: #3465a4 +1: blue +1: #2e3436 +1: #cc0000 diff --git a/share/extensions/tests/data/refs/test_color_list__--id__r4.out b/share/extensions/tests/data/refs/test_color_list__--id__r4.out new file mode 100644 index 0000000..3745888 --- /dev/null +++ b/share/extensions/tests/data/refs/test_color_list__--id__r4.out @@ -0,0 +1,10 @@ +2: red +2: #729fcf +2: #3465a4 +1: #5c3566 +1: #75507b +1: blue +1: #2e3436 +1: #cc0000 +1: #000000 +1: #123456 diff --git a/share/extensions/tests/data/refs/text_braille.out b/share/extensions/tests/data/refs/text_braille.out new file mode 100644 index 0000000..52cfd76 --- /dev/null +++ b/share/extensions/tests/data/refs/text_braille.out @@ -0,0 +1,41 @@ + +⠀⠀ +⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀ +⠀⠀ +⠀⠀ +⠀⠀⠀⠀ +⠀⠀ +⠀⠀ +⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠋⠕⠗⠍⠁⠞⠱⠀⠏⠝⠛ +⠙⠏⠊⠱⠀⠔⠖ +⠇⠁⠽⠕⠥⠞⠤⠙⠊⠎⠏⠕⠎⠊⠞⠊⠕⠝⠱⠀⠃⠛⠤⠑⠇⠤⠝⠕⠗⠑⠏⠑⠁⠞ +⠇⠁⠽⠕⠥⠞⠤⠏⠕⠎⠊⠞⠊⠕⠝⠤⠁⠝⠉⠓⠕⠗⠱⠀⠞⠇ +⠀⠀⠀⠀ +⠀⠀ +⠀⠀ +⠀⠀⠀⠀ +⠀⠀⠀⠀ +⠀⠀⠀⠀ +⠀⠀⠀⠀ +⠀⠀⠀⠀ +⠀⠀⠀⠀ +⠀⠀⠀⠀ +⠀⠀ +⠀⠀ +⠀⠀⠀⠀⠓⠑⠇⠇⠕⠀⠺⠕⠗⠇⠙ +⠀⠀⠀⠀⠋⠇⠕⠺⠀⠞⠑⠭⠞⠀⠺⠓⠊⠉⠓⠀⠺⠗⠁⠏⠎⠀⠀⠀⠀⠥⠏⠏⠑⠗ +⠀⠀⠀⠀⠍⠥⠇⠞⠊⠀⠇⠊⠝⠑⠞⠑⠭⠞⠋⠕⠕ +⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠛⠗⠕⠥⠏⠑⠙ +⠀⠀⠀⠀⠀⠀⠞⠑⠭⠞ +⠀⠀⠀⠀ +⠀⠀⠀⠀ +⠀⠀⠀⠀ +⠀⠀⠀⠀ +⠀⠀ +⠀⠀ + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_extract__--direction__bt__--xanchor__center_x__--yanchor__center_y.out b/share/extensions/tests/data/refs/text_extract__--direction__bt__--xanchor__center_x__--yanchor__center_y.out new file mode 100644 index 0000000..6c3dac7 --- /dev/null +++ b/share/extensions/tests/data/refs/text_extract__--direction__bt__--xanchor__center_x__--yanchor__center_y.out @@ -0,0 +1,8 @@ +text +Grouped +Multi line +text +FOO +flow text which wraps +UPPER +Hello World diff --git a/share/extensions/tests/data/refs/text_extract__--direction__lr__--xanchor__center_x__--yanchor__center_y.out b/share/extensions/tests/data/refs/text_extract__--direction__lr__--xanchor__center_x__--yanchor__center_y.out new file mode 100644 index 0000000..2eec938 --- /dev/null +++ b/share/extensions/tests/data/refs/text_extract__--direction__lr__--xanchor__center_x__--yanchor__center_y.out @@ -0,0 +1,8 @@ +Grouped +text +Hello World +UPPER +Multi line +text +FOO +flow text which wraps diff --git a/share/extensions/tests/data/refs/text_extract__--direction__rl__--xanchor__center_x__--yanchor__center_y.out b/share/extensions/tests/data/refs/text_extract__--direction__rl__--xanchor__center_x__--yanchor__center_y.out new file mode 100644 index 0000000..bc3ed2e --- /dev/null +++ b/share/extensions/tests/data/refs/text_extract__--direction__rl__--xanchor__center_x__--yanchor__center_y.out @@ -0,0 +1,8 @@ +flow text which wraps +Multi line +text +FOO +UPPER +Hello World +text +Grouped diff --git a/share/extensions/tests/data/refs/text_extract__--direction__tb__--xanchor__center_x__--yanchor__center_y.out b/share/extensions/tests/data/refs/text_extract__--direction__tb__--xanchor__center_x__--yanchor__center_y.out new file mode 100644 index 0000000..3634b71 --- /dev/null +++ b/share/extensions/tests/data/refs/text_extract__--direction__tb__--xanchor__center_x__--yanchor__center_y.out @@ -0,0 +1,8 @@ +Hello World +UPPER +flow text which wraps +Multi line +text +FOO +Grouped +text diff --git a/share/extensions/tests/data/refs/text_flipcase.out b/share/extensions/tests/data/refs/text_flipcase.out new file mode 100644 index 0000000..cd9ebc3 --- /dev/null +++ b/share/extensions/tests/data/refs/text_flipcase.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + FORMAT: PNG +DPI: 96 +LAYOUT-DISPOSITION: BG-EL-NOREPEAT +LAYOUT-POSITION-ANCHOR: TL + + + + + + + + + + + + + hELLO wORLD + FLOW TEXT WHICH WRAPS upper + mULTI LINETEXTfoo + + gROUPED + TEXT + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_lowercase.out b/share/extensions/tests/data/refs/text_lowercase.out new file mode 100644 index 0000000..b492bd3 --- /dev/null +++ b/share/extensions/tests/data/refs/text_lowercase.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + hello world + flow text which wraps upper + multi linetextfoo + + grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_merge.out b/share/extensions/tests/data/refs/text_merge.out new file mode 100644 index 0000000..0d42bf7 --- /dev/null +++ b/share/extensions/tests/data/refs/text_merge.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + GroupedtextHello WorldUPPERMulti linetextFOOflow text which wraps + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_randomcase.out b/share/extensions/tests/data/refs/text_randomcase.out new file mode 100644 index 0000000..7291480 --- /dev/null +++ b/share/extensions/tests/data/refs/text_randomcase.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + fOrmAT: pNg +DpI: 96 +lAyOUT-DiSpOSiTioN: BG-eL-nOrEPeAt +LayouT-pOsitIOn-ANcHoR: tl + + + + + + + + + + + + + HEllO wOrLD + fLoW TexT WhIch wraPs upPEr + mUlTi lInEtEXtFoo + + GrouPeD + teXt + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_sentencecase.out b/share/extensions/tests/data/refs/text_sentencecase.out new file mode 100644 index 0000000..9968709 --- /dev/null +++ b/share/extensions/tests/data/refs/text_sentencecase.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + Format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello world + Flow text which wraps Upper + Multi linetextfoo + + Grouped + Text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_split__5478757cb04224bacfa3c641fea954ba.out b/share/extensions/tests/data/refs/text_split__5478757cb04224bacfa3c641fea954ba.out new file mode 100644 index 0000000..13a8cdc --- /dev/null +++ b/share/extensions/tests/data/refs/text_split__5478757cb04224bacfa3c641fea954ba.out @@ -0,0 +1,28 @@ + + + + + + + This is a regular textWith a line break.This is regular textwith a line breakand some transforms.This is an SVG2 flowed text. (inline size) +This is a line break inside that text.This is a text with kerns adjusted in tspans(as Inkscape does it)This is an SVG1.2 flowed text (flowroot)And this is a linebreak inside.inside.linebreakaisthisAnd(flowroot)textflowedSVG1.2anisThis + This is an SVG1.2 flowed textWith absolute line-heightline-heightabsoluteWithtextflowedSVG1.2anisThis + This is an SVG1.2 flowed textwithout line height.height.linewithouttextflowedSVG1.2anisThis + 0.50.10.10.10.34.20.54.30.14.5This is a text with direction:rtl This is an SVG2 flowed text (shape inside)This is a test document containing different transformed text elements that were created using different methods.The containing layer has a transform applied as well. + break.lineaWithtextregularaisThis + + transforms.someandbreaklineawithtextregularisThis + + text.thatinsidebreaklineaisThise) +size(inlintext.flowedSVG2anisThis + + it)doesInkscape(astspansinadjustedkernswithtextaisThis + + 4.50.14.30.54.20.30.10.10.10.5 + + direction:rtlwithtextaisThis + + inside)(shapetextflowedSVG2anisThis + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_split__74947d6e9e9ee89a80bbec0bfacc6dfb.out b/share/extensions/tests/data/refs/text_split__74947d6e9e9ee89a80bbec0bfacc6dfb.out new file mode 100644 index 0000000..325c2e5 --- /dev/null +++ b/share/extensions/tests/data/refs/text_split__74947d6e9e9ee89a80bbec0bfacc6dfb.out @@ -0,0 +1,28 @@ + + + + + + + This is a regular textWith a line break.This is regular textwith a line breakand some transforms.This is an SVG2 flowed text. (inline size) +This is a line break inside that text.This is a text with kerns adjusted in tspans(as Inkscape does it)This is an SVG1.2 flowed text (flowroot)And this is a linebreak inside..edisni kaerbenil a si siht dnA)toorwolf( txet dewolf 2.1GVS na si sihT + This is an SVG1.2 flowed textWith absolute line-heightthgieh-enil etulosba htiWtxet dewolf 2.1GVS na si sihT + This is an SVG1.2 flowed textwithout line height..thgieh enil tuohtiwtxet dewolf 2.1GVS na si sihT + 0.50.10.10.10.34.20.54.30.14.5This is a text with direction:rtl This is an SVG2 flowed text (shape inside)This is a test document containing different transformed text elements that were created using different methods.The containing layer has a transform applied as well. + .kaerb enil a htiWtxet raluger a si sihT + + .smrofsnart emos dnakaerb enil a htiwtxet raluger si sihT + + .txet taht edisni kaerb enil a si sihT +)ezis enilni( .txet dewolf 2GVS na si sihT + + )ti seod epacsknI sa(snapst ni detsujda snrek htiw txet a si sihT + + 5.41.03.45.02.43.01.01.01.05.0 + + ltr:noitcerid htiw txet a si sihT + + )edisni epahs( txet dewolf 2GVS na si sihT + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_split__897ab8b3c516acacaf68391a51eb8836.out b/share/extensions/tests/data/refs/text_split__897ab8b3c516acacaf68391a51eb8836.out new file mode 100644 index 0000000..cca50e7 --- /dev/null +++ b/share/extensions/tests/data/refs/text_split__897ab8b3c516acacaf68391a51eb8836.out @@ -0,0 +1,27 @@ + + + + + + + inside.linebreakaisthisAnd(flowroot)textflowedSVG1.2anisThis + line-heightabsoluteWithtextflowedSVG1.2anisThis + height.linewithouttextflowedSVG1.2anisThis + This is a test document containing different transformed text elements that were created using different methods.The containing layer has a transform applied as well. + break.lineaWithtextregularaisThis + + transforms.someandbreaklineawithtextregularisThis + + text.thatinsidebreaklineaisThise) +size(inlintext.flowedSVG2anisThis + + it)doesInkscape(astspansinadjustedkernswithtextaisThis + + .541.03.45.02.43.01.01.01.05.0 + + direction:rtlwithtextaisThis + + inside)(shapetextflowedSVG2anisThis + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_split__ad318803d098b3903561d44825a36ea0.out b/share/extensions/tests/data/refs/text_split__ad318803d098b3903561d44825a36ea0.out new file mode 100644 index 0000000..ccd31f3 --- /dev/null +++ b/share/extensions/tests/data/refs/text_split__ad318803d098b3903561d44825a36ea0.out @@ -0,0 +1,45 @@ + + + + + + + This is a regular textWith a line break.This is regular textwith a line breakand some transforms.This is an SVG2 flowed text. (inline size) +This is a line break inside that text.This is a text with kerns adjusted in tspans(as Inkscape does it)This is an SVG1.2 flowed text (flowroot)And this is a linebreak inside.And this is a linebreak inside.This is an SVG1.2 flowed text (flowroot) + + This is an SVG1.2 flowed textWith absolute line-heightWith absolute line-heightThis is an SVG1.2 flowed text + + This is an SVG1.2 flowed textwithout line height.without line height.This is an SVG1.2 flowed text + + 0.50.10.10.10.34.20.54.30.14.5This is a text with direction:rtl This is an SVG2 flowed text (shape inside)This is a test document containing different transformed text elements that were created using different methods.The containing layer has a transform applied as well. + With a line break.This is a regular text + + + + and some transforms.with a line breakThis is regular text + + + + text.break inside that This is a line (inline size) +flowed text. This is an SVG2 + + + + (as Inkscape does it)This is a text with kerns adjusted in tspans + + + + 0.50.10.10.10.34.20.54.30.14.5 + + + + This is a text with direction:rtl + + + + inside)flowed text (shape This is an SVG2 + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_split__c242adcac78228419d3c065a99727bfb.out b/share/extensions/tests/data/refs/text_split__c242adcac78228419d3c065a99727bfb.out new file mode 100644 index 0000000..f356a08 --- /dev/null +++ b/share/extensions/tests/data/refs/text_split__c242adcac78228419d3c065a99727bfb.out @@ -0,0 +1,44 @@ + + + + + + + And this is a linebreak inside.This is an SVG1.2 flowed text (flowroot) + + With absolute line-heightThis is an SVG1.2 flowed text + + without line height.This is an SVG1.2 flowed text + + This is a test document containing different transformed text elements that were created using different methods.The containing layer has a transform applied as well. + With a line break.This is a regular text + + + + and some transforms.with a line breakThis is regular text + + + + text.break inside that This is a line (inline size) +flowed text. This is an SVG2 + + + + (as Inkscape does it)This is a text with kerns adjusted in tspans + + + + 0.50.10.10.10.34.20.54.30.14.5 + + + + This is a text with direction:rtl + + + + inside)flowed text (shape This is an SVG2 + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_split__d8b155ac58a7424471f416b64f21669f.out b/share/extensions/tests/data/refs/text_split__d8b155ac58a7424471f416b64f21669f.out new file mode 100644 index 0000000..6611d26 --- /dev/null +++ b/share/extensions/tests/data/refs/text_split__d8b155ac58a7424471f416b64f21669f.out @@ -0,0 +1,27 @@ + + + + + + + inside.linebreakaisthisAnd(flowroot)textflowedSVG1.2anisThis + line-heightabsoluteWithtextflowedSVG1.2anisThis + height.linewithouttextflowedSVG1.2anisThis + This is a test document containing different transformed text elements that were created using different methods.The containing layer has a transform applied as well. + break.lineaWithtextregularaisThis + + transforms.someandbreaklineawithtextregularisThis + + text.thatinsidebreaklineaisThise) +size(inlintext.flowedSVG2anisThis + + it)doesInkscape(astspansinadjustedkernswithtextaisThis + + 4.50.14.30.54.20.30.10.10.10.5 + + direction:rtlwithtextaisThis + + inside)(shapetextflowedSVG2anisThis + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_split__dd77d3cc0134ad62833e05ca73e38896.out b/share/extensions/tests/data/refs/text_split__dd77d3cc0134ad62833e05ca73e38896.out new file mode 100644 index 0000000..f71324f --- /dev/null +++ b/share/extensions/tests/data/refs/text_split__dd77d3cc0134ad62833e05ca73e38896.out @@ -0,0 +1,27 @@ + + + + + + + .edisni kaerbenil a si siht dnA)toorwolf( txet dewolf 2.1GVS na si sihT + thgieh-enil etulosba htiWtxet dewolf 2.1GVS na si sihT + .thgieh enil tuohtiwtxet dewolf 2.1GVS na si sihT + This is a test document containing different transformed text elements that were created using different methods.The containing layer has a transform applied as well. + .kaerb enil a htiWtxet raluger a si sihT + + .smrofsnart emos dnakaerb enil a htiwtxet raluger si sihT + + .txet taht edisni kaerb enil a si sihT +)ezis enilni( .txet dewolf 2GVS na si sihT + + )ti seod epacsknI sa(snapst ni detsujda snrek htiw txet a si sihT + + 5.41.03.45.02.43.01.01.01.05.0 + + ltr:noitcerid htiw txet a si sihT + + )edisni epahs( txet dewolf 2GVS na si sihT + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_titlecase.out b/share/extensions/tests/data/refs/text_titlecase.out new file mode 100644 index 0000000..1e0b50f --- /dev/null +++ b/share/extensions/tests/data/refs/text_titlecase.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + Format: Png +Dpi: 96 +Layout-disposition: Bg-el-norepeat +Layout-position-anchor: Tl + + + + + + + + + + + + + Hello World + Flow Text Which Wraps Upper + Multi LineTextFoo + + Grouped + Text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/text_uppercase.out b/share/extensions/tests/data/refs/text_uppercase.out new file mode 100644 index 0000000..9532266 --- /dev/null +++ b/share/extensions/tests/data/refs/text_uppercase.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + FORMAT: PNG +DPI: 96 +LAYOUT-DISPOSITION: BG-EL-NOREPEAT +LAYOUT-POSITION-ANCHOR: TL + + + + + + + + + + + + + HELLO WORLD + FLOW TEXT WHICH WRAPS UPPER + MULTI LINETEXTFOO + + GROUPED + TEXT + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/triangle.out b/share/extensions/tests/data/refs/triangle.out new file mode 100644 index 0000000..82ff731 --- /dev/null +++ b/share/extensions/tests/data/refs/triangle.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/triangle__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/triangle__--id__p1__--id__r3.out new file mode 100644 index 0000000..82ff731 --- /dev/null +++ b/share/extensions/tests/data/refs/triangle__--id__p1__--id__r3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/ungroup_deep.out b/share/extensions/tests/data/refs/ungroup_deep.out new file mode 100644 index 0000000..738cc6b --- /dev/null +++ b/share/extensions/tests/data/refs/ungroup_deep.out @@ -0,0 +1,33 @@ + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + Grouped + text + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/ungroup_deep__--id__g13.out b/share/extensions/tests/data/refs/ungroup_deep__--id__g13.out new file mode 100644 index 0000000..87c089e --- /dev/null +++ b/share/extensions/tests/data/refs/ungroup_deep__--id__g13.out @@ -0,0 +1,16 @@ + + + + + + + image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/ungroup_deep__--id__g1935__--id__g6577__--id__g115.out b/share/extensions/tests/data/refs/ungroup_deep__--id__g1935__--id__g6577__--id__g115.out new file mode 100644 index 0000000..ab21922 --- /dev/null +++ b/share/extensions/tests/data/refs/ungroup_deep__--id__g1935__--id__g6577__--id__g115.out @@ -0,0 +1,19 @@ + + + + + + + + + + + + Path with clip-path:none + Path with nested transforms + Transformed group withtransformed clip-path + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/ungroup_deep__--id__layer2.out b/share/extensions/tests/data/refs/ungroup_deep__--id__layer2.out new file mode 100644 index 0000000..41aa594 --- /dev/null +++ b/share/extensions/tests/data/refs/ungroup_deep__--id__layer2.out @@ -0,0 +1,39 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/voronoi2svg__--id__c1__--id__c2__--id__c3__--id__p1__--id__p2__--id__s1__--diagram-type__Voronoi__--clip-box__Page.out b/share/extensions/tests/data/refs/voronoi2svg__--id__c1__--id__c2__--id__c3__--id__p1__--id__p2__--id__s1__--diagram-type__Voronoi__--clip-box__Page.out new file mode 100644 index 0000000..04873fa --- /dev/null +++ b/share/extensions/tests/data/refs/voronoi2svg__--id__c1__--id__c2__--id__c3__--id__p1__--id__p2__--id__s1__--diagram-type__Voronoi__--clip-box__Page.out @@ -0,0 +1,79 @@ + + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + + + + + + + + + + + + + Hello World + + + + + + flow text which wraps + + + UPPER + + + Multi line + text + FOO + + + + Grouped + + + text + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/voronoi2svg__--id__r1__--id__r3__--id__c1__--id__c3__--id__s1__--diagram-type__Both__--delaunay-fill-options__delaunay-fill.out b/share/extensions/tests/data/refs/voronoi2svg__--id__r1__--id__r3__--id__c1__--id__c3__--id__s1__--diagram-type__Both__--delaunay-fill-options__delaunay-fill.out new file mode 100644 index 0000000..ee018dd --- /dev/null +++ b/share/extensions/tests/data/refs/voronoi2svg__--id__r1__--id__r3__--id__c1__--id__c3__--id__s1__--diagram-type__Both__--delaunay-fill-options__delaunay-fill.out @@ -0,0 +1,81 @@ + + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + + Hello World + + + + + + flow text which wraps + + + UPPER + + + Multi line + text + FOO + + + + Grouped + + + text + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/voronoi2svg__083b27d59093207e6210e1001eb9d5df.out b/share/extensions/tests/data/refs/voronoi2svg__083b27d59093207e6210e1001eb9d5df.out new file mode 100644 index 0000000..db6ced9 --- /dev/null +++ b/share/extensions/tests/data/refs/voronoi2svg__083b27d59093207e6210e1001eb9d5df.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/voronoi2svg__6d561032e7d7e60e607c75e562f677a4.out b/share/extensions/tests/data/refs/voronoi2svg__6d561032e7d7e60e607c75e562f677a4.out new file mode 100644 index 0000000..3843f9f --- /dev/null +++ b/share/extensions/tests/data/refs/voronoi2svg__6d561032e7d7e60e607c75e562f677a4.out @@ -0,0 +1,91 @@ + + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Hello World + + + + + + flow text which wraps + + + UPPER + + + Multi line + text + FOO + + + + Grouped + + + text + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/web_interactive_mockup__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/web_interactive_mockup__--id__p1__--id__r3.out new file mode 100644 index 0000000..76f7164 --- /dev/null +++ b/share/extensions/tests/data/refs/web_interactive_mockup__--id__p1__--id__r3.out @@ -0,0 +1,266 @@ + + +/* inkweb.js - InkWebEffect:AutoUpdate */ +/* +** InkWeb - Inkscape's Javscript features for the open vector web +** +** Copyright (C) 2009 Aurelio A. Heckert, aurium (a) gmail dot com +** +** ********* Bugs and New Fetures ************************************* +** If you found any bug on this script or if you want to propose a +** new feature, please report it in the inkscape bug tracker +** https://inkscape.org/report . +** ******************************************************************** +** +** This program is free software: you can redistribute it and/or modify +** it under the terms of the GNU Lesser General Public License as published +** by the Free Software Foundation, either version 3 of the License, or +** (at your option) any later version. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public License +** along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +var InkWeb = { + + version: 0.04, + + NS: { + svg: "http://www.w3.org/2000/svg", + sodipodi: "http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd", + inkscape: "http://www.inkscape.org/namespaces/inkscape", + cc: "http://creativecommons.org/ns#", + dc: "http://purl.org/dc/elements/1.1/", + rdf: "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace" + } + +}; + +InkWeb.el = function (tag, attributes) { + // A helper to create SVG elements + var element = document.createElementNS( this.NS.svg, tag ); + for ( var att in attributes ) { + switch ( att ) { + case "parent": + attributes.parent.appendChild( element ); + break; + case "text": + element.appendChild( document.createTextNode( attributes.text ) ); + break; + default: + element.setAttribute( att, attributes[att] ); + } + } + return element; +} + +InkWeb.reGetStyleAttVal = function (att) { + return new RegExp( "(^|.*;)[ ]*"+ att +":([^;]*)(;.*|$)" ) +} + +InkWeb.getStyle = function (el, att) { + // This method is needed because el.style is only working + // to HTML style in the Firefox 3.0 + if ( typeof(el) == "string" ) + el = document.getElementById(el); + var style = el.getAttribute("style"); + var match = this.reGetStyleAttVal(att).exec(style); + if ( match ) { + return match[2]; + } else { + return false; + } +} + +InkWeb.setStyle = function (el, att, val) { + if ( typeof(el) == "string" ) + el = document.getElementById(el); + var style = el.getAttribute("style"); + re = this.reGetStyleAttVal(att); + if ( re.test(style) ) { + style = style.replace( re, "$1"+ att +":"+ val +"$3" ); + } else { + style += ";"+ att +":"+ val; + } + el.setAttribute( "style", style ); + return val +} + +InkWeb.transmitAtt = function (conf) { + conf.att = conf.att.split( /\s+/ ); + if ( typeof(conf.from) == "string" ) + conf.from = document.getElementById( conf.from ); + if ( ! conf.to.join ) + conf.to = [ conf.to ]; + for ( var toEl,elN=0; toEl=conf.to[elN]; elN++ ) { + if ( typeof(toEl) == "string" ) + toEl = document.getElementById( toEl ); + for ( var i=0; i<conf.att.length; i++ ) { + var val = this.getStyle( conf.from, conf.att[i] ); + if ( val ) { + this.setStyle( toEl, conf.att[i], val ); + } else { + val = conf.from.getAttribute(conf.att[i]); + toEl.setAttribute( conf.att[i], val ); + } + } + } +} + +InkWeb.goto = function (conf) { + if ( typeof(conf.from) == "string" ) + conf.from = document.getElementById( conf.from ); + if ( ! conf.to ) + conf.to = conf.to ; + if ( typeof(toEl) == "string" ) + toEl = document.getElementById( toEl ); + toEl = document.getElementById( conf.to ); + document.getElementsByTagName("svg")[0].viewBox.baseVal.x = toEl.getAttribute("x"); + document.getElementsByTagName("svg")[0].viewBox.baseVal.y = toEl.getAttribute("y"); +} + +InkWeb.setAtt = function (conf) { + if ( ! conf.el.join ) + conf.to = [ conf.el ]; + conf.att = conf.att.split( /\s+/ ); + conf.val = conf.val.split( /\s+/ ); + for ( var el,elN=0; el=conf.el[elN]; elN++ ) { + if ( typeof(el) == "string" ) + el = document.getElementById( el ); + for ( var att,i=0; att=conf.att[i]; i++ ) { + if ( + att == "width" || + att == "height" || + att == "x" || + att == "y" || + att == "cx" || + att == "cy" || + att == "r" || + att == "rx" || + att == "ry" || + att == "transform" + ) { + el.setAttribute( att, conf.val[i] ); + } else { + this.setStyle( el, att, conf.val[i] ); + } + } + } +} + +InkWeb.moveElTo = function (startConf) { + if ( typeof(startConf) == "string" ) { + // startConf may be only a element Id, to timeout recursive calls. + var el = document.getElementById( startConf ); + } else { + if ( typeof(startConf.el) == "string" ) + startConf.el = document.getElementById( startConf.el ); + var el = startConf.el; + } + if ( ! el.inkWebMoving ) { + el.inkWebMoving = { + step: 0 + }; + } + var conf = el.inkWebMoving; + if ( conf.step == 0 ) { + conf.x = startConf.x; + conf.y = startConf.y; + // dur : duration of the animation in seconds + if ( startConf.dur ) { conf.dur = startConf.dur } + else { conf.dur = 1 } + // steps : animation steps in a second + if ( startConf.stepsBySec ) { conf.stepsBySec = startConf.stepsBySec } + else { conf.stepsBySec = 16 } + conf.sleep = Math.round( 1000 / conf.stepsBySec ); + conf.steps = conf.dur * conf.stepsBySec; + var startPos = el.getBBox(); + conf.xInc = ( conf.x - startPos.x ) / conf.steps; + conf.yInc = ( conf.y - startPos.y ) / conf.steps; + conf.transform = el.transform.baseVal.consolidate(); + if ( ! conf.transform ) { + conf.transform = el.ownerSVGElement.createSVGTransform(); + } + el.transform.baseVal.clear(); + el.transform.baseVal.appendItem(conf.transform); + } + if ( conf.step < conf.steps ) { + conf.step++; + conf.transform.matrix.e += conf.xInc; + conf.transform.matrix.f += conf.yInc; + try{ el.ownerSVGElement.forceRedraw() } + catch(e){ this.log(e, "this "+el.ownerSVGElement+" has no forceRedraw().") } + conf.timeout = setTimeout( 'InkWeb.moveElTo("'+el.id+'")', conf.sleep ); + } else { + delete el.inkWebMoving; + } +} + +InkWeb.moveViewbox = function (conf) { + if ( typeof(conf.from) == "string" ) + conf.from = document.getElementById( conf.from ); + if ( ! conf.to ) + conf.to = conf.from ; + if ( typeof(conf.to) == "string" ) + conf.to = document.getElementById( conf.to ); + bbox = conf.to.getBBox(); + vbox = document.getElementsByTagName("svg")[0].viewBox; + document.getElementsByTagName("svg")[0].viewBox.baseVal.x=bbox.x; + document.getElementsByTagName("svg")[0].viewBox.baseVal.y=bbox.y; + document.getElementsByTagName("svg")[0].viewBox.baseVal.width=bbox.width; + document.getElementsByTagName("svg")[0].viewBox.baseVal.height=bbox.height; + document.getElementsByTagName("svg")[0].viewBox.animVal.x=bbox.x; + document.getElementsByTagName("svg")[0].viewBox.animVal.y=bbox.y; + document.getElementsByTagName("svg")[0].viewBox.animVal.width=bbox.width; + document.getElementsByTagName("svg")[0].viewBox.animVal.heigt=bbox.height; + vbox = document.getElementsByTagName("svg")[0].viewBox; +} + +InkWeb.log = function () { /* requires inkweb-debug.js, not included in Inkscape */ } + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/web_set_att__--id__p1__--id__r3__--att__fill__--val__red.out b/share/extensions/tests/data/refs/web_set_att__--id__p1__--id__r3__--att__fill__--val__red.out new file mode 100644 index 0000000..50d8f22 --- /dev/null +++ b/share/extensions/tests/data/refs/web_set_att__--id__p1__--id__r3__--att__fill__--val__red.out @@ -0,0 +1,266 @@ + + +/* inkweb.js - InkWebEffect:AutoUpdate */ +/* +** InkWeb - Inkscape's Javscript features for the open vector web +** +** Copyright (C) 2009 Aurelio A. Heckert, aurium (a) gmail dot com +** +** ********* Bugs and New Fetures ************************************* +** If you found any bug on this script or if you want to propose a +** new feature, please report it in the inkscape bug tracker +** https://inkscape.org/report . +** ******************************************************************** +** +** This program is free software: you can redistribute it and/or modify +** it under the terms of the GNU Lesser General Public License as published +** by the Free Software Foundation, either version 3 of the License, or +** (at your option) any later version. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public License +** along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +var InkWeb = { + + version: 0.04, + + NS: { + svg: "http://www.w3.org/2000/svg", + sodipodi: "http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd", + inkscape: "http://www.inkscape.org/namespaces/inkscape", + cc: "http://creativecommons.org/ns#", + dc: "http://purl.org/dc/elements/1.1/", + rdf: "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace" + } + +}; + +InkWeb.el = function (tag, attributes) { + // A helper to create SVG elements + var element = document.createElementNS( this.NS.svg, tag ); + for ( var att in attributes ) { + switch ( att ) { + case "parent": + attributes.parent.appendChild( element ); + break; + case "text": + element.appendChild( document.createTextNode( attributes.text ) ); + break; + default: + element.setAttribute( att, attributes[att] ); + } + } + return element; +} + +InkWeb.reGetStyleAttVal = function (att) { + return new RegExp( "(^|.*;)[ ]*"+ att +":([^;]*)(;.*|$)" ) +} + +InkWeb.getStyle = function (el, att) { + // This method is needed because el.style is only working + // to HTML style in the Firefox 3.0 + if ( typeof(el) == "string" ) + el = document.getElementById(el); + var style = el.getAttribute("style"); + var match = this.reGetStyleAttVal(att).exec(style); + if ( match ) { + return match[2]; + } else { + return false; + } +} + +InkWeb.setStyle = function (el, att, val) { + if ( typeof(el) == "string" ) + el = document.getElementById(el); + var style = el.getAttribute("style"); + re = this.reGetStyleAttVal(att); + if ( re.test(style) ) { + style = style.replace( re, "$1"+ att +":"+ val +"$3" ); + } else { + style += ";"+ att +":"+ val; + } + el.setAttribute( "style", style ); + return val +} + +InkWeb.transmitAtt = function (conf) { + conf.att = conf.att.split( /\s+/ ); + if ( typeof(conf.from) == "string" ) + conf.from = document.getElementById( conf.from ); + if ( ! conf.to.join ) + conf.to = [ conf.to ]; + for ( var toEl,elN=0; toEl=conf.to[elN]; elN++ ) { + if ( typeof(toEl) == "string" ) + toEl = document.getElementById( toEl ); + for ( var i=0; i<conf.att.length; i++ ) { + var val = this.getStyle( conf.from, conf.att[i] ); + if ( val ) { + this.setStyle( toEl, conf.att[i], val ); + } else { + val = conf.from.getAttribute(conf.att[i]); + toEl.setAttribute( conf.att[i], val ); + } + } + } +} + +InkWeb.goto = function (conf) { + if ( typeof(conf.from) == "string" ) + conf.from = document.getElementById( conf.from ); + if ( ! conf.to ) + conf.to = conf.to ; + if ( typeof(toEl) == "string" ) + toEl = document.getElementById( toEl ); + toEl = document.getElementById( conf.to ); + document.getElementsByTagName("svg")[0].viewBox.baseVal.x = toEl.getAttribute("x"); + document.getElementsByTagName("svg")[0].viewBox.baseVal.y = toEl.getAttribute("y"); +} + +InkWeb.setAtt = function (conf) { + if ( ! conf.el.join ) + conf.to = [ conf.el ]; + conf.att = conf.att.split( /\s+/ ); + conf.val = conf.val.split( /\s+/ ); + for ( var el,elN=0; el=conf.el[elN]; elN++ ) { + if ( typeof(el) == "string" ) + el = document.getElementById( el ); + for ( var att,i=0; att=conf.att[i]; i++ ) { + if ( + att == "width" || + att == "height" || + att == "x" || + att == "y" || + att == "cx" || + att == "cy" || + att == "r" || + att == "rx" || + att == "ry" || + att == "transform" + ) { + el.setAttribute( att, conf.val[i] ); + } else { + this.setStyle( el, att, conf.val[i] ); + } + } + } +} + +InkWeb.moveElTo = function (startConf) { + if ( typeof(startConf) == "string" ) { + // startConf may be only a element Id, to timeout recursive calls. + var el = document.getElementById( startConf ); + } else { + if ( typeof(startConf.el) == "string" ) + startConf.el = document.getElementById( startConf.el ); + var el = startConf.el; + } + if ( ! el.inkWebMoving ) { + el.inkWebMoving = { + step: 0 + }; + } + var conf = el.inkWebMoving; + if ( conf.step == 0 ) { + conf.x = startConf.x; + conf.y = startConf.y; + // dur : duration of the animation in seconds + if ( startConf.dur ) { conf.dur = startConf.dur } + else { conf.dur = 1 } + // steps : animation steps in a second + if ( startConf.stepsBySec ) { conf.stepsBySec = startConf.stepsBySec } + else { conf.stepsBySec = 16 } + conf.sleep = Math.round( 1000 / conf.stepsBySec ); + conf.steps = conf.dur * conf.stepsBySec; + var startPos = el.getBBox(); + conf.xInc = ( conf.x - startPos.x ) / conf.steps; + conf.yInc = ( conf.y - startPos.y ) / conf.steps; + conf.transform = el.transform.baseVal.consolidate(); + if ( ! conf.transform ) { + conf.transform = el.ownerSVGElement.createSVGTransform(); + } + el.transform.baseVal.clear(); + el.transform.baseVal.appendItem(conf.transform); + } + if ( conf.step < conf.steps ) { + conf.step++; + conf.transform.matrix.e += conf.xInc; + conf.transform.matrix.f += conf.yInc; + try{ el.ownerSVGElement.forceRedraw() } + catch(e){ this.log(e, "this "+el.ownerSVGElement+" has no forceRedraw().") } + conf.timeout = setTimeout( 'InkWeb.moveElTo("'+el.id+'")', conf.sleep ); + } else { + delete el.inkWebMoving; + } +} + +InkWeb.moveViewbox = function (conf) { + if ( typeof(conf.from) == "string" ) + conf.from = document.getElementById( conf.from ); + if ( ! conf.to ) + conf.to = conf.from ; + if ( typeof(conf.to) == "string" ) + conf.to = document.getElementById( conf.to ); + bbox = conf.to.getBBox(); + vbox = document.getElementsByTagName("svg")[0].viewBox; + document.getElementsByTagName("svg")[0].viewBox.baseVal.x=bbox.x; + document.getElementsByTagName("svg")[0].viewBox.baseVal.y=bbox.y; + document.getElementsByTagName("svg")[0].viewBox.baseVal.width=bbox.width; + document.getElementsByTagName("svg")[0].viewBox.baseVal.height=bbox.height; + document.getElementsByTagName("svg")[0].viewBox.animVal.x=bbox.x; + document.getElementsByTagName("svg")[0].viewBox.animVal.y=bbox.y; + document.getElementsByTagName("svg")[0].viewBox.animVal.width=bbox.width; + document.getElementsByTagName("svg")[0].viewBox.animVal.heigt=bbox.height; + vbox = document.getElementsByTagName("svg")[0].viewBox; +} + +InkWeb.log = function () { /* requires inkweb-debug.js, not included in Inkscape */ } + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/web_transmit_att__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/web_transmit_att__--id__p1__--id__r3.out new file mode 100644 index 0000000..cd479bf --- /dev/null +++ b/share/extensions/tests/data/refs/web_transmit_att__--id__p1__--id__r3.out @@ -0,0 +1,266 @@ + + +/* inkweb.js - InkWebEffect:AutoUpdate */ +/* +** InkWeb - Inkscape's Javscript features for the open vector web +** +** Copyright (C) 2009 Aurelio A. Heckert, aurium (a) gmail dot com +** +** ********* Bugs and New Fetures ************************************* +** If you found any bug on this script or if you want to propose a +** new feature, please report it in the inkscape bug tracker +** https://inkscape.org/report . +** ******************************************************************** +** +** This program is free software: you can redistribute it and/or modify +** it under the terms of the GNU Lesser General Public License as published +** by the Free Software Foundation, either version 3 of the License, or +** (at your option) any later version. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public License +** along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +var InkWeb = { + + version: 0.04, + + NS: { + svg: "http://www.w3.org/2000/svg", + sodipodi: "http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd", + inkscape: "http://www.inkscape.org/namespaces/inkscape", + cc: "http://creativecommons.org/ns#", + dc: "http://purl.org/dc/elements/1.1/", + rdf: "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace" + } + +}; + +InkWeb.el = function (tag, attributes) { + // A helper to create SVG elements + var element = document.createElementNS( this.NS.svg, tag ); + for ( var att in attributes ) { + switch ( att ) { + case "parent": + attributes.parent.appendChild( element ); + break; + case "text": + element.appendChild( document.createTextNode( attributes.text ) ); + break; + default: + element.setAttribute( att, attributes[att] ); + } + } + return element; +} + +InkWeb.reGetStyleAttVal = function (att) { + return new RegExp( "(^|.*;)[ ]*"+ att +":([^;]*)(;.*|$)" ) +} + +InkWeb.getStyle = function (el, att) { + // This method is needed because el.style is only working + // to HTML style in the Firefox 3.0 + if ( typeof(el) == "string" ) + el = document.getElementById(el); + var style = el.getAttribute("style"); + var match = this.reGetStyleAttVal(att).exec(style); + if ( match ) { + return match[2]; + } else { + return false; + } +} + +InkWeb.setStyle = function (el, att, val) { + if ( typeof(el) == "string" ) + el = document.getElementById(el); + var style = el.getAttribute("style"); + re = this.reGetStyleAttVal(att); + if ( re.test(style) ) { + style = style.replace( re, "$1"+ att +":"+ val +"$3" ); + } else { + style += ";"+ att +":"+ val; + } + el.setAttribute( "style", style ); + return val +} + +InkWeb.transmitAtt = function (conf) { + conf.att = conf.att.split( /\s+/ ); + if ( typeof(conf.from) == "string" ) + conf.from = document.getElementById( conf.from ); + if ( ! conf.to.join ) + conf.to = [ conf.to ]; + for ( var toEl,elN=0; toEl=conf.to[elN]; elN++ ) { + if ( typeof(toEl) == "string" ) + toEl = document.getElementById( toEl ); + for ( var i=0; i<conf.att.length; i++ ) { + var val = this.getStyle( conf.from, conf.att[i] ); + if ( val ) { + this.setStyle( toEl, conf.att[i], val ); + } else { + val = conf.from.getAttribute(conf.att[i]); + toEl.setAttribute( conf.att[i], val ); + } + } + } +} + +InkWeb.goto = function (conf) { + if ( typeof(conf.from) == "string" ) + conf.from = document.getElementById( conf.from ); + if ( ! conf.to ) + conf.to = conf.to ; + if ( typeof(toEl) == "string" ) + toEl = document.getElementById( toEl ); + toEl = document.getElementById( conf.to ); + document.getElementsByTagName("svg")[0].viewBox.baseVal.x = toEl.getAttribute("x"); + document.getElementsByTagName("svg")[0].viewBox.baseVal.y = toEl.getAttribute("y"); +} + +InkWeb.setAtt = function (conf) { + if ( ! conf.el.join ) + conf.to = [ conf.el ]; + conf.att = conf.att.split( /\s+/ ); + conf.val = conf.val.split( /\s+/ ); + for ( var el,elN=0; el=conf.el[elN]; elN++ ) { + if ( typeof(el) == "string" ) + el = document.getElementById( el ); + for ( var att,i=0; att=conf.att[i]; i++ ) { + if ( + att == "width" || + att == "height" || + att == "x" || + att == "y" || + att == "cx" || + att == "cy" || + att == "r" || + att == "rx" || + att == "ry" || + att == "transform" + ) { + el.setAttribute( att, conf.val[i] ); + } else { + this.setStyle( el, att, conf.val[i] ); + } + } + } +} + +InkWeb.moveElTo = function (startConf) { + if ( typeof(startConf) == "string" ) { + // startConf may be only a element Id, to timeout recursive calls. + var el = document.getElementById( startConf ); + } else { + if ( typeof(startConf.el) == "string" ) + startConf.el = document.getElementById( startConf.el ); + var el = startConf.el; + } + if ( ! el.inkWebMoving ) { + el.inkWebMoving = { + step: 0 + }; + } + var conf = el.inkWebMoving; + if ( conf.step == 0 ) { + conf.x = startConf.x; + conf.y = startConf.y; + // dur : duration of the animation in seconds + if ( startConf.dur ) { conf.dur = startConf.dur } + else { conf.dur = 1 } + // steps : animation steps in a second + if ( startConf.stepsBySec ) { conf.stepsBySec = startConf.stepsBySec } + else { conf.stepsBySec = 16 } + conf.sleep = Math.round( 1000 / conf.stepsBySec ); + conf.steps = conf.dur * conf.stepsBySec; + var startPos = el.getBBox(); + conf.xInc = ( conf.x - startPos.x ) / conf.steps; + conf.yInc = ( conf.y - startPos.y ) / conf.steps; + conf.transform = el.transform.baseVal.consolidate(); + if ( ! conf.transform ) { + conf.transform = el.ownerSVGElement.createSVGTransform(); + } + el.transform.baseVal.clear(); + el.transform.baseVal.appendItem(conf.transform); + } + if ( conf.step < conf.steps ) { + conf.step++; + conf.transform.matrix.e += conf.xInc; + conf.transform.matrix.f += conf.yInc; + try{ el.ownerSVGElement.forceRedraw() } + catch(e){ this.log(e, "this "+el.ownerSVGElement+" has no forceRedraw().") } + conf.timeout = setTimeout( 'InkWeb.moveElTo("'+el.id+'")', conf.sleep ); + } else { + delete el.inkWebMoving; + } +} + +InkWeb.moveViewbox = function (conf) { + if ( typeof(conf.from) == "string" ) + conf.from = document.getElementById( conf.from ); + if ( ! conf.to ) + conf.to = conf.from ; + if ( typeof(conf.to) == "string" ) + conf.to = document.getElementById( conf.to ); + bbox = conf.to.getBBox(); + vbox = document.getElementsByTagName("svg")[0].viewBox; + document.getElementsByTagName("svg")[0].viewBox.baseVal.x=bbox.x; + document.getElementsByTagName("svg")[0].viewBox.baseVal.y=bbox.y; + document.getElementsByTagName("svg")[0].viewBox.baseVal.width=bbox.width; + document.getElementsByTagName("svg")[0].viewBox.baseVal.height=bbox.height; + document.getElementsByTagName("svg")[0].viewBox.animVal.x=bbox.x; + document.getElementsByTagName("svg")[0].viewBox.animVal.y=bbox.y; + document.getElementsByTagName("svg")[0].viewBox.animVal.width=bbox.width; + document.getElementsByTagName("svg")[0].viewBox.animVal.heigt=bbox.height; + vbox = document.getElementsByTagName("svg")[0].viewBox; +} + +InkWeb.log = function () { /* requires inkweb-debug.js, not included in Inkscape */ } + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/webslicer_create_group__--id__slicerect1.out b/share/extensions/tests/data/refs/webslicer_create_group__--id__slicerect1.out new file mode 100644 index 0000000..ec3ec4c --- /dev/null +++ b/share/extensions/tests/data/refs/webslicer_create_group__--id__slicerect1.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/webslicer_create_rect.out b/share/extensions/tests/data/refs/webslicer_create_rect.out new file mode 100644 index 0000000..6f576e6 --- /dev/null +++ b/share/extensions/tests/data/refs/webslicer_create_rect.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + format: png + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/webslicer_create_rect__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/webslicer_create_rect__--id__p1__--id__r3.out new file mode 100644 index 0000000..6f576e6 --- /dev/null +++ b/share/extensions/tests/data/refs/webslicer_create_rect__--id__p1__--id__r3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + format: png + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/webslicer_export__--dir__TMP_DIR.out b/share/extensions/tests/data/refs/webslicer_export__--dir__TMP_DIR.out new file mode 100644 index 0000000..e69de29 diff --git a/share/extensions/tests/data/refs/whirl__--id__p1__--id__r3__--whirl__1__0.out b/share/extensions/tests/data/refs/whirl__--id__p1__--id__r3__--whirl__1__0.out new file mode 100644 index 0000000..20b356f --- /dev/null +++ b/share/extensions/tests/data/refs/whirl__--id__p1__--id__r3__--whirl__1__0.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/wireframe_sphere.out b/share/extensions/tests/data/refs/wireframe_sphere.out new file mode 100644 index 0000000..1a6bac5 --- /dev/null +++ b/share/extensions/tests/data/refs/wireframe_sphere.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/wireframe_sphere__--id__p1__--id__r3.out b/share/extensions/tests/data/refs/wireframe_sphere__--id__p1__--id__r3.out new file mode 100644 index 0000000..1a6bac5 --- /dev/null +++ b/share/extensions/tests/data/refs/wireframe_sphere__--id__p1__--id__r3.out @@ -0,0 +1,41 @@ + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/refs/wmf_output.out b/share/extensions/tests/data/refs/wmf_output.out new file mode 100644 index 0000000..13d8ebb Binary files /dev/null and b/share/extensions/tests/data/refs/wmf_output.out differ -- cgit v1.2.3