Mercurial > sdl-ios-xcode
view docs/man3/SDL_SetEventFilter.3 @ 604:31d3af76488b
Date: Mon, 24 Feb 2003 16:31:25 -0500
From: Ragnvald "Despair" Maartmann-Moe IV
Subject: SDL x11 video mode selection bug
Hi, I've found an oddity with video mode selection. I recently added a bunch of
oddball video modes to my XF86Config, to support weird resolutions xine &
mplayer need if I don't want to beat my cpu up with video scaling.
Since adding them, SDL started picking the biggest video mode it could find
that matched the height constraint. Getting a narrow vertical strip of
QuakeForge (I code for the project, so needless to say it's my favorite test)
in the middle of an 800x480 screen, instead of the 640x480 I asked for
annoys me tremendously.
So here's a patch that tries a bit harder to get an exact match. I didn't
touch the XiG section, since I can't test that, but I'd bet a similar patch
would prevent similar problems there.
--Ragnvald "Despair" Maartmann-Moe IV
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 06 Mar 2003 06:02:16 +0000 |
parents | e5bc29de3f0a |
children | 546f7c1eb755 |
line wrap: on
line source
.TH "SDL_SetEventFilter" "3" "Tue 11 Sep 2001, 22:59" "SDL" "SDL API Reference" .SH "NAME" SDL_SetEventFilter\- Sets up a filter to process all events before they are posted to the event queue\&. .SH "SYNOPSIS" .PP \fB#include "SDL\&.h" .sp \fBvoid \fBSDL_SetEventFilter\fP\fR(\fBSDL_EventFilter filter\fR); .SH "DESCRIPTION" .PP This function sets up a filter to process all events before they are posted to the event queue\&. This is a very powerful and flexible feature\&. The filter is prototyped as: .PP .nf \f(CWtypedef int (*SDL_EventFilter)(const SDL_Event *event);\fR .fi .PP If the filter returns \fB1\fR, then the event will be added to the internal queue\&. If it returns \fB0\fR, then the event will be dropped from the queue\&. This allows selective filtering of dynamically\&. .PP There is one caveat when dealing with the \fBSDL_QUITEVENT\fP event type\&. The event filter is only called when the window manager desires to close the application window\&. If the event filter returns 1, then the window will be closed, otherwise the window will remain open if possible\&. If the quit event is generated by an interrupt signal, it will bypass the internal queue and be delivered to the application at the next event poll\&. .PP .RS \fBNote: .PP Events pushed onto the queue with \fI\fBSDL_PushEvent\fP\fR or \fI\fBSDL_PeepEvents\fP\fR do not get passed through the event filter\&. .RE .PP .RS \fBNote: .PP \fIBe Careful!\fP The event filter function may run in a different thread so be careful what you do within it\&. .RE .SH "SEE ALSO" .PP \fI\fBSDL_Event\fR\fR, \fI\fBSDL_GetEventFilter\fP\fR, \fI\fBSDL_PushEvent\fP\fR ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 22:59