[hatari-devel] Issue with switching - fullscreen/windowed mode
Eero Tamminen
eerot at users.berlios.de
Tue Feb 9 23:10:56 CET 2010
Hi,
On Tuesday 09 February 2010, npomarede at corp.free.fr wrote:
> The underlying question could be : should we change the resolution of the
> screen when we wish to go fullscreen, to take the closest hardware
> resolution offered by the monitor/video card combination ?
>
> Personnaly, I never encountered any problem when pressing F11 and my
> lcd monitor goes to 800x600 instead of 1280x1024 for example, so this way
> of working is fine with me.
>
> But on the other hand, perhaps we could also have a way of displaying
> Hatari's screen by keeping the host current resolution and stretching the
> content of Atari's screen ? Of course, some combinations will not look
> nice if old/new sizes are not integer multiples of each other. Some
> aliasing algorithms (such as those in some mame version) could help
> soften those artefacts.
Another possibility is to tell the display not to offer any other than
the native LCD resolution[1]. Then Hatari will just keep using what ever
integer scaling it already used and just tell SDL to use that resolution.
This will give the black borders on fullscreen, but pixels are crisp.
[1] One has always had that possibility with X server configuration.
Even SDL itself may offer this, I haven't looked into it.
> So, perhaps we could implement a new .c file that would take an SDL
> surface (320x200 for example) and transform this to a new SDL surface of
> any size (in that case 640x400 or 1280x800 would of course be the best
> choice for trivial resizing method).
>
> I think such an interface could be easy to add (this extra processing
> step should be of course optionnal), just need a function like :
>
> void ResizeSurface ( SDL_Surface *surface_in , SDL_Surface *surface_out
> , int resize_method );
>
> with resize_method like LINEAR, INTERPOLATE, BILINEAR, BICUBIC, HQ4X, ...
This will require support both from video.c and falcon/hostscreen.c and
rewrite of at least the hostscreen.c fullscreen toggling function (but
latter should apparently anyway be rewritten).
If somebody's interested in writing something like that, I'll be interested
to review the patch. :-)
> This way, we could offer both scaling modes (hardware or software) and
> please everyone :)
- Eero
More information about the hatari-devel
mailing list