use cairo image surfaces, not GdkPixmap, when computing text sizes for port matrix...
authorPaul Davis <paul@linuxaudiosystems.com>
Sat, 5 Nov 2011 16:05:36 +0000 (16:05 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Sat, 5 Nov 2011 16:05:36 +0000 (16:05 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@10460 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/port_matrix_column_labels.cc
gtk2_ardour/port_matrix_row_labels.cc

index 091eb0f9daf0375972345d84f8a8cb34a5494050..1cdf510c59606a0b86d3344f0a503155e4b067f0 100644 (file)
@@ -39,9 +39,8 @@ PortMatrixColumnLabels::PortMatrixColumnLabels (PortMatrix* m, PortMatrixBody* b
 void
 PortMatrixColumnLabels::compute_dimensions ()
 {
-       GdkPixmap* pm = gdk_pixmap_new (NULL, 1, 1, gdk_visual_get_depth (gdk_visual_get_system ()));
-       gdk_drawable_set_colormap (pm, gdk_colormap_get_system());
-       cairo_t* cr = gdk_cairo_create (pm);
+       cairo_surface_t* surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, 200, 200);
+       cairo_t* cr = cairo_create (surface);
 
        /* width of the longest bundle name */
        _longest_bundle_name = 0;
@@ -95,7 +94,7 @@ PortMatrixColumnLabels::compute_dimensions ()
        }
 
        cairo_destroy (cr);
-       g_object_unref (pm);
+       cairo_surface_destroy (surface);
 
        /* height of the whole thing */
 
index e8a14b713ca29f9f8af4a9ca14cf21856d3f2114..fcfeef13d074ba569d229c5c1df33979f58989bc 100644 (file)
@@ -38,9 +38,8 @@ PortMatrixRowLabels::PortMatrixRowLabels (PortMatrix* m, PortMatrixBody* b)
 void
 PortMatrixRowLabels::compute_dimensions ()
 {
-       GdkPixmap* pm = gdk_pixmap_new (NULL, 1, 1, gdk_visual_get_depth (gdk_visual_get_system ()));
-       gdk_drawable_set_colormap (pm, gdk_colormap_get_system());
-       cairo_t* cr = gdk_cairo_create (pm);
+       cairo_surface_t* surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, 200, 200);
+       cairo_t* cr = cairo_create (surface);
 
        _longest_port_name = 0;
        _longest_bundle_name = 0;
@@ -83,7 +82,7 @@ PortMatrixRowLabels::compute_dimensions ()
        }
 
        cairo_destroy (cr);
-       g_object_unref (pm);
+       cairo_surface_destroy (surface);
 
        _width = _longest_bundle_name +
                name_pad() * 2;