diff docs/html/guidebasicsinit.html @ 0:74212992fb08

Initial revision
author Sam Lantinga <slouken@lokigames.com>
date Thu, 26 Apr 2001 16:45:43 +0000
parents
children 55f1f1b3e27d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/html/guidebasicsinit.html	Thu Apr 26 16:45:43 2001 +0000
@@ -0,0 +1,224 @@
+<HTML
+><HEAD
+><TITLE
+>Initializing SDL</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.61
+"><LINK
+REL="HOME"
+TITLE="SDL Library Documentation"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="The Basics"
+HREF="guidethebasics.html"><LINK
+REL="PREVIOUS"
+TITLE="The Basics"
+HREF="guidethebasics.html"><LINK
+REL="NEXT"
+TITLE="Graphics and Video"
+HREF="guidevideo.html"></HEAD
+><BODY
+CLASS="SECT1"
+BGCOLOR="#FFF8DC"
+TEXT="#000000"
+LINK="#0000ee"
+VLINK="#551a8b"
+ALINK="#ff0000"
+><DIV
+CLASS="NAVHEADER"
+><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="guidethebasics.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 1. The Basics</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="guidevideo.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="GUIDEBASICSINIT"
+>Initializing SDL</A
+></H1
+><P
+>SDL is composed of eight subsystems - Audio, CDROM, Event Handling, File I/O, Joystick Handling, Threading, Timers and Video. Before you can use any of these subsystems they must be initialized by calling <A
+HREF="sdlinit.html"
+><TT
+CLASS="FUNCTION"
+>SDL_Init</TT
+></A
+> (or <A
+HREF="sdlinitsubsystem.html"
+><TT
+CLASS="FUNCTION"
+>SDL_InitSubSystem</TT
+></A
+>. <TT
+CLASS="FUNCTION"
+>SDL_Init</TT
+> must be called before any other SDL function. It automatically initializes the Event Handling, File I/O and Threading subsystems and it takes a parameter specifying which other subsystems to initialize. So, to initialize the default subsystems and the Video subsystems you would call:
+<PRE
+CLASS="PROGRAMLISTING"
+>    SDL_Init ( SDL_INIT_VIDEO );</PRE
+>
+To initialize the default subsystems, the Video subsystem and the Timers subsystem you would call:
+<PRE
+CLASS="PROGRAMLISTING"
+>    SDL_Init ( SDL_INIT_VIDEO | SDL_INIT_TIMER );</PRE
+></P
+><P
+><TT
+CLASS="FUNCTION"
+>SDL_Init</TT
+> is complemented by <A
+HREF="sdlquit.html"
+><TT
+CLASS="FUNCTION"
+>SDL_Quit</TT
+></A
+> (and <A
+HREF="sdlquitsubsystem.html"
+><TT
+CLASS="FUNCTION"
+>SDL_QuitSubSystem</TT
+></A
+>). <TT
+CLASS="FUNCTION"
+>SDL_Quit</TT
+> shuts down all subsystems, including the default ones. It should always be called before a SDL application exits.</P
+><P
+>With <TT
+CLASS="FUNCTION"
+>SDL_Init</TT
+> and <TT
+CLASS="FUNCTION"
+>SDL_Quit</TT
+> firmly embedded in your programmers toolkit you can write your first and most basic SDL application. However, we must be prepare to handle errors. Many SDL functions return a value and indicates whether the function has succeeded or failed, <TT
+CLASS="FUNCTION"
+>SDL_Init</TT
+>, for instance, returns -1 if it could not initialize a subsystem. SDL provides a useful facility that allows you to determine exactly what the problem was, every time an error occurs within SDL an error message is stored which can be retrieved using <TT
+CLASS="FUNCTION"
+>SDL_GetError</TT
+>. Use this often, you can never know too much about an error.</P
+><P
+><PRE
+CLASS="PROGRAMLISTING"
+>#include "SDL.h"   /* All SDL App's need this */
+#include &#60;stdio.h&#62;
+
+int main() {
+    
+    printf("Initializing SDL.\n");
+    
+    /* Initialize defaults, Video and Audio */
+    if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) { 
+        printf("Could not initialize SDL: %s.\n", SDL_GetError());
+        exit(-1);
+    }
+
+    printf("SDL initialized.\n");
+
+    printf("Quiting SDL.\n");
+    
+    /* Shutdown all subsystems */
+    SDL_Quit();
+    
+    printf("Quiting....\n");
+
+    exit(0);
+}&#13;</PRE
+></P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="guidethebasics.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="guidevideo.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The Basics</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="guidethebasics.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Graphics and Video</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file