index 15b6f2057799e44d61453da8236e62fe55c7e57a..1f975975a6abc696f22199aaa9dfdc923b5392d7 100644 (file)
-#ifndef __SP_SELECTION_CHEMISTRY_H__
-#define __SP_SELECTION_CHEMISTRY_H__
+#ifndef SEEN_SELECTION_CHEMISTRY_H
+#define SEEN_SELECTION_CHEMISTRY_H
/*
* Miscellanous operations on selected items
* Lauris Kaplinski <lauris@kaplinski.com>
* Frank Felfe <innerspace@iname.com>
* bulia byak <buliabyak@users.sf.net>
+ * Jon A. Cruz <jon@joncruz.org>
*
- * Copyright (C) 1999-2005 authors
+ * Copyright (C) 1999-2010 authors
* Copyright (C) 2001-2002 Ximian, Inc.
*
* Released under GNU GPL, read the file 'COPYING' for more information
class SPCSSAttr;
+namespace Inkscape {
+ class SelectionHelper {
+ public:
+ static void selectAll(SPDesktop *desktop);
+ static void selectAllInAll(SPDesktop *desktop);
+ static void selectNone(SPDesktop *desktop);
+ static void invert(SPDesktop *desktop);
+ static void invertAllInAll(SPDesktop *desktop);
+ static void reverse(SPDesktop *dt);
+ static void selectNext(SPDesktop *desktop);
+ static void selectPrev(SPDesktop *desktop);
+ };
+} // namespace Inkscape
+
void sp_selection_delete(SPDesktop *desktop);
void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone = false);
void sp_edit_clear_all(SPDesktop *desktop);
void sp_selection_tile(SPDesktop *desktop, bool apply = true);
void sp_selection_untile(SPDesktop *desktop);
+//void sp_selection_group_impl(GSList const *reprs_to_group, Inkscape::XML::Node *group, Inkscape::XML::Document *xml_doc, SPDocument *doc);
void sp_selection_group(SPDesktop *desktop);
void sp_selection_ungroup(SPDesktop *desktop);
SPCSSAttr *take_style_from_item (SPItem *item);
void sp_selection_cut(SPDesktop *desktop);
-void sp_selection_copy();
+void sp_selection_copy(SPDesktop *desktop);
void sp_selection_paste(SPDesktop *desktop, bool in_place);
void sp_selection_paste_style(SPDesktop *desktop);
void sp_selection_paste_livepatheffect(SPDesktop *desktop);
@@ -75,13 +91,13 @@ void sp_selection_paste_size_separately(SPDesktop *desktop, bool apply_x, bool a
void sp_selection_to_next_layer( SPDesktop *desktop, bool suppressDone = false );
void sp_selection_to_prev_layer( SPDesktop *desktop, bool suppressDone = false );
-void sp_selection_apply_affine(Inkscape::Selection *selection, Geom::Matrix const &affine, bool set_i2d = true);
+void sp_selection_apply_affine(Inkscape::Selection *selection, Geom::Matrix const &affine, bool set_i2d = true, bool compensate = true);
void sp_selection_remove_transform (SPDesktop *desktop);
void sp_selection_scale_absolute (Inkscape::Selection *selection, double x0, double x1, double y0, double y1);
void sp_selection_scale_relative(Inkscape::Selection *selection, Geom::Point const &align, Geom::Scale const &scale);
void sp_selection_rotate_relative (Inkscape::Selection *selection, Geom::Point const ¢er, gdouble angle);
void sp_selection_skew_relative (Inkscape::Selection *selection, Geom::Point const &align, double dx, double dy);
-void sp_selection_move_relative (Inkscape::Selection *selection, Geom::Point const &move);
+void sp_selection_move_relative (Inkscape::Selection *selection, Geom::Point const &move, bool compensate = true);
void sp_selection_move_relative (Inkscape::Selection *selection, double dx, double dy);
void sp_selection_rotate_90 (SPDesktop *desktop, bool ccw);
void sp_selection_set_mask(SPDesktop *desktop, bool apply_clip_path, bool apply_to_layer);
void sp_selection_unset_mask(SPDesktop *desktop, bool apply_clip_path);
-bool fit_canvas_to_selection(SPDesktop *);
+bool fit_canvas_to_selection(SPDesktop *, bool with_margins = false);
void verb_fit_canvas_to_selection(SPDesktop *);
-bool fit_canvas_to_drawing(SPDocument *);
+bool fit_canvas_to_drawing(SPDocument *, bool with_margins = false);
void verb_fit_canvas_to_drawing(SPDesktop *);
void fit_canvas_to_selection_or_drawing(SPDesktop *);
void unhide_all(SPDesktop *dt);
void unhide_all_in_all_layers(SPDesktop *dt);
-/* selection cycling */
+GSList *sp_degroup_list (GSList *items);
+/* selection cycling */
typedef enum
{
- SP_CYCLE_SIMPLE,
- SP_CYCLE_VISIBLE, /* cycle only visible items */
- SP_CYCLE_FOCUS /* readjust visible area to view selected item */
+ SP_CYCLE_SIMPLE,
+ SP_CYCLE_VISIBLE, // cycle only visible items
+ SP_CYCLE_FOCUS // readjust visible area to view selected item
} SPCycleType;
-/* fixme: This should be moved into preference repr */
-#ifndef __SP_SELECTION_CHEMISTRY_C__
-extern SPCycleType SP_CYCLING;
-#else
-SPCycleType SP_CYCLING = SP_CYCLE_FOCUS;
-#endif
-
-#endif
+// TOOD fixme: This should be moved into preference repr
+extern SPCycleType SP_CYCLING;
+#endif // SEEN_SELECTION_CHEMISTRY_H