Clipboard

From Inkscape Wiki
Revision as of 16:38, 2 April 2012 by Kris (talk | contribs) (cat)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

What can I copy?

When copying, different scenari could appear (cf. void ClipboardManagerImpl::copy(SPDesktop *desktop)):

  • If Inkscape is in Gradient mode and a gradient is selected, the selected gradient is copied
  • If Inkscape is in Color picker mode, the color under the cursor is copied
  • If Inkscape is in Text mode and if a text is selected, the selected text is copied
  • In all other cases, the objects selected are copied

What can I paste?

Default behaviour

When pasting, the clipboard items will be scaned at a predefined order (cf. ClipboardManagerImpl::ClipboardManagerImpl()) but the idea is to search data in the clipboard following this order:

  • Inkscape SVG ressource
    • image/x-inkscape-svg
  • SVG ressource
    • image/svg+xml
    • image/svg+xml-compressed
  • Others vector formats:
    • PDF ressource
    • Adobe Illustrator ressource

If no ressource is found, other formats are searched (cf. bool ClipboardManagerImpl::paste(SPDesktop *desktop, bool in_place)):

  • Windows users only: EMF ressource
  • Image ressource
  • Text string

Special behaviour

Those behaviours are accessible via keyboard shortcuts and/or menus:

Developpers informations

How can I allow pasting a new SVG mimetype?

Nota: this section is underwriting and should be used with caution.

Default non-Inkscape SVG mimetype is image/svg+xml. In order to deal with others non-Inkscape SVG mimetypes, do the following:

  1. In src/ui/clipboard.cpp
    1. Locate ClipboardManagerImpl::ClipboardManagerImpl()
    2. Just after the image/svg+xml mimetype, add a new line with your mimetype
    3. Locate ClipboardManagerimpl::_retrieveClipboard()
    4. The goal here is to change the mimetype from yours to the default non-Inkscape SVG mimetype. Locate the if test which set the target to the default non-Inkscape SVG mimetype
    5. Add a new case in the if with your mimetype

Source files