Wiki Page Content

Differences between revisions 11 and 12
Revision 11 as of 2010-04-28 06:40:14
Size: 10343
Editor: SheenaSmith
Comment: add content (basic format ver 2)
Revision 12 as of 2010-04-28 06:48:35
Size: 10831
Editor: SheenaSmith
Comment: add content (basic format ver 2)
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
||<tablewidth="100%" style="color: #FF0000;" :> DRAFT|| ||<tablewidth="100%"style="color: rgb(255, 0, 0); text-align: center;">DRAFT ||
Line 8: Line 9:
Line 12: Line 12:
Line 15: Line 14:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryInit|Initialization & Shutdown]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL.h|SDL.h]]||
||[[CategoryAtomic|Atomic Operations for 32 and 64 Bit Values]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_atomic.h|SDL_atomic.h]]||
||[[CategoryVersion|Querying SDL Version]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_version.h|SDL_version.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryInit|Initialization & Shutdown]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL.h|SDL.h]] ||
||[[CategoryAtomic|Atomic Operations for 32 and 64 Bit Values]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_atomic.h|SDL_atomic.h]] ||
||[[CategoryVersion|Querying SDL Version]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_version.h|SDL_version.h]] ||


Line 22: Line 23:

||[[CategoryError|Error Handling]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_error.h|SDL_error.h]]||
||[[CategoryError|Error Handling]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_error.h|SDL_error.h]] ||


Line 27: Line 30:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryVideo|Display Management, Window Management and Rendering]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_video.h|SDL_video.h]]||
||[[CategoryPixels|Pixel Formats and Conversion Routines]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_pixels.h|SDL_pixels.h]]||
||[[CategoryRect|Rectangle Functions]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_rect.h|SDL_rect.h]]||
||[[CategorySurface|Surface Creation and Simple Drawing]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_surface.h|SDL_surface.h]]||
||[[CategorySWM|Platform-specific Window Management]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_syswm.h|SDL_syswm.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryVideo|Display Management, Window Management and Rendering]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_video.h|SDL_video.h]] ||
||[[CategoryPixels|Pixel Formats and Conversion Routines]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_pixels.h|SDL_pixels.h]] ||
||[[CategoryRect|Rectangle Functions]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_rect.h|SDL_rect.h]] ||
||[[CategorySurface|Surface Creation and Simple Drawing]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_surface.h|SDL_surface.h]] ||
||[[CategorySWM|Platform-specific Window Management]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_syswm.h|SDL_syswm.h]] ||


Line 37: Line 42:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryJoystick|Joystick Support]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_joystick.h|SDL_joystick.h]]||
||[[CategoryKeyboard|Keyboard Support]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_keyboard.h|SDL_keyboard.h]]||
||[[CategoryMouse|Mouse Support]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_mouse.h|SDL_mouse.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryJoystick|Joystick Support]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_joystick.h|SDL_joystick.h]] ||
||[[CategoryKeyboard|Keyboard Support]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_keyboard.h|SDL_keyboard.h]] ||
||[[CategoryMouse|Mouse Support]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_mouse.h|SDL_mouse.h]] ||


Line 45: Line 52:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryForceFeedback|Force Feedback Support]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_haptic.h|SDL_haptic.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryForceFeedback|Force Feedback Support]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_haptic.h|SDL_haptic.h]] ||


Line 51: Line 60:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryAudio|Audio Device Management, Playing and Recording]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_audio.h|SDL_audio.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryAudio|Audio Device Management, Playing and Recording]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_audio.h|SDL_audio.h]] ||


Line 56: Line 67:
[[#I/OI|Introduction to File I/O Abstraction]]

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryIO|File I/O Abstraction]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_rwops.h|SDL_rwops.h]]||
[[#I.2BAC8-OI|Introduction to File I/O Abstraction]]
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryIO|File I/O Abstraction]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_rwops.h|SDL_rwops.h]] ||


Line 63: Line 76:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategorySharedObject|Shared Object Loading and Function Lookup]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_loadso.h|SDL_loadso.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategorySharedObject|Shared Object Loading and Function Lookup]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_loadso.h|SDL_loadso.h]] ||


Line 69: Line 84:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryThread|Thread Management]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_thread.h|SDL_thread.h]]||
||[[CategoryMutex|Thread Synchronization Primitives]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_mutex.h|SDL_mutex.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryThread|Thread Management]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_thread.h|SDL_thread.h]] ||
||[[CategoryMutex|Thread Synchronization Primitives]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_mutex.h|SDL_mutex.h]] ||


Line 76: Line 93:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryTimer|Timer Support]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_timer.h|SDL_timer.h]]||
||[[CategoryEvents|Event Handling]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_events.h|SDL_events.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryTimer|Timer Support]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_timer.h|SDL_timer.h]] ||
||[[CategoryEvents|Event Handling]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_events.h|SDL_events.h]] ||


