annotate src/system.h @ 56:fa9cf7108ab7

Add 8bpp picture example
author Michael Pavone <pavone@retrodev.com>
date Wed, 31 Aug 2016 23:50:20 -0700
parents 4c9dbfa30a66
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15
c8a0dbd7752c Forgot to commit SDL code
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
1 #ifndef SYSTEM_H_
c8a0dbd7752c Forgot to commit SDL code
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
2 #define SYSTEM_H_
c8a0dbd7752c Forgot to commit SDL code
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
3
24
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
4 //initializes audio and video output with the given parameters
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
5 int system_init(int width, int height, int desired_sample_rate);
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
6 //Should be called once per frame to get a pointer to the output buffer at the start of rendering
15
c8a0dbd7752c Forgot to commit SDL code
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
7 uint16_t *system_get_framebuffer(int *pitch);
24
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
8 //Should be called once per frame at the competion of rendering
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
9 //The pointer returned by system_get_framebuffer should be discarded after calling this function
15
c8a0dbd7752c Forgot to commit SDL code
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
10 void system_framebuffer_updated();
24
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
11 //Pumps the event queue and processes events
16
ae58e7c3c328 Poll events regularly to avoid unresponsive app warnings. Handle quit event
Michael Pavone <pavone@retrodev.com>
parents: 15
diff changeset
12 void system_poll_events();
24
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
13 //Presents an audio buffer to the system for playback
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
14 //Will block until the system is ready for more samples
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
15 //The buffer passed to this function should not be used again
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
16 //by the caller until the next call to system_present_audio
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
17 void system_present_audio(int16_t *buffer);
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
18 //Returns the audio sample rate, which may be different than what was requested
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
19 int system_sample_rate();
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
20 //Returns the number of samples that should be provided in a call to system_present_audio
4c9dbfa30a66 Implemented audio
Michael Pavone <pavone@retrodev.com>
parents: 16
diff changeset
21 int system_buffer_size();
15
c8a0dbd7752c Forgot to commit SDL code
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
22
c8a0dbd7752c Forgot to commit SDL code
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
23 #endif //SYSTEM_H_