On 9/26/06, Hans-Emil Skogh <Hans-Emil.Skogh@tritech.se> wrote:
> >> http://issues.tortoisesvn.net/?do=details&id=300
> > OK, can something be done about a generic interface for
> > producing this "combined mode" image? Something like
> >
> > void GenerateCombinedImage(const Image& left, const Image& right,
> > const Rectangle& rectToProcess, const Params& params, Image& dest);
>
> I'd suggest creating some kind of OO interface there. Let's have an
> abstract base class "ImageComparer" that has a pure virtual method
> GenerateCombinedImage. It would look something like:
>
> void GenerateCombinedImage(const Image& left, const Image& right, Image&
> dest);
Just some comments here:
1) if using classes, that means all used libraries will be hard coded.
I'd rather use COM or simple dll's which we can look for in the
registry or the installation dir and load dynamically.
2) Why do you need a method like GenerateCombinedImage()? The only
function we need is LoadImage(const char* path, Image& pic).
Generating a combined image is the task of TortoiseIDiff, not the
external library.
> Subclasses would then implement that method to do different kinds of
> comparisons. That way it will be easy to separate the different
> implementations, but still have common functionality (if any) in the
> base class. If the necessity for parameters or configuration arises,
> this could be implemented with an pure virtual Configure()-method in the
> base class that the subclasses must implement to either return null or
> provide the user with a dialog to configure the comparer.
>
> If no-one objects I'll add something along these lines to the issue.
there have been some mentioning about the imageMagick library. Yes,
that library is widely used. But it's big, has *many* dependencies (if
you want to support all the formats) and just does much more than we
really need. And it does *not* support dds images.
DevIL however is small (~800kb dll), supports dds files (which is the
format requested that started this whole thread) and doesn't require
many other libraries it depends on.
http://openil.sourceforge.net/
So my favorite for now is DevIL...
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Tue Sep 26 10:54:42 2006