# HG changeset patch # User Thinker K.F. Li # Date 1222132174 -28800 # Node ID e89512d6fa0a931ae71952860be1f402f7050d30 # Parent 0de8fd11271eb6862211b4ad81f257f03796f18e Change doxygen comment to reflect changes of relation-ship. Relation-ship among coord, geo, and shapes. diff -r 0de8fd11271e -r e89512d6fa0a dox/arch.h --- a/dox/arch.h Tue Sep 23 08:28:14 2008 +0800 +++ b/dox/arch.h Tue Sep 23 09:09:34 2008 +0800 @@ -16,7 +16,7 @@ * object may be hidden before changing, but it is re-explored after chaning. * The explored part of the object must be redrawed. * - * The shape of shape objects are variable from type to type. To simplize + * The shape of shape objects are vary from type to type. To simplize * the problem, we use a rectangle to model the area occupied by an object. * \ref geo_t is the one used to model the rectangle. Shape objects should * update associated \ref geo_t objects to reflect changing of them-self. @@ -25,7 +25,20 @@ * A \ref coord_t is actually an transform matrix with additional * informations. \ref coord_t * objects are organized as a tree according hierachy of group tags in - * a SVG file. + * a SVG file. coord_t has a member variable, called before_pmem, that + * is relative position in parent coord. \ref coord_t::before_pmem stands for + * "before parent member", it is an index to the list of member shapes + * of parent coord. Members of a coord is shape tags they are children of + * the "g" tag of the coord corresponding. \ref coord_t::before_pmem means + * "g" of the coord is before the indexed member of parent. + * + * \image html geom_relation.png + * + * It is possible to have more than one coord with the same + * \ref coord_t::before_pmem value and as children of a coord. It means + * all children with the same coord_t::before_pmem value are all before + * nth member, after (n-1)th member, and they are in order of them-self + * in the children list. * * Colors or patterns used to stroke or fill shapes are described * by \ref paint_t . Every shape object has a paint, but a paint object diff -r 0de8fd11271e -r e89512d6fa0a img/core.gaphor --- a/img/core.gaphor Tue Sep 23 08:28:14 2008 +0800 +++ b/img/core.gaphor Tue Sep 23 09:09:34 2008 +0800 @@ -1,3 +1,9 @@ -111(1.0, 0.0, 0.0, 1.0, 309.0, 118.0)100.050.0111(1.0, 0.0, 0.0, 1.0, 249.0, 237.0)100.051.8125111(1.0, 0.0, 0.0, 1.0, 420.0, 225.0)100.051.8125(1.0, 0.0, 0.0, 1.0, 344.0, 168.0)00[(0.0, 0.0), (-57.0, 69.0)]0(1.0, 0.0, 0.0, 1.0, 374.0, 168.0)00[(0.0, 0.0), (110.0, 57.0)]0111(1.0, 0.0, 0.0, 1.0, 248.0, 334.0)100.051.8125(1.0, 0.0, 0.0, 1.0, 297.0, 288.8125)00[(0.0, 0.0), (-1.0, 45.1875)]0(1.0, 0.0, 0.0, 1.0, 348.0, 334.0)00[(0.0, 0.0), (72.0, -60.0)]0111(1.0, 0.0, 0.0, 1.0, 427.0, 334.0)100.051.8125(1.0, 0.0, 0.0, 1.0, 348.0, 360.0)00[(0.0, 0.0), (79.0, 1.0)]0111(1.0, 0.0, 0.0, 1.0, 430.0, 423.0)100.051.8125(1.0, 0.0, 0.0, 1.0, 430.0, 447.0)00[(0.0, 0.0), (-83.0, -61.1875)]0(1.0, 0.0, 0.0, 1.0, 477.0, 385.8125)00[(0.0, 0.0), (-1.0, 37.1875)]0(1.0, 0.0, 0.0, 1.0, 348.0, 377.0)00[(0.0, 0.0), (79.0, 0.0)]0111(1.0, 0.0, 0.0, 1.0, 65.0, 72.0)100.051.8125111(1.0, 0.0, 0.0, 1.0, 61.0, 167.0)105.077.8125111(1.0, 0.0, 0.0, 1.0, 65.0, 293.0)100.051.8125(1.0, 0.0, 0.0, 1.0, 116.0, 123.8125)00[(0.0, 0.0), (0.0, 43.1875)]0(1.0, 0.0, 0.0, 1.0, 115.0, 244.8125)00[(0.0, 0.0), (0.0, 48.1875)]0(1.0, 0.0, 0.0, 1.0, 345.0, 196.0)00[(0.0, 0.0), (133.0, -2.0)](1.0, 0.0, 0.0, 1.0, 256.0, 168.0)00[(0.0, 0.0), (89.0, 0.0)](1.0, 0.0, 0.0, 1.0, 557.0, 65.0)100.050.0301.0(1.0, 0.0, 0.0, 1.0, 428.0, 63.0)100.050.0298.0(1.0, 0.0, 0.0, 1.0, 295.0, 63.0)100.050.0310.0(1.0, 0.0, 0.0, 1.0, 478.0, 217.0)00[(0.0, 0.0), (129.0, -1.0)](1.0, 0.0, 0.0, 1.0, 345.0, 255.0)00[(0.0, 0.0), (133.0, 0.0)](1.0, 0.0, 0.0, 1.0, 478.0, 273.0)00[(0.0, 0.0), (129.0, 0.0)](1.0, 0.0, 0.0, 1.0, 345.0, 316.0)00[(0.0, 0.0), (133.0, -1.0)](1.0, 0.0, 0.0, 1.0, 478.0, 331.0)00[(0.0, 0.0), (129.0, -1.0)](1.0, 0.0, 0.0, 1.0, 345.0, 365.0)00[(0.0, 0.0), (133.0, 0.0)](1.0, 0.0, 0.0, 1.0, 478.0, 379.0)00[(0.0, 0.0), (129.0, -1.0)](1.0, 0.0, 0.0, 1.0, 318.0, 234.0)341.0108.0(1.0, 0.0, 0.0, 1.0, 142.0, 373.0)180.042.0(1.0, 0.0, 0.0, 1.0, 236.0, 373.0)00[(0.0, 0.0), (83.0, -56.0)] \ No newline at end of file +111(1.0, 0.0, 0.0, 1.0, 309.0, 118.0)100.050.0111(1.0, 0.0, 0.0, 1.0, 249.0, 237.0)100.051.8125111(1.0, 0.0, 0.0, 1.0, 418.0, 236.0)100.051.8125(1.0, 0.0, 0.0, 1.0, 344.0, 168.0)00[(0.0, 0.0), (-57.0, 69.0)]0(1.0, 0.0, 0.0, 1.0, 374.0, 168.0)00[(0.0, 0.0), (108.0, 68.0)]0111(1.0, 0.0, 0.0, 1.0, 248.0, 334.0)100.051.8125(1.0, 0.0, 0.0, 1.0, 297.0, 288.8125)00[(0.0, 0.0), (-1.0, 45.1875)]0(1.0, 0.0, 0.0, 1.0, 418.0, 249.0)00[(0.0, 0.0), (-69.0, 0.0)]0111(1.0, 0.0, 0.0, 1.0, 427.0, 334.0)100.051.8125(1.0, 0.0, 0.0, 1.0, 348.0, 360.0)00[(0.0, 0.0), (79.0, 1.0)]0111(1.0, 0.0, 0.0, 1.0, 430.0, 423.0)100.051.8125(1.0, 0.0, 0.0, 1.0, 430.0, 447.0)00[(0.0, 0.0), (-83.0, -61.1875)]0(1.0, 0.0, 0.0, 1.0, 477.0, 385.8125)00[(0.0, 0.0), (-1.0, 37.1875)]0(1.0, 0.0, 0.0, 1.0, 348.0, 377.0)00[(0.0, 0.0), (79.0, 0.0)]0(1.0, 0.0, 0.0, 1.0, 334.0, 334.0)00[(0.0, 0.0), (84.0, -52.0)]0111(1.0, 0.0, 0.0, 1.0, 65.0, 72.0)100.051.8125111(1.0, 0.0, 0.0, 1.0, 61.0, 167.0)105.077.8125111(1.0, 0.0, 0.0, 1.0, 65.0, 293.0)100.051.8125(1.0, 0.0, 0.0, 1.0, 116.0, 123.8125)00[(0.0, 0.0), (0.0, 43.1875)]0(1.0, 0.0, 0.0, 1.0, 115.0, 244.8125)00[(0.0, 0.0), (0.0, 48.1875)]0(1.0, 0.0, 0.0, 1.0, 345.0, 196.0)00[(0.0, 0.0), (133.0, -2.0)](1.0, 0.0, 0.0, 1.0, 256.0, 168.0)00[(0.0, 0.0), (89.0, 0.0)](1.0, 0.0, 0.0, 1.0, 557.0, 65.0)100.050.0301.0(1.0, 0.0, 0.0, 1.0, 428.0, 63.0)100.050.0298.0(1.0, 0.0, 0.0, 1.0, 295.0, 63.0)100.050.0310.0(1.0, 0.0, 0.0, 1.0, 478.0, 217.0)00[(0.0, 0.0), (129.0, -1.0)](1.0, 0.0, 0.0, 1.0, 345.0, 255.0)00[(0.0, 0.0), (133.0, 0.0)](1.0, 0.0, 0.0, 1.0, 478.0, 273.0)00[(0.0, 0.0), (129.0, 0.0)](1.0, 0.0, 0.0, 1.0, 345.0, 316.0)00[(0.0, 0.0), (133.0, -1.0)](1.0, 0.0, 0.0, 1.0, 478.0, 331.0)00[(0.0, 0.0), (129.0, -1.0)](1.0, 0.0, 0.0, 1.0, 345.0, 365.0)00[(0.0, 0.0), (133.0, 0.0)](1.0, 0.0, 0.0, 1.0, 478.0, 379.0)00[(0.0, 0.0), (129.0, -1.0)](1.0, 0.0, 0.0, 1.0, 318.0, 234.0)341.0108.0(1.0, 0.0, 0.0, 1.0, 142.0, 373.0)180.042.0(1.0, 0.0, 0.0, 1.0, 236.0, 373.0)00[(0.0, 0.0), (83.0, -56.0)](1.0, 0.0, 0.0, 1.0, 213.0, 16.0)119.0101.00(1.0, 0.0, 0.0, 1.0, 433.0, 39.0)100.050.00(1.0, 0.0, 0.0, 1.0, 334.0, 156.0)100.050.00(1.0, 0.0, 0.0, 1.0, 334.0, 244.0)100.050.00(1.0, 0.0, 0.0, 1.0, 334.0, 337.0)120.050.00(1.0, 0.0, 0.0, 1.0, 530.0, 156.0)100.050.00(1.0, 0.0, 0.0, 1.0, 530.0, 249.0)100.050.0(1.0, 0.0, 0.0, 1.0, 332.0, 65.0)00[(0.0, 0.0), (101.0, -2.0)](1.0, 0.0, 0.0, 1.0, 465.0, 85.0)00[(0.0, 0.0), (-70.0, 69.0)](1.0, 0.0, 0.0, 1.0, 379.0, 208.0)00[(0.0, 0.0), (0.0, 35.0)](1.0, 0.0, 0.0, 1.0, 380.0, 294.0)00[(0.0, 0.0), (0.0, 39.0)](1.0, 0.0, 0.0, 1.0, 508.0, 90.0)00[(0.0, 0.0), (64.0, 62.0)](1.0, 0.0, 0.0, 1.0, 573.0, 209.0)00[(0.0, 0.0), (1.0, 34.0)](1.0, 0.0, 0.0, 1.0, 687.0, 163.0)100.050.0(1.0, 0.0, 0.0, 1.0, 687.0, 192.0)00[(0.0, 0.0), (-57.0, -1.0)](1.0, 0.0, 0.0, 1.0, 742.0, 213.0)00[(0.0, 0.0), (-112.0, 65.0)] + + +.. +.. + +]]> \ No newline at end of file diff -r 0de8fd11271e -r e89512d6fa0a img/core.png Binary file img/core.png has changed diff -r 0de8fd11271e -r e89512d6fa0a img/geom_relation.png Binary file img/geom_relation.png has changed diff -r 0de8fd11271e -r e89512d6fa0a src/redraw_man.c --- a/src/redraw_man.c Tue Sep 23 08:28:14 2008 +0800 +++ b/src/redraw_man.c Tue Sep 23 09:09:34 2008 +0800 @@ -855,21 +855,6 @@ } -/*! \page coord_opacity How to support opacity attribute for group (coord)? - * - * I have several ideas to do that. This page show you all ideas. - * - * \section idea_one First One - * Change the structure of tree of coords. It is organized as tree of - * SVG document, shapes and coords are putten in tree with order the same - * as the document. The idea can solve the problem, but also seriously - * impact current code. - * - * \section idea_two Second One - * Add opacity and agg_opacity attribute to coord_t, and update - * - */ - /*! \brief Re-draw all changed shapes or shapes affected by changed coords. * * A coord object has a geo to keep track the range that it's members will