kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #05625
Re: File naming policy.
On 10/09/2010 10:01 AM, Wayne Stambaugh wrote:
> On 10/8/2010 10:50 PM, Dick Hollenbeck wrote:
>
>>
>>>> Due to all changes, a new branch is reasonable.
>>>> I assume the "new branch" is (in your mind) actually a new branch pushed to
>>>> Launchpad,
>>>> not a subtree of the current testing branch
>>>> But (this is just an idea, I am not saying this is a good idea):
>>>> Keep the testing branch, and just create a new tree like testing/eeschema2 in
>>>> the current testing branch and keep the current version in testing/eeschema.
>>>>
>>>>
>>
>> OK, as soon as it evolves to something more than a dream or document, I
>> think the best path will make itself clear. Whatever minimizes pain, if
>> it hurts, don't do it.
>>
>> I think the graphics modularization in eeschema is evolving nicely due
>> to all the work done by everyone, plotting too. My thanks to Wayne,
>> Lorenzo (plotting) and Jean-Pierre.
>>
>> And Jean-Pierre the Gerber work is pretty substantial and ambitious.
>> Nice job.
>>
>> Regarding the two dimensional transform matrix, I wonder if we should:
>>
>> A) typedef the transform to hide the [2][2] with a typedef, and then
>> B) pass it by const & reference using that typedef.
>>
>>
>> What I see now looks like it causes the machine to push 4 integers each
>> time a call is made. Passing a reference (i.e. a machine pointer) cuts
>> out 3 pushes.
>>
> And pops off the stack on the way back out of the Draw method. The Draw
> method takes a lot of parameters. I'll bet if someone were clever
> enough they could turn all these parameters into a simple self
> initializing class that covers most of the common drawing configuration
> and just pass a reference of it to the Draw method. Maybe a few derived
> versions for special drawing configurations such printing or plotting.
> Just food for thought.
>
>
>> Small potatoes, but if it simply search and replace.
>>
>> Most calls are nested twice, so this reduces the pushes from 8 to 2.
>>
Two little sleep, too nights in a row. :)
Its an array, so only its address is being passed.
Dick
>> The graphics functions are now effectively doubly encapsulated, once
>> with the objects we have that use Draw() and then the graphics
>> abstraction layer. For simply drawing I see it getting easy now to swap
>> out stuff underneath this nice layering. That was "for simply drawing",
>> a little harder is the interactive dragging operations, box rubber
>> banding etc.
>>
>> Any way Kicad has evolved nicely *under the hood* in the last 4 years.
>>
> There is much more forth coming on this front. I am going to move all
> the component library object editing code in symbdraw.cpp into the
> appropriate objects. Library component objects will know how do draw
> themselves while they are being drawn, moved, re-sized, etc. This
> should be the last of the external manipulation of the component library
> objects. At this point I should be able make all the members private
> and then begin the same process on the schematic objects.
>
> Wayne
>
>
>> Dick
>>
>>
>>
>>
>>
>>>> In my mind, testing/eeschema2 is the new tree containing new files and subtree
>>>> and can be seen as "the new branch"
>>>> Compiling files in testing/eeschema2 could made on demand, using a build option
>>>> for instance.
>>>> testing/eeschema2 could contains only new files, an use files in
>>>> testing/eeschema2 as long as they are compatible (if any).
>>>> This is perhaps a convenient way to work on the old and new eeschema version
>>>> and merge bug fixes or enhancements in common files.
>>>> Common files can be updated (graphic functions, basic classes, dialogs for
>>>> error reports ...) both for "old" and "new" eeschema versions more easily
>>>> inside the same devel branch than if there are 2 branches.
>>>> When eeschema2 becomes eeschema this switch will be more easy.
>>>>
>>>>
>>> I like this idea. It may get more people involved in building, testing, and
>>> bug reporting if you do it this way. When I wrote the wxGCDC code I thought
>>> maybe one or two other people might give it a try. I was surprised by the
>>> number of people who tried it out and commented on it. There was even a few
>>> bug reports and fix commits on this code. I doubt this would have happened if
>>> I would have done this in a separate branch. I'm wondering if Hueter would
>>> have taken this route with his GAL code if we wouldn't be farther along the
>>> path of having an improved graphics layer. It may be worth the extra effort to
>>> do it this way.
>>>
>>> Wayne
>>>
>>>
>>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help : https://help.launchpad.net/ListHelp
>>
>>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
>
References