Code

Split SPCanvasItem and SPCanvasGroup to individual .h files. Removed forward header.
[inkscape.git] / src / svg-view-widget.cpp
index 7c6925ad21084368f9bbed4b370a9a6d5fbaaf38..777c1b496031e7e2911d171a45a12c072584823d 100644 (file)
@@ -1,12 +1,13 @@
-#define __SP_SVG_VIEW_C__
-
 /** \file
  * Functions and callbacks for generic SVG view and widget
  *
  * Authors:
  *   Lauris Kaplinski <lauris@kaplinski.com>
  *   Ralf Stephan <ralf@ark.in-berlin.de>
+ *   Abhishek Sharma
+ *   Jon A. Cruz <jon@joncruz.org>
  *
+ * Copyright (C) 2010 authors
  * Copyright (C) 2001-2002 Lauris Kaplinski
  * Copyright (C) 2001 Ximian, Inc.
  *
@@ -14,6 +15,8 @@
  */
 
 #include <gtk/gtkscrolledwindow.h>
+#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<GTypeFlags>(0));
+    }
+    return type;
 }
 
 /**
@@ -146,8 +152,8 @@ sp_svg_view_widget_size_request (GtkWidget *widget, GtkRequisition *req)
                gdouble width, height;
 
                svgv = static_cast<SPSVGView*> (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) );
+    }
 }