X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fsvg-view-widget.cpp;h=777c1b496031e7e2911d171a45a12c072584823d;hb=0dc33d4ce43e0bb49c63aa53b826ec4a1ff68e28;hp=7c6925ad21084368f9bbed4b370a9a6d5fbaaf38;hpb=6b15695578f07a3f72c4c9475c1a261a3021472a;p=inkscape.git diff --git a/src/svg-view-widget.cpp b/src/svg-view-widget.cpp index 7c6925ad2..777c1b496 100644 --- a/src/svg-view-widget.cpp +++ b/src/svg-view-widget.cpp @@ -1,12 +1,13 @@ -#define __SP_SVG_VIEW_C__ - /** \file * Functions and callbacks for generic SVG view and widget * * Authors: * Lauris Kaplinski * Ralf Stephan + * Abhishek Sharma + * Jon A. Cruz * + * Copyright (C) 2010 authors * Copyright (C) 2001-2002 Lauris Kaplinski * Copyright (C) 2001 Ximian, Inc. * @@ -14,6 +15,8 @@ */ #include +#include "display/sp-canvas.h" +#include "display/sp-canvas-group.h" #include "display/canvas-arena.h" #include "document.h" #include "svg-view.h" @@ -33,22 +36,25 @@ static SPViewWidgetClass *widget_parent_class; /** * Registers SPSVGSPViewWidget class with Gtk and returns its type number. */ -GtkType -sp_svg_view_widget_get_type (void) +GType sp_svg_view_widget_get_type(void) { - static GtkType type = 0; - if (!type) { - GtkTypeInfo info = { - "SPSVGSPViewWidget", - sizeof (SPSVGSPViewWidget), - sizeof (SPSVGSPViewWidgetClass), - (GtkClassInitFunc) sp_svg_view_widget_class_init, - (GtkObjectInitFunc) sp_svg_view_widget_init, - NULL, NULL, NULL - }; - type = gtk_type_unique (SP_TYPE_VIEW_WIDGET, &info); - } - return type; + static GType type = 0; + if (!type) { + GTypeInfo info = { + sizeof(SPSVGSPViewWidgetClass), + 0, // base_init + 0, // base_finalize + (GClassInitFunc)sp_svg_view_widget_class_init, + 0, // class_finalize + 0, // class_data + sizeof(SPSVGSPViewWidget), + 0, // n_preallocs + (GInstanceInitFunc)sp_svg_view_widget_init, + 0 // value_table + }; + type = g_type_register_static(SP_TYPE_VIEW_WIDGET, "SPSVGSPViewWidget", &info, static_cast(0)); + } + return type; } /** @@ -146,8 +152,8 @@ sp_svg_view_widget_size_request (GtkWidget *widget, GtkRequisition *req) gdouble width, height; svgv = static_cast (v); - width = sp_document_width (v->doc()) * svgv->_hscale; - height = sp_document_height (v->doc()) * svgv->_vscale; + width = (v->doc())->getWidth () * svgv->_hscale; + height = (v->doc())->getHeight () * svgv->_vscale; if (width <= vw->maxwidth) { hpol = GTK_POLICY_NEVER; @@ -188,7 +194,7 @@ sp_svg_view_widget_size_allocate (GtkWidget *widget, GtkAllocation *allocation) * Callback connected with view_resized signal. */ static void -sp_svg_view_widget_view_resized (SPViewWidget *vw, Inkscape::UI::View::View *view, gdouble width, gdouble height) +sp_svg_view_widget_view_resized (SPViewWidget *vw, Inkscape::UI::View::View */*view*/, gdouble width, gdouble height) { SPSVGSPViewWidget *svgvw = SP_SVG_VIEW_WIDGET (vw); @@ -218,22 +224,18 @@ sp_svg_view_widget_new (SPDocument *doc) /** * Flags the SPSVGSPViewWidget to have its size renegotiated with Gtk. */ -void -sp_svg_view_widget_set_resize (SPSVGSPViewWidget *vw, bool resize, gdouble width, gdouble height) +void SPSVGSPViewWidget::setResize(bool resize, gdouble width, gdouble height) { - g_return_if_fail (vw != NULL); - - g_return_if_fail (SP_IS_SVG_VIEW_WIDGET (vw)); - g_return_if_fail (!resize || (width > 0.0)); - g_return_if_fail (!resize || (height > 0.0)); + g_return_if_fail( !resize || (width > 0.0) ); + g_return_if_fail( !resize || (height > 0.0) ); - vw->resize = resize; - vw->maxwidth = width; - vw->maxheight = height; + this->resize = resize; + this->maxwidth = width; + this->maxheight = height; - if (resize) { - gtk_widget_queue_resize (GTK_WIDGET (vw)); - } + if ( resize ) { + gtk_widget_queue_resize( GTK_WIDGET(this) ); + } }