From: Chia-I Wu <ol...@op...> - 2008-09-17 19:57:56
|
Sorry, I just realized that I mailed to the wrong list. On Wed, Sep 17, 2008 at 09:44:15AM -0300, Gustavo Sverzut Barbieri wrote: > > I am working on a map application and I would like to draw the GPS track > > on the map. The track is basically lots (thousands) of line segments, > > with each segment begins at where the previous one ends. Is it a good > > idea to represent each line segment by a line object? > No, since most algorithms we use are linear or exponential on the > number of objects, so more objects, more slowdown. > Also, Evas has no line width property, so you'll not be able to make > it with lines. Use Polygons instead. Polygons are not the most > optimized bit of Evas, however it is counted as just one object and > it's processed using the scanline polygon fill mode. I have made a simple patch to give polygon the option not to fill its enclosed region. It adds the following functions: void evas_object_polygon_fill_set (Evas_Object *obj, int fill); int evas_object_polygon_fill_get (const Evas_Object *obj); void evas_object_polygon_close_set (Evas_Object *obj, int close); int evas_object_polygon_close_get (const Evas_Object *obj); By default, polygon has "fill" and "close" set to TRUE. When "fill" is FALSE, line_draw is called instead polygon_draw. "close" makes sense only when "fill" is FALSE. It decides whether the polygon should close the path, that is, draw a line from the last point to the first point. -- Regards, olv |