[haiku-development] Re: Disable BView antialiasing

  • From: Stephan Assmus <superstippi@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 23 Sep 2009 09:38:52 +0200

On 2009-09-23 at 05:55:36 [+0200], Ryan Leavengood <leavengood@xxxxxxxxx> 
wrote:
> On Tue, Sep 22, 2009 at 8:17 PM, Caitlin Shaw <rogueeve@xxxxxxxxxxxxx> 
> wrote:
> >
> > I never noticed that, but it still isn't, actually, and also now that 
> > you mention it the line is backwards! That is, it's a forward slash, 
> > like "/", whereas the international No symbol is usually a backwards 
> > slash.
> 
> Hahaha, you are totally right, good catch! Though a quick search online 
> shows both variations the backslash is the correct international version. 
> To be fair it looks like we just got this from BeOS:
> 
> http://www.guidebookgallery.org/pics/gui/settings/screensaver/beos5-1-1.png
> 
> > I looked at the code and sure enough they are using StrokeEllipse and 
> > StrokeLine--I'm surprised, I assumed it was just a bitmap.
> >
> > If you change the code from:
> >
> >    size -= ceilf(sin(M_PI / 4) * size + 2);
> >    rect.InsetBy(size, size);
> >    StrokeLine(rect.RightTop(), rect.LeftBottom());
> >
> > to:
> >
> >    rect.left += 3;
> >    rect.top += 2;
> >    rect.right -= (size / 8);
> >    rect.bottom -= (size / 8);
> >    StrokeLine(rect.LeftTop(), rect.RightBottom());
> 
> I tried this code and it looks pretty good but there is a slight 
> variation between the two symbols on each mini monitor. I guess this is 
> the anti-aliasing at work again. Of course if you compare it to the above 
> BeOS screenshot it definitely looks a lot better.

There are a number of problems that the drawing code needs to take care of 
in the app_server. If you want to turn off all the work-arounds, just 
specify B_SUB_PIXEL_PRECISE in the view flags. The problems are explained 
in the comments of the app_server code (Painter.cpp).

> Regarding the topic of this thread, shouldn't there be a way to undo the 
> antialiased line with the right combination of colors and drawing mode? 
> In other words a sort of inverse antialias? If not maybe we could add 
> something like that, assuming it is possible.

It's not possible, sorry.

Best regards,
-Stephan

Other related posts: