OSDN Git Service

サンプルコードを追加
authormaruhiro <maruhiro@bridge.ocn.ne.jp>
Sun, 22 Jun 2014 04:57:47 +0000 (13:57 +0900)
committermaruhiro <maruhiro@bridge.ocn.ne.jp>
Sun, 22 Jun 2014 04:57:47 +0000 (13:57 +0900)
SDL_GameControllerOpen.html
SDL_GetAssertionReport.html
SDL_GetAudioDeviceName.html
SDL_GetAudioStatus.html
SDL_GetBasePath.html
SDL_GetCPUCount.html
SDL_GetClosestDisplayMode.html
SDL_GetCurrentAudioDriver.html

index 90b17f4..bb4c419 100644 (file)
 <h2>\96ß\82è\92l</h2>\r
 \90¬\8c÷\82Ì\82Æ\82«\83Q\81[\83\80\83R\83\93\83g\83\8d\81[\83\89\81[\8e¯\95Ê\8eq, \8e¸\94s\82Ì\82Æ\82«NULL\82ð\96ß\82·.\r
 <a href="SDL_GetError.html">SDL_GetError()</a>\82Å\8fÚ\8d×\82ð\92m\82é\82±\82Æ\82ª\82Å\82«\82é.\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+<code>\r
+<pre>\r
+/* \97\98\97p\89Â\94\\82È\8dÅ\8f\89\82Ì\83R\83\93\83g\83\8d\81[\83\89\81[\82ð\8aJ\82­ */\r
+SDL_GameController *controller = NULL;\r
+for (int i = 0; i &lt; SDL_NumJoysticks(); ++i) {\r
+    if (SDL_IsGameController(i)) {\r
+        controller = SDL_GameControllerOpen(i);\r
+        if (controller) {\r
+            break;\r
+        } else {\r
+            fprintf(stderr, "\83Q\81[\83\80\83R\83\93\83g\83\8d\81[\83\89\81[%d\82ð\8aJ\82¯\82È\82©\82Á\82½: %s\n", i, SDL_GetError());\r
+        }\r
+    }\r
+}\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8fÚ\8d×</h2>\r
 device_index\82Í<a href="SDL_JoystickOpen.html">SDL_JoystickOpen()</a>\82Ì\88ø\90\94\82Ìjoystick_index\82Æ\93¯\82\82Å\82 \82é.\r
 <h2>\8aÖ\98A\8d\80\96Ú(\8aÖ\90\94)</h2>\r
index 297e1fb..0ad16db 100644 (file)
 <h2>\96ß\82è\92l</h2>\r
 \8e¸\94s\82µ\82½\91S\82Ä\82Ì\83A\83T\81[\83V\83\87\83\93\82Ì\83\8a\83X\83g\82ð\96ß\82·. \83\8a\83X\83g\82ª\8bó\82Ì\8fê\8d\87NULL\82ð\96ß\82·.\r
 \82±\82Ì\83\81\83\82\83\8a\82Í\95Ò\8fW\82Ü\82½\82Í\89ð\95ú\82µ\82Ä\82Í\82È\82ç\82È\82¢.\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+<code>\r
+<pre>\r
+const SDL_assert_data *item = SDL_GetAssertionReport();\r
+while (item) {\r
+     printf("'%s', %s (%s:%d), %u \89ñ\88ø\82«\8bN\82±\82³\82ê\82½, \8fí\82É\96³\8e\8b\82·\82é\82©: %s.\n",\r
+          item->condition, item->function, item->filename,\r
+          item->linenum, item->trigger_count,\r
+          item->always_ignore ? "\82Í\82¢" : "\82¢\82¢\82¦");\r
+     item = item->next;\r
+}\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8fÚ\8d×</h2>\r
 \82±\82Ì\8aÖ\90\94\82Í, \8dÅ\8cã\82É<a href="SDL_ResetAssertionReport.html">SDL_ResetAssertionReport()</a>\82ð\8cÄ\82ñ\82Å\82©\82ç, \82Ü\82½\82Í\83v\83\8d\83O\83\89\83\80\82ð\8aJ\8en\82µ\82Ä\82©\82ç\94­\90\82µ\82½\91S\82Ä\82Ì\83A\83T\81[\83V\83\87\83\93\82ð\96ß\82·.\r
 <h2>\8aÖ\98A\8d\80\96Ú(\8aÖ\90\94)</h2>\r
index 0d2f9a5..1882aeb 100644 (file)
 </table>\r
 <h2>\96ß\82è\92l</h2>\r
 \90¬\8c÷\82Ì\82Æ\82«\8ew\92è\82Ì\94Ô\8d\86\82Ì\83I\81[\83f\83B\83I\83f\83o\83C\83X\82Ì\96¼\91O, \8e¸\94s\82Ì\82Æ\82«NULL\82ð\96ß\82·.\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+<code>\r
+<pre>\r
+int i, count = SDL_GetNumAudioDevices(0);\r
+\r
+for (i = 0; i &lt; count; ++i) {\r
+    printf("\83I\81[\83f\83B\83I\83f\83o\83C\83X %d: %s\n", i, SDL_GetAudioDeviceName(i, 0));\r
+}\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8fÚ\8d×</h2>\r
 <p>\r
 \82±\82Ì\8aÖ\90\94\82Í\8f\89\8aú\89»\82É\90¬\8c÷\82µ\82½\83I\81[\83f\83B\83I\83T\83u\83V\83X\83e\83\80\82Ì\82Ý\8al\93¾\82Å\82«\82é.\r
index e70dadf..0be8373 100644 (file)
 <code>SDL_AudioStatus SDL_GetAudioStatus(void)</code>\r
 <h2>\96ß\82è\92l</h2>\r
 <a href="SDL_AudioStatus.html">SDL_AudioStatus</a>\82Ì\92l\82Ì1\82Â\82ð\96ß\82·.\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+<code>\r
+<pre>\r
+void printStatus(void)\r
+{\r
+    switch (SDL_GetAudioStatus())\r
+    {\r
+        case SDL_AUDIO_STOPPED: printf("\92â\8e~\92\86\n"); break;\r
+        case SDL_AUDIO_PLAYING: printf("\8dÄ\90\92\86\n"); break;\r
+        case SDL_AUDIO_PAUSED: printf("\88ê\8e\9e\92â\8e~\92\86\n"); break;\r
+        default: printf("???"); break;\r
+    }\r
+}\r
+\r
+extern SDL_AudioSpec desired;\r
+extern SDL_AudioSpec obtained;\r
+\r
+// device starts paused\r
+if (SDL_OpenAudio(&desired, &obtained) == 0) {\r
+     printStatus();  // \81u\88ê\8e\9e\92â\8e~\92\86\81v\82ª\95\\8e¦\82³\82ê\82é\r
+     SDL_PauseAudio(0);\r
+     printStatus();  // \81u\8dÄ\90\92\86\81v\82ª\95\\8e¦\82³\82ê\82é\r
+     SDL_PauseAudio(1);\r
+     printStatus();  // \81u\88ê\8e\9e\92â\8e~\92\86\81v\82ª\95\\8e¦\82³\82ê\82é\r
+     SDL_CloseAudio();\r
+     printStatus();  // \81u\92â\8e~\92\86\81v\82ª\95\\8e¦\82³\82ê\82é\r
+}\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8fÚ\8d×</h2>\r
 <p>\r
 \82±\82Ì\8aÖ\90\94\82Í\r
index 9e32d8c..c242ba5 100644 (file)
 \8e¸\94s\82Ü\82½\82Í\82±\82Ì\8aÖ\90\94\82ª\8eÀ\91\95\82³\82ê\82Ä\82¢\82È\82¢\8aÂ\8b«\82Ì\8fê\8d\87NULL\82ð\96ß\82·.\r
 <a href="SDL_GetError.html">SDL_GetError()</a>\82Å\8fÚ\8d×\82ð\92m\82é\82±\82Æ\82ª\82Å\82«\82é.\r
 </p>\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+<code>\r
+<pre>\r
+char *data_path = NULL;\r
+\r
+void InitializeDataPath() {\r
+    char *base_path = SDL_GetBasePath();\r
+    if (base_path) {\r
+        data_path = SDL_strdup(base_path);\r
+        SDL_free(base_path);\r
+    } else {\r
+        data_path = SDL_strdup("./");\r
+    }\r
+}\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8fÚ\8d×</h2>\r
 <p>\r
 \82±\82Ì\8aÖ\90\94\82Í\91¬\82¢\95K\97v\82Í\82È\82¢. \82»\82ê\82É\82à\8aÖ\82í\82ç\82¸\91¬\82³\82ª\95K\97v\82È\82ç\82Î, \8dÅ\8f\89\82É\8cÄ\82ñ\82¾\82Æ\82«\82É\95\8e\9a\97ñ\82ð\95Û\91\82·\82é\95K\97v\82ª\82 \82é.\r
index c62fa85..f79787f 100644 (file)
 <h2>\96ß\82è\92l</h2>\r
 \98_\97\9dCPU\83R\83A\90\94\82Ì\8d\87\8cv\82ð\96ß\82·.\r
 \83n\83C\83p\81[\83X\83\8c\83b\83h\82È\82Ç\82ª\8eg\82¦\82éCPU\82Å\82Í, \98_\97\9d\83R\83A\90\94\82ª\95¨\97\9d\82È\83R\83A\90\94\82æ\82è\91½\82­\82È\82é\82±\82Æ\82ª\82 \82é.\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+<code>\r
+<pre>\r
+printf("CPU\98_\97\9d\83R\83A\82Ì\90\94: %d\n", SDL_GetCPUCount());\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>SDL Wiki\82Ö\82Ì\83\8a\83\93\83N</h2>\r
 <a href="https://wiki.libsdl.org/SDL_GetCPUCount">SDL_GetCPUCount - SDL Wiki</a>\r
 <hr>\r
index 2e49995..a5b7a1c 100644 (file)
 <h2>\96ß\82è\92l</h2>\r
 \90¬\8c÷\82Ì\82Æ\82«closest\82Ö\82Ì\83|\83C\83\93\83^, \97\98\97p\89Â\94\\82È\83f\83B\83X\83v\83\8c\83C\83\82\81[\83h\82ª\82È\82¢\82Æ\82«NULL\82ð\96ß\82·.\r
 <a href="SDL_GetError.html.html">SDL_GetError()</a>\82ð\8cÄ\82ñ\82Å\8fÚ\8d×\82ð\92m\82é\82±\82Æ\82ª\82Å\82«\82é.\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+<code>\r
+<pre>\r
+// SDL2\82ÌSDL_GetClosestDisplayMode()\82ð\8eg\82¤\r
+\r
+#include "SDL.h"\r
+#include &lt;stdio.h&gt;\r
+\r
+int main(int argc, char* argv[]) {\r
+\r
+    // \91ã\93ü\82³\82ê\82é\8d\\91¢\91Ì\82ð\90é\8c¾\82·\82é\r
+    SDL_DisplayMode target, closest;\r
+\r
+    SDL_Init(SDL_INIT_VIDEO);\r
+\r
+    // \97v\8b\81\82·\82é\89ð\91\9c\93x\93\99\82ð\90Ý\92è\82·\82é\r
+    target.w = 600;\r
+    target.h = 500;\r
+    target.format = 0;  // \96³\8e\8b\82³\82ê\82é\r
+    target.refresh_rate = 0; // \96³\8e\8b\82³\82ê\82é\r
+    target.driverdata   = 0; // 0\82Å\8f\89\8aú\89»\82·\82é\r
+    printf("Requesting: \t%dx%dpx @ %dhz \n", target.w, target.h, target.refresh_rate);\r
+\r
+    // \83f\83B\83X\83v\83\8c\83C\83\82\81[\83h\82ðSDL_GetClosestDisplay\82É\8eQ\8fÆ\8cÄ\82Ñ\8fo\82µ\82Å\93n\82·\r
+    // \82»\82µ\82Ä\96ß\82è\92l\82ªNULL\82Å\82È\82¢\82©\83`\83F\83b\83N\82·\82é\r
+    if (SDL_GetClosestDisplayMode(0, &target, &closest) == NULL)\r
+\r
+        // \96ß\82è\92l\82ªNULL\82È\82ç\82Î, \88ê\92v\82·\82é\83\82\81[\83h\82ª\8c©\82Â\82©\82ç\82È\82©\82Á\82½\r
+        printf("\nNo suitable display mode was found!\n\n");\r
+\r
+    else\r
+        // \82»\82Ì\91¼\82È\82ç\82Î, \8dÅ\82à\8bß\82¢\83f\83B\83X\83v\83\8c\83C\83\82\81[\83h\82ª\8eg\82¦\82é\r
+        // SDL_DisplayMode\8d\\91¢\91Ì\82ð\83A\83N\83Z\83X\82µ\82Ä\8eó\82¯\8eæ\82Á\82½\92l\82ð\8c©\82é\r
+        printf("  Received: \t%dx%dpx @ %dhz \n", closest.w, closest.h, closest.refresh_rate);\r
+\r
+    // \8fI\97¹\8f\88\97\9d\82ð\8ds\82¢\83v\83\8d\83O\83\89\83\80\82ð\8fI\97¹\82·\82é\r
+    SDL_Quit();\r
+    return 0;\r
+\r
+}\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8fÚ\8d×</h2>\r
 \97\98\97p\89Â\94\\82È\83f\83B\83X\83v\83\8c\83C\83\82\81[\83h\82ª\8c\9f\8dõ\82³\82ê, \97v\8b\81\82Æ\8dÅ\82à\8bß\82¢\83\82\81[\83h\82ªclosest\82É\91ã\93ü\82³\82ê\82é.\r
 mode\82Ìformat\82Ærefresh_rate\82ª0\82Ì\8fê\8d\87\83f\83X\83N\83g\83b\83v\82Ì\83\82\81[\83h\82Æ\82È\82é.\r
index e69d942..edadfee 100644 (file)
 <code>const char* SDL_GetCurrentAudioDriver(void)</code>\r
 <h2>\96ß\82è\92l</h2>\r
 \8c»\8dÝ\82Ì\83I\81[\83f\83B\83I\83h\83\89\83C\83o\82Ì\96¼\91O\82ð\96ß\82·. \8f\89\8aú\89»\82³\82ê\82½\83h\83\89\83C\83o\82ª\82È\82¢\8fê\8d\87\82ÍNULL\82ð\96ß\82·.\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+<code>\r
+<pre>\r
+const char* driver_name = SDL_GetCurrentAudioDriver();\r
+\r
+if (driver_name) {\r
+    printf("\83I\81[\83f\83B\83I\83T\83u\83V\83X\83e\83\80\82Í\8f\89\8aú\89»\82³\82ê\82Ä\82¢\82é; \83h\83\89\83C\83o = %s.\n", driver_name);\r
+} else {\r
+    printf("\83I\81[\83f\83B\83I\83T\83u\83V\83X\83e\83\80\82Í\8f\89\8aú\89»\82³\82ê\82Ä\82¢\82È\82¢\n");\r
+}\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8fÚ\8d×</h2>\r
 \96ß\82³\82ê\82½\95\8e\9a\97ñ\82Í\93à\95\94\82Ì\90Ã\93I\83\81\83\82\83\8a\82Ö\82Ì\83|\83C\83\93\83^\82Å, \96³\8cø\82É\82È\82é\82±\82Æ\82Í\82È\82¢.\r
 \83I\81[\83f\83B\83I\83T\83u\83V\83X\83e\83\80\82ð\8fI\97¹\82µ, \90V\82µ\82¢\83h\83\89\83C\83o\82ð\8f\89\8aú\89»\82µ\82½\8fê\8d\87\82à\93¯\97l\82Å\82 \82é.\r