ScreenInfo

Retrieves information about current video mode or the desktop.

Syntax
   Declare Sub ScreenInfo ( ByRef w As Long = 0, ByRef h As Long = 0, ByRef 
   depth As Long = 0, ByRef bpp As Long = 0, ByRef pitch As Long = 0, ByRef 
   rate As Long = 0, ByRef driver As String = "" )
   Declare Sub ScreenInfo ( ByRef w As LongInt, ByRef h As LongInt, ByRef 
   depth As LongInt = 0, ByRef bpp As LongInt = 0, ByRef pitch As LongInt = 
   0, ByRef rate As LongInt = 0, ByRef driver As String = "" )

Usage
   in the LONG (or INTEGER<32>) version of the sub:
      ScreenInfo [ w ] [, [ h ] [, [ depth ] [, [ bpp ] [, [ pitch ] [, [ 
      rate ] [, driver ]]]]]]
   in the LONGINT (or INTEGER<64>) version of the sub:
      ScreenInfo w , h [, [ depth ] [, [ bpp ] [, [ pitch ] [, [ rate ] [, 
      driver ]]]]]

Parameters
   w
      Width.
   h
      Height.
   depth
      Color depth in bits.
   bpp
      Bytes per pixel.
   pitch
      Bytes per scan line.
   rate
      Refresh rate.
   driver
      Driver name.

Description
   This function can be useful to get current mode informations like 
   graphics driver name, color depth, screen size and more.

   If ScreenInfo is called when no graphics mode is set, it returns the 
   information about the desktop.

   Here's a description of available fields:

      +------+-------------------------------------------------------------------------------------------+
      |w     |Width of the screen in pixels                                                              |
      |h     |Height of the screen in pixels                                                             |
      |depth |Current pixel format bits per pixel: this can be 1, 2, 4, 8, 16, or 32                     |
      |bpp   |Bytes per pixel                                                                            |
      |pitch |Size of a framebuffer row in bytes                                                         |
      |rate  |Current refresh rate, or 0 if unknown                                                      |
      |driver|Name of current graphics driver in use, like DirectX (Direct2D added on new systems) or X11|
      +------+-------------------------------------------------------------------------------------------+

Example
   Dim w As Long, h As Long
   Dim depth As Long
   Dim driver_name As String

   Screen 15, 32 
   ' Obtain info about current mode 
   ScreenInfo w, h, depth,,,,driver_name
   Print Str(w) + "x" + Str(h) + "x" + Str(depth); 
   Print " using " + driver_name + " driver" 
   Sleep 
   ' Quit graphics mode and obtain info about desktop 
   Screen 0 
   ScreenInfo w, h, depth 
   Print "Desktop running at " + Str(w) + "x" + Str(h) + "x" + Str(depth); 

Version
   * Before fbc 1.08.0:
         Syntax:
            Declare Sub ScreenInfo ( ByRef w As Integer = 0, ByRef h As 
            Integer = 0, ByRef depth As Integer = 0, ByRef bpp As Integer = 
            0, ByRef pitch As Integer = 0, ByRef rate As Integer = 0, ByRef 
            driver As String = "" )
         Usage:
            ScreenInfo [ w ] [, [ h ] [, [ depth ] [ , [ bpp ] [ , [ pitch 
            ] [ , [ rate ] [, driver ]]]]]]

Dialect Differences
   * Not available in the -lang qb dialect unless referenced with the 
     alias __Screeninfo.

Differences from QB
   * New to FreeBASIC

See also
   * Screen (Graphics)