Line 83: Line 102:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryCPU|CPU Feature Detection]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_cpuinfo.h|SDL_cpuinfo.h]]||
||[[CategoryPlatform|Platform Detection]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_platform.h|SDL_platform.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryCPU|CPU Feature Detection]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_cpuinfo.h|SDL_cpuinfo.h]] ||
||[[CategoryPlatform|Platform Detection]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_platform.h|SDL_platform.h]] ||


Line 90: Line 111:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryPower|Power Management Status]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_power.h|SDL_power.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryPower|Power Management Status]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_power.h|SDL_power.h]] ||


Line 96: Line 119:

||<tablewidth="100%">'''View a List of Functions Related to...'''||'''View the Header'''||
||[[CategoryEndian|Byte Order and Byte Swapping]]||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_endian.h|SDL_endian.h]]||
||<tablewidth="100%">'''View a List of Functions Related to...''' ||'''View the Header''' ||
||[[CategoryEndian|Byte Order and Byte Swapping]] ||[[http://hg.libsdl.org/SDL/file/68dfd6df47da/include/SDL_endian.h|SDL_endian.h]] ||


Line 103: Line 128:
Line 106: Line 130:
__General__<<BR>>
Functions in this category are used to set up SDL 1.3 for use and generally have global effects in your program.  

__Version__<<BR>>
These functions are used to collect or display information about the version of SDL that is currently being used by the program.
__General__<<BR>> Functions in this category are used to set up SDL 1.3 for use and generally have global effects in your program.

__Version__<<BR>> These functions are used to collect or display information about the version of SDL that is currently being used by the program.

 . The version number consists of three segments (X.Y.Z)
  * X = Major Version, which increments with massive changes, additions, and enhancements
  * Y = Minor Version, which increments with backwards-compatible changes to the major revision
  * Z = Patchlevel, which increments with fixes to the minor revision
 ''Example:'' 1.3.0
Line 112: Line 141:
Line 114: Line 144:
 * [[SDL_version#Related Minor Macros|SDL_VERSIONNUM]]  * [[SDL_version#Related_Minor_Macros|SDL_VERSIONNUM]]
Line 116: Line 146:
 * [[SDL_version#Related Minor Macros|SDL_COMPILEDVERSION]]  * [[SDL_version#Related_Minor_Macros|SDL_COMPILEDVERSION]]
Line 118: Line 148:
 * [[SDL_version#Related Minor Macros|SDL_VERSION_ATLEAST]]
  * A minor macro that confirms whether a program was compiled with a version no older than the specified version.  
 * [[SDL_version#Related_Minor_Macros|SDL_VERSION_ATLEAST]]
  * A minor macro that confirms whether a program was compiled with a version no older than the specified version.
Line 130: Line 160:
Line 141: Line 172:
Line 184: Line 216:


Line 204: Line 233:
<<Color2(green,This section is junk I don't want to lose yet but will most likely delete. Ignore it.)>>
-OR -
<<Color2(green,This section is junk I don't want to lose yet but will most likely delete. Ignore it.)>> -OR -
Line 208: Line 236:
Line 215: Line 244:
Each section below includes  Each section below includes

DRAFT

SDL 1.3 API by Category

Functions by Type

Initialization

Introduction to Initialization

View a List of Functions Related to...

View the Header

Initialization & Shutdown

SDL.h

Atomic Operations for 32 and 64 Bit Values

SDL_atomic.h

Querying SDL Version

SDL_version.h

green

Error Handling

SDL_error.h

Video

Introduction to Video

View a List of Functions Related to...

View the Header

Display Management, Window Management and Rendering

SDL_video.h

Pixel Formats and Conversion Routines

SDL_pixels.h

Rectangle Functions

SDL_rect.h

Surface Creation and Simple Drawing

SDL_surface.h

Platform-specific Window Management

SDL_syswm.h

Input

Introduction to Input

View a List of Functions Related to...

View the Header

Joystick Support

SDL_joystick.h

Keyboard Support

SDL_keyboard.h

Mouse Support

SDL_mouse.h

Force Feedback

Introduction to Force Feedback

View a List of Functions Related to...

View the Header

Force Feedback Support

SDL_haptic.h

Audio

Introduction to Audio

View a List of Functions Related to...

View the Header

Audio Device Management, Playing and Recording

SDL_audio.h

File I/O Abstraction

Introduction to File I/O Abstraction

View a List of Functions Related to...

View the Header

File I/O Abstraction

SDL_rwops.h

Shared Object Support

Introduction to Shared Object Support

View a List of Functions Related to...

View the Header

Shared Object Loading and Function Lookup

SDL_loadso.h

Threads

Introduction to Threads

View a List of Functions Related to...

View the Header

Thread Management

SDL_thread.h

Thread Synchronization Primitives

SDL_mutex.h

Timers

Introduction to Timers

View a List of Functions Related to...

View the Header

Timer Support

SDL_timer.h

Event Handling

SDL_events.h

CPU Feature Detection

Introduction to CPU Feature Detection

View a List of Functions Related to...

View the Header

CPU Feature Detection

SDL_cpuinfo.h

Platform Detection

SDL_platform.h

Power Management

Introduction to Power Management

View a List of Functions Related to...

View the Header

Power Management Status

SDL_power.h

Endian Independence

Introduction to Endian Independence (Byte Order and Byte Swapping)

View a List of Functions Related to...

View the Header

Byte Order and Byte Swapping

SDL_endian.h


Introductory Information by Category

Introduction to Initialization

General
Functions in this category are used to set up SDL 1.3 for use and generally have global effects in your program.

Version
These functions are used to collect or display information about the version of SDL that is currently being used by the program.

  • The version number consists of three segments (X.Y.Z)
    • X = Major Version, which increments with massive changes, additions, and enhancements
    • Y = Minor Version, which increments with backwards-compatible changes to the major revision
    • Z = Patchlevel, which increments with fixes to the minor revision

    Example: 1.3.0

There are four (4) macros green

that apply to this header.

  • SDL_VERSION

    • This macro gathers information from SDL_MAJOR_VERSION, SDL_MINOR_VERSION, AND SDL_PATCHLEVEL (#defines) and fills the structure SDL_version with that information.

  • SDL_VERSIONNUM

    • A minor macro that converts version numbers into a numeric value.
  • SDL_COMPILEDVERSION

    • A minor macro that produces the current SDL version number (major.minor.patchlevel)
  • SDL_VERSION_ATLEAST

    • A minor macro that confirms whether a program was compiled with a version no older than the specified version.

Introduction to Video

Introduction to Input

Introduction to Force Feedback

The SDL Haptic subsystem allows you to control haptic (force feedback) devices.

The basic usage is as follows:

  1. Initialize the Subsystem (SDL_INIT_HAPTIC)
  2. Open a Haptic Device
    1. SDL_HapticOpen() to open from index

    2. SDL_HapticOpenFromJoystick() to open from an existing joystick

  3. Create an effect (SDL_HapticEffect) <<Color2: execution failed [No argument named ""] (see also the log)>>

  4. Upload the effect with SDL_HapticNewEffect()

  5. Run the effect with SDL_HapticRunEffect()

  6. (optional) Free the effect with SDL_HapticDestroyEffect()

  7. Close the haptic device with SDL_HapticClose()

Code Example:

int test_haptic( SDL_Joystick * joystick ) {
 SDL_Haptic *haptic;
 SDL_HapticEffect effect;
 int effect_id;

 // Open the device
 haptic = SDL_HapticOpenFromJoystick( joystick );
 if (haptic == NULL) return -1; // Most likely joystick isn't haptic

 // See if it can do sine waves
 if ((SDL_HapticQuery(haptic) & SDL_HAPTIC_SINE)==0) {
  SDL_HapticClose(haptic); // No sine effect
  return -1;
 }

 // Create the effect
 memset( &effect, 0, sizeof(SDL_HapticEffect) ); // 0 is safe default
 effect.type = SDL_HAPTIC_SINE;
 effect.periodic.direction.type = SDL_HAPTIC_POLAR; // Polar coordinates
 effect.periodic.direction.dir[0] = 18000; // Force comes from south
 effect.periodic.period = 1000; // 1000 ms
 effect.periodic.magnitude = 20000; // 20000/32767 strength
 effect.periodic.length = 5000; // 5 seconds long
 effect.periodic.attack_length = 1000; // Takes 1 second to get max strength
 effect.periodic.fade_length = 1000; // Takes 1 second to fade away

 // Upload the effect
 effect_id = SDL_HapticNewEffect( haptic, &effect );

 // Test the effect
 SDL_HapticRunEffect( haptic, effect_id, 1 );
 SDL_Delay( 5000); // Wait for the effect to finish

 // We destroy the effect, although closing the device also does this
 SDL_HapticDestroyEffect( haptic, effect_id );

 // Close the device
 SDL_HapticClose(haptic);

 return 0; // Success
}

Introduction to Audio

Introduction to File I/O Abstraction

Introduction to Shared Object Support

Introduction to Threads

Introduction to Timers

Introduction to CPU Feature Detection

Introduction to Power Management

Introduction to Endian Independence (Byte Order and Byte Swapping)


green

-OR -

In each section:

  • For more detailed information on each Category, including how to get started, answers to common questions and errors, and more, click the Introduction to... link in each section

  • For a list of functions found in each header click the link under Related Functions

    • You will find links to detailed pages about each function on those pages
  • For the header file itself click the link under Header in each section

-OR-

Each section below includes

  • a link to introductory information about each function type including, where relevant:
    • green

  • a link to one or more pages containing a complete list of functions belonging to each header in that category
    • listed functions link to detailed information on each
  • a link to the header page

None: APIByCategory (last edited 2020-01-13 13:44:18 by markand)

(Page Info.)
Feedback
Please include your contact information if you'd like to receive a reply.
Submit