Mercurial > sdl-ios-xcode
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 <stdio.h> + +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); +} </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