diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2010-08-08 17:27:51 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2010-08-08 17:27:51 +0000 |
| commit | 60d3113d1f022a3de7cf04c7979d4751b3fe21f6 (patch) | |
| tree | ca33e2a9a1af6b5911598fa1c6a1d77087b71dd2 /src/sp-paint-server.cpp | |
| parent | Minor cleanups (diff) | |
| parent | Add a constrained snap method that takes multiple constraints. This reduces t... (diff) | |
| download | inkscape-60d3113d1f022a3de7cf04c7979d4751b3fe21f6.tar.gz inkscape-60d3113d1f022a3de7cf04c7979d4751b3fe21f6.zip | |
merge from trunk
(bzr r9508.1.52)
Diffstat (limited to 'src/sp-paint-server.cpp')
| -rw-r--r-- | src/sp-paint-server.cpp | 38 |
1 files changed, 7 insertions, 31 deletions
diff --git a/src/sp-paint-server.cpp b/src/sp-paint-server.cpp index 35a5ff1f1..010d98818 100644 --- a/src/sp-paint-server.cpp +++ b/src/sp-paint-server.cpp @@ -20,15 +20,12 @@ #include "xml/node.h" static void sp_paint_server_class_init(SPPaintServerClass *psc); -static void sp_paint_server_init(SPPaintServer *ps); - -static void sp_paint_server_release(SPObject *object); static cairo_pattern_t *sp_paint_server_create_dummy_pattern(SPPaintServer *ps, cairo_t *ct, NRRect const *bbox, double opacity); static SPObjectClass *parent_class; -GType sp_paint_server_get_type (void) +GType SPPaintServer::get_type(void) { static GType type = 0; if (!type) { @@ -41,7 +38,7 @@ GType sp_paint_server_get_type (void) NULL, /* class_data */ sizeof(SPPaintServer), 16, /* n_preallocs */ - (GInstanceInitFunc) sp_paint_server_init, + (GInstanceInitFunc) SPPaintServer::init, NULL, /* value_table */ }; type = g_type_register_static(SP_TYPE_OBJECT, "SPPaintServer", &info, (GTypeFlags) 0); @@ -51,23 +48,15 @@ GType sp_paint_server_get_type (void) static void sp_paint_server_class_init(SPPaintServerClass *psc) { - SPObjectClass *sp_object_class = (SPObjectClass *) psc; - sp_object_class->release = sp_paint_server_release; psc->pattern_new = sp_paint_server_create_dummy_pattern; + parent_class = (SPObjectClass *) g_type_class_ref(SP_TYPE_OBJECT); } -static void sp_paint_server_init(SPPaintServer *ps) +void SPPaintServer::init(SPPaintServer *ps) { } -static void sp_paint_server_release(SPObject *object) -{ - if (((SPObjectClass *) parent_class)->release) { - ((SPObjectClass *) parent_class)->release(object); - } -} - cairo_pattern_t *sp_paint_server_create_pattern(SPPaintServer *ps, cairo_t *ct, NRRect const *bbox, @@ -100,29 +89,16 @@ sp_paint_server_create_dummy_pattern(SPPaintServer */*ps*/, bool SPPaintServer::isSwatch() const { - bool swatch = false; - if (SP_IS_GRADIENT(this)) { - SPGradient *grad = SP_GRADIENT(this); - if ( SP_GRADIENT_HAS_STOPS(grad) ) { - gchar const * attr = repr->attribute("osb:paint"); - if (attr && !strcmp(attr, "solid")) { - swatch = true; - } - } - } return swatch; } bool SPPaintServer::isSolid() const { bool solid = false; - if (SP_IS_GRADIENT(this)) { + if (swatch && SP_IS_GRADIENT(this)) { SPGradient *grad = SP_GRADIENT(this); - if ( SP_GRADIENT_HAS_STOPS(grad) && (grad->getStopCount() == 0) ) { - gchar const * attr = repr->attribute("osb:paint"); - if (attr && !strcmp(attr, "solid")) { - solid = true; - } + if ( grad->hasStops() && (grad->getStopCount() == 0) ) { + solid = true; } } return solid; |
