stroke-style.h revision 0de73848362e95b081e5fa85f910d6481094b2b9
/**
* @file
* Widgets used in the stroke style dialog.
*/
/* Author:
* Lauris Kaplinski <lauris@ximian.com>
* Jon A. Cruz <jon@joncruz.org>
*
* Copyright (C) 2010 Jon A. Cruz
* Copyright (C) 2001 Ximian, Inc.
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
// WHOA! talk about header bloat!
#ifndef SEEN_DIALOGS_STROKE_STYLE_H
#define SEEN_DIALOGS_STROKE_STYLE_H
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include "widgets/dash-selector.h"
#include <gtkmm/radiobutton.h>
#if WITH_GTKMM_3_0
#else
#endif
#include "desktop.h"
#include "desktop-style.h"
#include "ui/dialog-events.h"
#include "display/canvas-bpath.h" // for SP_STROKE_LINEJOIN_*
#include "document-private.h"
#include "document-undo.h"
#include "gradient-chemistry.h"
#include "helper/stock-items.h"
#include "inkscape.h"
#include "sp-marker.h"
#include "preferences.h"
#include "path-prefix.h"
#include "selection.h"
#include "sp-linear-gradient.h"
#include "sp-namedview.h"
#include "sp-pattern.h"
#include "sp-radial-gradient.h"
#include "sp-rect.h"
#include "sp-text.h"
#include "style.h"
#include "svg/css-ostringstream.h"
#include "ui/cache/svg_preview_cache.h"
#include "ui/icon-names.h"
#include "widgets/paint-selector.h"
#include "widgets/sp-widget.h"
#include "widgets/spw-utilities.h"
#include "ui/widget/spinbutton.h"
#include "stroke-style.h"
#include "stroke-marker-selector.h"
#include "fill-style.h" // to get sp_fill_style_widget_set_desktop
#include "fill-n-stroke-factory.h"
#include "verbs.h"
}
}
}
}
}
{"marker-all", SP_MARKER_LOC},
{"marker-start", SP_MARKER_LOC_START},
{"marker-mid", SP_MARKER_LOC_MID},
{"marker-end", SP_MARKER_LOC_END},
{"", SP_MARKER_LOC_QTY},
{NULL, -1}
};
/**
* Creates an instance of a paint style widget.
*/
/**
* Creates an instance of a line style widget.
*/
/**
* Switches a line or paint style widget to track the given desktop.
*/
{
StrokeStyle();
~StrokeStyle();
/** List of valid types for the stroke-style radio-button widget */
enum StrokeStyleButtonType {
STROKE_STYLE_BUTTON_JOIN, ///< A button to set the line-join style
STROKE_STYLE_BUTTON_CAP ///< A button to set the line-cap style
};
/**
* A custom radio-button for setting the stroke style. It can be configured
* to set either the join or cap style by setting the button_type field.
*/
char const *icon,
gchar const *stroke_style);
/** Get the stroke style attribute associated with the button */
};
void updateLine();
void setJoinType (unsigned const jointype);
void setCapType (unsigned const captype);
void scaleLine();
char const *icon,
gchar const *stroke_style);
// Callback functions
void selectionChangedCB();
void widthChangedCB();
void miterLimitChangedCB();
void lineDashChangedCB();
void unitChangedCB();
static void markerSelectCB(MarkerComboBox *marker_combo, StrokeStyle *spw, SPMarkerLoc const which);
#if WITH_GTKMM_3_0
#else
#endif
};
} // namespace Inkscape
#endif // SEEN_DIALOGS_STROKE_STYLE_H
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :