Commit Graph

  • ef7779ba50 Fixed a bug in the attributes editor for deleting an attribute. The operation would fail if the attribute used a namespace prefix. Those attributes can now be deleted normally. dsward2 2017-10-22 16:38:31 -05:00
  • dbee315b11 Added calls to refresh transform handles, and add or remove center-of-rotation handle depending on whether a rotate transform is currently being edited. dsward2 2017-10-22 06:01:06 -05:00
  • eea693cc7b Remove an NSLog() function call that was used for testing. dsward2 2017-10-22 01:30:45 -05:00
  • 4d1f15b786 In this commit, handling of mouse events for editing the translate, skewX and skewY transforms is improved. dsward2 2017-10-22 01:28:22 -05:00
  • 836ad0ddc9 This commit contains improvements for the interactive controls for editing a transform scale operation. The scaling handles should have better tracking with mouse events now. dsward2 2017-10-21 15:28:58 -05:00
  • b85d575b8b A bug was fixed for mouse dragging the center-of-rotation handle for the transform rotate editing mode. The center-of-rotation handle should now track better with the current mouse point in nested transforms. dsward2 2017-10-19 14:52:23 -05:00
  • 211c4aa016 A bug was fixed that affected the first click for creating a path element (and perhaps other elements). When mouseDown handler is called to create a new element, the parent element for the new element will be used to set the transform coordinate space. dsward2 2017-10-19 13:32:04 -05:00
  • f3febe9fe8 This commit mostly contains changes for DOM MouseEvent handling, transforms, and the new center-of-rotation handle in the web view for rotate transforms. dsward2 2017-10-19 02:56:32 -05:00
  • df522aa843 This commit has several changes for transform operations. dsward2 2017-10-13 23:54:50 -05:00
  • 268e5936f7 This commit has initial changes to allow element and attribute plug-in editors to display function-specific editing handles in the web view. dsward2 2017-10-11 14:47:37 -05:00
  • 24b779315d Update version in main project and plug-in subproject to 1.1.0. dsward2 2017-10-10 16:40:30 -05:00
  • 2e1e8e7811 The transform editor for rotate transforms was improved, with several bug fixes. dsward2 2017-10-10 02:57:06 -05:00
  • 050bf5dec6 The interactive controls for transform attribute editing are improved in this commit. The editing should now work better with the current transform matrix (CTM) of the selected element. dsward2 2017-10-10 00:18:16 -05:00
  • fea6eae0ce These changes make it easier to edit path, line, polyline and polygon elements that are translated, rotated and scaled with a "transform" attribute. dsward2 2017-10-07 17:36:51 -05:00
  • 584d861b06 Two SZJsonParser objects were moved from separate plug-in projects to a single object in the main plug-in framework project. This change will resolve Xcode's warning message about multiple class issues for the class. dsward2 2017-10-07 11:45:57 -05:00
  • c36f18faf9 In PathSegmentEditor, when the user changes a segment type - like from lineto to cubic curveto - apply some reasonable default values to the new parameters, e.g., use the x from lineto as x1 and x2 in the conversion to cubic lineto. dsward2 2017-10-06 10:52:41 -05:00
  • 4d22877014 The recently reconfigured, view-based XMLAttributesTableController was modified to reduce unnecessary animation in the table view. Currently, keyboard navigation seems to be working okay in the view-based table, but further testing is needed. dsward2 2017-10-06 01:31:32 -05:00
  • 58d29490f0 The XMLAttributesTableView was converted from cell-based to view-based, and keyboard navigation was improved - e.g., the tab and shift-tab keys can be used to move between the name and value columns in the attributes table view. dsward2 2017-10-05 06:05:07 -05:00
  • bce581d1cd For the next release of macSVG: Added a new function to the Plug-Ins menu called "Path Text Generator". A window opens where the user can enter a line of text and select a font (from installed fonts, Google web fonts, TrueType font files, etc.). User settings are available for font size and origin offset. Two options are available for path generation: 1) the whole string converted to a single path element, or 2) each character in the string is converted as a separate path element. After entering the text string, selecting the font and other options, click the "Generate path" button to add the path elements to the SVG document. dsward2 2017-09-27 03:36:57 -05:00
  • a284c97548 In MacSVGDocuments, added a new method named countAllXMLElements. dsward2 2017-04-16 21:38:36 -05:00
  • 6cd12437de In SVGPathEditor, an error was found in path editing of cubic curve segments where extra editing handles were added improperly for the "x0y0" and "x3y3" implied control points (reflections of "x1y1" and "x2y2", respectively). The extra handles did not function correctly, particularly for the curve continuity option. The x0y0 reflected handle should be drawn when the previous segment was a Moveto ("M" or "m") command. The x3y3 reflected handle should be drawn for the last segment of a cubic curve. 1.0.1 dsward2 2017-04-03 20:04:31 -05:00
  • 68d4d2b29d Release macSVG 1.0.0, CFBundleVersion 0649 v1.0.0 Douglas Ward 2017-03-29 18:18:51 -05:00
  • 60d1d0dc70 Merge remote-tracking branch 'github_macsvg/master' Douglas Ward 2017-03-29 07:52:46 -05:00
  • 5610db2c0f Commit scheme changes. Douglas Ward 2017-03-29 07:51:05 -05:00
  • 4ec68592b0 This commit contains a workaround for a problem when an element is selected with the crosshair cursor tool, and the ColorAttributeEditor is used to set an attribute like "fill" or "stroke". The problem caused both the selection rects/handles and the path/polyline/polygon/line handles to be incorrectly displayed together. dsward2 2017-03-29 05:38:18 -05:00
  • fbc36b0be8 Renamed the 'macSVGPlugin' folder name to 'MacSVGPlugin' to resolve an Xcode 8.3 compiler warning. Douglas Ward 2017-03-28 06:52:41 -05:00
  • 5b2c1dd16b In the Path Segments example, animation was added to the <path> element segments. dsward2 2017-03-28 01:09:01 -05:00
  • ff14bc7031 In the Path Animation and Shape Morphing example, a shape-rendering="geometricPrecision" attribute was added to the animated <path> element. dsward2 2017-03-27 23:46:31 -05:00
  • fddcd3c79e In the Animate path of elliptical arc segments example, a shape-rendering="geometricPrecision" attribute was added to the animated <path> element. dsward2 2017-03-27 23:29:00 -05:00
  • bd251ac76d Some temporary NSLog() instrumentation was disabled. dsward2 2017-03-27 18:59:26 -05:00
  • 83a2edb153 In SVGPathEditor editPath method, an improvement was made for editing a closed paths with the crosshair cursor tool, where a segment at x,y should match a different segment, and maintain a smooth closed path in some cases. dsward2 2017-03-27 08:56:02 -05:00
  • 627dd74314 In SVGLineEditor, a editing mode error was fixed for line elements when the crosshair cursor selects a different line element. dsward2 2017-03-26 07:08:04 -05:00
  • b7983ed84b In DOMMouseEventsController handleMouseDownEvent, another bug was fix for the crosshairs cursor when clicked in a path, polyline, polygon or line element, but not in a handle. dsward2 2017-03-25 08:09:16 -05:00
  • 1f7f1d0bc5 In DOMMouseEventsController, some bugs in mouse click functions were fixed. The most serious bug caused path's "d" attribute to be reset to an empty string, effectively removing the path data. dsward2 2017-03-25 07:45:40 -05:00
  • c755d77995 In SVGElementsDictionary.xml, the prototype <image> element added an "xlink:role" attribute to match the "xlink:href" attribute. dsward2 2017-03-24 01:39:52 -05:00
  • 3d452687dc Fixed a bug in the final pass of the new multi-pass SVG path data parser in SVGPathEditor buildPathSegmentsArrayWithPathString:. dsward2 2017-03-22 06:37:16 -05:00
  • 50cefbd220 In TransformAttributeEditor, a basic editor was added for existing "matrix" operations in transform attributes. dsward2 2017-03-22 00:13:41 -05:00
  • c4b85f4aaf In SVGPathEditor, the buildPathSegmentsArrayWithPathString was redesigned to operate as a multi-pass SVG path data parser. It will attempt to handle some unusual situations like an "m" relative Moveto as the first path command, convert consecutive Moveto commands to Lineto commands, and fill in implied path commands that are omitted from the path data. Hopefully, these changes will improve the ability of macSVG to import documents from sources like openclipart.org. dsward2 2017-03-21 08:46:17 -05:00
  • cea07506b2 In SVGPathEditor's buildPathSegmentsArrayWithPathString: method, if the first segment contains a 'm' relative Moveto command, change it to 'M' absolute Moveto command, and keep the existing x and y values for absolute positioning. dsward2 2017-03-20 04:05:16 -05:00
  • 5827ba0f9a In PathElementEditor, the layout of the path segment editor popover view was changed to avoid obscuring the table of path segments. dsward2 2017-03-20 03:37:42 -05:00
  • a8494503bd Changed the "foreignObject with embedded HTML iframe" to load the macSVG Examples web page at http://macsvg.org/examples/ . dsward2 2017-03-20 01:54:45 -05:00
  • 4a74410534 A new SVG example file was added: "foreignObject with embedded HTML iframe". It demonstrates how to embed a separate web page into an SVG document. dsward2 2017-03-20 01:43:29 -05:00
  • a2dbca25c9 In PathElementEditor, a button was added for the Close Path and Continue command. This is useful for creating subpaths, especially with the path "fill-rule" attribute set to "nonzero" or "evenodd" for removing a region from a closed shape. dsward2 2017-03-20 00:13:02 -05:00
  • 93ce3d2552 Restoring two files removed in previous commit to fix a git problem. Douglas Ward 2017-03-19 23:32:16 -05:00
  • fbfc7f719c Some build errors were found after the previous commit was pulled to a different Mac. And another git problem will require deletion of the MacSVGPluginView.xib file, to be added back in the next commit. Douglas Ward 2017-03-19 23:27:23 -05:00
  • 7b664e9777 Added ConvertPathsDialog.plugin for the Plug-Ins menu. Initially, this plugin contains one option to convert all selected SVG <path> elements to absolute coordinates, which is sometimes useful with imported SVG clipart to improve the usability of the path editing controls. More path conversion options will likely be added in the future. dsward2 2017-03-19 11:29:23 -05:00
  • 582ae53daa Some old artwork files were deleted. dsward2 2017-03-19 04:07:35 -05:00
  • c1fd929619 The Copy Files build phases for the application target were renamed to be more descriptive, e.g., "Copy macSVG Examples Files". dsward2 2017-03-18 03:05:19 -05:00
  • 421efde6cd This commit mostly includes minor layout changes to some XIB files. dsward2 2017-03-06 18:24:45 -06:00
  • 2f87bbc6cb In SVGPathEditor, when drawing a path element with elliptical arc segments, dragging the mouse will adjust the x and y radius values according to the mouse distance from the arc endpoint. If the option key is pressed, the x and y radius are set with independent values; otherwise, the larger value of the x or y distance from the endpoint is used for both radius values. dsward2 2017-03-05 23:29:43 -06:00
  • 98b5f6bde5 The drawing tools for <path> elements were improved to simplify the creation of subpaths for effects like the "donut-hole" in a closed and filled path shape. dsward2 2017-03-05 05:43:06 -06:00
  • 2b20b714f9 Merge remote-tracking branch 'github_macsvg/master' dsward2 2017-03-04 01:25:21 -06:00
  • 7b22601a92 In DOMMouseEventsController, fixed a bug where mouse right-clicks were handled as left-clicks. dsward2 2017-03-04 01:22:32 -06:00
  • c41541c4d9 Added the previously committed SVG file to the Xcode Project Navigator. Douglas Ward 2017-03-03 02:22:31 -06:00
  • f6ebd38a5a Added a new SVG example titled "Animate path of elliptical arc segments". It demonstrates animation of elliptical arcs in a path with the "Rotate Path Segments Left" and "Rotate Path Segments Right" path functions. dsward2 2017-03-03 02:11:25 -06:00
  • e06a30057d A closePathWithPathSegmentsArray method was added to PathFunctions. When closing a path which is currently drawing a curved segment, the method will attempt to add a curve segment back to the first segment. A "Z" or "z" command will be appended to the path. dsward2 2017-03-03 00:09:41 -06:00
  • 47300c452d Added new path functions in path Element Editor - Rotate Path Segments Left and Rotate Path Segments Right dsward2 2017-03-01 09:38:06 -06:00
  • 10819d7b88 This commit has several changes for drawing completion of polylines, polygons and paths. These elements can be completed by double-clicking the mouse, or pressing the escape, return or space key on the keyboard. dsward2 2017-02-28 07:31:13 -06:00
  • 86d82cf996 Om AnimateElementEditor.xib, the dimensions were fixed for the values table and buttons. dsward2 2017-02-25 01:51:56 -06:00
  • de828dc046 In README.md, removed the paragraph that macSVG might be available on the Mac App Store in the future. It turns out that the app name is not acceptable at the Mac App Store. This issue can be addressed during the migration from Objective-C to Swift, so the project may get a new name in the future, and try the Mac App Store again. dsward2 2017-02-25 01:32:49 -06:00
  • b1d8e0364e In AnimateElementEditor.xib, some minor adjustments were made in the layout of the Attributes tab view. dsward2 2017-02-24 17:52:32 -06:00
  • 6492115f53 In AnimateAttributeEditor, fixed a bug concerning the attributeType attribute, which was using the wrong method to access the title of a popup button. dsward2 2017-02-24 15:03:23 -06:00
  • 53f34a110f In AnimationElementEditor, added a NSComboBox for attributeName attribute, and a NSPopUpButton for attributeType. The attributeName combo box items are filtered according to the DTD animatable properties, and sorted alphabetically. The AnimationElementEditor view was reorganized to put the common settings in a tab view titled "Attributes". The "from/to" and "values" tabs remain available for those attributes. dsward2 2017-02-24 06:37:24 -06:00
  • 80abf78816 In the viewBox Animation example, added a text-rendering=geometricPrecision attribute to the text element. dsward2 2017-02-24 01:29:53 -06:00
  • d3a892f1c3 In TextElementEditor.xib, fixed overlapping elements in Interface Builder. dsward2 2017-02-24 00:39:57 -06:00
  • bf6b972ebc In TransformAttributeEditor, fixed an array bounds error for transforms that may not contain all parameters, like rotate(45), which implies rotate(45, 0 ,0) where the center of rotation is 0, 0. dsward2 2017-02-23 22:02:00 -06:00
  • c903ca6a34 In MacSVGDocumentWindowController showElementDocumentation, added a bounds check to prevent an error if no row is selected in elementsTableView, and improved the context sensitivity for choosing a selected item in the elements view or outline view. dsward2 2017-02-23 21:41:31 -06:00
  • 675b77b9ed In AnimateTransformElementEditor, add a "type" popup button to select translate, scale, rotate, skewX or skewY. The usability of valuesTableView was improved to adjust the number of columns according to the type popup button value. dsward2 2017-02-23 19:24:50 -06:00
  • 7888a9d89b Added "text-rendering" attribute to text elements in document templates, with value set to "geometricPrecision" dsward2 2017-02-23 16:30:11 -06:00
  • dedf397e57 Revised SVG example file for animateMotion and math file. dsward2 2017-02-23 06:06:10 -06:00
  • 3077e4ba44 For <text> elements, added a "text-rendering" attribute with the value set to "geometricPrecision". dsward2 2017-02-23 05:35:54 -06:00
  • ea25a1c94d In SVGAttributeEditor.xib, the attributeStepperAction was connected to the NSStepper for the attribute value in Interface Builder. dsward2 2017-02-20 21:11:34 -06:00
  • 9ff4c100d1 In DOMMouseEventsController offsetPolyline:deltaX:deltaY:, added live updates to the points table view when a polyline or polygon element is dragged in the web view. dsward2 2017-02-19 03:36:21 -06:00
  • c377085d83 Removed some App Sandbox entitlements. Douglas Ward 2017-02-16 14:45:51 -06:00
  • c53c1d456b In MainMenu.xib for the Browse SVG Examples window, set the table view as initial first responder, and set the Return key as the keyboard equivalent for the Open button. Douglas Ward 2017-02-15 02:10:17 -06:00
  • ad07913e1d A bug with the Extend Path function was fixed. Douglas Ward 2017-02-10 21:19:06 -06:00
  • e4e99eaa91 Fixed a couple of element selection bugs. The most important fix was for selecting the crosshair editing tool for path elements which contain other elements non-drawable like 'animate'. The bug prevented the editing mode from switching properly. Douglas Ward 2017-02-08 23:12:37 -06:00
  • d014abf306 The "MacSVG Plugin Projects" folder was moved into the scope of the main project in accordance with the Xcode instructions for code signing the plugin project products. The bundle names of the plugin projects was changed due to an iTune Connect bundle naming conflict. The macSVG application passes the iTunes Connect validation tests, can be archived and extracted for submission to Apple's Mac App Store, or as a signed app for distribution outside of the app store. The version number was incremented to 1.0.0, and a release candidate was produced. Douglas Ward 2017-02-05 08:00:25 -06:00
  • bdea0ec962 Commented out some unused code. Douglas Ward 2017-02-01 20:03:22 -06:00
  • 6c698fb4b7 Revised README.md. dsward2 2017-01-12 20:47:34 -06:00
  • c7e226c9ca Revisions to README.me. dsward2 2017-01-12 20:43:34 -06:00
  • 7eab70f694 In PathElementEditor extendPathButtonAction, remove the selection rectangles and handles when switching to path drawing mode. Evelyn Fecher-Ward 2017-01-08 23:16:31 -06:00
  • 3634900d9b The "Extend Path" function is partially implemented, but further improvements are needed. dsward2 2017-01-08 01:10:33 -06:00
  • 36c9631789 In SVGAttributeEditor, replaced the text field and popup menu button with an NSComboBox, and added a button to select an IRI Reference element if a valid match is found. dsward2 2017-01-07 18:46:47 -06:00
  • 33efcb5b18 The functions provided in IRIReferenceAttributeEditor plugin are now merged into the SVGAttributeEditor plugin, and the IRIReferenceEditor is removed from the macSVG application bundle. dsward2 2017-01-06 20:13:56 -06:00
  • 8d3fbed17b Added new StyleAttributeEditor plug-in for editing inline CSS properties and values. (This editor does not apply to the <style> element, instead it is for editing the 'style' attribute). dsward2 2017-01-04 23:48:21 -06:00
  • 00edcf101d In FontPopoverViewController, TextPathPopoverViewController, and TspanPopoverViewController, changed the method for extracting the font name from a TrueType (.ttf) font file. dsward2 2017-01-02 15:14:52 -06:00
  • 4652849eae Fixed a bug in the FontPopoverViewController when using features in the the "Import" tab. dsward2 2016-12-30 20:26:26 -06:00
  • 48263b45e0 Added support for drag-and-drop of image files into the SVG document outline view. A new image element will be added, and the attributes set to x=10, y=10. dsward2 2016-12-29 06:17:04 -06:00
  • eedf485c51 Initial work to set location for images dropped into SVGWebView. dsward2 2016-12-29 05:32:01 -06:00
  • e5b556ceb8 In MacSVGDocument, added initial support for drag-and-drop of PNG and JPEG images from the Finder Desktop directly into the web view. The initial position of the imported image in the web view is x=10, y=10. dsward2 2016-12-29 03:05:51 -06:00
  • 0baa56ed5a In MacSVGDocument, the initial implementation of drag-and-drop images directly into the web view. With this commit, in early tests, dragging images from a Safari web browser window into the macSVG web view can import those images. dsward2 2016-12-29 02:12:24 -06:00
  • 5003c67220 In ImageElementEditor, fixed some bugs in the new setXlinkHrefButtonAction method. dsward2 2016-12-29 00:41:32 -06:00
  • b15afac687 In ImageElementEditor, in the setXlinkHrefButtonAction method, set the 'xlink:role' attribute to the image URL when updating the 'xlink:href' attribute. dsward2 2016-12-28 12:35:11 -06:00
  • ed2975f8f1 Working on drag-and-drop images for web view, a small change for calculating the insertion point when no row selected in outline view. dsward2 2016-12-27 13:13:55 -06:00
  • 7fee114e68 Update some SVG example files to use embedded image data, rather than a reference to a http server file dsward2 2016-12-27 04:16:18 -06:00
  • 927975a25f Several improvements were made for editing <image> elements, with changes in MacSVGDocument and ImageElementEditor. dsward2 2016-12-27 03:00:21 -06:00
  • b41323b81a In AnimateMotionElementEditor, added a range check on an array index. dsward2 2016-12-26 15:03:20 -06:00
  • 3c1480d679 Implemented a modal application Preferences window in MacSVGAppDelegate. Initially, it contains controls to enable and disable the built-in HTTP server, and to specify a port number for the HTTP server. dsward2 2016-12-24 18:33:52 -06:00
  • 4eb9dd7b72 In NetworkControlManager, fixed several problems related to "Open With Network Connection…" command. Previously, the only working functions were to switch to file browsing mode for SFTP and SSH connections. Now, the one-shot file download functions seem to be working without switching to file-browsing mode, including the ability to specify an HTTP URL to download an SVG file from a remote HTTP server. dsward2 2016-12-24 04:35:29 -06:00