selection-chemistry.h revision b3f56023dab178fd94e7b5809f9e33bbfada7fc9
d51e90740114c60620c0febffd4d3ce6e280a107ab#ifndef __SP_SELECTION_CHEMISTRY_H__
d51e90740114c60620c0febffd4d3ce6e280a107ab#define __SP_SELECTION_CHEMISTRY_H__
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107ab/*
d51e90740114c60620c0febffd4d3ce6e280a107ab * Miscellanous operations on selected items
d51e90740114c60620c0febffd4d3ce6e280a107ab *
d51e90740114c60620c0febffd4d3ce6e280a107ab * Authors:
d51e90740114c60620c0febffd4d3ce6e280a107ab * Lauris Kaplinski <lauris@kaplinski.com>
d51e90740114c60620c0febffd4d3ce6e280a107ab * Frank Felfe <innerspace@iname.com>
d51e90740114c60620c0febffd4d3ce6e280a107ab * bulia byak <buliabyak@users.sf.net>
d51e90740114c60620c0febffd4d3ce6e280a107ab *
d51e90740114c60620c0febffd4d3ce6e280a107ab * Copyright (C) 1999-2005 authors
d51e90740114c60620c0febffd4d3ce6e280a107ab * Copyright (C) 2001-2002 Ximian, Inc.
d51e90740114c60620c0febffd4d3ce6e280a107ab *
d51e90740114c60620c0febffd4d3ce6e280a107ab * Released under GNU GPL, read the file 'COPYING' for more information
d51e90740114c60620c0febffd4d3ce6e280a107ab */
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107ab#include "forward.h"
d51e90740114c60620c0febffd4d3ce6e280a107ab#include "libnr/nr-forward.h"
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abnamespace Inkscape { class Selection; }
d51e90740114c60620c0febffd4d3ce6e280a107ab
d9452f237f843c1321abb5810d2f9ee6cbeae43cEdward Pilatowiczclass SPCSSAttr;
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_delete();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_duplicate();
d9452f237f843c1321abb5810d2f9ee6cbeae43cEdward Pilatowiczvoid sp_edit_clear_all();
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_edit_select_all();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_edit_select_all_in_all_layers ();
d9452f237f843c1321abb5810d2f9ee6cbeae43cEdward Pilatowiczvoid sp_edit_invert ();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_edit_invert_in_all_layers ();
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_clone();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_unlink();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_select_clone_original ();
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_tile(bool apply = true);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_untile();
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_group();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_ungroup();
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_raise();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_raise_to_top();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_lower();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_lower_to_bottom();
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abSPCSSAttr *take_style_from_item (SPItem *item);
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_cut();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_copy();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_paste(bool in_place);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_paste_style();
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_to_next_layer ();
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_to_prev_layer ();
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_apply_affine(Inkscape::Selection *selection, NR::Matrix const &affine, bool set_i2d = true);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_remove_transform (void);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_scale_absolute (Inkscape::Selection *selection, double x0, double x1, double y0, double y1);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_scale_relative(Inkscape::Selection *selection, NR::Point const &align, NR::scale const &scale);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_rotate_relative (Inkscape::Selection *selection, NR::Point const &center, gdouble angle);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_skew_relative (Inkscape::Selection *selection, NR::Point const &align, double dx, double dy);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_move_relative (Inkscape::Selection *selection, NR::Point const &move);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_move_relative (Inkscape::Selection *selection, double dx, double dy);
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_rotate_90_cw (void);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_rotate_90_ccw (void);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_rotate (Inkscape::Selection *selection, gdouble angle);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_rotate_screen (Inkscape::Selection *selection, gdouble angle);
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_scale (Inkscape::Selection *selection, gdouble grow);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_scale_screen (Inkscape::Selection *selection, gdouble grow_pixels);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_scale_times (Inkscape::Selection *selection, gdouble times);
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_move (gdouble dx, gdouble dy);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_move_screen (gdouble dx, gdouble dy);
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_item_next (void);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_item_prev (void);
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid scroll_to_show_item(SPDesktop *desktop, SPItem *item);
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_undo (SPDesktop *desktop, SPDocument *doc);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_redo (SPDesktop *desktop, SPDocument *doc);
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_create_bitmap_copy ();
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_set_mask(bool apply_clip_path, bool apply_to_layer);
d51e90740114c60620c0febffd4d3ce6e280a107abvoid sp_selection_unset_mask(bool apply_clip_path);
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107ab/* selection cycling */
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107abtypedef enum
d51e90740114c60620c0febffd4d3ce6e280a107ab{
d51e90740114c60620c0febffd4d3ce6e280a107ab SP_CYCLE_SIMPLE,
d51e90740114c60620c0febffd4d3ce6e280a107ab SP_CYCLE_VISIBLE, /* cycle only visible items */
d51e90740114c60620c0febffd4d3ce6e280a107ab SP_CYCLE_FOCUS /* readjust visible area to view selected item */
d51e90740114c60620c0febffd4d3ce6e280a107ab} SPCycleType;
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107ab/* fixme: This should be moved into preference repr */
d51e90740114c60620c0febffd4d3ce6e280a107ab#ifndef __SP_SELECTION_CHEMISTRY_C__
d51e90740114c60620c0febffd4d3ce6e280a107abextern SPCycleType SP_CYCLING;
d51e90740114c60620c0febffd4d3ce6e280a107ab#else
d51e90740114c60620c0febffd4d3ce6e280a107abSPCycleType SP_CYCLING = SP_CYCLE_FOCUS;
d51e90740114c60620c0febffd4d3ce6e280a107ab#endif
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107ab#endif
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107ab
d51e90740114c60620c0febffd4d3ce6e280a107ab