On Wed, Jul 21, 2004 at 11:10:34PM +0200, Stefan Lucke wrote:
> On Mittwoch, 21. Juli 2004 22:27, Ville Syrj�l� wrote:
> > On Wed, Jul 21, 2004 at 09:16:10PM +0200, Stefan Lucke wrote:
> 
> [ .. ]
> 
> > > src (90,0 540x576)
> > > dst (0,0 1024x768)
> > > doblit: sx = 90 sy = 0 sw = 450 sh = 576
> > > doblit: dx = 0 dy = 0 dw = 854 dh = 768
> > > 
> > > So someone does a clip on the source width (540 - 90 = 450) and
> > > adjusts dest with (or the other way round).
> > 
> > If your source surface is 540x576 the behaviour is correct. To get the 
> > results you're after you need to clip the source properly (ie. reduce the 
> > width to 450).
> 
> Again shame on me. You are right.
> For working without SetSourceLocation() surface dimensions were adjusted
> to the useful dimension 540x576 which should not be done when using stretchblit.
> 
> Is SetSourceLocation available via DFB++ and should/must such a call
> being checked against layer capabilities ?

It is now :) And it's called SetSourceRectangle(). No capabilities check 
is necessary since it's basically the same thing as using a smaller 
surface.

Some hardware can't really handle all coordinates but there's no way 
to check that now. For example the mach64 driver is limited to 8 pixel (16 
pixel with I420/YV12) steps in x direction. Currently it simply rounds the 
coordinates down.

-- 
Ville Syrj�l�
[EMAIL PROTECTED]
http://www.sci.fi/~syrjala/


Reply via email to