Re: [Gpsbabel-code] enhancement for Nat Geo "Topo" files
Brought to you by:
robertl
From: Robert L. <rob...@gp...> - 2012-03-28 16:49:12
|
On Wed, Mar 28, 2012 at 11:01 AM, Steve <ste...@cl...> wrote: > > >On Wed, Mar 21, 2012 at 11:34 AM, Steve wrote: > >I've modified tpo.c to read freehand route line styles (color, > >width, dashed or solid) from .tpo files (the tpo3 format). > > At 11:55 AM 3/27/2012, Robert Lipe wrote: > >we have line_color and line_width > > I'm struggling a little with code architecture. Where are the > attributes of a track defined, and how does a given output > format take note of and use those attributes? For instance, > XCSV appears to ignore track descriptions even if they are > present and available to other outputs like GPX. > Right. We don't (can't) represent all internal data structures in all formats. XCSV is one such. It's not like we want to be in the business of converting between "blue" and FF0000 or such. > Is color stored as an RGB thing or by name? Forgive me if this > has an obvious answer, and just point me to the right source file. > The line_color.bbggrr member of the track header is what you seek. It's documented in defs.h. typedef struct { int bbggrr; // 32 bit color: Blue/Green/Red. < 0 == unknown. unsigned char opacity; // 0 == transparent. 255 == opaque. } gb_color; Relatively few of our formats support it. At a glance, only an1, delbin, garmin_xt, gdb, kml, and mmo make any use of it. With the addition of line color, I can get back out 99% of what > I put into Topo, and I can convert binary storage to text files > that can't be obsoleted. > If you don't care about doing line styling in the general case,l you could even do something sleazy like smuggle "-dashed" or "-dotted" in the track name. > > >When you're ready to pack up a patch and ship it to the list > > There's going to be a learning curve for that, right? Is there > a cookbook or is it assumed I know how to check files in and out? > (It's been quite a while since I contributed code to an open > source project, and the few I worked with were all different.) You can't check in. You submit patches to the list for review and to be committed. If you got the tree from svn, it's just 'svn diff' and send us the change. If you downloaded a raw source image, just do the diffs against the original tree. RJL |