view docs/html/sdlgetmousestate.html @ 1076:8d3b95ece376

[PATCH] SDL_GetVideoMode() do not find the best video mode The current GetVideoMode() function stops at the first mode which has any dimensions smaller than the one asked, and gives the previous in the list. If I ask 336x224 with this list: 768x480 768x240 640x400 640x200 384x480 384x240 320x400 320x200 SDL will give me 640x400, because 640x200 as height smaller than what I asked. However the best mode is the smaller which has both dimensions bigger than the one asked (384x240 in my example). This patch fixes this, plus it does not rely on a sorted video mode list.
author Patrice Mandin <patmandin@gmail.com>
date Sun, 12 Jun 2005 16:12:55 +0000
parents 355632dca928
children
line wrap: on
line source

<HTML
><HEAD
><TITLE
>SDL_GetMouseState</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="SDL Library Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Event Functions."
HREF="eventfunctions.html"><LINK
REL="PREVIOUS"
TITLE="SDL_EnableKeyRepeat"
HREF="sdlenablekeyrepeat.html"><LINK
REL="NEXT"
TITLE="SDL_GetRelativeMouseState"
HREF="sdlgetrelativemousestate.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFF8DC"
TEXT="#000000"
LINK="#0000ee"
VLINK="#551a8b"
ALINK="#ff0000"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>SDL Library Documentation</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="sdlenablekeyrepeat.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="sdlgetrelativemousestate.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="SDLGETMOUSESTATE"
></A
>SDL_GetMouseState</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN5869"
></A
><H2
>Name</H2
>SDL_GetMouseState&nbsp;--&nbsp;Retrieve the current state of the mouse</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN5872"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN5873"
></A
><P
></P
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include "SDL.h"</PRE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>Uint8 <B
CLASS="FSFUNC"
>SDL_GetMouseState</B
></CODE
>(int *x, int *y);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5879"
></A
><H2
>Description</H2
><P
>The current button state is returned as a button bitmask, which can
be tested using the <TT
CLASS="LITERAL"
>SDL_BUTTON(X)</TT
> macros, and <TT
CLASS="PARAMETER"
><I
>x</I
></TT
> and <TT
CLASS="PARAMETER"
><I
>y</I
></TT
> are set to the
current mouse cursor position.  You can pass <TT
CLASS="LITERAL"
>NULL</TT
> for either <TT
CLASS="PARAMETER"
><I
>x</I
></TT
> or <TT
CLASS="PARAMETER"
><I
>y</I
></TT
>.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5888"
></A
><H2
>Example</H2
><PRE
CLASS="PROGRAMLISTING"
>SDL_PumpEvents();
if(SDL_GetMouseState(NULL, NULL)&#38;SDL_BUTTON(1))
  printf("Mouse Button 1(left) is pressed.\n");</PRE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5891"
></A
><H2
>See Also</H2
><P
><A
HREF="sdlgetrelativemousestate.html"
><TT
CLASS="FUNCTION"
>SDL_GetRelativeMouseState</TT
></A
>,
<A
HREF="sdlpumpevents.html"
><TT
CLASS="FUNCTION"
>SDL_PumpEvents</TT
></A
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="sdlenablekeyrepeat.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="sdlgetrelativemousestate.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>SDL_EnableKeyRepeat</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="eventfunctions.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>SDL_GetRelativeMouseState</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>