svg-editor.php 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811
  1. <?php
  2. /**
  3. * Integrate svg-edit with Chamilo
  4. * @author Juan Carlos Raña Trabado
  5. * @since 25/september/2010
  6. */
  7. require_once '../../../inc/global.inc.php';//hack for Chamilo
  8. api_protect_course_script();
  9. api_block_anonymous_users();
  10. if (!isset($_SESSION['draw_dir'])) {
  11. die();
  12. }
  13. ?>
  14. <!DOCTYPE html>
  15. <html>
  16. <!-- removed for now, causes problems in Firefox: manifest="svg-editor.manifest" -->
  17. <head>
  18. <meta charset="utf-8" />
  19. <meta http-equiv="X-UA-Compatible" content="IE=Edge, chrome=1"/>
  20. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
  21. <meta name="apple-mobile-web-app-capable" content="yes"/>
  22. <link rel="icon" type="image/png" href="images/logo.png"/>
  23. <link rel="stylesheet" href="jgraduate/css/jPicker.css" type="text/css"/>
  24. <link rel="stylesheet" href="jgraduate/css/jgraduate.css" type="text/css"/>
  25. <link rel="stylesheet" href="svg-editor.css" type="text/css"/>
  26. <link rel="stylesheet" href="custom.css" type="text/css"/>
  27. <link rel="stylesheet" href="spinbtn/JQuerySpinBtn.css" type="text/css"/>
  28. <?php echo api_get_js('jquery.min.js'); ?>
  29. <script src="js-hotkeys/jquery.hotkeys.min.js"></script>
  30. <script src="jquerybbq/jquery.bbq.min.js"></script>
  31. <script src="svgicons/jquery.svgicons.js"></script>
  32. <script src="jgraduate/jquery.jgraduate.min.js"></script>
  33. <script src="spinbtn/JQuerySpinBtn.min.js"></script>
  34. <script src="touch.js"></script>
  35. <!--{if svg_edit_release}-->
  36. <script src="svgedit.compiled.js"></script>
  37. <!--{else}>
  38. <script src="svgedit.js"></script>
  39. <script src="jquery-svg.js"></script>
  40. <script src="contextmenu/jquery.contextMenu.js"></script>
  41. <script src="browser.js"></script>
  42. <script src="svgtransformlist.js"></script>
  43. <script src="math.js"></script>
  44. <script src="units.js"></script>
  45. <script src="svgutils.js"></script>
  46. <script src="sanitize.js"></script>
  47. <script src="history.js"></script>
  48. <script src="coords.js"></script>
  49. <script src="recalculate.js"></script>
  50. <script src="select.js"></script>
  51. <script src="draw.js"></script>
  52. <script src="path.js"></script>
  53. <script src="svgcanvas.js"></script>
  54. <script src="svg-editor.js"></script>
  55. <script src="locale/locale.js"></script>
  56. <script src="contextmenu.js"></script>
  57. <!{endif}-->
  58. <!-- If you do not wish to add extensions by URL, you can load them
  59. by creating the following file and adding by calls to svgEditor.setConfig -->
  60. <script src="config.js"></script>
  61. <!-- always minified scripts -->
  62. <script src="jquery-ui/jquery-ui-1.8.17.custom.min.js"></script>
  63. <script src="jgraduate/jpicker.js"></script>
  64. <!-- feeds -->
  65. <link rel="alternate" type="application/atom+xml" title="SVG-edit General Discussion" href="http://groups.google.com/group/svg-edit/feed/atom_v1_0_msgs.xml" />
  66. <link rel="alternate" type="application/atom+xml" title="SVG-edit Updates (Issues/Fixes/Commits)" href="http://code.google.com/feeds/p/svg-edit/updates/basic" />
  67. <!-- Add script with custom handlers here -->
  68. <title>SVG-edit</title>
  69. </head>
  70. <body>
  71. <div id="svg_editor">
  72. <div id="rulers">
  73. <div id="ruler_corner"></div>
  74. <div id="ruler_x">
  75. <div>
  76. <canvas height="15"></canvas>
  77. </div>
  78. </div>
  79. <div id="ruler_y">
  80. <div>
  81. <canvas width="15"></canvas>
  82. </div>
  83. </div>
  84. </div>
  85. <div id="workarea">
  86. <style id="styleoverrides" type="text/css" media="screen" scoped="scoped"></style>
  87. <div id="svgcanvas" style="position:relative">
  88. </div>
  89. </div>
  90. <div id="sidepanels">
  91. <div id="layerpanel">
  92. <h3 id="layersLabel">Layers</h3>
  93. <fieldset id="layerbuttons">
  94. <div id="layer_new" class="layer_button" title="New Layer"></div>
  95. <div id="layer_delete" class="layer_button" title="Delete Layer"></div>
  96. <div id="layer_rename" class="layer_button" title="Rename Layer"></div>
  97. <div id="layer_up" class="layer_button" title="Move Layer Up"></div>
  98. <div id="layer_down" class="layer_button" title="Move Layer Down"></div>
  99. <div id="layer_moreopts" class="layer_button" title="More Options"></div>
  100. </fieldset>
  101. <table id="layerlist">
  102. <tr class="layer">
  103. <td class="layervis"></td>
  104. <td class="layername">Layer 1</td>
  105. </tr>
  106. </table>
  107. <span id="selLayerLabel">Move elements to:</span>
  108. <select id="selLayerNames" title="Move selected elements to a different layer" disabled="disabled">
  109. <option selected="selected" value="layer1">Layer 1</option>
  110. </select>
  111. </div>
  112. <div id="sidepanel_handle" title="Drag left/right to resize side panel [X]">L a y e r s</div>
  113. </div>
  114. <div id="main_button">
  115. <div id="main_icon" class="tool_button" title="Main Menu">
  116. <span></span>
  117. <div id="logo"></div>
  118. <div class="dropdown"></div>
  119. </div>
  120. <div id="main_menu">
  121. <!-- File-like buttons: New, Save, Source -->
  122. <ul>
  123. <li id="tool_clear">
  124. <div></div>
  125. New Image (N)
  126. </li>
  127. <li id="tool_open" style="display:none;">
  128. <div id="fileinputs">
  129. <div></div>
  130. </div>
  131. Open Image
  132. </li>
  133. <li id="tool_import" style="display:none;">
  134. <div id="fileinputs_import">
  135. <div></div>
  136. </div>
  137. Import Image
  138. </li>
  139. <li id="tool_save">
  140. <div></div>
  141. Save Image (S)
  142. </li>
  143. <li id="tool_export">
  144. <div></div>
  145. Export
  146. </li>
  147. <li id="tool_docprops">
  148. <div></div>
  149. Document Properties (D)
  150. </li>
  151. </ul>
  152. <p>
  153. <!-- <a href="http://svg-edit.googlecode.com/" target="_blank">
  154. SVG-edit Home Page
  155. </a> --><!-- Comment for Chamilo -->
  156. </p>
  157. <button id="tool_prefs_option">
  158. Editor Options
  159. </button>
  160. </div>
  161. </div>
  162. <div id="tools_top" class="tools_panel">
  163. <div id="editor_panel">
  164. <div class="tool_sep"></div>
  165. <div class="push_button" id="tool_source" title="Edit Source [U]"></div>
  166. <div class="tool_button" id="tool_wireframe" title="Wireframe Mode [F]"></div>
  167. </div>
  168. <!-- History buttons -->
  169. <div id="history_panel">
  170. <div class="tool_sep"></div>
  171. <div class="push_button tool_button_disabled" id="tool_undo" title="Undo [Z]"></div>
  172. <div class="push_button tool_button_disabled" id="tool_redo" title="Redo [Y]"></div>
  173. </div>
  174. <!-- Buttons when a single element is selected -->
  175. <div id="selected_panel">
  176. <div class="toolset">
  177. <div class="tool_sep"></div>
  178. <div class="push_button" id="tool_clone" title="Duplicate Element [D]"></div>
  179. <div class="push_button" id="tool_delete" title="Delete Element [Delete/Backspace]"></div>
  180. <div class="tool_sep"></div>
  181. <div class="push_button" id="tool_move_top" title="Bring to Front [ Ctrl+Shift+] ]"></div>
  182. <div class="push_button" id="tool_move_bottom" title="Send to Back [ Ctrl+Shift+[ ]"></div>
  183. <div class="push_button" id="tool_topath" title="Convert to Path"></div>
  184. <div class="push_button" id="tool_reorient" title="Reorient path"></div>
  185. <div class="push_button" id="tool_make_link" title="Make (hyper)link"></div>
  186. <div class="tool_sep"></div>
  187. <label id="idLabel" title="Identify the element">
  188. <span>id:</span>
  189. <input id="elem_id" class="attr_changer" data-attr="id" size="10" type="text"/>
  190. </label>
  191. </div>
  192. <label id="tool_angle" title="Change rotation angle" class="toolset">
  193. <span id="angleLabel" class="icon_label"></span>
  194. <input id="angle" size="2" value="0" type="text"/>
  195. </label>
  196. <div class="toolset" id="tool_blur" title="Change gaussian blur value">
  197. <label>
  198. <span id="blurLabel" class="icon_label"></span>
  199. <input id="blur" size="2" value="0" type="text"/>
  200. </label>
  201. <div id="blur_dropdown" class="dropdown">
  202. <button></button>
  203. <ul>
  204. <li class="special"><div id="blur_slider"></div></li>
  205. </ul>
  206. </div>
  207. </div>
  208. <div class="dropdown toolset" id="tool_position" title="Align Element to Page">
  209. <div id="cur_position" class="icon_label"></div>
  210. <button></button>
  211. </div>
  212. <div id="xy_panel" class="toolset">
  213. <label>
  214. x: <input id="selected_x" class="attr_changer" title="Change X coordinate" size="3" data-attr="x"/>
  215. </label>
  216. <label>
  217. y: <input id="selected_y" class="attr_changer" title="Change Y coordinate" size="3" data-attr="y"/>
  218. </label>
  219. </div>
  220. </div>
  221. <!-- Buttons when multiple elements are selected -->
  222. <div id="multiselected_panel">
  223. <div class="tool_sep"></div>
  224. <div class="push_button" id="tool_clone_multi" title="Clone Elements [C]"></div>
  225. <div class="push_button" id="tool_delete_multi" title="Delete Selected Elements [Delete/Backspace]"></div>
  226. <div class="tool_sep"></div>
  227. <div class="push_button" id="tool_group_elements" title="Group Elements [G]"></div>
  228. <div class="push_button" id="tool_make_link_multi" title="Make (hyper)link"></div>
  229. <div class="push_button" id="tool_alignleft" title="Align Left"></div>
  230. <div class="push_button" id="tool_aligncenter" title="Align Center"></div>
  231. <div class="push_button" id="tool_alignright" title="Align Right"></div>
  232. <div class="push_button" id="tool_aligntop" title="Align Top"></div>
  233. <div class="push_button" id="tool_alignmiddle" title="Align Middle"></div>
  234. <div class="push_button" id="tool_alignbottom" title="Align Bottom"></div>
  235. <label id="tool_align_relative">
  236. <span id="relativeToLabel">relative to:</span>
  237. <select id="align_relative_to" title="Align relative to ...">
  238. <option id="selected_objects" value="selected">selected objects</option>
  239. <option id="largest_object" value="largest">largest object</option>
  240. <option id="smallest_object" value="smallest">smallest object</option>
  241. <option id="page" value="page">page</option>
  242. </select>
  243. </label>
  244. <div class="tool_sep"></div>
  245. </div>
  246. <div id="rect_panel">
  247. <div class="toolset">
  248. <label id="rect_width_tool" title="Change rectangle width">
  249. <span id="rwidthLabel" class="icon_label"></span>
  250. <input id="rect_width" class="attr_changer" size="3" data-attr="width"/>
  251. </label>
  252. <label id="rect_height_tool" title="Change rectangle height">
  253. <span id="rheightLabel" class="icon_label"></span>
  254. <input id="rect_height" class="attr_changer" size="3" data-attr="height"/>
  255. </label>
  256. </div>
  257. <label id="cornerRadiusLabel" title="Change Rectangle Corner Radius" class="toolset">
  258. <span class="icon_label"></span>
  259. <input id="rect_rx" size="3" value="0" type="text" data-attr="Corner Radius"/>
  260. </label>
  261. </div>
  262. <div id="image_panel">
  263. <div class="toolset">
  264. <label><span id="iwidthLabel" class="icon_label"></span>
  265. <input id="image_width" class="attr_changer" title="Change image width" size="3" data-attr="width"/>
  266. </label>
  267. <label><span id="iheightLabel" class="icon_label"></span>
  268. <input id="image_height" class="attr_changer" title="Change image height" size="3" data-attr="height"/>
  269. </label>
  270. </div>
  271. <div class="toolset">
  272. <label id="tool_image_url">url:
  273. <input id="image_url" type="text" title="Change URL" size="35"/>
  274. </label>
  275. <label id="tool_change_image">
  276. <button id="change_image_url" style="display:none;">Change Image</button>
  277. <span id="url_notice" title="NOTE: This image cannot be embedded. It will depend on this path to be displayed"></span>
  278. </label>
  279. </div>
  280. </div>
  281. <div id="circle_panel">
  282. <div class="toolset">
  283. <label id="tool_circle_cx">cx:
  284. <input id="circle_cx" class="attr_changer" title="Change circle's cx coordinate" size="3" data-attr="cx"/>
  285. </label>
  286. <label id="tool_circle_cy">cy:
  287. <input id="circle_cy" class="attr_changer" title="Change circle's cy coordinate" size="3" data-attr="cy"/>
  288. </label>
  289. </div>
  290. <div class="toolset">
  291. <label id="tool_circle_r">r:
  292. <input id="circle_r" class="attr_changer" title="Change circle's radius" size="3" data-attr="r"/>
  293. </label>
  294. </div>
  295. </div>
  296. <div id="ellipse_panel">
  297. <div class="toolset">
  298. <label id="tool_ellipse_cx">cx:
  299. <input id="ellipse_cx" class="attr_changer" title="Change ellipse's cx coordinate" size="3" data-attr="cx"/>
  300. </label>
  301. <label id="tool_ellipse_cy">cy:
  302. <input id="ellipse_cy" class="attr_changer" title="Change ellipse's cy coordinate" size="3" data-attr="cy"/>
  303. </label>
  304. </div>
  305. <div class="toolset">
  306. <label id="tool_ellipse_rx">rx:
  307. <input id="ellipse_rx" class="attr_changer" title="Change ellipse's x radius" size="3" data-attr="rx"/>
  308. </label>
  309. <label id="tool_ellipse_ry">ry:
  310. <input id="ellipse_ry" class="attr_changer" title="Change ellipse's y radius" size="3" data-attr="ry"/>
  311. </label>
  312. </div>
  313. </div>
  314. <div id="line_panel">
  315. <div class="toolset">
  316. <label id="tool_line_x1">x1:
  317. <input id="line_x1" class="attr_changer" title="Change line's starting x coordinate" size="3" data-attr="x1"/>
  318. </label>
  319. <label id="tool_line_y1">y1:
  320. <input id="line_y1" class="attr_changer" title="Change line's starting y coordinate" size="3" data-attr="y1"/>
  321. </label>
  322. </div>
  323. <div class="toolset">
  324. <label id="tool_line_x2">x2:
  325. <input id="line_x2" class="attr_changer" title="Change line's ending x coordinate" size="3" data-attr="x2"/>
  326. </label>
  327. <label id="tool_line_y2">y2:
  328. <input id="line_y2" class="attr_changer" title="Change line's ending y coordinate" size="3" data-attr="y2"/>
  329. </label>
  330. </div>
  331. </div>
  332. <div id="text_panel">
  333. <div class="toolset">
  334. <div class="tool_button" id="tool_bold" title="Bold Text [B]"><span></span>B</div>
  335. <div class="tool_button" id="tool_italic" title="Italic Text [I]"><span></span>i</div>
  336. </div>
  337. <div class="toolset" id="tool_font_family">
  338. <label>
  339. <!-- Font family -->
  340. <input id="font_family" type="text" title="Change Font Family" size="12"/>
  341. </label>
  342. <div id="font_family_dropdown" class="dropdown">
  343. <button></button>
  344. <ul>
  345. <li style="font-family:serif">Serif</li>
  346. <li style="font-family:sans-serif">Sans-serif</li>
  347. <li style="font-family:cursive">Cursive</li>
  348. <li style="font-family:fantasy">Fantasy</li>
  349. <li style="font-family:monospace">Monospace</li>
  350. </ul>
  351. </div>
  352. </div>
  353. <label id="tool_font_size" title="Change Font Size">
  354. <span id="font_sizeLabel" class="icon_label"></span>
  355. <input id="font_size" size="3" value="0" type="text"/>
  356. </label>
  357. <!-- Not visible, but still used -->
  358. <input id="text" type="text" size="35"/>
  359. </div>
  360. <!-- formerly gsvg_panel -->
  361. <div id="container_panel">
  362. <div class="tool_sep"></div>
  363. <!-- Add viewBox field here? -->
  364. <label id="group_title" title="Group identification label">
  365. <span>label:</span>
  366. <input id="g_title" data-attr="title" size="10" type="text"/>
  367. </label>
  368. </div>
  369. <div id="use_panel">
  370. <div class="push_button" id="tool_unlink_use" title="Break link to reference element (make unique)"></div>
  371. </div>
  372. <div id="g_panel">
  373. <div class="push_button" id="tool_ungroup" title="Ungroup Elements [G]"></div>
  374. </div>
  375. <!-- For anchor elements -->
  376. <div id="a_panel">
  377. <label id="tool_link_url" title="Set link URL (leave empty to remove)">
  378. <span id="linkLabel" class="icon_label"></span>
  379. <input id="link_url" type="text" size="35"/>
  380. </label>
  381. </div>
  382. <div id="path_node_panel">
  383. <div class="tool_sep"></div>
  384. <div class="tool_button push_button_pressed" id="tool_node_link" title="Link Control Points"></div>
  385. <div class="tool_sep"></div>
  386. <label id="tool_node_x">x:
  387. <input id="path_node_x" class="attr_changer" title="Change node's x coordinate" size="3" data-attr="x"/>
  388. </label>
  389. <label id="tool_node_y">y:
  390. <input id="path_node_y" class="attr_changer" title="Change node's y coordinate" size="3" data-attr="y"/>
  391. </label>
  392. <select id="seg_type" title="Change Segment type">
  393. <option id="straight_segments" selected="selected" value="4">Straight</option>
  394. <option id="curve_segments" value="6">Curve</option>
  395. </select>
  396. <div class="tool_button" id="tool_node_clone" title="Clone Node"></div>
  397. <div class="tool_button" id="tool_node_delete" title="Delete Node"></div>
  398. <div class="tool_button" id="tool_openclose_path" title="Open/close sub-path"></div>
  399. <div class="tool_button" id="tool_add_subpath" title="Add sub-path"></div>
  400. </div>
  401. </div> <!-- tools_top -->
  402. <div id="cur_context_panel">
  403. </div>
  404. <div id="tools_left" class="tools_panel">
  405. <div class="tool_button" id="tool_select" title="Select Tool"></div>
  406. <div class="tool_button" id="tool_fhpath" title="Pencil Tool"></div>
  407. <div class="tool_button" id="tool_line" title="Line Tool"></div>
  408. <div class="tool_button flyout_current" id="tools_rect_show" title="Square/Rect Tool">
  409. <div class="flyout_arrow_horiz"></div>
  410. </div>
  411. <div class="tool_button flyout_current" id="tools_ellipse_show" title="Ellipse/Circle Tool">
  412. <div class="flyout_arrow_horiz"></div>
  413. </div>
  414. <div class="tool_button" id="tool_path" title="Path Tool"></div>
  415. <div class="tool_button" id="tool_text" title="Text Tool"></div>
  416. <div class="tool_button" id="tool_image" title="Image Tool"></div>
  417. <div class="tool_button" id="tool_zoom" title="Zoom Tool [Ctrl+Up/Down]"></div>
  418. <div style="display: none">
  419. <div id="tool_rect" title="Rectangle"></div>
  420. <div id="tool_square" title="Square"></div>
  421. <div id="tool_fhrect" title="Free-Hand Rectangle"></div>
  422. <div id="tool_ellipse" title="Ellipse"></div>
  423. <div id="tool_circle" title="Circle"></div>
  424. <div id="tool_fhellipse" title="Free-Hand Ellipse"></div>
  425. </div>
  426. </div> <!-- tools_left -->
  427. <div id="tools_bottom" class="tools_panel">
  428. <!-- Zoom buttons -->
  429. <div id="zoom_panel" class="toolset" title="Change zoom level">
  430. <label>
  431. <span id="zoomLabel" class="zoom_tool icon_label"></span>
  432. <input id="zoom" size="3" value="100" type="text" />
  433. </label>
  434. <div id="zoom_dropdown" class="dropdown">
  435. <button></button>
  436. <ul>
  437. <li>1000%</li>
  438. <li>400%</li>
  439. <li>200%</li>
  440. <li>100%</li>
  441. <li>50%</li>
  442. <li>25%</li>
  443. <li id="fit_to_canvas" data-val="canvas">Fit to canvas</li>
  444. <li id="fit_to_sel" data-val="selection">Fit to selection</li>
  445. <li id="fit_to_layer_content" data-val="layer">Fit to layer content</li>
  446. <li id="fit_to_all" data-val="content">Fit to all content</li>
  447. <li>100%</li>
  448. </ul>
  449. </div>
  450. <div class="tool_sep"></div>
  451. </div>
  452. <div id="tools_bottom_2">
  453. <div id="color_tools">
  454. <div class="color_tool" id="tool_fill">
  455. <label class="icon_label" for="fill_color" title="Change fill color"></label>
  456. <div class="color_block">
  457. <div id="fill_bg"></div>
  458. <div id="fill_color" class="color_block"></div>
  459. </div>
  460. </div>
  461. <div class="color_tool" id="tool_stroke">
  462. <label class="icon_label" title="Change stroke color"></label>
  463. <div class="color_block">
  464. <div id="stroke_bg"></div>
  465. <div id="stroke_color" class="color_block" title="Change stroke color"></div>
  466. </div>
  467. <label class="stroke_label">
  468. <input id="stroke_width" title="Change stroke width by 1, shift-click to change by 0.1" size="2" value="5" type="text" data-attr="Stroke Width"/>
  469. </label>
  470. <div id="toggle_stroke_tools" title="Show/hide more stroke tools"></div>
  471. <label class="stroke_tool">
  472. <select id="stroke_style" title="Change stroke dash style">
  473. <option selected="selected" value="none">&#8212;</option>
  474. <option value="2,2">...</option>
  475. <option value="5,5">- -</option>
  476. <option value="5,2,2,2">- .</option>
  477. <option value="5,2,2,2,2,2">- ..</option>
  478. </select>
  479. </label>
  480. <div class="stroke_tool dropdown" id="stroke_linejoin">
  481. <div id="cur_linejoin" title="Linejoin: Miter"></div>
  482. <button></button>
  483. </div>
  484. <div class="stroke_tool dropdown" id="stroke_linecap">
  485. <div id="cur_linecap" title="Linecap: Butt"></div>
  486. <button></button>
  487. </div>
  488. </div>
  489. <div class="color_tool" id="tool_opacity" title="Change selected item opacity">
  490. <label>
  491. <span id="group_opacityLabel" class="icon_label"></span>
  492. <input id="group_opacity" size="3" value="100" type="text"/>
  493. </label>
  494. <div id="opacity_dropdown" class="dropdown">
  495. <button></button>
  496. <ul>
  497. <li>0%</li>
  498. <li>25%</li>
  499. <li>50%</li>
  500. <li>75%</li>
  501. <li>100%</li>
  502. <li class="special"><div id="opac_slider"></div></li>
  503. </ul>
  504. </div>
  505. </div>
  506. </div>
  507. </div>
  508. <div id="tools_bottom_3">
  509. <div id="palette_holder"><div id="palette" title="Click to change fill color, shift-click to change stroke color"></div></div>
  510. </div>
  511. <!-- <div id="copyright"><span id="copyrightLabel">Powered by</span> <a href="http://svg-edit.googlecode.com/" target="_blank">SVG-edit v2.6-alpha</a></div> --><!-- Comment for Chamilo -->
  512. </div>
  513. <div id="option_lists" class="dropdown">
  514. <ul id="linejoin_opts">
  515. <li class="tool_button current" id="linejoin_miter" title="Linejoin: Miter"></li>
  516. <li class="tool_button" id="linejoin_round" title="Linejoin: Round"></li>
  517. <li class="tool_button" id="linejoin_bevel" title="Linejoin: Bevel"></li>
  518. </ul>
  519. <ul id="linecap_opts">
  520. <li class="tool_button current" id="linecap_butt" title="Linecap: Butt"></li>
  521. <li class="tool_button" id="linecap_square" title="Linecap: Square"></li>
  522. <li class="tool_button" id="linecap_round" title="Linecap: Round"></li>
  523. </ul>
  524. <ul id="position_opts" class="optcols3">
  525. <li class="push_button" id="tool_posleft" title="Align Left"></li>
  526. <li class="push_button" id="tool_poscenter" title="Align Center"></li>
  527. <li class="push_button" id="tool_posright" title="Align Right"></li>
  528. <li class="push_button" id="tool_postop" title="Align Top"></li>
  529. <li class="push_button" id="tool_posmiddle" title="Align Middle"></li>
  530. <li class="push_button" id="tool_posbottom" title="Align Bottom"></li>
  531. </ul>
  532. </div>
  533. <!-- hidden divs -->
  534. <div id="color_picker"></div>
  535. </div> <!-- svg_editor -->
  536. <div id="svg_source_editor">
  537. <div class="overlay"></div>
  538. <div id="svg_source_container">
  539. <div id="tool_source_back" class="toolbar_button">
  540. <button id="tool_source_save">Apply Changes</button>
  541. <button id="tool_source_cancel">Cancel</button>
  542. </div>
  543. <div id="save_output_btns">
  544. <p id="copy_save_note">Copy the contents of this box into a text editor, then save the file with a .svg extension.</p>
  545. <button id="copy_save_done">Done</button>
  546. </div>
  547. <form>
  548. <textarea id="svg_source_textarea" spellcheck="false"></textarea>
  549. </form>
  550. </div>
  551. </div>
  552. <div id="svg_docprops">
  553. <div class="overlay"></div>
  554. <div id="svg_docprops_container">
  555. <div id="tool_docprops_back" class="toolbar_button">
  556. <button id="tool_docprops_save">OK</button>
  557. <button id="tool_docprops_cancel">Cancel</button>
  558. </div>
  559. <fieldset id="svg_docprops_docprops">
  560. <legend id="svginfo_image_props">Image Properties</legend>
  561. <label>
  562. <span id="svginfo_title">Title:</span>
  563. <input type="text" id="canvas_title"/>
  564. </label>
  565. <fieldset id="change_resolution">
  566. <legend id="svginfo_dim">Canvas Dimensions</legend>
  567. <label><span id="svginfo_width">width:</span> <input type="text" id="canvas_width" size="6"/></label>
  568. <label><span id="svginfo_height">height:</span> <input type="text" id="canvas_height" size="6"/></label>
  569. <label>
  570. <select id="resolution">
  571. <option id="selectedPredefined" selected="selected">Select predefined:</option>
  572. <option>640x480</option>
  573. <option>800x600</option>
  574. <option>1024x768</option>
  575. <option>1280x960</option>
  576. <option>1600x1200</option>
  577. <option id="fitToContent" value="content">Fit to Content</option>
  578. </select>
  579. </label>
  580. </fieldset>
  581. <fieldset id="image_save_opts">
  582. <legend id="includedImages">Included Images</legend>
  583. <label><input type="radio" name="image_opt" value="embed" checked="checked"/> <span id="image_opt_embed">Embed data (local files)</span> </label>
  584. <label><input type="radio" name="image_opt" value="ref"/> <span id="image_opt_ref">Use file reference</span> </label>
  585. </fieldset>
  586. </fieldset>
  587. </div>
  588. </div>
  589. <div id="svg_prefs">
  590. <div class="overlay"></div>
  591. <div id="svg_prefs_container">
  592. <div id="tool_prefs_back" class="toolbar_button">
  593. <button id="tool_prefs_save">OK</button>
  594. <button id="tool_prefs_cancel">Cancel</button>
  595. </div>
  596. <fieldset>
  597. <legend id="svginfo_editor_prefs">Editor Preferences</legend>
  598. <label><span id="svginfo_lang">Language:</span>
  599. <!-- Source: http://en.wikipedia.org/wiki/Language_names --><!-- Add for Chamilo bulgarian, (Български), hungarian (Magyar), indonesian (Bahasa Indonesia), italian (Italiano), latvian (Latviešu) -->
  600. <select id="lang_select">
  601. <option id="lang_ar" value="ar">العربية</option>
  602. <option id="lang_bg" value="bg">Български</option>
  603. <option id="lang_cs" value="cs">Čeština</option>
  604. <option id="lang_de" value="de">Deutsch</option>
  605. <option id="lang_en" value="en" selected="selected">English</option>
  606. <option id="lang_es" value="es">Español</option>
  607. <option id="lang_fa" value="fa">فارسی</option>
  608. <option id="lang_fr" value="fr">Français</option>
  609. <option id="lang_fy" value="fy">Frysk</option>
  610. <option id="lang_hi" value="hi">&#2361;&#2367;&#2344;&#2381;&#2342;&#2368;, &#2361;&#2367;&#2306;&#2342;&#2368;</option>
  611. <option id="lang_id" value="id">Bahasa Indonesia</option>
  612. <option id="lang_it" value="it">Italiano</option>
  613. <option id="lang_ja" value="ja">日本語</option>
  614. <option id="lang_lv" value="lv">Latviešu</option>
  615. <option id="lang_nl" value="nl">Nederlands</option>
  616. <option id="lang_pl" value="pl">Polski</option>
  617. <option id="lang_hu" value="hu">Magyar</option>
  618. <option id="lang_pt-BR" value="pt-BR">Português (BR)</option>
  619. <option id="lang_ro" value="ro">Română</option>
  620. <option id="lang_ru" value="ru">Русский</option>
  621. <option id="lang_sk" value="sk">Slovenčina</option>
  622. <option id="lang_zh-TW" value="zh-TW">繁體中文</option>
  623. </select>
  624. </label>
  625. <label><span id="svginfo_icons">Icon size:</span>
  626. <select id="iconsize">
  627. <option id="icon_small" value="s">Small</option>
  628. <option id="icon_medium" value="m" selected="selected">Medium</option>
  629. <option id="icon_large" value="l">Large</option>
  630. <option id="icon_xlarge" value="xl">Extra Large</option>
  631. </select>
  632. </label>
  633. <fieldset id="change_background">
  634. <legend id="svginfo_change_background">Editor Background</legend>
  635. <div id="bg_blocks"></div>
  636. <label><span id="svginfo_bg_url">URL:</span> <input type="text" id="canvas_bg_url"/></label>
  637. <p id="svginfo_bg_note">Note: Background will not be saved with image.</p>
  638. </fieldset>
  639. <fieldset id="change_grid">
  640. <legend id="svginfo_grid_settings">Grid</legend>
  641. <label><span id="svginfo_snap_onoff">Snapping on/off</span><input type="checkbox" value="snapping_on" id="grid_snapping_on"/></label>
  642. <label><span id="svginfo_snap_step">Snapping Step-Size:</span> <input type="text" id="grid_snapping_step" size="3" value="10"/></label>
  643. <label><span id="svginfo_grid_color">Grid color:</span> <input type="text" id="grid_color" size="3" value="#000"/></label>
  644. </fieldset>
  645. <fieldset id="units_rulers">
  646. <legend id="svginfo_units_rulers">Units &amp; Rulers</legend>
  647. <label><span id="svginfo_rulers_onoff">Show rulers</span><input type="checkbox" value="show_rulers" id="show_rulers" checked="checked"/></label>
  648. <label>
  649. <span id="svginfo_unit">Base Unit:</span>
  650. <select id="base_unit">
  651. <option value="px">Pixels</option>
  652. <option value="cm">Centimeters</option>
  653. <option value="mm">Millimeters</option>
  654. <option value="in">Inches</option>
  655. <option value="pt">Points</option>
  656. <option value="pc">Picas</option>
  657. <option value="em">Ems</option>
  658. <option value="ex">Exs</option>
  659. </select>
  660. </label>
  661. <!-- Should this be an export option instead? -->
  662. <!--
  663. <span id="svginfo_unit_system">Unit System:</span>
  664. <label>
  665. <input type="radio" name="unit_system" value="single" checked="checked"/>
  666. <span id="svginfo_single_type_unit">Single type unit</span>
  667. <small id="svginfo_single_type_unit_sub">CSS unit type is set on root element. If a different unit type is entered in a text field, it is converted back to user units on export.</small>
  668. </label>
  669. <label>
  670. <input type="radio" name="unit_system" value="multi"/>
  671. <span id="svginfo_multi_units">Multiple CSS units</span>
  672. <small id="svginfo_single_type_unit_sub">Attributes can be given different CSS units, which may lead to inconsistant results among viewers.</small>
  673. </label>
  674. -->
  675. </fieldset>
  676. </fieldset>
  677. </div>
  678. </div>
  679. <div id="dialog_box">
  680. <div class="overlay"></div>
  681. <div id="dialog_container">
  682. <div id="dialog_content"></div>
  683. <div id="dialog_buttons"></div>
  684. </div>
  685. </div>
  686. <ul id="cmenu_canvas" class="contextMenu">
  687. <li><a href="#cut">Cut</a></li>
  688. <li><a href="#copy">Copy</a></li>
  689. <li><a href="#paste">Paste</a></li>
  690. <li><a href="#paste_in_place">Paste in Place</a></li>
  691. <li class="separator"><a href="#delete">Delete</a></li>
  692. <li class="separator"><a href="#group">Group<span class="shortcut">G</span></a></li>
  693. <li><a href="#ungroup">Ungroup<span class="shortcut">G</span></a></li>
  694. <li class="separator"><a href="#move_front">Bring to Front<span class="shortcut">SHFT+CTRL+]</span></a></li>
  695. <li><a href="#move_up">Bring Forward<span class="shortcut">CTRL+]</span></a></li>
  696. <li><a href="#move_down">Send Backward<span class="shortcut">CTRL+[</span></a></li>
  697. <li><a href="#move_back">Send to Back<span class="shortcut">SHFT+CTRL+[</span></a></li>
  698. </ul>
  699. <ul id="cmenu_layers" class="contextMenu">
  700. <li><a href="#dupe">Duplicate Layer...</a></li>
  701. <li><a href="#delete">Delete Layer</a></li>
  702. <li><a href="#merge_down">Merge Down</a></li>
  703. <li><a href="#merge_all">Merge All</a></li>
  704. </ul>
  705. </body>
  706. </html>