[cairo] Cairo and GdiPlus or two win32 backends

Hans Breuer hans at breuer.org
Sun Feb 6 05:32:30 PST 2005


On 06.02.2005 11:40, Jost Boekemeier wrote:
> Hi,
> 
> do we really need all backends in the cairo core?  I think supporting
> different architectures is important because it may reveil certain bugs
> or problems in the core implementation or provide other useful input. 
> But 4 windows backends it a little bit too much, isn't it?
> 
Currently I count only two active: Owens which replaced the GDI+ approach.
And mine trying how far one can get with a vector approach. But if
there would show up a win32 opengl/directx/whatnot backend it certainly 
shouldn't be limited by narrow minded counting. How could you ever
compare different backends if there must be only one per platform?

> Anyway I think that these ports/backends should be written so that they
> fit into the given framework.
> 
If this means more than GCC and auto tools, please elaborate.

> 
>>     but at the moment it apears to rely on GCC auto export facility
> 
> 
> I cannot think of any OS where gcc is not available, so I think this
> isn't a problem at all.  The situation is different for the java and c++
> frontends, though, so I think these languages should be handled with
> care.
> 
I can not think of any project where it hurts to keep it buildable with
different compilers (beside some addditional time investment).
Also for me it does not look reasonable to go away from a working
debugger and a fast 'native' compiler in exchange to some more or less
poor UNIX emulation on top of win32. If I want Linux, UNIX or OSX I
simply start the respective computer :-)

Also Note: we are not talking about huge code changes required just
about hosting some extra files.
> 
> 
>>(2) Windows Metafiles can be 'rendered' to anything between file, screen
>>     and printer. 
> 
> 
> Certainly not for metafiles which were generated by cairo.
> 
Wrong. A windows metafile can include bitmaps (even a huge one
covering the whole image). But I expect Metafiles to be more
efficient for cases where things can be kept as vectors or glyphs.

> 
> 
>>(3) Device Independent Bitmap, that is completely pixel based.
> 
> 
> I think the only reason why cairo generates pre-rendered pictures
> instead of images is that drawing of pictures can be hardware
> accelerated when the target device is the screen.
>  
Huh? Doing a pure software implementation to get accelerated drawing?
Blitting should always be fast regardless of the backend/hardware
used. Having a higher level description should save bandwidth and
allow more acceleration.

>  
> 
>>There should be nothing special to win32 code except some ugliness ;-)
> 
> 
> Yes, but it is always problematic if you don't have the architecture you
> claim to support.  
Isn't this a pure issue of volunteers? [If it wasn't clear until now:
I'm volunteering to keep Cairo buildable with msvc on win32. The same
as I do for GTK+ since quite some years now. And to me this seems to
also help people interested in compiling for win32 with mingw.]

	Hans

-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it.                -- Dilbert



More information about the cairo mailing list