Re: proposed change to canvases



On Wed, 22 Nov 2000, mike engber wrote:

> I would like to add support to anti-aliased canvases for
> drawing dithered. For nautilus, this will enable us to
> draw gradients that look smooth in 16 bit mode - right
> now gradients look really bad in 16 bit mode.
...
> The unusual thing is that this new field is a 2-bit bitfield.
> The reason is to maintain binary compatibility with existing
> code (one of the goals of the 1.4 release).
> 
> There are six 1-bit bitfields prior to the new field I'm
> adding - so the sizeof should not be changed (for any
> reasonable C implementation).

I'm reasonably okay with this patch.  The only thing I'm concerned about
is the issue of binary compatibility.  Do we support any platforms that
have unreasonable C implementations?  If so, this would break binary
compatibility.

What about just using gtk_set_data and gtk_get_data to save this
information?  This would guarantee binary compatibility.  It would be less
efficient.

It's Federico and Miguel's call.  However, it is important to me that we
maintain binary compatibility here.  If we don't, evolution, at the very
least, will be broken.

Another option would just be to turn on dithering all the time.  From what
I remember, it's a completely unnoticable difference.  Running on a P90 I
couldn't see a difference with Raph's test apps in the gtkcaanvas
days.  This would even maintain forward compatibility and all apps would
gain the benefits of being dithered.

Thanks, 
    Chris





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]