MinGW AlphaBlend

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: MinGW AlphaBlend

Post by jdart »

I don't think Cairo + libsvg requires all of GTK.

The other main alternative seems to be Qt but that is certainly a big install.

--Jon
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: MinGW AlphaBlend

Post by JoshPettus »

Well the whole point of winboard as a project is that it uses a native windows toolkit. We already have third party tool kits in XBoard, which it is theoretically possible to compile for windows.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: MinGW AlphaBlend

Post by Evert »

Cairo apparently has a Win32 backend (https://www.cairographics.org/backends/), but it's not entirely clear how up-to-date that page is. Let's just say that a page that lists BeOS and OS/2 as supported (or planned) targets doesn't exactly scream "up-to-date".
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: MinGW AlphaBlend

Post by JoshPettus »

If it's true, than that's nice indeed. :)
User avatar
hgm
Posts: 27793
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: MinGW AlphaBlend

Post by hgm »

JoshPettus wrote:Well the whole point of winboard as a project is that it uses a native windows toolkit. We already have third party tool kits in XBoard, which it is theoretically possible to compile for windows.
That is a good point to keep in mind. When we do not shy away from making it a big install that includes all kinds of non-native libraries, including Windows support for GTK + Cairo + SVG, simply using XBoard seems the obvious solution.
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: MinGW AlphaBlend

Post by jdart »

I have given up on MingW because last I checked it doesn't properly support C++ 11 (threading in particular), and it appears it never will.

--Jon
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: MinGW AlphaBlend

Post by JoshPettus »

hgm wrote: That is a good point to keep in mind. When we do not shy away from making it a big install that includes all kinds of non-native libraries, including Windows support for GTK + Cairo + SVG, simply using XBoard seems the obvious solution.
Well all those libraries are non native for OSX too. The whole GTK+ install fit into approximately 27mb package uncompressed. Which I don't think is overly large. Unless there is more to it for windows?

I'm sure writing windows integration code would be a pain. I have no idea what would be involved for that. But hopefully it would be less the OSX which does a lot of unique things.
User avatar
hgm
Posts: 27793
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: MinGW AlphaBlend

Post by hgm »

To get back to the topic of alpha channels:

I now created a complete set of bitmaps for the WinBoard anti-alias release. That is, the orthodox pieces in all 18 supported board sizes, and the 60 additional fairy pieces only in 3 sizes (33x33, 49x49 and 72x72), like the built-in set. (Except that the latter supported only 24 of the 60 XBoard Fairy pieces.) It turned out that this takes nearly 10MB (uncompressed), although it compresses nicely (to an 882KB zip file).

Because these bitmaps are basically just two colors (black outline, white interior) with transparency, and the transparency touches only the black, they could probably be converted to 256-color bitmaps without visible loss of quality (128 grades of transparent black, plus 128 shades of grey). That would use the uncompressed size to ~ 2.5MB. But that would probably not do much for the zipped size; in theory it could even make it larger.
ZirconiumX
Posts: 1334
Joined: Sun Jul 17, 2011 11:14 am

Re: MinGW AlphaBlend

Post by ZirconiumX »

jdart wrote:I have given up on MingW because last I checked it doesn't properly support C++ 11 (threading in particular), and it appears it never will.

--Jon
I use mingw-w64 which runs fine. Give that a go.
Some believe in the almighty dollar.

I believe in the almighty printf statement.