use cairo image surfaces, not GdkPixmap, when computing text sizes for port matrix labels

git-svn-id: svn://localhost/ardour2/branches/3.0@10460 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2011-11-05 16:05:36 +00:00
parent e12432cc63
commit e69bfc745b
2 changed files with 6 additions and 8 deletions

View 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 */

View 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;