control-manager.h revision 8ab2991a47c99fe39f45014a19f10be449839948
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz/*
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz * Inkscape::ControlManager - Coordinates creation and styling of nodes, handles, etc.
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz *
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz * Author:
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz * Jon A. Cruz <jon@joncruz.org>
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz *
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz * Copyright 2012 Authors
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz *
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz * Released under GNU GPL, read the file 'COPYING' for more information
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz */
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz#ifndef SEEN_INKSCAPE_CONTROL_MANAGER_H
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz#define SEEN_INKSCAPE_CONTROL_MANAGER_H
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz#include <memory>
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz#include <sigc++/sigc++.h>
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz#include "display/sp-canvas-item.h"
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruzstruct SPCanvasItem;
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruzstruct SPCanvasGroup;
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruznamespace Inkscape {
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruzclass ControlManagerImpl;
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruzclass ControlManager
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz{
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruzpublic:
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz static ControlManager &getManager();
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz ~ControlManager();
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz sigc::connection connectCtrlSizeChanged(const sigc::slot<void> &slot);
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz SPCanvasItem *createControl(SPCanvasGroup *parent, ControlType type);
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz void track(SPCanvasItem *item);
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz void updateItem(SPCanvasItem *item);
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruzprivate:
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz ControlManager();
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz std::auto_ptr<ControlManagerImpl> _impl;
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz friend class ControlManagerImpl;
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz};
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz} // namespace Inkscape
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz#endif // SEEN_INKSCAPE_CONTROL_MANAGER_H
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz/*
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz Local Variables:
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz mode:c++
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz c-file-style:"stroustrup"
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz indent-tabs-mode:nil
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz fill-column:99
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz End:
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz*/
8ab2991a47c99fe39f45014a19f10be449839948Jon A. Cruz// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :