Revision: 3817
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3817&view=rev
Author:   efiring
Date:     2007-09-08 16:53:06 -0700 (Sat, 08 Sep 2007)

Log Message:
-----------
Delete gd and paint backends.

Modified Paths:
--------------
    trunk/matplotlib/API_CHANGES
    trunk/matplotlib/CHANGELOG
    trunk/matplotlib/lib/matplotlib/backends/__init__.py
    trunk/matplotlib/setupext.py

Removed Paths:
-------------
    trunk/matplotlib/lib/matplotlib/backends/backend_gd.py
    trunk/matplotlib/lib/matplotlib/backends/backend_paint.py

Modified: trunk/matplotlib/API_CHANGES
===================================================================
--- trunk/matplotlib/API_CHANGES        2007-09-07 20:43:20 UTC (rev 3816)
+++ trunk/matplotlib/API_CHANGES        2007-09-08 23:53:06 UTC (rev 3817)
@@ -1,3 +1,5 @@
+    The gd and paint backends have been deleted.
+
     The errorbar method and function now accept additional kwargs
     so that upper and lower limits can be indicated by capping the
     bar with a caret instead of a straight line segment.

Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG  2007-09-07 20:43:20 UTC (rev 3816)
+++ trunk/matplotlib/CHANGELOG  2007-09-08 23:53:06 UTC (rev 3817)
@@ -1,3 +1,5 @@
+2007-09-08 Eliminated gd and paint backends - EF
+
 2007-09-06 .bmp file format is now longer an alias for .raw
 
 2007-09-07 Added clip path support to pdf backend. - JKS
@@ -7,7 +9,7 @@
 
 2007-09-06 Refactored image saving code so that all GUI backends can
           save most image types.  See FILETYPES for a matrix of
-          backends and their supported file types. 
+          backends and their supported file types.
           Backend canvases should no longer write their own print_figure()
           method -- instead they should write a print_xxx method for
           each filetype they can output and add an entry to their
@@ -16,7 +18,7 @@
 2007-09-05 Fixed Qt version reporting in setupext.py - DSD
 
 2007-09-04 Embedding Type 1 fonts in PDF, and thus usetex support
-           via dviread, sort of works. To test, enable it by 
+           via dviread, sort of works. To test, enable it by
            renaming _draw_tex to draw_tex. - JKS
 
 2007-09-03 Added ability of errorbar show limits via caret or

Modified: trunk/matplotlib/lib/matplotlib/backends/__init__.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/__init__.py        2007-09-07 
20:43:20 UTC (rev 3816)
+++ trunk/matplotlib/lib/matplotlib/backends/__init__.py        2007-09-08 
23:53:06 UTC (rev 3817)
@@ -7,7 +7,7 @@
 
 interactive_bk = ['GTK', 'GTKAgg', 'GTKCairo', 'FltkAgg', 'QtAgg', 'Qt4Agg',
                   'TkAgg', 'WX', 'WXAgg', 'CocoaAgg', 'Aqt']
-non_interactive_bk = ['Agg2', 'Agg', 'Cairo', 'EMF', 'GD', 'GDK', 'Paint',
+non_interactive_bk = ['Agg2', 'Agg', 'Cairo', 'EMF', 'GDK',
                       'Pdf', 'PS', 'SVG', 'Template']
 all_backends = interactive_bk + non_interactive_bk
 

Deleted: trunk/matplotlib/lib/matplotlib/backends/backend_gd.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_gd.py      2007-09-07 
20:43:20 UTC (rev 3816)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_gd.py      2007-09-08 
23:53:06 UTC (rev 3817)
@@ -1,374 +0,0 @@
-"""
-A gd backend http://newcenturycomputers.net/projects/gdmodule.html
-"""
-
-
-from __future__ import division
-import sys, os, math, warnings
-
-import numpy as npy
-
-try:
-    import gd
-except ImportError:
-    print >>sys.stderr, 'You must first install the gd module 
http://newcenturycomputers.net/projects/gdmodule.html'
-    sys.exit()
-
-from matplotlib.backend_bases import RendererBase, \
-     GraphicsContextBase, FigureManagerBase, FigureCanvasBase
-from matplotlib import verbose
-from matplotlib._pylab_helpers import Gcf
-from matplotlib.cbook import enumerate, pieces, is_string_like
-from matplotlib.colors import colorConverter
-from matplotlib.figure import Figure
-from matplotlib.transforms import Bbox
-from matplotlib.font_manager import findfont
-# support old font names
-if (os.environ.has_key('GDFONTPATH') and not
-    os.environ.has_key('TTFPATH')):
-    os.environ['TTFPATH'] = os.environ['GDFONTPATH']
-
-
-
-
-PIXELS_PER_INCH = 96  # constant GD uses for screen DPI
-
-
-def round(x):
-    return int(math.floor(x+0.5))
-
-
-class RendererGD(RendererBase):
-    """
-    The renderer handles all the drawing primitives using a graphics
-    context instance that controls the colors/styles
-    """
-
-
-    # todo: can gd support cap and join styles?
-    def __init__(self, im, dpi):
-        "Initialize the renderer with a gd image instance"
-        self.im = im
-        self._cached = {}  # a map from get_color args to colors
-
-        self.width, self.height = im.size()
-        self.dpi = dpi
-
-
-    def get_canvas_width_height(self):
-        'return the canvas width and height in display coords'
-        return self.width, self.height
-
-    def get_text_width_height_descent(self, s, prop, ismath):
-        """
-        get the width and height in display coords of the string s
-        with fontsize in points
-        """
-
-        size = prop.get_size_in_points()
-        font = findfont(prop)
-
-        scale = self.get_text_scale()
-        try:
-            llx, lly, lrx, lry, urx, ury, ulx, uly = \
-                 self.im.get_bounding_rect(
-                font, scale*size, 0.0, (0,0), s)
-        except ValueError:
-            raise RuntimeError('Could not load font %s.  Try setting 
TTFFONTPATH to include this font' % fontname)
-
-        w = abs(lrx - llx)
-        h = abs(lly - uly)
-        return w, h, h
-
-
-    def flipy(self):
-        'return true if y small numbers are top for renderer'
-        return True
-
-
-    def draw_arc(self, gc, rgbFace, x, y, width, height, angle1, angle2, 
rotation):
-        """
-        Draw an arc centered at x,y with width and height and angles
-        from 0.0 to 360.0
-        """
-
-        center = int(x), self.height-int(y)
-        wh = int(width), int(height)
-        a1, a2 = int(angle1), int(angle2)
-        if rgbFace is not None:
-            color = self.get_gd_color( rgbFace )
-            self.im.filledEllipse(
-                center, wh, color)
-        color = self.get_gd_color( gc.get_rgb() )
-        self.im.arc(center, wh, a1, a2, color)
-        self.flush_clip()
-
-    def draw_line(self, gc, x1, y1, x2, y2):
-        """
-        Draw a single line from x1,y1 to x2,y2
-        """
-        self.draw_lines(gc, npy.array([x1, x2]), npy.array([y1, y2]))
-
-    def draw_lines(self, gc, x, y):
-        """
-        x and y are equal length arrays, draw lines connecting each
-        point in x, y
-        """
-
-        x = x.astype(npy.int16)
-        y = self.height*npy.ones(y.shape, npy.int16) - y.astype(npy.int16)
-        style = self._set_gd_style(gc)
-        self.im.lines( zip(x,y), style)
-        self.flush_clip()
-
-    def draw_point(self, gc, x, y):
-        """
-        Draw a single point at x,y
-        """
-        self.im.setPixel((int(x),self.height-int(y)),
-                         self.get_gd_color( gc.get_rgb() ))
-        self.flush_clip()
-
-
-
-    def draw_polygon(self, gc, rgbFace, points):
-        """
-        Draw a polygon.  points is a len vertices tuple, each element
-        giving the x,y coords a vertex
-        """
-
-        edgecolor = self.get_gd_color( gc.get_rgb() )
-
-        points = [(int(x), self.height-int(y)) for x,y in points]
-
-
-        if rgbFace is not None:
-            facecolor = self.get_gd_color( rgbFace )
-            self.im.filledPolygon(points, facecolor)
-        else: facecolor = None
-        if edgecolor != facecolor:
-            self.im.polygon(points, edgecolor)
-        self.flush_clip()
-
-    def draw_rectangle(self, gc, rgbFace, x, y, width, height):
-        """
-        Draw a rectangle at lower left x,y with width and height
-        If filled=True, fill the rectangle with the gc foreground
-        gc is a GraphicsContext instance
-        """
-
-        lb = int(x), self.height-int(y)
-        ur = int(x+width), self.height-int((y+height))
-        edgecolor = self.get_gd_color( gc.get_rgb() )
-
-        if rgbFace is not None:
-            facecolor = self.get_gd_color( rgbFace )
-            self.im.filledRectangle(ur, lb, facecolor)
-        else: facecolor = None
-
-        if edgecolor != facecolor:
-            self.im.rectangle(ur, lb, edgecolor)
-        self.flush_clip()
-
-    def draw_text(self, gc, x, y, s, prop, angle, ismath):
-        """
-        Render the text using the RendererGD instance
-        """
-
-        size = prop.get_size_in_points()
-        font = findfont(prop)
-
-        x = int(x)
-        y = int(y)
-
-        color = self.get_gd_color( gc.get_rgb() )
-
-        angle *= math.pi/180.0
-
-        scale = self.get_text_scale()
-        self.im.string_ft(font, scale*size, angle,
-                          (x, y), s, color)
-        self.flush_clip()
-
-    def finish(self):
-        pass
-        #self.im.writePng( file('xx.png', 'w') )
-
-
-    def flush_clip(self):
-        imw, imh = self.im.size()
-        lb = 0, 0
-        ur = imw, imh
-        self.im.setClip(ur, lb)
-
-
-    def get_gd_color(self, rgb):
-        """
-        RGB is a unit RGB tuple, return a gd color
-        """
-
-        r,g,b = rgb
-        rgbi = (int(r*255),int(g*255),int(b*255))
-
-        try: return self._cached[rgbi]
-        except KeyError: pass
-
-        color = self.im.colorAllocate(  rgbi )
-
-        if color==-1:
-            warnings.warn('Unable to allocate color %1.3f, %1.3f, %1.3f; using 
nearest neighbor' % rgb)
-            color = self.im.colorClosest(rgbi)
-
-        self._cached[rgbi] = color
-        return color
-
-
-
-
-    def get_text_scale(self):
-        """
-        Return the scale factor for fontsize taking screendpi and pixels per
-        inch into account
-        """
-        return self.dpi.get()/PIXELS_PER_INCH
-
-    def new_gc(self):
-        """
-        Return an instance of a GraphicsContextGD
-        """
-        return GraphicsContextGD( self.im, self )
-
-    def _set_gd_style(self, gc):
-        color = self.get_gd_color( gc.get_rgb() )
-        offset, dashes = gc.get_dashes()
-
-        if dashes is not None:
-            pixels = self.points_to_pixels(dashes)
-            style = []
-            for on, off in pieces(pixels):
-                if on<1: on = 1
-                else: on = round(on)
-                if off<1: off = 1
-                else: off = round(off)
-
-                style.extend([color]*on)
-                style.extend([gd.gdTransparent]*off)
-            self.im.setStyle(style)
-            return gd.gdStyled
-        else:
-            if gc.get_antialiased():
-                self.im.setAntiAliased(color)
-                return gd.gdAntiAliased
-            else:
-                self.im.setStyle([color])
-                return gd.gdStyled
-
-
-    def points_to_pixels(self, points):
-        """
-        convert point measures to pixes using dpi and the pixels per
-        inch of the display
-        """
-        return npy.asarray(points)*(PIXELS_PER_INCH/72.0*self.dpi.get()/72.0)
-
-
-class GraphicsContextGD(GraphicsContextBase):
-    """
-    The graphics context provides the color, line styles, etc...  See
-    the gtk and postscript backends for examples of mapping the
-    graphics context attributes (cap styles, join styles, line widths,
-    colors) to a particular backend.      """
-    def __init__(self, im, renderer):
-        """
-        Initialize with a gd image
-        """
-        GraphicsContextBase.__init__(self)
-        self.im = im
-        self.renderer = renderer
-
-
-    def set_clip_rectangle(self, rectangle):
-        GraphicsContextBase.set_clip_rectangle(self, rectangle)
-        x,y,w,h = rectangle
-        imw, imh = self.im.size()
-        lb = int(x), imh-int(y)
-        ur = int(x+w), imh-int(y+h)
-        self.im.setClip(ur, lb)
-
-    def set_linestyle(self, style):
-        GraphicsContextBase.set_linestyle(self, style)
-        offset, dashes = self.dashd[style]
-        self.set_dashes(offset, dashes)
-
-    def set_linewidth(self, lw):
-        GraphicsContextBase.set_linewidth(self, lw)
-        pixels = self.renderer.points_to_pixels(lw)
-        if pixels<1: pixels = 1
-        else: pixels = round(pixels)
-        self.im.setThickness(pixels)
-
-########################################################################
-#
-# The following functions and classes are for matlab compatibility
-# mode (pylab) and implement figure managers, etc...
-#
-########################################################################
-
-
-def new_figure_manager(num, *args, **kwargs):
-    """
-    Add a new figure num (default autoincrement).  For GUI
-    backends, you'll need to instantiate a new window and embed
-    the figure in it.
-    """
-    FigureClass = kwargs.pop('FigureClass', Figure)
-    thisFig = FigureClass(*args, **kwargs)
-    canvas = FigureCanvasGD(thisFig)
-    manager = FigureManagerGD(canvas, num)
-    return manager
-
-
-class FigureCanvasGD(FigureCanvasBase):
-    filetypes = {'PNG': 'Portable Network Graphics'}
-
-    def print_png(self, filename, *args, **kwargs):
-        im = self.draw()
-        im.writePng(filename)
-        
-    def get_default_filetype(self):
-        return 'png'
-        
-    def draw(self):
-        """
-        Draw to a gd image and return the image instance
-
-        """
-
-        left, bottom, width, height = self.figure.bbox.get_bounds()
-        im = gd.image((int(width), int(height)))
-
-        if not hasattr(im, 'setAntiAliased'):
-            raise RuntimeError('gd_requirements_failed')
-        renderer = RendererGD(im, self.figure.dpi)
-        self.figure.draw(renderer)
-        renderer.finish()
-
-        return im
-
-class FigureManagerGD(FigureManagerBase):
-    """
-    This class manages all the figures for matlab mode
-    """
-    pass
-
-
-
-########################################################################
-#
-# Now just provide the standard names that backend.__init__ is expecting
-#
-########################################################################
-
-FigureManager = FigureManagerGD
-
-

Deleted: trunk/matplotlib/lib/matplotlib/backends/backend_paint.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_paint.py   2007-09-07 
20:43:20 UTC (rev 3816)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_paint.py   2007-09-08 
23:53:06 UTC (rev 3817)
@@ -1,281 +0,0 @@
-"""
-This ia a paint (libart) backend
-
-You can select it as a backend with
-
-  import matplotlib
-  matplotlib.use('Paint')
-
-REQUIREMENTS
-
-  backend_paint requires pypaint-0.??, which in turn requires
-  libart and freetype1
-"""
-
-from __future__ import division
-import sys
-import os
-import paint
-
-import numpy as npy
-
-from matplotlib import verbose
-
-from matplotlib._pylab_helpers import Gcf
-from matplotlib.backend_bases import RendererBase,\
-     GraphicsContextBase, FigureCanvasBase, FigureManagerBase
-from matplotlib.cbook import enumerate
-from matplotlib.figure import Figure
-from matplotlib.text import Text, _process_text_args
-
-from matplotlib.font_manager import findfont
-
-"""
-
- * added dpi instance to renderer so drawing could scale with dpi
-
- * added dash path - JDH
-
- * reversed the order of fill and stroke for rectangle, arc and
-   polygon so edge color would be visible
-
- * adjusted circle centers
-
-"""
-
-
-
-
-
-#paint/font.c defined dpi as 96
-PIXELS_PER_INCH = 96 # a constant used to scale text with dpi
-
-
-class RendererPaint(RendererBase):
-    """
-    The renderer handles all the drawing primitives using a graphics
-    context instance that controls the colors/styles
-    """
-
-    fontd = {} # cache paint font instances
-
-    def __init__(self, width, height, dpi):
-        """creates a new image"""
-        w, h = int(width), int(height)
-        self.image = paint.image(w, h)
-        self.width, self.height = w, h
-        self.dpi = dpi  # for scaling dashes, linewidths
-
-    def get_canvas_width_height(self):
-        'return the canvas width and height in display coords'
-        return self.width, self.height
-
-    def get_text_width_height(self, s, prop, ismath):
-        """
-        get the width and height in display coords of the string s
-        with fontsize in points
-        """
-        font = self._get_paint_font(s, prop, 0.0)
-        return font.textsize(s)
-
-    def flipy(self):
-        'return true if y small numbers are top for renderer'
-        return True
-
-
-    def get_text_scale(self):
-        """
-        Return the scale factor for fontsize taking screendpi and pixels per
-        inch into account
-        """
-        return self.dpi.get()/PIXELS_PER_INCH
-
-
-
-    def draw_text(self, gc, x, y, s, prop, angle, ismath):
-        """
-        Render the text using the RendererPaint instance
-        """
-        font = self._get_paint_font(s, prop, angle)
-
-        text_color = self.get_paint_color(gc.get_rgb())
-        self.image.text(font, x, y, text_color, s)
-
-    def _get_paint_font(self, s, prop, angle):
-        """
-        Get the paint font for text instance t, cacheing for efficiency
-        """
-
-        fname = findfont(prop)
-        size = self.get_text_scale() * prop.get_size_in_points()
-
-        props =  fname, size, angle
-
-        font = self.fontd.get(props)
-        if font is None:
-            font = paint.font(*props)
-            self.fontd[props] = font
-        return font
-
-    def get_paint_color(self, rgb):
-        """returns a paint color object based on the given rgb tuple"""
-        r,g,b = rgb
-        return paint.rgb(int(r*255),int(g*255),int(b*255))
-
-    def draw_arc(self, gcEdge, rgbFace, x, y, width, height, angle1, angle2, 
rotation):
-        """
-        Draw an arc centered at x,y with width and height and angles
-        from 0.0 to 360.0.
-
-        If rgbFace is not None, fill the rectangle with it.  gcEdge
-        is a GraphicsContext instance
-        """
-        arc = paint.arc(x-0.5*width, self.height - (y-0.5*height),
-                        x+0.5*width, self.height - (y+0.5*height),
-                        angle1, angle2)
-        if rgbFace:
-            self.image.fill(arc, self.get_paint_color(rgbFace))
-        self.image.stroke(arc, self.get_paint_color(gcEdge.get_rgb()),
-                          self.points_to_pixels(gcEdge.get_linewidth()))
-
-
-    def draw_line(self, gc, x1, y1, x2, y2):
-        """
-        Draw a single line from x1,y1 to x2,y2
-        """
-        path = paint.line(x1, self.height - y1, x2, self.height - y2)
-        path = self.dash_path(gc, path)
-        self.image.stroke(path, \
-                          self.get_paint_color(gc.get_rgb()),
-                          self.points_to_pixels(gc.get_linewidth()))
-
-
-    def dash_path(self, gc, path):
-        """
-        Add dashes to the path and return it if dashes are set
-        """
-        offset, dashes = gc.get_dashes()
-        if dashes is not None:
-
-            dashes = tuple(self.points_to_pixels(npy.asarray(dashes)))
-            return path.dash(offset, dashes)
-        else:
-            return path
-
-    def draw_lines(self, gc, x, y):
-        """
-        x and y are equal length arrays, draw lines connecting each
-        point in x, y
-        """
-        assert(len(x)==len(y))
-        # faster as a list comp
-
-        path = [(paint.MOVETO, x[0], self.height-y[0])]
-        path.extend( [ (paint.LINETO, x[i], self.height-y[i]) for i in 
range(1, len(x))])
-
-        path = self.dash_path(gc, paint.make_path(path))
-        self.image.stroke(path,
-                          self.get_paint_color(gc.get_rgb()),
-                          self.points_to_pixels(gc.get_linewidth()))
-
-
-    def draw_polygon(self, gcEdge, rgbFace, points):
-        """
-        Draw a polygon.  points is a len vertices tuple, each element
-        giving the x,y coords a vertex.
-
-        If rgbFace is not None, fill the rectangle with it.  gcEdge
-        is a GraphicsContext instance
-        """
-        x = [p[0] for p in points]
-        y = [p[1] for p in points]
-        path = [(paint.MOVETO, x[0], self.height - y[0])]
-        for i in range(len(x)-1):
-            path.append((paint.LINETO, x[i+1], self.height - y[i+1]))
-        path.append((paint.LINETO, x[0], self.height - y[0]))
-        path = paint.make_path(path)
-
-        if rgbFace:
-            self.image.fill(path, self.get_paint_color(rgbFace))
-        self.image.stroke(path,
-                          self.get_paint_color(gcEdge.get_rgb()),
-                          self.points_to_pixels(gcEdge.get_linewidth()))
-    def draw_rectangle(self, gcEdge, rgbFace, x, y, width, height):
-        """
-        Draw a rectangle at lower left x,y with width and height.
-
-        If rgbFace is not None, fill the rectangle with it.  gcEdge
-        is a GraphicsContext instance
-        """
-        path = paint.rect(x, self.height - y, x+width, self.height - 
(y+height))
-
-        if rgbFace:
-            self.image.fill(path, self.get_paint_color(rgbFace))
-        self.image.stroke(path,
-                          self.get_paint_color(gcEdge.get_rgb()),
-                          self.points_to_pixels(gcEdge.get_linewidth()))
-
-    def draw_point(self, gc, x, y):
-        """
-        Draw a single point at x,y
-        """
-        self.image.stroke(
-            paint.line(x, self.height - y, x, self.height - y),
-            self.get_paint_color(gc.get_rgb()),
-            self.points_to_pixels(gc.get_linewidth()))
-
-    def points_to_pixels(self, points):
-        return points*(PIXELS_PER_INCH/72.0*self.dpi.get()/72.0)
-
-
-
-class FigureCanvasPaint(FigureCanvasBase):
-
-    def draw(self):
-        """
-        Render the figure using RendererPaint instance renderer
-        """
-        t1,t2,width,height = self.figure.bbox.get_bounds()
-        renderer = RendererPaint(width,height, self.figure.dpi)
-        self.figure.draw(renderer)
-        return renderer
-
-    filetypes = {'png': 'Portable Network Graphics'}
-    
-    def print_png(self, filename, *args, **kwargs):
-        renderer = self.draw()
-        renderer.image.write_png(filename)
-
-    def get_default_filetype(self):
-        return 'png'
-
-########################################################################
-#
-# The following functions and classes are for matlab compatibility
-# mode (pylab) and implement window/figure managers,
-# etc...
-#
-########################################################################
-
-
-def new_figure_manager_paint(num, *args, **kwargs):
-    """
-    Add a new figure num (default autoincrement).  For GUI
-    backends, you'll need to instantiate a new window and embed
-    the figure in it.
-    """
-    FigureClass = kwargs.pop('FigureClass', Figure)
-    thisFig = FigureClass(*args, **kwargs)
-    canvas = FigureCanvasPaint(thisFig)
-    manager = FigureManagerBase(canvas, num)
-    return manager
-
-
-########################################################################
-#
-# Now just provide the standard names that backend.__init__ is expecting
-#
-########################################################################
-new_figure_manager = new_figure_manager_paint
-
-

Modified: trunk/matplotlib/setupext.py
===================================================================
--- trunk/matplotlib/setupext.py        2007-09-07 20:43:20 UTC (rev 3816)
+++ trunk/matplotlib/setupext.py        2007-09-08 23:53:06 UTC (rev 3817)
@@ -130,7 +130,7 @@
     def print_line(*args, **kwargs):
         pass
     print_status = print_message = print_raw = print_line
-        
+
 class CleanUpFile:
     """CleanUpFile deletes the specified filename when self is destroyed."""
     def __init__(self, name):
@@ -174,7 +174,7 @@
         has_pkgconfig.cache = (status == 0)
     return has_pkgconfig.cache
 has_pkgconfig.cache = None
-    
+
 def get_pkgconfig(module,
                   packages,
                   flags="--libs --cflags",
@@ -189,7 +189,7 @@
               '-l': 'libraries',
               '-D': 'define_macros',
               '-U': 'undef_macros'}
-    
+
     status, output = commands.getstatusoutput(
         "%s %s %s" % (pkg_config_exec, flags, packages))
     if status == 0:
@@ -247,7 +247,7 @@
             ", ".join(["'%s'" % x for x in module.include_dirs]))
 
     return True
-    
+
 def check_for_libpng():
     module = Extension("test", [])
     get_pkgconfig(module, 'libpng')
@@ -260,7 +260,7 @@
             ", ".join(["'%s'" % x for x in module.include_dirs]))
 
     return True
-        
+
 def add_base_flags(module):
     incdirs = filter(os.path.exists,
                      [os.path.join(p, 'include') for p in 
basedir[sys.platform] ])
@@ -318,7 +318,7 @@
         return False
     else:
         print_status("Cairo", cairo.version)
-    
+
 def check_for_numpy():
     gotit = False
     try:
@@ -357,16 +357,12 @@
     # put these later for correct link order
     module.libraries.extend(std_libs)
 
-def add_gd_flags(module):
-    'Add the module flags to build extensions which use gd'
-    module.libraries.append('gd')
-
 def add_ft2font_flags(module):
     'Add the module flags to ft2font extension'
     if not get_pkgconfig(module, 'freetype2'):
         module.libraries.extend(['freetype', 'z'])
         add_base_flags(module)
-        
+
         basedirs = module.include_dirs[:]  # copy the list to avoid inf loop!
         for d in basedirs:
             module.include_dirs.append(os.path.join(d, 'freetype2'))
@@ -381,7 +377,7 @@
             if os.path.exists(p): module.library_dirs.append(p)
     else:
         add_base_flags(module)
-            
+
     if sys.platform == 'win32' and win32_compiler == 'mingw32':
         module.libraries.append('gw32c')
 
@@ -417,7 +413,7 @@
 
     def ver2str(tup):
         return ".".join([str(x) for x in tup])
-    
+
     if gotit:
         import gobject
         if hasattr(gobject, 'pygobject_version'):
@@ -432,7 +428,7 @@
 
     if explanation is not None:
         print_message(explanation)
-        
+
     return gotit
 
 def add_pygtk_flags(module):
@@ -459,26 +455,26 @@
              ])
 
         add_base_flags(module)
-        
+
         if not os.environ.has_key('PKG_CONFIG_PATH'):
             # If Gtk+ is installed, pkg-config is required to be installed
             os.environ['PKG_CONFIG_PATH'] = 'C:\GTK\lib\pkgconfig'
-         
-        pygtkIncludes = getoutput('pkg-config --cflags-only-I 
pygtk-2.0').split()    
-        gtkIncludes = getoutput('pkg-config --cflags-only-I gtk+-2.0').split() 
  
-        includes = pygtkIncludes + gtkIncludes   
-        module.include_dirs.extend([include[2:] for include in includes])    
-         
-        pygtkLinker = getoutput('pkg-config --libs pygtk-2.0').split()   
-        gtkLinker =  getoutput('pkg-config --libs gtk+-2.0').split()     
+
+        pygtkIncludes = getoutput('pkg-config --cflags-only-I 
pygtk-2.0').split()
+        gtkIncludes = getoutput('pkg-config --cflags-only-I gtk+-2.0').split()
+        includes = pygtkIncludes + gtkIncludes
+        module.include_dirs.extend([include[2:] for include in includes])
+
+        pygtkLinker = getoutput('pkg-config --libs pygtk-2.0').split()
+        gtkLinker =  getoutput('pkg-config --libs gtk+-2.0').split()
         linkerFlags = pygtkLinker + gtkLinker
-        
+
         module.libraries.extend(
             [flag[2:] for flag in linkerFlags if flag.startswith('-l')])
-        
+
         module.library_dirs.extend(
             [flag[2:] for flag in linkerFlags if flag.startswith('-L')])
-        
+
         module.extra_link_args.extend(
             [flag for flag in linkerFlags if not
              (flag.startswith('-l') or flag.startswith('-L'))])
@@ -544,7 +540,7 @@
     if explanation is not None:
         print_message(explanation)
     return gotit
-                
+
 def find_wx_config():
     """If the WX_CONFIG environment variable has been set, returns it value.
     Otherwise, search for `wx-config' in the PATH directories and return the


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to