OSDN Git Service

SDL_atomic_t サンプルコードを修正 https://wiki.libsdl.org/SDL_atomic_t?action=diff&rev1=3&rev2=4
[sdl2referencejp/sdl2referencejp.git] / MigrationGuide.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html lang="ja-JP">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
5 <meta http-equiv="Content-Style-Type" content="text/css">
6 <meta name="keywords" content="Simple Directmedia Layer SDL 2.0">
7 <style type="text/css">
8 </style>
9 <link rel="top" href="index.html" title="\83z\81[\83\80">
10 <link rel="parent" href="index.html" title="1\82Â\8fã">
11 <title>SDL 1.2\82©\82ç2.0\82Ö\82Ì\88Ú\8ds</title>
12 </head>
13 <body>
14 <a href="index.html">\96Ú\8e\9f</a> - <a href="Introduction.html">\8aT\97v</a> - SDL 1.2\82©\82ç2.0\82Ö\82Ì\88Ú\8ds
15 <hr>
16 <h1 id="SDL_1.2_to_2.0_Migration_Guide">SDL 1.2\82©\82ç2.0\82Ö\82Ì\88Ú\8ds</h1>
17 <h2 id="Introduction">\82Í\82\82ß\82É</h2>
18 <p>
19 \8aô\94N\82à\82Ì\8aJ\94­\82Ì\82Ì\82¿, \82Â\82¢\82ÉSDL 2.0\82ª\83\8a\83\8a\81[\83X\82³\82ê\82½!
20 </p>
21 <p>
22 \8e\84\82½\82¿\82Í\82»\82Ì\8fo\97\88\82É\96\9e\91«\82µ, SDL 1.2\82ð\8eg\82Á\82½\83Q\81[\83\80\82Í\82·\82®\82É\88Ú\8ds\82·\82é\82±\82Æ\82ð\96]\82ñ\82Å\82¢\82é.
23 \82»\82ê\82Í\96Ê\93|\82¾\82Æ\8ev\82¤\82©\82à\82µ\82ê\82È\82¢. \82±\82Ì\95\8f\91\82É\82Í\90V\82µ\82¢\83\89\83C\83u\83\89\83\8a\82Ö\82Ì\88Ú\8ds\82Ì\95û\96@\82ð\8aÈ\8c\89\82É\8f\91\82©\82ê\82Ä\82¢\82é.
24 \82»\82ê\82Í\8dl\82¦\82Ä\82¢\82é\82æ\82è\82Í\93ï\82µ\82­\82È\82¢\82Æ\82í\82©\82é\82Í\82¸\82¾. \93¯\93\99\82Ì\8aÖ\90\94\82É\92u\82«\8a·\82¦\82é\82©, 1.2\82Ì\96â\91è\82ð\94ð\82¯\82é\82½\82ß\82Ì\8dH\95v\82ð\8ds\82í\82È\82¢\82æ\82¤\82É\82·\82é\82¾\82¯\82Ì\8fê\8d\87\82à\82 \82é\82¾\82ë\82¤.
25 </p>
26 <p>
27 SDL 2.0\82Í, \90V\82µ\82¢\8b@\94\\82ÆSDL 1.2\82Ì\8co\8c±\82ª\90\82©\82¹\82é\96\9e\91«\82Ì\82¢\82­\82à\82Ì\82¾\82Æ\8e\84\82½\82¿\82Í\8dl\82¦\82Ä\82¢\82é.
28 \82±\82Ì\95\8f\91\82ÍSDL2\82Ì\91S\82Ä\82Ì\8b@\94\\82ð\88µ\82¤\82±\82Æ\82ð\96Ú\8ew\82µ\82Ä\82Í\82¢\82È\82¢. \82»\82ê\82Í\91½\82·\82¬\82é\82©\82ç\82¾. \82µ\82©\82µ, <em>\82·\82®\82É</em>\93®\82©\82·\82½\82ß\82É\95K\97v\82È\82à\82Ì\82Í\82»\82ë\82Á\82Ä\82¢\82é\82Í\82¸\82¾.
29 \8aù\82É\83R\81[\83h\82ð\88Ú\8ds\82µ\82½\82È\82ç\82Î, \90V\82µ\82¢\8d\80\96Ú\82ð\83`\83F\83b\83N\82·\82×\82«\82¾. \82 \82È\82½\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Å\90V\82µ\82¢\8b@\94\\82ð\8eg\82¢\82½\82­\82È\82é\82¾\82ë\82¤.
30 </p>
31 <h3 id="Overview_of_new_features">\90V\82µ\82¢\8b@\94\\82Ì\8aT\97v</h3>
32 SDL 2.0\82Ì\8eå\97v\82È\90V\8b@\94\:
33 <ul>
34 <li>\8a®\91S\82È3D\83n\81[\83h\83E\83F\83A\83A\83N\83Z\83\89\83\8c\81[\83V\83\87\83\93
35 <li>OpenGL 3.0\88È\8d~\82Ì\8ae\83v\83\8d\83t\83B\81[\83\8b(core, compatibility, debug, robust\82È\82Ç)\82É\91Î\89\9e
36 <li>OpenGL ES\82É\91Î\89\9e
37 <li>\95¡\90\94\82Ì\83E\83B\83\93\83h\83E\82É\91Î\89\9e
38 <li>\83}\83\8b\83`\83f\83B\83X\83v\83\8c\83C\82É\91Î\89\9e
39 <li>\95¡\90\94\82Ì\83I\81[\83f\83B\83I\83f\83o\83C\83X\82É\91Î\89\9e
40 <li>\98^\89¹\82É\91Î\89\9e
41 <li>Android\82ÆiOS\82É\91Î\89\9e
42 <li>Emscripten\82Æ\83l\83C\83e\83B\83u\83N\83\89\83C\83A\83\93\83g\82É\91Î\89\9e
43 <li>Direct3D, OpenGL, OpenGL ES\82ð\8eg\82Á\82½, \82Ü\82½\82Í\83\\83t\83g\83E\83F\83A\82É\82æ\82é\83V\83\93\83v\83\8b\82È2D\83\8c\83\93\83_\83\8a\83\93\83OAPI
44 <li>\97Í\8ao\83t\83B\81[\83h\83o\83b\83N
45 <li>Windows\82ÌXInput\82ÆXAudio2\82É\91Î\89\9e
46 <li>\83A\83g\83~\83b\83N\91\80\8dì
47 <li>\93d\8c¹\8aÇ\97\9d(\83o\83b\83e\83\8a\81[\8ec\97Ê\82È\82Ç)
48 <li>\94ñ\8bé\8c`\83E\83B\83\93\83h\83E
49 <li>32bit\83I\81[\83f\83B\83I(\90®\90\94\82Æ\95\82\93®\8f¬\90\94\93_)
50 <li>\92P\8f\83\89»\82³\82ê\82½\83Q\81[\83\80\83R\83\93\83g\83\8d\81[\83\89API(\83W\83\87\83C\83X\83e\83B\83b\83NAPI\82à\8cp\91±\82µ\82Ä\97\98\97p\89Â\94\!)
51 <li>\83^\83b\83`(\83}\83\8b\83`\83^\83b\83`, \83W\83F\83X\83`\83\83\81[)\82É\91Î\89\9e
52 <li>\83t\83\8b\83X\83N\83\8a\81[\83\93\82Ì\89ü\97Ç
53 <li>\83L\81[\83{\81[\83h\82Ì\89ü\97Ç(\83X\83L\83\83\83\93\83R\81[\83h\91Î\83L\81[\83R\81[\83h\82È\82Ç)
54 <li>\83\81\83b\83Z\81[\83W\83{\83b\83N\83X
55 <li>\83N\83\8a\83b\83v\83{\81[\83h\82É\91Î\89\9e
56 <li>SDL\82Å\8b­\8cÅ\82ÈGUI\83c\81[\83\8b\83L\83b\83g\82ð\8d\\92z\82·\82é\82½\82ß\82ÌAPI
57 <li>\8aî\96{\93I\82È\83h\83\89\83b\83O\81E\83A\83\93\83h\81E\83h\83\8d\83b\83v\82É\91Î\89\9e
58 <li>\8cµ\96§\82ÈUnicode\93ü\97Í\82ÆIME\82É\91Î\89\9e
59 <li>\8b­\97Í\82È\83A\83T\81[\83g(\8c\9f\8fØ)\83}\83N\83\8d
60 <li>LGPL\82©\82çzlib\83\89\83C\83Z\83\93\83X\82Ö\88Ú\8ds
61 <li>\91½\82­\82Ì1.2\82Ì\96â\91è\82Ì\89ð\8fÁ
62 <li>\82»\82Ì\91¼\91½\90\94!
63 </ul>
64 <a href="https://wiki.libsdl.org/Introduction">Introduction</a>\82Ì\83y\81[\83W\82É\82Í, (1.2\82Ì\8b@\94\\82ð\8aÜ\82Þ)SDL\82Ì\91S\8b@\94\\82Ì\88ê\97\97\82ª\82 \82é.
65 <h3 id="Looking_for_more_information">\82³\82ç\82È\82é\8fî\95ñ\82ð\8c©\82Â\82¯\82é\82½\82ß\82É</h3>
66 \8fî\95ñ\82ð\8c©\82Â\82¯\82é\82æ\82¢\8fê\8f\8a:
67 <ul>
68 <li>\82±\82Ìwiki :-) <a href="https://wiki.libsdl.org/FrontPage">SDL Wiki</a>
69 <li>SDL\82Ìtest/\83f\83B\83\8c\83N\83g\83\8a\82É\82 \82é\83e\83X\83g\83v\83\8d\83O\83\89\83\80 (<a href="https://hg.libsdl.org/SDL/file/default/test">\83I\83\93\83\89\83C\83\93\82Å\89{\97\97</a>)
70 <li>SDL<a href="https://discourse.libsdl.org/">\83\81\81[\83\8a\83\93\83O\83\8a\83X\83g/\83t\83H\81[\83\89\83\80</a>
71 </ul>
72 <h2 id="Moving_from_SDL_1.2_to_2.0">SDL 1.2\82©\82ç SDL 2.0\82Ö\82Ì\88Ú\8ds</h2>
73 <h3 id="Some_general_truths">\82¢\82­\82Â\82©\82Ì\8e\96\8eÀ</h3>
74 <p>
75 SDL2\82Ö\82Ì\8cÝ\8a·\83\8c\83C\83\84\81[\82Í\82È\82¢.
76 2.0\82ÌAPI\82É\95Ï\8dX\82·\82é\82È\82ç\82Î, \82Â\82\82Â\82Ü\82ª\8d\87\82¤\82æ\82¤\82É\8cÃ\82¢\8aÖ\90\94\82ð\95Ï\8dX\82â\8dí\8f\9c\82·\82é\95K\97v\82ª\82 \82é.
77 \92P\82É1.2\82Ì\83v\83\8d\83O\83\89\83\80\82É2.0\82Ì\83w\83b\83_\82ð\83C\83\93\83N\83\8b\81[\83h\82µ\82½\82È\82ç\82Î, \8b°\82ç\82­\83R\83\93\83p\83C\83\8b\82É\8e¸\94s\82·\82é\82¾\82ë\82¤.
78 \82±\82Ì\95\8f\91\82Å\82Í\8dÅ\82à\91å\82«\82È\95Ï\8dX\93_\82Æ\82Â\82Ü\82¸\82«\82â\82·\82¢\93_\82ð\90à\96¾\82·\82é.
79 </p>
80 <p>
81 SDL_main\82Í\91\8dÝ\82µ\82È\82¢! \81c\82½\82µ\82©\82ÉWindows\82Å\82Ímain()\82ÆWinMain()\82Ì\8d·\82ð\89B\82·\82½\82ß\82Ì\8f¬\82³\82È\83R\81[\83h\95Ð\82Í\91\8dÝ\82·\82é. \82µ\82©\82µ, 
82 \82»\82Ì\92\86\82É\82Í\8f\89\8aú\89»\82Ì\82½\82ß\82Ì\83R\81[\83h\82Í\82È\82­, \95K\82¸\82µ\82à\8eg\82í\82È\82­\82Ä\82à\82æ\82¢.
83 \82»\82ê\82Ímain\82ð\8fæ\82Á\8eæ\82é\82±\82Æ\82È\82­SDL\82ª\8eg\82¦\82é\82±\82Æ\82ð\88Ó\96¡\82µ, SDL\82ð\8eg\82Á\82½\83v\83\89\83O\83C\83\93\82â, \83X\83N\83\8a\83v\83g\8c¾\8cê\82ðSDL\83\82\83W\83\85\81[\83\8b\82Æ\8b¤\82É\8eg\82¤\8fê\8d\87\82É\97L\97\98\82Å\82 \82é.
84 1.2\82ÌSDL_main\82Å\8ds\82Á\82Ä\82¢\82½\82±\82Æ\82Í, \8d¡\82Å\82Í\91S\82ÄSDL_Init()\82Å\8ds\82Á\82Ä\82¢\82é.
85 </p>
86 <p>
87 SDL parachute\82Í, \82à\82Í\82â\91\8dÝ\82µ\82È\82¢.
88 1.2\82ÅSDL_INIT_NOPARACHUTE\82Æ\8cÄ\82Î\82ê\82Ä\82¢\82½\82à\82Ì\82ª\83f\83t\83H\83\8b\83g\82©\82Â\97B\88ê\82Æ\82È\82Á\82½.
89 \82±\82ê\82Í\83\81\83C\83\93\83X\83\8c\83b\83h\88È\8aO\82ª\83N\83\89\83b\83V\83\85\82µ\82½\82Æ\82«\96â\91è\82ð\88ø\82«\8bN\82±\82µ\82Ä\82¢\82½. \82»\82µ\82Ä\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\93Æ\8e©\82É\90Ý\92è\82µ\82½\83V\83O\83i\83\8b/\97á\8aO\83n\83\93\83h\83\89\82ð\91j\8aQ\82µ\82Ä\82¢\82½.
90 \82³\82ç\82É, \88ê\95\94\82Ì\8aÂ\8b«\82Å\82Í\83N\83\89\83b\83V\83\85\8e\9e\82É\83t\83\8b\83X\83N\83\8a\81[\83\93\82Ì\8cã\8f\88\97\9d\82ª\8ds\82í\82ê\82Ä\82¢\82È\82©\82Á\82½.
91 \82 \82È\82½\82Í\8e©\95ª\8e©\90g\82Å\83N\83\89\83b\83V\83\85\83n\83\93\83h\83\89\82ð\93±\93ü\82·\82é\82©, atexit()\8aÖ\90\94\82Å<a href="SDL_Quit.html">SDL_Quit()</a>\82â\82»\82ê\82Æ\93¯\93\99\82Ì\8aÖ\90\94\82ð\8cÄ\82Ô\95K\97v\82ª\82 \82é.
92 \82È\82¨, Unix\8aÂ\8b«\82Å\82Í, SDL\82Í\8d¡\82Å\82àSIGINT\82ð\95ß\82ç\82¦<a href="SDL_EventType.html">SQL_QUIT</a>\83C\83x\83\93\83g\82É\95Ï\8a·\82µ\82Ä\82¢\82é\82Ì\82Å\92\8d\88Ó\82·\82é\82±\82Æ.
93 </p>
94 <h3 id="Video">\83r\83f\83I</h3>
95 <h4 id="Setting_up_a_game_with_the_new_video_API">\90V\82µ\82¢\83r\83f\83IAPI\82Å\83Q\81[\83\80\82ð\8f\89\8aú\89»\82·\82é</h4>
96 <p>
97 1.2\82©\82ç\8dÅ\82à\8c\80\93I\82É\95Ï\89»\82µ\82½\82Ì\82Í\83r\83f\83IAPI\82Å\82 \82é.
98 SDL\82ÌAPI\82ª\90Ý\8cv\82³\82ê\82½1990\94N\91ã\82Ì\8fI\82í\82è\82©\82ç\8fó\8bµ\82Í\91å\82«\82­\95Ï\89»\82µ\82½.
99 \8c»\8dÝ\82Ì\83n\81[\83h\83E\83F\83A\82ÆOS\82Ì\8b@\94\\82ð\88µ\82¤\82½\82ß, \8cÃ\82¢1.2\82Ì\83r\83f\83IAPI\82Ì\91å\94¼\82Í\8a®\91S\82É\92u\82«\8a·\82¦\82ç\82ê\82½.
100 </p>
101 <p>
102 \90S\94z\82·\82é\82±\82Æ\82Í\82È\82¢. \90V\82µ\82¢API\82Í\8b­\97Í\82Å, \88ê\93x\95Ï\89»\82ð\97\9d\89ð\82·\82ê\82Î, \90V\82µ\82¢\8ed\97l\82ÌAPI\82ð1.2\82Ì\83Q\81[\83\80\82É\91g\82Ý\8d\9e\82ß\82é\82Í\82¸\82¾.
103 \82»\82Ì\95û\96@\82Í\8cã\82Å\90à\96¾\82·\82é.
104 </p>
105 <p>
106 \8dK\82¢\82È\82±\82Æ\82É, OpenGL\82ð\8eg\82Á\82Ä\82¢\82é\82È\82ç\82Î, \82·\82×\82«\82±\82Æ\82Í\91½\82­\82È\82¢. \8f­\90\94\82Ì\8aÖ\90\94\82ðSDL2\82Ì\93\99\89¿\82È\82à\82Ì\82É\92u\82«\8a·\82¦\82ê\82Î\8f\\95ª\82Å\82 \82é.
107 </p>
108 <p>
109 2D\83O\83\89\83t\83B\83b\83N\82Í, SDL1.2\82Å\82Í\81u\83T\81[\83t\83F\83C\83X\81v\82Æ\8cÄ\82Î\82ê\82é\83s\83N\83Z\83\8b\82Ì\83\81\83\82\83\8a\83o\83b\83t\83@\82ª\92ñ\8b\9f\82³\82ê\82Ä\82¢\82½.
110 \83X\83N\83\8a\81[\83\93\82»\82ê\8e©\91Ì\82à\81u\83T\81[\83t\83F\83C\83X\81v\82Å, 2D\83\8c\83\93\83_\83\8a\83\93\83O\82ª\83\\83t\83g\83E\83F\83A\82Å\8ds\82í\82ê\82½. \82»\82µ\82Ä, \83T\81[\83t\83F\83C\83X\8aÔ\82Ì\83R\83s\81[(\93]\91\97 blit)\82ð\8ds\82¤\8aÖ\90\94\82ª\92ñ\8b\9f\82³\82ê, \95K\97v\82È\82ç\82Î\83T\81[\83t\83F\83C\83X\8aÔ\82Ì\83s\83N\83Z\83\8b\82Ì\8c`\8e®\82ª\95Ï\8a·\82³\82ê\82Ä\82¢\82½.
111 \82»\82ê\82ç\82Í\83r\83f\83IRAM\82ÆGPU\82Å\82Í\82È\82­, \82Ù\82Ú\91S\82Ä\83V\83X\83e\83\80RAM\82ÆCPU\82Å\8ds\82í\82ê\82Ä\82¢\82½.
112 SDL 2.0\82Å\82Í\82±\82ê\82ª\95Ï\82í\82Á\82½. \82Ù\82Ú\91S\82Ä\82ª\83n\81[\83h\83E\83F\83A\83A\83N\83Z\83\89\83\8c\81[\83V\83\87\83\93\82Å\8ds\82í\82ê, API\82à\82»\82ê\82ð\94½\89f\82µ\82½\82à\82Ì\82É\82È\82Á\82½.
113 </p>
114 <p>
115 2D\83Q\81[\83\80\82È\82ç\82Î, 3\82Â\82Ì\83\8c\83\93\83_\83\8a\83\93\83O\82Ì\95û\96@\82Ì1\82Â\82É\95Ï\8dX\82·\82é\82±\82Æ\82É\82È\82é.
116 \82»\82ê\82ç\82Ì\95û\96@\82É\82Â\82¢\82Ä\8fq\82×\82é\82ª, \82Ü\82¸\8aî\96{\93I\82È\82±\82Æ\82ð\90à\96¾\82·\82é.
117 </p>
118 <p>
119 SDL_SetVideoMode()\82ð\8ao\82¦\82Ä\82¢\82é\82¾\82ë\82¤\82©?
120 \82»\82ê\82Í\8a®\91S\82É\94p\8e~\82³\82ê\82½.
121 SDL 2.0\82Å\82Í\95¡\90\94\82Ì\83E\83B\83\93\83h\83E\82ª\8eg\82¦\82é. \82»\82Ì\82½\82ß\82±\82Ì\8cÃ\82¢\8aÖ\90\94\82Í\82à\82Í\82â\96³\88Ó\96¡\82Å\82 \82é.
122 </p>
123 <p>
124 \82æ\82Á\82Ä, \82±\82Ì\82æ\82¤\82È\8f\91\82«\95û\82Í...
125 <code>
126 <pre>
127     SDL_WM_SetCaption("My Game Window", "game");
128     SDL_Surface *screen = SDL_SetVideoMode(640, 480, 0, SDL_FULLSCREEN | SDL_OPENGL);
129 </pre>
130 </code>
131 </p>
132 <p>
133 \82±\82Ì\82æ\82¤\82É\82È\82é
134 <code>
135 <pre>
136     SDL_Window *screen = <a href="SDL_CreateWindow.html" style="text-decoration:none;">SDL_CreateWindow</a>("My Game Window",
137                               SDL_WINDOWPOS_UNDEFINED,
138                               SDL_WINDOWPOS_UNDEFINED,
139                               640, 480,
140                               SDL_WINDOW_FULLSCREEN | SDL_WINDOW_OPENGL);
141 </pre>
142 </code>
143 </p>
144 <p>
145 \82±\82Ì\92u\82«\8a·\82¦\82Í1.2\82Æ\82æ\82­\8e\97\82Ä\82¢\82é\82±\82Æ\82ª\82í\82©\82é\82¾\82ë\82¤.
146 \95Ï\82í\82Á\82½\82Ì\82Í, (\95K\97v\82È\82ç\82Î)\95¡\90\94\82Ì\83E\83B\83\93\83h\83E\82ª\8eg\82¦\82é\82æ\82¤\82É\82È\82Á\82½\82±\82Æ\82Æ, \82æ\82è\8fÚ\8d×\82É\90Ý\92è\82Å\82«\82é\82æ\82¤\82É\82È\82Á\82½\82±\82Æ\82Å\82 \82é.
147 SDL_WM_SetCaption()\82à\94p\8e~\82³\82ê\82½.
148 \82»\82ê\82¼\82ê\82Ì\83E\83B\83\93\83h\83E\82ª\82»\82ê\82¼\82ê\82Ì\83^\83C\83g\83\8b\82ð\8e\9d\82Â\82æ\82¤\82É\82È\82Á\82½\82½\82ß\82Å\82 \82é.
149 (\8cã\82Å<a href="SDL_SetWindowTitle.html">SDL_SetWindowTitle()</a>\82Å\95Ï\8dX\82·\82é\82±\82Æ\82à\82Å\82«\82é.)
150 \82³\82ç\82É, \83E\83B\83\93\83h\83E\82Ì\88Ê\92u\82à\90Ý\92è\82Å\82«\82é\82æ\82¤\82É\82È\82Á\82½.
151 (<strong>SDL_WINDOWPOS_UNDEFINED</strong>\82ð\8eg\82¦\82Î\83V\83X\83e\83\80\82Ì\8c\88\82ß\82½\88Ê\92u\82É\82È\82é. <strong>SDL_WINDOWPOS_CENTERED</strong>\82ð\8eg\82¤\82Ì\82à\82æ\82¢\91I\91ð\82Å\82 \82é.)
152 </p>
153 <p>
154 \83\86\81[\83U\82ª\83E\83B\83\93\83h\83E\82ð\95\\8e¦\82·\82é\83f\83B\83X\83v\83\8c\83C\82ð\8ew\8e¦\82·\82é\82±\82Æ\82à\82Å\82«\82é: SDL2\82Í\83}\83\8b\83`\83\82\83j\83^\82à\88µ\82¦\82é.
155 \82µ\82©\82µ, \8d¡\82±\82±\82Å\82Í\90à\96¾\82µ\82È\82¢.
156 </p>
157 <p>
158 \82±\82ê\82Å\83E\83B\83\93\83h\83E\82ð\89æ\96Ê\82É\95\\8e¦\82Å\82«\82é\82æ\82¤\82É\82È\82Á\82½. \82±\82±\82©\82ç\82Í\82»\82Ì\88µ\82¢\82É\82Â\82¢\82Ä\8fq\82×\82é.
159 SDL2\82É\82à<a href="SDL_Surface.html">SDL_Surface</a>\82ª\91\8dÝ\82·\82é. \82µ\82©\82µ, \8eg\82¦\82é\82È\82ç\82Î, \96{\93\96\82É\97~\82µ\82¢\82Ì\82Í\90V\82µ\82¢<a href="SDL_Texture.html">SDL_Texture</a>\82Ì\82Í\82¸\82¾.
160 <a href="SDL_Surface.html">SDL_Surface</a>\82Å\82Í\8fí\82É\83V\83X\83e\83\80\82ÌRAM\82ð\8eg\82¢, \82»\82µ\82Ä\8fí\82ÉCPU\82Å\91\80\8dì\82³\82ê\82é. \82»\82Ì\95û\96@\82Í\8eæ\82è\82½\82­\82È\82¢\82¾\82ë\82¤.
161 SDL2\82É\82Í\90V\82µ\82¢\83\8c\83\93\83_\83\8a\83\93\83OAPI\82ª\82 \82é.
162 \82±\82ê\82Í\83V\83\93\83v\83\8b\82È2D\83Q\81[\83\80\82Å\82Ì\8eg\97p\82ð\88Ó\90}\82µ\82Ä\82¢\82é.
163 \82µ\82©\82µ, \8dÅ\82à\92\8d\96Ú\82·\82×\82«\82È\82Ì\82Í,
164 \83\\83t\83g\83E\83F\83A\83\8c\83\93\83_\83\8a\83\93\83O\82©\82ç\83r\83f\83IRAM\82ÆGPU\82É\88Ú\8ds\82µ\82½\82±\82Æ\82Å\82 \82é.
165 \82»\82µ\82Ä, \82½\82Æ\82¦\83\\83t\83g\83E\83F\83A\83\8c\83\93\83_\83\8a\83\93\83O\82Ì\8c\8b\89Ê\82ð\89æ\96Ê\82É\93]\91\97\82·\82é\82½\82ß\82¾\82¯\82É\8eg\82¤\8fê\8d\87\82Å\82à\97\98\93_\82Í\82 \82é: 
166 \82à\82µ\89Â\94\\82È\82ç\82ÎOpenGL\82©Direct3D\82ª\8eg\82í\82ê\82é. \82»\82ê\82É\82æ\82è\8d\82\91¬\82É\93]\91\97\82³\82ê, Steam Overlay\82ª\97L\8cø\82É\82È\82è, \8e©\97R\82É\8ag\91å\8fk\8f¬\82Å\82«\82é\82æ\82¤\82É\82È\82é.
167 </p>
168 <p>
169 \8f\89\8aú\90Ý\92è\82Í\88È\89º\82Ì\82æ\82¤\82É\82È\82é.
170 </p>
171 <p>
172 SDL_SetVideoMode()\82Í\8fã\82Å\8fq\82×\82½\82æ\82¤\82É<a href="SDL_CreateWindow.html">SDL_CreateWindow()</a>\82É\82È\82Á\82½.
173 \82µ\82©\82µ, \89ð\91\9c\93x\82Í\82Ç\82Ì\82æ\82¤\82É\90Ý\92è\82·\82ê\82Î\82æ\82¢\82Ì\82¾\82ë\82¤\82©?
174 \97á\82¦\82Î, \82 \82È\82½\82Ì\83Q\81[\83\80\82ª640\81~480\82Å\83n\81[\83h\83R\81[\83h\82³\82ê\82Ä\82¢\82ê\82Î, 
175 \8c»\8dÝ\82Ì\83\82\83j\83^\82Å\82Í\83t\83\8b\83X\83N\83\8a\81[\83\93\82Ì\89ð\91\9c\93x\82Æ\82µ\82Ä\90Ý\92è\82Å\82«\82È\82¢\82©\82à\82µ\82ê\82È\82¢.
176 \82»\82µ\82Ä\83E\83B\83\93\83h\83E\83\82\81[\83h\82È\82ç\82Î, \83n\83C\83G\83\93\83h\82Ì\83\82\83j\83^\82È\82ç\82Î\82 \82È\82½\82Ì\83Q\81[\83\80\82Í\93®\82­\97X\95Ö\90Ø\8eè\82Ì\82æ\82¤\82É\8c©\82¦\82Ä\82µ\82Ü\82¤\82¾\82ë\82¤.
177 SDL2\82Å\82Í\82æ\82è\82æ\82¢\89ð\96@\82ª\82 \82é.
178 </p>
179 <p>
180 \82à\82¤SDL_ListModes()\82ð\8cÄ\82Ô\95K\97v\82Í\82È\82¢.
181 \93¯\97l\82Ì\8aÖ\90\94\82ÍSDL2\82É\82à\82 \82é. (\83\8b\81[\83v\82Ì\92\86\82Å<a href="SDL_GetDisplayMode.html">SDL_GetDisplayMode()</a>\82ð<a href="SDL_GetNumDisplayModes.html">SDL_GetNumDisplayModes()</a>\89ñ\8cÄ\82Ô.) \82µ\82©\82µ, \91ã\82í\82è\82É\90V\82µ\82¢\8ed\97l\81u\83t\83\8b\83X\83N\83\8a\81[\83\93\83f\83X\83N\83g\83b\83v\81v\82ð\8eg\82¤\82±\82Æ\82ª\82Å\82«\82é. \82±\82ê\82ÍSDL\82É\81u\89æ\96Ê\91S\91Ì\82ð\97v\8b\81\82·\82é\82ª\89ð\91\9c\93x\82Í\95Ï\82¦\82È\82¢\81v\82±\82Æ\82ð\8ew\8e¦\82·\82é\82à\82Ì\82Å\82 \82é.
182 \97á\82¦\82Î640\81~480\82Ì\83Q\81[\83\80\82È\82ç\82Î, \8e\9f\82Ì\82æ\82¤\82É\82È\82é:
183 </p>
184 <p>
185 <code>
186 <pre>
187     SDL_Window *sdlWindow = <a href="SDL_CreateWindow.html" style="text-decoration:none;">SDL_CreateWindow</a>(title,
188                                  SDL_WINDOWPOS_UNDEFINED,
189                                  SDL_WINDOWPOS_UNDEFINED,
190                                  0, 0,
191                                  SDL_WINDOW_FULLSCREEN_DESKTOP);
192 </pre>
193 </code>
194 </p>
195 <p>
196 640\81~480\82ð\8ew\92è\82µ\82È\82¢\82±\82Æ\82É\92\8d\88Ó\82·\82é\82±\82Æ...\83t\83\8b\83X\83N\83\8a\81[\83\93\83f\83X\83N\83g\83b\83v\82Í\89æ\96Ê\91S\91Ì\82Ì\83T\83C\83Y\82É\82È\82è, \8ew\92è\82µ\82½\83T\83C\83Y\82Í\96³\8e\8b\82³\82ê\82é.
197 \83Q\81[\83\80\83E\83B\83\93\83h\83E\82Í\83N\83\8a\83b\83N\82µ\82Ä\90V\82µ\82¢\89ð\91\9c\93x\82É\82È\82é\82Ì\82ð\91Ò\82½\82¸\82É\82·\82®\82É\8c»\82ê\82é.
198 \82»\82µ\82Ä, \83f\83X\83N\83g\83b\83v\82Ì\83T\83C\83Y\82É\8ag\91å\8fk\8f¬\82·\82é\82½\82ß\82ÉGPU\82ª\8eg\82í\82ê\82é. \82»\82ê\82ÍLCD\82Ì\89ð\91\9c\93x\82ð\92á\82­\8bU\91\95\82·\82é\82æ\82è\82à\8d\82\91¬\82Å\91N\96¾\82É\82È\82é\8cX\8cü\82É\82 \82é.
199 \82³\82ç\82É\91¼\82Ì\83E\83B\83\93\83h\83E\82Ì\91å\82«\82³\82ª\95Ï\82í\82é\82±\82Æ\82Í\82È\82¢.
200 </p>
201 <p>
202 \8e\9f\82Í\83\8c\83\93\83_\83\8a\83\93\83O\83R\83\93\83e\83L\83X\83g\82ª\95K\97v\82É\82È\82é.
203 <code>
204 <pre>
205     SDL_Renderer *renderer = <a href="SDL_CreateRenderer.html" style="text-decoration:none;">SDL_CreateRenderer</a>(sdlWindow, -1, 0);
206 </pre>
207 </code>
208 </p>
209 <p>
210 SDL_Renderer\82É\82æ\82Á\82Ä\83E\83B\83\93\83h\83E\82Ö\82Ì\95`\89æ\82Ì\95û\96@\82Í\89B\95Á\82³\82ê\82é.
211 Direct3D, OpenGL, OpenGL ES, \82Ü\82½\82Í\83\\83t\83g\83E\83F\83A\82Å\83\8c\83\93\83_\83\8a\83\93\83O\82³\82ê\82é\82ª,
212 \82½\82Æ\82¦SDL\82ª\82Ç\82ê\82ð\91I\82ñ\82Å\82à\83\86\81[\83U\82Í\83R\81[\83h\82ð\93¯\82\82æ\82¤\82É\8f\91\82¯\82é. (\83\86\81[\83U\82ª\83\8c\83\93\83_\83\8a\83\93\83O\82Ì\95û\96@\82ð\8b­\90§\93I\82É\8c\88\82ß\82é\82±\82Æ\82à\82Å\82«\82é.)
213 \83e\83B\83A\83\8a\83\93\83O(tearing, \95`\89æ\82Ì\8dÅ\92\86\82É\83t\83\8c\81[\83\80\82ª\91Ö\82í\82é\82±\82Æ\82Å\94­\90\82·\82é\82¿\82ç\82Â\82«)\82ð\8cy\8c¸\82·\82é\82½\82ß\82É, \90\82\92¼\93¯\8aú\82ð\8eæ\82é(sync-to-vblank)\82±\82Æ\82ð\8b­\90§\82µ\82½\82¢\82È\82ç\82Î, 3\94Ô\96Ú\82Ì\88ø\90\94\82Ì0\82ð<strong>SDL_RENDERER_PRESENTVSYNC</strong>\82É\95Ï\8dX\82·\82é\82±\82Æ.
214 \83E\83B\83\93\83h\83E\82Ì\90\90¬\8e\9e\82É<strong>SDL_WINDOW_OPENGL</strong>\83t\83\89\83O\82ð\8ew\92è\82µ\82Ä\82Í\82È\82ç\82È\82¢.
215 \82à\82µ<a href="SDL_CreateRenderer.html">SDL_CreateRenderer()</a>\82ªOpenGL\82ð\8eg\82¤\82Æ\8c\88\82ß\82½\82È\82ç\82Î, \82»\82Ì\82Æ\82«\83E\83B\83\93\83h\83E\82Í\82»\82ê\82É\8d\87\82í\82¹\82Ä\8dX\90V\82³\82ê\82é.
216 </p>
217 <p>
218 \82»\82Ì\93­\82«\82ª\97\9d\89ð\82Å\82«\82½\82È\82ç\82Î,
219 <a href="SDL_CreateWindowAndRenderer.html">SDL_CreateWindowAndRenderer()</a>\82Å\88ê\82Ü\82Æ\82ß\82É\82·\82é\82±\82Æ\82à\82Å\82«\82é:
220 <code>
221 <pre>
222     SDL_Window *sdlWindow;
223     SDL_Renderer *sdlRenderer;
224     <a href="SDL_CreateWindowAndRenderer.html" style="text-decoration:none;">SDL_CreateWindowAndRenderer</a>(0, 0, SDL_WINDOW_FULLSCREEN_DESKTOP, &sdlWindow, &sdlRenderer);
225 </pre>
226 </code>
227 </p>
228 <p>
229 \82±\82ê\82ç\82Ì\8aÖ\90\94\82ª\90³\8fí\82É\8eÀ\8ds\82³\82ê\82ê\82Î\89æ\96Ê\82Ö\82Ì\95`\89æ\82Ì\8f\80\94õ\82Í\90®\82Á\82½.
230 \82Ü\82¸\89æ\96Ê\82ð\8d\95\82Å\8fÁ\8b\8e\82·\82é.
231 <code>
232 <pre>
233     <a href="SDL_SetRenderDrawColor.html" style="text-decoration:none;">SDL_SetRenderDrawColor</a>(sdlRenderer, 0, 0, 0, 255);
234     <a href="SDL_RenderClear.html" style="text-decoration:none;">SDL_RenderClear</a>(sdlRenderer);
235     <a href="SDL_RenderPresent.html" style="text-decoration:none;">SDL_RenderPresent</a>(sdlRenderer);
236 </pre>
237 </code>
238 </p>
239 <p>
240 \82±\82Ì\93®\8dì\82Í\97\\91z\82Å\82«\82é\82¾\82ë\82¤:
241 \95`\89æ\82ð\8d\95\82É\82·\82é(\90Ô, \97Î, \90Â\82ª\91S\82Ä0, \83¿\82Í\8dÅ\91å\92l), 
242 \83E\83B\83\93\83h\83E\91S\91Ì\82ð\83N\83\8a\83A\82·\82é, 
243 \83N\83\8a\83A\82µ\82½\83E\83B\83\93\83h\83E\82ð\89æ\96Ê\82É\95\\8e¦\82·\82é.
244 \89æ\96Ê\82Ì\8dX\90V\82Ì\82½\82ß\82ÉSDL_UpdateRect()\82âSDL_Flip()\82ð\8eg\82Á\82½\82±\82Æ\82ª\82 \82é\82©\82à\82µ\82ê\82È\82¢\82ª,
245 \83\8c\83\93\83_\83\89\81[API\82Å\82Í<a href="SDL_RenderPresent.html">SDL_RenderPresent()</a>\82ª\8eg\82í\82ê\82é.
246 </p>
247 <p>
248 \8f\89\8aú\89»\82Å\95K\97v\82È\82±\82Æ\82Í\82Ü\82¾\82 \82é.
249 <strong>SDL_WINDOW_FULLSCREEN_DESKTOP</strong>\82ð\8ew\92è\82µ\82½\82È\82ç\82Î, \95`\89æ\82·\82×\82«\89æ\96Ê\82Ì\8eÀ\8dÛ\82Ì\91å\82«\82³\82ª\82í\82©\82ç\82È\82¢.
250 \82¾\82ª, \8dK\82¢\82È\82±\82Æ\82É\82»\82ê\82Í\92m\82é\95K\97v\82ª\82È\82¢.
251 1.2\82Å\82Í, \97á\82¦\82Î640\81~480\82ð\97v\8b\81\82µ\82Ä\82à\82»\82Ì\92Ê\82è\82É\82È\82é\82Æ\82Í\8cÀ\82ç\82¸, \8d\82\82¢\89ð\91\9c\93x\82Ì\89æ\96Ê\82Ì\92\86\89\9b\82É\8f¬\82³\82­\89æ\96Ê\82ª\95\\8e¦\82³\82ê\82é\82±\82Æ\82à\82 \82Á\82½.
252 </p>
253 <p>
254 2.0\82Å\82Í\83\8c\83\93\83_\83\8a\83\93\83OAPI\82ð\8eg\82¤\82Æ\82±\82Ì\82æ\82¤\82É\82È\82é...
255 <code>
256 <pre>
257     <a href="SDL_SetHint.html" style="text-decoration:none;">SDL_SetHint</a>(<a href="SDL_HINT_RENDER_SCALE_QUALITY.html" style="text-decoration:none;">SDL_HINT_RENDER_SCALE_QUALITY</a>, "linear");  // \8ag\91å\8fk\8f¬\82ª\8a\8a\82ç\82©\82É\82È\82é
258     <a href="SDL_RenderSetLogicalSize.html" style="text-decoration:none;">SDL_RenderSetLogicalSize</a>(sdlRenderer, 640, 480);
259 </pre>
260 </code>
261 </p>
262 <p>
263 ...\82»\82µ\82Ä, \82±\82Ì\82æ\82¤\82É\82·\82×\82«\82½.
264 \82±\82Ì\95û\96@\82Í\98_\97\9d\93I\82È\83\8c\83\93\83_\83\8a\83\93\83O\83T\83C\83Y\82ð\97l\81X\82È\96Ú\93I\82É\8d\87\82í\82¹\82Ä\95Ï\82¦\82ç\82ê\82é\93_\82Å\97Ç\82¢\95û\96@\82Å\82 \82é. \82µ\82©\82µ, \8dÅ\82à\8fd\97v\82È\82Ì\82Í, 
265 \83\8c\83\93\83_\83\8a\83\93\83O\83T\83C\83Y\82É\83V\83X\83e\83\80\82ð\8d\87\82í\82¹\82æ\82¤\82Æ\82·\82é\91ã\82í\82è\82É, \83\8c\83\93\83_\83\8a\83\93\83O\83T\83C\83Y\82ð\83V\83X\83e\83\80\82É\8d\87\82í\82¹\82é\82æ\82¤\82É\82È\82Á\82½\82±\82Æ\82Å\82 \82é.
266 1920x1200\82Ì\83\82\83j\83^\82Å640\81~480\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\93®\82©\82µ\82Ä\82à, SDL\82ÍGPU\82ð\8eg\82Á\82Ä\8ag\91å\82µ\89æ\96Ê\91S\91Ì\82É\95\\8e¦\82·\82é.
267 640\81~480\82Æ1920\81~1200\82Å\82Í\8fc\89¡\94ä\82ª\88Ù\82È\82é\82ª, SDL\82Í\82»\82Ì\93_\82à\8dl\97\82µ\82Ä\82¨\82è, \89Â\94\\82È\8cÀ\82è\8ag\91å\82µ\82½\8cã\82É\8d\95\91Ñ\82ð\92Ç\89Á(letterboxing)\82·\82é.
268 </p>
269 <p>
270 \82±\82±\82©\82ç\96{\93\96\82Ì\95`\89æ\82ª\8en\82Ü\82é.
271 </p>
272 <h4 id="If_your_game_just_wants_to_get_fully-rendered_frames_to_the_screen">\83P\81[\83X1: \89æ\96Ê\91S\91Ì\82ð\8e©\95ª\8e©\90g\82Å\83\8c\83\93\83_\83\8a\83\93\83O\82µ\82½\82¢\8fê\8d\87</h4>
273 <p>
274 \8cÃ\82¢\83Q\81[\83\80\82É\82Í, \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\91S\82Ä\82Ì\83s\83N\83Z\83\8b\82ð\95`\89æ\82µ, \8dÅ\8cã\82É\82»\82Ì\8c\8b\89Ê\82ð\89æ\96Ê\82É\93]\91\97\82·\82é\82à\82Ì\82ª\82 \82é.
275 \97á\82¦\82Î, Doom, Duke Nukem 3D\82È\82Ç\82ª\82»\82¤\82Å\82 \82é.
276 </p>
277 <p>
278 \82±\82Ì\8fê\8d\87\82Í, 1\82Â\82Ì<a href="SDL_Texture.html">SDL_Texture</a>\82ª\89æ\96Ê\82ð\95\\82·\82æ\82¤\82É\82·\82é.
279 640\81~480\82Ì\83Q\81[\83\80\97p\82É\90\90¬\82µ\82Ä\82Ý\82æ\82¤:
280 <code>
281 <pre>
282     sdlTexture = <a href="SDL_CreateTexture.html" style="text-decoration:none;">SDL_CreateTexture</a>(sdlRenderer,
283                                    SDL_PIXELFORMAT_ARGB8888,
284                                    SDL_TEXTUREACCESS_STREAMING,
285                                    640, 480);
286 </pre>
287 </code>
288 </p>
289 <p>
290 \82±\82ê\82ÍGPU\8fã\82Ì\83e\83N\83X\83`\83\83\81[\82ð\95\\82µ\82Ä\82¢\82é.
291 \82±\82Ì\83e\83N\83X\83`\83\83\82Ì\83s\83N\83Z\83\8b\82Ì\8dX\90V\82ð\8a®\97¹\82µ\82½\8cã\82É, \83E\83B\83\93\83h\83E\82É\83e\83N\83X\83`\83\83\82ð\95`\89æ\82µ, \95`\89æ\82µ\82½\82à\82Ì\82Æ\89æ\96Ê\82ð\93ü\82ê\91Ö\82¦\82é.
292 <strong>SDL_TEXTUREACCESS_STREAMING</strong>\82ÍSDL\82É\83e\83N\83X\83`\83\83\82Ì\83R\83\93\83e\83L\83X\83g\82ª\8eü\8aú\93I\82É\95Ï\82í\82é\82±\82Æ\82ð\92m\82ç\82¹\82Ä\82¢\82é.
293 </p>
294 <p>
295 \88È\91O\82Í<a href="SDL_Surface.html">SDL_Surface</a>\82É\95`\89æ\82µ, \82»\82ê\82©\82çSDL_Flip()\82Å\89æ\96Ê\82É\95\\8e¦\82µ\82Ä\82¢\82½\82¾\82ë\82¤.
296 \8c»\8dÝ\82Å\82Í, \83s\83N\83Z\83\8b\82Ì\8f\91\82«\8d\9e\82Ý\90æ\82Æ\82µ\82Ä, RAM\82É<a href="SDL_Surface.html">SDL_Surface</a>\82ð\90\90¬\82·\82é\82¾\82¯\82Å\82È\82­, \92P\82Émalloc()\82Å\8am\95Û\82µ\82½\83u\83\8d\83b\83N\82ð\8eg\82¤\82±\82Æ\82à\82Å\82«\82é.
297 \97\9d\8bü\82Ì\8fã\82Å\82Í\83o\83b\83t\83@\82ÉRGBA\83s\83N\83Z\83\8b\82ð\8f\91\82«\8d\9e\82Þ\82±\82Æ\82Í\82Å\82«\82é. \82µ\82©\82µ, \95Ï\8a·\82ª\95K\97v\82È\82ç\82Î\8e\9f\82Ì\95û\96@\82Å\82à\82æ\82¢.
298 <code>
299 <pre>
300     extern Uint32 *myPixels;  // surface->pixels \82â malloc()\82Å\8am\95Û\82µ\82½\83o\83b\83t\83@\82È\82Ç
301 </pre>
302 </code>
303 </p>
304 <p>
305 \83t\83\8c\81[\83\80\82Ì\8dÅ\8cã\82Å\8e\9f\82Ì\82æ\82¤\82É\83e\83N\83X\83`\83\83\81[\82ð\8dX\90V\82·\82é:
306 <code>
307 <pre>
308     <a href="SDL_UpdateTexture.html" style="text-decoration:none;">SDL_UpdateTexture</a>(sdlTexture, NULL, myPixels, 640 * sizeof (Uint32));
309 </pre>
310 </code>
311 </p>
312 <p>
313 \82±\82ê\82Å\83s\83N\83Z\83\8b\82ªGPU\83\81\83\82\83\8a\82Ö\82Æ\93]\91\97\82³\82ê\82é.
314 \93]\91\97\82·\82é\97Ì\88æ\82Æ\82µ\82ÄNULL\82Ì\95\94\95ª\82É\82Í\82Ý\8fo\82µ\82½\97Ì\88æ\82ð\8ew\92è\82µ\82Ä\82à, \8c»\8dÝ\82Ì\83n\81[\83h\83E\83F\83A\82È\82ç\82Î\96â\91è\82È\82­\83t\83\8c\81[\83\80\83o\83b\83t\83@\93à\82É\8eû\82Ü\82é\82æ\82¤\82É\82È\82é\82Í\82¸\82¾.
315 \8dÅ\8cã\82Ì\88ø\90\94\82Í\83s\83b\83`(\82 \82é\8ds\82©\82ç\8e\9f\82Ì\8ds\82Ü\82Å\82Ì\83o\83C\83g\90\94)\82¾\82ª, \82±\82Ì\97á\82Å\82Í\83\8a\83j\83A\82ÈRGBA\83o\83b\83t\83@\82È\82Ì\82Å, \92P\82É640(\95\9d)\81~4(R,G,B,A)\82Å\82 \82é.
316 </p>
317 <p>
318 \82±\82ê\82©\82ç\83e\83N\83X\83`\83\83\82ð\89æ\96Ê\82É\95\\8e¦\82·\82é:
319 <code>
320 <pre>
321     <a href="SDL_RenderClear.html" style="text-decoration:none;">SDL_RenderClear</a>(sdlRenderer);
322     <a href="SDL_RenderCopy.html" style="text-decoration:none;">SDL_RenderCopy</a>(sdlRenderer, sdlTexture, NULL, NULL);
323     <a href="SDL_RenderPresent.html" style="text-decoration:none;">SDL_RenderPresent</a>(sdlRenderer);
324 </pre>
325 </code>
326 </p>
327 <p>
328 \82±\82ê\82¾\82¯\82¾.
329 <a href="SDL_RenderClear.html">SDL_RenderClear()</a>\82Í\8c»\8dÝ\82Ì\83r\83f\83I\83t\83\8c\81[\83\80\83o\83b\83t\83@(\8dÅ\8cã\82ÉSteam Overlay\82ª\8f\91\82«\8d\9e\82ñ\82¾\82à\82Ì\82à\8aÜ\82Þ)\82ð\8fÁ\8b\8e\82·\82é.
330 <a href="SDL_RenderCopy.html">SDL_RenderCopy()</a>\82Í\83e\83N\83X\83`\83\83\82Ì\83R\83\93\83e\83L\83X\83g\82ð\83r\83f\83I\83t\83\8c\81[\83\80\83o\83b\83t\83@\82É\83R\83s\81[\82·\82é(\82³\82ç\82É<a href="SDL_RenderSetLogicalSize.html">SDL_RenderSetLogicalSize()</a>\82É\82æ\82Á\82Ä\92\86\89\9b\82Å\8ag\91å\8fk\8f¬\82³\82ê\82é).
331 \82»\82µ\82Ä, <a href="SDL_RenderPresent.html">SDL_RenderPresent()</a>\82Í\89æ\96Ê\82É\95\\8e¦\82·\82é.
332 </p>
333 <h4 id="If_your_game_wants_to_blit_surfaces_to_the_screen">\83P\81[\83X2: \89æ\96Ê\82É\83T\81[\83t\83F\83C\83X\82ð\83R\83s\81[\82µ\82½\82¢\8fê\8d\87</h4>
334 <p>
335 \82±\82±\82Å\82Í, \82 \82È\82½\82ÌSDL1.2\82Ì\83Q\81[\83\80\82ª\91½\82­\82Ì\83O\83\89\83t\83B\83b\83N\82ð\83f\83B\83X\83N\82©\82çSDL_Surface\82É\93Ç\82Ý\8d\9e\82ñ\82Å\82¢\82é\8fê\8d\87\82É\82Â\82¢\82Ä\88µ\82¤.
336 \82à\82µ\82©\82·\82é\82ÆSDL_HWSURFACE\82ð\8ew\92è\82µ\82Ä\83r\83f\83IRAM\8fã\82É\8am\95Û\82µ\82æ\82¤\82Æ\82µ\82Ä\82¢\82é\82©\82à\82µ\82ê\82È\82¢.
337 \93Ç\82Ý\8d\9e\82Þ\82Ì\82Í\88ê\93x\82Å, \95K\97v\82ª\82 \82é\82½\82Ñ\82É\89½\93x\82à\83t\83\8c\81[\83\80\83o\83b\83t\83@\82É\93]\91\97\82·\82é\82ª, \95Ï\8dX\82³\82ê\82é\82±\82Æ\82Í\82È\82¢.
338 \83V\83\93\83v\83\8b\82È2D\83Q\81[\83\80\82Í\82»\82¤\82È\82Á\82Ä\82¢\82é\82Í\82¸\82¾.
339 \83T\81[\83t\83F\83C\83X\82ð\81u\83X\83v\83\89\83C\83g\81v\82Æ\8dl\82¦\82Ä\82¢\82Ä, \83o\83b\83t\83@\82É\83s\83N\83Z\83\8b\82ð\8f\91\82«\8d\9e\82Ü\82È\82¢\82È\82ç\82Î, \82±\82Ì\8d\80\96Ú\82Í\82 \82È\82½\82É\8d\87\82Á\82Ä\82¢\82é.
340 </p>
341 <p>
342 \83e\83N\83X\83`\83\83(GPU\83\81\83\82\83\8a\8fã\82Ì\83T\81[\83t\83F\83C\83X)\82ð\8cÂ\81X\82É\90\90¬\82·\82é\95û\96@\82Í, \91å\82«\82È1\82Â\82Ì\83e\83N\83X\83`\83\83\82ð\90\90¬\82·\82é\82Ì\82Æ\93¯\82\82Å\82 \82é:
343 <code>
344 <pre>
345     sdlTexture = <a href="SDL_CreateTexture.html" style="text-decoration:none;">SDL_CreateTexture</a>(sdlRenderer,
346                                    SDL_PIXELFORMAT_ARGB8888,
347                                    SDL_TEXTUREACCESS_STATIC,
348                                    myWidth, myHeight);
349 </pre>
350 </code>
351 </p>
352 <p>
353 \82±\82¤\82·\82ê\82Î\8aú\91Ò\82µ\82½\92Ê\82è\82É\82È\82é\82¾\82ë\82¤.
354 <strong>SDL_TEXTUREACCESS_STATIC</strong>\82ð\8eg\82¤\82Ì\82Í, \93]\91\97\82³\82ê\82é\82Ì\82Í\88ê\93x\82¾\82¯\82¾\82©\82ç\82Å\82 \82é.
355 \82µ\82©\82µ, \82à\82Á\82Æ\95Ö\97\98\82È\95û\96@\82ª\82 \82é:
356 <code>
357 <pre>
358     sdlTexture = <a href="SDL_CreateTextureFromSurface.html" style="text-decoration:none;">SDL_CreateTextureFromSurface</a>(sdlRenderer, mySurface);
359 </pre>
360 </code>
361 </p>
362 <p>
363 \82±\82Ì\95û\96@\82Ì\8fê\8d\87\93Ç\82Ý\8d\9e\82Ý\82Í\8d¡\82Ü\82Å\92Ê\82è<a href="SDL_Surface.html">SDL_Surface</a>\82É\91Î\82µ\82Ä\8ds\82¤\82ª, \8dÅ\8cã\82É\82»\82ê\82ð\83e\83N\83X\83`\83\83\82É\95Ï\8a·\82·\82é\82±\82Æ\82É\82È\82é.
364 \88ê\93x<a href="SDL_Texture.html">SDL_Texture</a>\82É\95Ï\8a·\82·\82ê\82Î, \8c³\82Ì\83T\81[\83t\83F\83C\83X\82Í\89ð\95ú\82µ\82Ä\82æ\82¢.
365 </p>
366 <p>
367 1.2\82Å\82Í, \91½\90\94\82Ì<a href="SDL_Surface.html">SDL_Surface</a>\82ð\8am\95Û\82µ, \82»\82ê\82ð<a href="SDL_BlitSurface.html">SDL_BlitSurface()</a>\82Å\89æ\96Ê\82Ì\83T\81[\83t\83F\83C\83X\82É\93]\91\97\82µ\82Ä\83t\83\8c\81[\83\80\83o\83b\83t\83@\82ð\8d\\90¬\82µ, \8dÅ\8cã\82ÉSDL_Flip()\82Å\89æ\96Ê\82ð\8dX\90V\82µ\82Ä\82¢\82½.
368 SDL 2.0\82Å\82Í, \91½\90\94\82Ì<a href="SDL_Texture.html">SDL_Texture</a>\82ð\8am\95Û\82µ, \82»\82ê\82ð<a href="SDL_RenderCopy.html">SDL_RenderCopy()</a>\82Å\83\8c\83\93\83_\83\89\81[\82É\93]\91\97\82µ\82Ä\83t\83\8c\81[\83\80\83o\83b\83t\83@\82ð\8d\\90¬\82µ, \8dÅ\8cã\82É<a href="SDL_RenderPresent.html">SDL_RenderPresent()</a>\82Å\89æ\96Ê\82ð\8dX\90V\82·\82é.
369 \82±\82ê\82Í\92P\8f\83\82Å\82 \82é.
370 \82±\82ê\82ç\82Ì\83e\83N\83X\83`\83\83\82ð\95Ï\8dX\82µ\82È\82¢\82È\82ç\82Î, \8d\82\91¬\82É\95`\89æ\82Å\82«\82é\82¾\82ë\82¤.
371 </p>
372 <h4 id="If_your_game_wants_to_do_both">\83P\81[\83X3: \97¼\95û\82ð\8eg\82¢\82½\82¢\8fê\8d\87</h4>
373 <p>
374 \83t\83\8c\81[\83\80\83o\83b\83t\83@\82Ö\82Ì\83T\81[\83t\83F\83C\83X\82Ì\93]\91\97\82Æ, \8cÂ\81X\82Ì\83s\83N\83Z\83\8b\82Ì\95Ï\8dX\82Ì\97¼\95û\82ð\8ds\82¢\82½\82¢\8fê\8d\87\82Í, \82â\82â\95¡\8eG\82É\82È\82é.
375 Round trips(\83e\83N\83X\83`\83\83\82©\82ç\82Ì\83f\81[\83^\82Ì\93Ç\82Ý\96ß\82µ)\82Í\94ñ\8fí\82É\8d\82\83R\83X\83g\82Å\82 \82é.
376 \88ê\94Ê\93I\82É\82Í\83f\81[\83^\82Í\8fí\82É\88ê\95û\92Ê\8ds\82ª\96]\82Ü\82µ\82¢.
377 \8b°\82ç\82­\82±\82Ì\8fê\8d\87\8dÅ\82à\97Ç\82¢\82Ì\82Í, \8dÅ\8fI\93I\82É\89æ\96Ê\82É\93]\91\97\82·\82é\82Ü\82Å\91S\82Ä\83\\83t\83g\83E\83F\83A\93à\82É\8e~\82ß\82Ä\82¨\82¢\82Ä, \91O\82Ì2\82Â\82Ì\95û\96@\82ð\91g\82Ý\8d\87\82í\82¹\82é\95û\96@\82Å\82 \82é.
378 </p>
379 <p>
380 \8dK\82¢\82È\82±\82Æ\82É1.2\82Ì<a href="SDL_Surface.html">SDL_Surface</a> API\82Í\82Ù\82Æ\82ñ\82Ç\8eg\82¦\82é. \82æ\82Á\82Ä\89æ\96Ê\82Ì\83T\81[\83t\83F\83C\83X\82ð, \82±\82ê\82©\82ç...
381 <code>
382 <pre>
383     SDL_Surface *screen = SDL_SetVideoMode(640, 480, 32, 0);
384 </pre>
385 </code>
386 </p>
387 <p>
388 ...\82±\82Ì\82æ\82¤\82É\82·\82é...
389 <code>
390 <pre>
391     // 16\90i\90\94\82Å\8f\91\82«\82½\82­\82È\82¯\82ê\82Î<a href="SDL_PixelFormatEnumToMasks.html"  style="text-decoration:none;">SDL_PixelFormatEnumToMasks()</a>\82ð\8eg\82¤\82±\82Æ!
392     SDL_Surface *screen = <a href="SDL_CreateRGBSurface.html" style="text-decoration:none;">SDL_CreateRGBSurface</a>(0, 640, 480, 32,
393                                                0x00FF0000,
394                                                0x0000FF00,
395                                                0x000000FF,
396                                                0xFF000000);
397     SDL_Texture *sdlTexture = <a href="SDL_CreateTexture.html" style="text-decoration:none;">SDL_CreateTexture</a>(sdlRenderer,
398                                                 SDL_PIXELFORMAT_ARGB8888,
399                                                 SDL_TEXTUREACCESS_STREAMING,
400                                                 640, 480);
401 </pre>
402 </code>
403 </p>
404 <p>
405 ...\82»\82µ\82Ä\91O\82Ì\95û\96@\82Å\93]\91\97\82Æ\83s\83N\83Z\83\8b\82Ì\95Ï\8dX\82ð\8ds\82¢, \82±\82ÌSDL_Surface\82Ì\83t\83\8c\81[\83\80\83o\83b\83t\83@\82ð\8d\\92z\82·\82é.
406 \88ê\93x\89æ\96Ê\82Ì\83s\83N\83Z\83\8b\82ð\93¾\82é\8f\80\94õ\82ð\82·\82ê\82Î, \8dÅ\8f\89\82Ì\95û\96@\82Æ\93¯\82\82æ\82¤\82É\82·\82ê\82Î\82æ\82¢.
407 <code>
408 <pre>
409     <a href="SDL_UpdateTexture.html" style="text-decoration:none;">SDL_UpdateTexture</a>(sdlTexture, NULL, screen->pixels, screen->pitch);
410     <a href="SDL_RenderClear.html" style="text-decoration:none;">SDL_RenderClear</a>(sdlRenderer);
411     <a href="SDL_RenderCopy.html" style="text-decoration:none;">SDL_RenderCopy</a>(sdlRenderer, sdlTexture, NULL, NULL);
412     <a href="SDL_RenderPresent.html" style="text-decoration:none;">SDL_RenderPresent</a>(sdlRenderer);
413 </pre>
414 </code>
415 </p>
416 <p>
417 \83e\83N\83X\83`\83\83\82Ì\90\90¬\82Í\8d\82\89¿\82Å\8e\91\8c¹\82ª\8cÀ\82ç\82ê\82Ä\82¢\82é\82Ì\82Å\92\8d\88Ó\82·\82é\82±\82Æ: 
418 <a href="SDL_CreateTextureFromSurface.html">SDL_CreateTextureFromSurface()</a>\82ð\96\88\83t\83\8c\81[\83\80\8cÄ\82ñ\82Å\82Í\82È\82ç\82È\82¢.
419 \8f\89\8aú\89»\82Å\83T\81[\83t\83F\83C\83X\82©\82ç\83e\83N\83X\83`\83\83\82Ö\82Ì\95Ï\8a·\82ð\88ê\93x\82¾\82¯\8ds\82¤\82±\82Æ.
420 </p>
421 <p>
422 \83\8c\83\93\83_\83\89\81[API\82É\82Í\82à\82Á\82Æ\91½\82­\82Ì\8b@\94\\82ª\82 \82è, \82 \82È\82½\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\83R\81[\83h: \8ag\91å\8fk\8f¬, \90ü\95ª\82Ì\95`\89æ\82È\82Ç\82Æ\92u\82«\8a·\82¦\82ç\82ê\82é\82à\82Ì\82à\82 \82é\82¾\82ë\82¤.\82»\82Ì\8b@\94\\82ð\8eg\82¦\82Î, 
423 \8cÂ\81X\82Ì\83s\83N\83Z\83\8b\82Ì\91\80\8dì\82ð\8e~\82ß\82Ä\91S\82ÄGPU\8fã\82É\88Ú\82·\82±\82Æ\82ª\82Å\82«, 
424 \82 \82È\82½\82Ì\83v\83\8d\83O\83\89\83\80\82ð\8d\82\91¬\82Å\92P\8f\83\82É\82Å\82«\82é\82©\82à\82µ\82ê\82È\82¢.
425 </p>
426 <h4 id="Other_Renderer_API_notes">\82»\82Ì\91¼\82Ì\83\8c\83\93\83_\83\89\81[API</h4>
427 <p>
428 \82¢\82­\82Â\82©\82Ì\92P\8f\83\82È\8cø\89Ê\82Í\83s\83N\83Z\83\8b\82ð\92¼\90Ú\91\80\8dì\82µ\82È\82­\82Ä\82à\83\8c\83\93\83_\83\89\81[API\82Å\8eÀ\8c»\82Å\82«\82é.
429 \88È\89º\82Ì\93à\82Ì\88ê\95\94\82Í1.2\82Ì\83T\81[\83t\83F\83C\83X\82Å\82à\8eg\82¦\82é.
430 </p>
431 <ul>
432 <li>\83¿\83J\83\89\81[: <a href="SDL_Color.html">SDL_Color</a>\82Ì\83\81\83\93\83o\82Ì4\94Ô\96Ú\82É\83¿\92l\82ª\92Ç\89Á\82³\82ê\82½. 1.2\82Å\82Í<a href="SDL_Color.html">SDL_Color</a>\82Ì\82±\82Ì\92l(unused\82Æ\82¢\82¤\96¼\91O\82¾\82Á\82½)\82Í\8eg\82í\82ê\82È\82©\82Á\82½. 2.0\82Å\82Í\95K\90{\82Å\82 \82é.
433 <li>\83¿\83u\83\8c\83\93\83h: <a href="SDL_SetSurfaceAlphaMod.html">SDL_SetSurfaceAlphaMod()</a>\82Æ<a href="SDL_SetTextureAlphaMod.html">SDL_SetTextureAlphaMod()</a>\82ðSDL_SetAlpha()\82Ì\91ã\82í\82è\82É\8eg\82¤\82±\82Æ.
434 \83T\81[\83t\83F\83C\83X\82Ì\83¿\83u\83\8c\83\93\83h\82Í<a href="SDL_SetSurfaceBlendMode.html">SDL_SetSurfaceBlendMode()</a>, \83e\83N\83X\83`\83\83\82Ì\83¿\83u\83\8c\83\93\83h\82Í<a href="SDL_SetTextureBlendMode.html">SDL_SetTextureBlendMode()</a>\82Å\90Ý\92è\82Å\82«\82é.
435 <li>\83J\83\89\81[\83L\81[: <a href="SDL_SetColorKey.html">SDL_SetColorKey()</a>\82Ì\88ø\90\94\82É, SDL_TRUE\82ðSDL_SRCCOLORKEY\82Ì\91ã\82í\82è\82É\93n\82·\82±\82Æ.
436 <li>\90F\95Ï\92²: \88ê\95\94\82Ì\83\8c\83\93\83_\83\89\81[\82Í\91S\91Ì\93I\82È\90F\82Ì\95Ï\92²\82É\91Î\89\9e\82µ\82½(srcC = srcC * color). \8fÚ\8d×\82Í<a href="SDL_SetTextureColorMod.html">SDL_SetTextureColorMod()</a>\82ð\8eQ\8fÆ\82·\82é\82±\82Æ.
437 </ul>
438 <h3 id="OpenGL">OpenGL</h3>
439 <p>
440 OpenGL\82ð\92¼\90Ú\82Â\82©\82Á\82Ä\82¢\82é\82È\82ç\82Î\88Ú\8ds\82Í\8aÈ\92P\82Å\82 \82é.
441 SDL_SetVideoMode()\82ð<a href="SDL_CreateWindow.html">SDL_CreateWindow()</a>\82Æ<a href="SDL_GL_CreateContext.html">SDL_GL_CreateContext()</a>\82É\92u\82«\8a·\82¦\82é. \82»\82µ\82Ä, SDL_GL_SwapBuffers()\82ð<a href="SDL_GL_SwapWindow.html">SDL_GL_SwapWindow(window)</a>\82É\92u\82«\8a·\82¦\82é.
442 \82±\82ê\82ç\82ÌGL\82Ì\8cÄ\82Ñ\8fo\82µ\82Í\91S\82Ä\93\99\89¿\82Å\82 \82é.
443 </p>
444 <p>
445 \82à\82µSDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, x)\82ð\8cÄ\82ñ\82Å\82¢\82é\82È\82ç\82Î, \82±\82ê\82à\92u\82«\8a·\82¦\82é.
446 \82»\82ê\82Í<a href="SDL_GL_SetSwapInterval.html">SDL_GL_SetSwapInterval(x)</a>\82É\82È\82Á\82½. \82±\82ê\82Å\91\8dÝ\82·\82éGL\83R\83\93\83e\83L\83X\83g\82ð\95Ï\8dX\82Å\82«\82é.
447 </p>
448 <p>
449 SDL 2.0\82Í\83E\83B\83\93\83h\83E/\83t\83\8b\83X\83N\83\8a\81[\83\93\82ð\90Ø\82è\91Ö\82¦\82ç\82ê, OpenGL\83E\83B\83\93\83h\83E\82É\96ß\82Á\82Ä\82àGL\83R\83\93\83e\83L\83X\83g\82Í\8e¸\82í\82ê\82È\82¢(\82·\82Î\82ç\82µ\82¢!).
450 \82±\82ê\82Í<a href="SDL_SetWindowFullscreen.html">SDL_SetWindowFullscreen()</a>\82Å\8eÀ\8c»\82Å\82«\82é.
451 </p>
452 <h3 id="Input">\93ü\97Í</h3>
453 <p>
454 \82æ\82¢\92m\82ç\82¹\82ÍSDL 2.0\82Å\82ÍUnicode\93ü\97Í\82ª\82Å\82«\82é\82æ\82¤\82É\82È\82Á\82½\82±\82Æ,
455 \88«\82¢\92m\82ç\82¹\82Í\82±\82Ì\95Ï\8dX\82Ì\82½\82ß\82É\82 \82È\82½\82Ì\83v\83\8d\83O\83\89\83\80\82ð\8f­\82µ\8fC\90³\82µ\82È\82¯\82ê\82Î\82È\82ç\82È\82¢\82±\82Æ\82Å\82 \82é.
456 </p>
457 <p>
458 1.2\82Å\82Í, SDL_EnableUNICODE(1)\82ð\8cÄ\82ñ\82Å\82à, \83L\81[\82É\8aÖ\98A\95t\82¯\82ç\82ê\82½\95\8e\9a\82ð\93¾\82é\82¾\82¯\82¾\82Á\82½, \91½\82­\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Í\89p\8cê\82µ\82©\91Î\89\9e\82Å\82«\82È\82©\82Á\82½.
459 \82±\82ê\82Í\89p\8cê\8c\97\82Ì\8aO\82Å\82Í\82¤\82Ü\82­\8ds\82©\82¸, \82»\82µ\82Ä\83A\83W\83A\8c¾\8cê\82Å\82Í<em>\82Ü\82Á\82½\82­</em>\82¤\82Ü\82­\8ds\82©\82È\82¢.
460 </p>
461 <p>
462 \8d\91\8dÛ\89»\82Í\8d¢\93ï\82Å\82 \82Á\82½.
463 </p>
464 <p>
465 2.0\82Å\82Í\82±\82±\82ª\95Ï\82í\82Á\82½.
466 SDL_EnableUNICODE()\82Í\94p\8e~\82³\82ê, <a href="SDL_Keysym.html">SDL_Keysym</a>\82ÍUnicode\82Ì\83t\83B\81[\83\8b\83h\82É\82È\82Á\82½.
467 \82à\82Í\82â<a href="SDL_EventType.html">SDL_KEYDOWN</a>\83C\83x\83\93\83g\82©\82ç\82Í\95\8e\9a\93ü\97Í\82Í\93¾\82ç\82ê\82È\82¢.
468 \8c»\8dÝ\82Å\82Í<a href="SDL_EventType.html">SDL_KEYDOWN</a>\82Í101\8cÂ\82Ì\83{\83^\83\93\82Ì\82 \82é\83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\82æ\82¤\82É\88µ\82í\82ê\82é.
469 \83e\83L\83X\83g\93ü\97Í\82Í\95Ê\82Ì\95û\96@\82Å\8ds\82¤.
470 </p>
471 <p>
472 \90V\82µ\82­<a href="SDL_EventType.html">SDL_TEXTINPUT</a>\83C\83x\83\93\83g\82ª\92Ç\89Á\82³\82ê\82½.
473 \82±\82ê\82Í\83\86\81[\83U\82ª\90V\82µ\82¢\83e\83L\83X\83g\82ð\93ü\97Í\82·\82é\82½\82Ñ\82É\94­\90\82·\82é.
474 \82±\82Ì\83e\83L\83X\83g\82Í\83L\81[\82Ì\89\9f\89º\82ÆIME(\82±\82ê\82Í\95¡\8eG\82È\95¡\90\94\82Ì\83e\83L\83X\83g\82ð\93ü\97Í\82·\82é\97L\8cø\82È\95û\96@\82Å\82 \82é)\82Ì\97¼\95û\82Å\94­\90\82·\82é\82Ì\82Å\92\8d\88Ó\82·\82é\82±\82Æ.
475 \82±\82Ì\83C\83x\83\93\83g\82Í\93ü\97Í\82³\82ê\82½1\95\8e\9a\82Ü\82½\82Í\95¡\90\94\95\8e\9a\82Ì\95\8e\9a\97ñ\82ð\96ß\82·.
476 \82±\82Ì\95\8e\9a\97ñ\82Í\8fí\82ÉUTF-8\82Å\82 \82é.
477 </p>
478 <p>
479 \82à\82µ\8eÀ\8dÛ\82É\89\9f\82µ\82½\83L\81[\82ð\88µ\82¢\82½\82¢\82È\82ç\82Î, \8d¡\82Å\82à<a href="SDL_EventType.html">SDL_KEYDOWN</a>\82ª\8eg\82¦\82é.
480 \82µ\82©\82µ, \82±\82Ì\83V\83X\83e\83\80\82Í1.2\82Ì\8d \82©\82ç2\82Â: <a href="SDL_Keycode.html">\83L\81[\83R\81[\83h</a>\82Æ<a href="SDL_Scancode.html">\83X\83L\83\83\83\93\83R\81[\83h</a>\82É\95ª\82©\82ê\82½.
481 </p>
482 <p>
483 <a href="SDL_Scancode.html">\83X\83L\83\83\83\93\83R\81[\83h</a>\82Í\83L\81[\83{\81[\83h\83\8c\83C\83A\83E\83g\82É\88Ë\91\82µ\82È\82¢.
484 \82±\82ê\82Í, \8eÀ\8dÛ\82É\82Í\83\88\81[\83\8d\83b\83p\82Ì\83L\81[\83{\81[\83h\82Å\82àDvorak\83L\81[\83{\81[\83h\82Å\82à, \81u\83\86\81[\83U\82Í\83A\83\81\83\8a\83J\82ÌQWERTY\83L\81[\83{\81[\83h\82Ì"Q"\82Ì\88Ê\92u\82É\82 \82é\83L\81[\82ð\89\9f\82µ\82½\81v\82Æ\82µ\82Ä\88µ\82¤.
485 <a href="SDL_Scancode.html">\83X\83L\83\83\83\93\83R\81[\83h</a>\82Í\8fí\82É\83L\81[\82Ì\95¨\97\9d\93I\82È\88Ê\92u\82ð\88µ\82¤.
486 </p>
487 <p>
488 <a href="SDL_Keycode.html">\83L\81[\83R\81[\83h</a>\82Í\83L\81[\83{\81[\83h\83\8c\83C\83A\83E\83g\82É\88Ë\91\82·\82é.
489 \82±\82ê\82Í\81u\83\86\81[\83U\82Í"Q"\82Æ\8f\91\82©\82ê\82½\83L\81[\82ð\89\9f\82µ\82½\81v\82Æ\82µ\82Ä\88µ\82¤.
490 </p>
491 <p>
492 \97á\82¦\82Î, \83A\83\81\83\8a\83J\82ÌQWERTY\83L\81[\83{\81[\83h\82ÌCAPS LOCK\83L\81[\82©\82ç\89E2\82Â\96Ú\82Ì\83L\81[\82ð\89\9f\82µ\82½\82Æ\82·\82é.
493 <a href="SDL_Scancode.html">\83X\83L\83\83\83\93\83R\81[\83h</a>\82ªSDL_SCANCODE_S\82Å, <a href="SDL_Keycode.html">\83L\81[\83R\81[\83h</a>\82ÍSDLK_S\82Æ\82È\82é\82¾\82ë\82¤.
494 Dvorak\83L\81[\83{\81[\83h\82Ì\93¯\82\83L\81[\82È\82ç\82Î, <a href="SDL_Scancode.html">\83X\83L\83\83\83\93\83R\81[\83h</a>\82ÍSDL_SCANCODE_S\82Å, <a href="SDL_Keycode.html">\83L\81[\83R\81[\83h</a>\82ÍSDLK_O\82Æ\82È\82é.
495 </p>
496 <p>
497 <a href="SDL_Keycode.html">\83L\81[\83R\81[\83h</a>\82Æ<a href="SDL_Scancode.html">\83X\83L\83\83\83\93\83R\81[\83h</a>\82Í\8c»\8dÝ\82Å\82Í32bit\82É\82È\82Á\82½\82Ì\82Å\92\8d\88Ó\82·\82é\82±\82Æ.
498 SDLK_LAST\82Í\82È\82­\82È\82Á\82½.
499 SDL\83L\81[\82Æ\82 \82È\82½\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\93à\95\94\82Å\95K\97v\82È\82à\82Ì\82ð\91Î\89\9e\95t\82¯\82é\82½\82ß\82É, \83v\83\8d\83O\83\89\83\80\82Å\97v\91f\90\94\82ªSDLK_LAST\8cÂ\82Ì\83e\81[\83u\83\8b\82ð\8eg\82Á\82Ä\82¢\82é\82È\82ç\82Î, \82»\82ê\82Í\82à\82Í\82â\90³\82µ\82­\93®\8dì\82µ\82È\82¢.
500 \91ã\82í\82è\82É\83n\83b\83V\83\85\83e\81[\83u\83\8b\82ð\8eg\82¤\82×\82«\82¾.
501 std::map\82ð\8eg\82¦\82Î\89Â\94\\82¾\82ë\82¤.
502 <a href="SDL_Scancode.html">\83X\83L\83\83\83\93\83R\81[\83h</a>\82ð<a href="SDL_Keycode.html">\83L\81[\83R\81[\83h</a>\82Ì\91ã\82í\82è\82É\8eg\82¤\82È\82ç\82Î, <strong>SDL_NUM_SCANCODES</strong>\82ð\94z\97ñ\82Ì\97v\91f\90\94\82Æ\82µ\82Ä\8eg\82¤\82±\82Æ\82ª\82Å\82«\82é.
503 \82»\82Ì\92l\82Í\8c»\8dÝ\82Í512\82Å\82 \82é.
504 </p>
505 <p>
506 SDLMod\82Í<a href="SDL_Keymod.html">SDL_Keymod</a>\82É\82È\82è, META\83L\81[(Windows\83L\81[)\82ÍGUI\83L\81[\82Æ\8cÄ\82Î\82ê\82é\82æ\82¤\82É\82È\82Á\82½.
507 </p>
508 <p>
509 SDL_GetKeyState()\82Ì\96¼\8fÌ\82Í<a href="SDL_GetKeyboardState.html">SDL_GetKeyboardState()</a>\82É\95Ï\8dX\82³\82ê\82½.
510 \96ß\82è\92l\82Ì\94z\97ñ\82Ì\8f\87\8f\98(\93Y\82¦\8e\9a)\82Í, <a href="SDL_Keycode.html">SDL_Keycode</a>\82©\82ç<a href="SDL_Scancode.html">SDL_SCANCODE_*</a>\82É\82È\82Á\82½.
511 </p>
512 <p>
513 \8e\9f\82Í\83}\83E\83X\93ü\97Í\82Å\82 \82é.
514 </p>
515 <p>
516 \82Ü\82¸, \83}\83E\83X\83z\83C\81[\83\8b\82Í\83{\83^\83\93\82Æ\82µ\82Ä\88µ\82í\82ê\82È\82­\82È\82Á\82½.
517 \82±\82ê\82Í\8aÔ\88á\82¢\82¾\82Á\82½. SDL 2.0\82Å\82Í\93K\90Ø\82É\88µ\82í\82ê\82é.
518 SDL_MOUSEWHEEL\82ð\8eQ\8fÆ\82·\82é\82±\82Æ.
519 \90\82\92¼, \90\85\95½\97¼\95û\82Ì\83z\83C\81[\83\8b\82É\91Î\89\9e\82µ\82Ä\82¢\82é. \82»\82µ\82Ä\88ê\95\94\82Ì\8aÂ\8b«\82É\82 \82é\83g\83\89\83b\83N\83p\83b\83h\82Ì2\96{\8ew\83X\83N\83\8d\81[\83\8b\82à\83z\83C\81[\83\8b\93ü\97Í\82Æ\82µ\82Ä\88µ\82í\82ê\82é.
520 \83}\83E\83X\83z\83C\81[\83\8b\82Ì\91\80\8dì\82ðSDL_BUTTONDOWN\83C\83x\83\93\83g\82Æ\82µ\82Ä\8eó\82¯\8eæ\82é\82±\82Æ\82Í\82à\82¤\82È\82¢. 4, 5\94Ô\96Ú\82Ì\83{\83^\83\93\82à\8eÀ\8dÛ\82Ì\83}\83E\83X\82Ì\83{\83^\83\93\82Æ\82µ\82Ä\88µ\82í\82ê\82é.
521 </p>
522 <p>
523 \82à\82µ\82 \82È\82½\82Ì\83Q\81[\83\80\82ª\83}\83E\83X\82ð\82 \82é\95û\8cü\82Ö\82¸\82Á\82Æ\93®\82©\82·\95K\97v\82ª\82 \82é, 
524 \97á\82¦\82ÎFPS\82Å\83}\83E\83X\83J\81[\83\\83\8b\82ª\89æ\96Ê\82Ì\8aO\82É\8fo\82Ä\82µ\82Ü\82¤\82Æ\83v\83\8c\83C\83\84\81[\82ª\8cü\82«\82ð\95Ï\82¦\82ç\82ê\82È\82­\82È\82é\82Ì\82ð\96h\82®\82È\82ç\82Î, 
525 \83}\83E\83X\83J\81[\83\\83\8b\82ð\89B\82µ\82Ä\93ü\97Í\83O\83\89\83u\82µ\82Ä\82¢\82½\82©\82à\82µ\82ê\82È\82¢:
526 <code>
527 <pre>
528     SDL_ShowCursor(0);
529     SDL_WM_GrabInput(SDL_GRAB_ON);
530 </pre>
531 </code>
532 </p>
533 <p>
534 SDL2\82Å\82Í\82±\82ê\82Í\8f­\82µ\95Ï\82í\82Á\82½. \82±\82Ì\82æ\82¤\82É\82µ\82Ä...
535 <code>
536 <pre>
537     SDL_SetRelativeMouseMode(SDL_TRUE);
538 </pre>
539 </code>
540 \8cã\82ÍSDL\82É\94C\82¹\82ê\82Î\82æ\82¢.
541 </p>
542 <h3 id="Events">\83C\83x\83\93\83g</h3>
543 <p>
544 <a href="SDL_PushEvent.html">SDL_PushEvent()</a>\82Ì\90¬\8c÷\8e\9e\82Ì\96ß\82è\92l\82Í0\82©\82ç1\82É\82È\82Á\82½.
545 </p>
546 <p>
547 \83C\83x\83\93\83g\83}\83X\83N\82Í\94Í\88Í\82ð\8ew\92è\82Å\82«\82é\82æ\82¤\82É\82È\82Á\82½:
548 <code>
549 <pre>
550     SDL_PeepEvents(&event, 1, SDL_GETEVENT, SDL_EVENTMASK(SDL_MOUSEBUTTONDOWN));
551 </pre>
552 </code>
553 \82±\82ê\82Í\82±\82Ì\82æ\82¤\82É\82È\82é:
554 <code>
555 <pre>
556     SDL_PeepEvents(&event, 1, SDL_GETEVENT, SDL_MOUSEBUTTONDOWN, SDL_MOUSEBUTTONDOWN);
557 </pre>
558 </code>
559 </p>
560 <h3 id="Audio">\83I\81[\83f\83B\83I</h3>
561 <p>
562 \8dK\82¢\82È\82±\82Æ\82É, 1.2\82Æ\82Í\88ê\93_\82ð\8f\9c\82«\8cã\95û\8cÝ\8a·\90«\82ª\82 \82é.
563 \90V\82µ\82¢\8b@\94\\82ð\8eg\82¢\82½\82¢\82È\82ç\82Î\82»\82ê\82à\82Å\82«\82é. \82µ\82©\82µ, \8b°\82ç\82­\95Ï\8dX\82È\82µ\82É\83R\83\93\83p\83C\83\8b\82µ\8eÀ\8ds\82µ\82½\82¢\82¾\82ë\82¤.
564 </p>
565 <p>
566 \8fd\97v\82È\97B\88ê\82Ì\88á\82¢: \83I\81[\83f\83B\83I\83R\81[\83\8b\83o\83b\83N\82Í\83o\83b\83t\83@\82ª\8a®\91S\82É\8f\89\8aú\89»\82³\82ê\82½\8fó\91Ô\82©\82ç\8en\82Ü\82ç<strong>\82È\82¢</strong>.
567 \82æ\82Á\82Ä\83o\83b\83t\83@\82É\82Í\91S\82Ä\8f\91\82«\8d\9e\82Ü\82È\82¯\82ê\82Î\82È\82ç\82È\82¢.
568 \82à\82µ\89¹\90º\82ª\91«\82è\82È\82¯\82ê\82Î, \83R\81[\83\8b\83o\83b\83N\82Å\96³\89¹\82ð\8f\91\82«\8d\9e\82Þ\95K\97v\82ª\82 \82é.
569 \82»\82¤\82µ\82È\82¢\82Æ, \93¯\82\89¹\82Ì\8cJ\82è\95Ô\82µ\82â\8eG\89¹\82ª\94­\90\82·\82é.
570 \82à\82µ\88È\91O\82Æ\93¯\82\82æ\82¤\82É\96³\8fð\8c\8f\82É\8f\89\8aú\89»\82µ\82½\82¢\82È\82ç\82Î, \82½\82¾ <code>SDL_memset(stream, 0, len)</code> \82ð\83R\81[\83\8b\83o\83b\83N\82Ì\90æ\93ª\82É\91}\93ü\82·\82ê\82Î\82æ\82¢.
571 </p>
572 <h3 id="Joysticks">\83W\83\87\83C\83X\83e\83B\83b\83N</h3>
573 <p>
574 \83W\83\87\83C\83X\83e\83B\83b\83N\83C\83x\83\93\83g\82ÍSDL_JoystickID\82ð\8e\9d\82Â\82æ\82¤\82É\82È\82Á\82½.
575 \82±\82ê\82É\82æ\82èSDL 2.0\82Å\82Í\83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\83Q\81[\83\80\92\86\82Ì\94²\82«\8d·\82µ\82ð\88µ\82¦\82é\82æ\82¤\82É\82È\82Á\82½.
576 1.2\82Å\8eg\82Á\82Ä\82¢\82½\83f\83o\83C\83X\88ê\97\97\82Ì\94Ô\8d\86\82Í\83f\83o\83C\83X\88ê\97\97\82ª\95Ï\82í\82é\82Æ\96³\8cø\82É\82È\82Á\82Ä\82¢\82½.
577 </p>
578 <p>
579 SDL_JoystickID\82Í\83I\81[\83v\83\93\82µ\82½SDL_Joystick*\82©\82ç\8e\9f\82Ì\8cÄ\82Ñ\8fo\82µ\82Å\93¾\82ç\82ê\82é:
580 <code>
581 <pre>
582     SDL_JoystickID myID = <a href="SDL_JoystickInstanceID.html"  style="text-decoration:none;">SDL_JoystickInstanceID</a>(myOpenedStick);
583 </pre>
584 </code>
585 </p>
586 <p>
587 \82»\82µ\82Ä, \83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\83C\83x\83\93\83g\82Ìwhich\83t\83B\81[\83\8b\83h\82ÆmyID\82ð\94ä\8ar\82·\82ê\82Î\8e¯\95Ê\82Å\82«\82é.
588 \83W\83\87\83C\83X\83e\83B\83b\83N\83C\83x\83\93\83g\82ð\8eg\82¢\82½\82­\82È\82¢\82È\82ç\82Î, <a href="SDL_JoystickGetAxis.html">SDL_JoystickGetAxis()</a>\82Æ\82»\82Ì\92\87\8aÔ\82ªSDL 1.2\82Ì\82æ\82¤\82É\8eg\82¦\82é.
589 </p>
590 <p>
591 \90V\82µ\82¢\83Q\81[\83\80\83R\83\93\83g\83\8d\81[\83\89\81[API\82à\83`\83F\83b\83N\82·\82×\82«\82¾.
592 \82»\82ê\82Í\82·\82Î\82ç\82µ\82¢\82à\82Ì\82¾.
593 \82»\82µ\82Ä, 1.2API\82Å\8ds\82Á\82Ä\82¢\82½\97l\81X\82È\8dH\95v\82ð, \90V\82µ\82¢\83R\81[\83h\82Å\82Í\82æ\82è\96¾\89õ\82É\89ð\8c\88\82Å\82«\82é\82©\82à\82µ\82ê\82È\82¢.
594 \82»\82ê\82ç\82ÍSDL_gamecontroller.h\82É\82 \82é.
595 \83Q\81[\83\80\83R\83\93\83g\83\8d\81[\83\89\81[API\82ÍSteam\82ÌBig Picture\83\82\81[\83h\82É\93K\82µ\82Ä\82¢\82é:
596 \82Ù\82Æ\82ñ\82Ç\82Ì\83R\83\93\83g\83\8d\81[\83\89\81[\82ð\8e©\93®\93I\82É\90Ý\92è\82Å\82«,
597 \82»\82µ\82Ä\8eè\93®\82Å\90Ý\92è\82µ\82½\82¢\8fê\8d\87\82É\82Í\82·\82Î\82ç\82µ\82¢\83\86\81[\83U\83C\83\93\83^\81[\83t\83F\81[\83X\82ª\82 \82é.
598 \82Ç\82¿\82ç\82Ì\8fê\8d\87\82Å\82à, Steam\82Í\82 \82È\82½\82ÌSDL\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82É\90Ý\92è\82ð\92ñ\8b\9f\82·\82é.
599 </p>
600 <h3 id="Threads">\83X\83\8c\83b\83h</h3>
601 <p>
602 SDL_KillThread()\82Í\94p\8e~\82³\82ê\82½.
603 \82»\82ê\82Í\88À\91S\82Å\82È\82­, \90M\97p\82Å\82«\82é\82à\82Ì\82Å\82Í\82È\82©\82Á\82½.
604 \8dÅ\82à\82æ\82¢\8f\91\82«\8a·\82¦\82Í, \83t\83\89\83O\82ð\90Ý\92è\82µ\83X\83\8c\83b\83h\82É\8fI\97¹\82ð\93`\82¦\82é\95û\96@\82Å\82 \82é.
605 \83X\83\8c\83b\83h\82Í\83t\83\89\83O\82ð\8eü\8aú\93I\82É\8am\94F\82µ, "kill"\82·\82é\83X\83\8c\83b\83h\82ª<a href="SDL_WaitThread.html">SDL_WaitThread()</a>\82ð\8cÄ\82ñ\82Å\8cã\8f\88\97\9d\82ð\8ds\82¤.
606 </p>
607 <p>
608 <a href="SDL_CreateThread.html">SDL_CreateThread()</a>\82É\82Í\83X\83\8c\83b\83h\82Ì\96¼\91O\82Ì\88ø\90\94\82ª\92Ç\89Á\82³\82ê\82½. \82±\82ê\82Í\83f\83o\83b\83O\8e\9e\82Ì\8e¯\95Ê\82É\8eg\82¦\82é.
609 \8eg\82í\82È\82¢\82Ì\82Å\82 \82ê\82Î, \92Ç\89Á\82Ì\88ø\90\94\82ðNULL\82É\82·\82ê\82Î\82æ\82¢.
610 </p>
611 <h3 id="Audio_CDs">\83I\81[\83f\83B\83ICD</h3>
612 <p>
613 1.2\82ÌCD API\82Í\91S\82Ä\94p\8e~\82³\82ê\82½.
614 \92u\82«\8a·\82¦\82Í\91\8dÝ\82µ\82È\82¢.
615 <a href="index.html#SDL_mixer">SDL_mixer</a>\82ð\8eg\82¦\82Î<a href="http://www.vorbis.com/">Ogg Vorbis</a>\82â\91¼\82Ì\83I\81[\83f\83B\83I\83t\83@\83C\83\8b\8c`\8e®\82Ì\89¹\8ay\82ð\8dÄ\90\82Å\82«\82é.
616 </p>
617 <h3 id="Dead_platforms">\91Î\89\9e\82©\82ç\8aO\82ê\82½\8aÂ\8b«</h3>
618 <p>
619 OS/2\82âMac OS 9\82È\82Ç\82Ì\8cÃ\82¢\8aÂ\8b«\82Í\90Ø\82è\8eÌ\82Ä\82ç\82ê\82½.
620 \91Î\89\9e\82Ì\8aÂ\8b«\82Í\8e\9f\82Ì\92Ê\82è\82Å\82 \82é: Windows(XP\88È\8d~), Linux, Mac OS X, iOS, Android.
621 Haiku\82âSony PSP\82Å\82Í\93®\8dì\82·\82é\82ª, \8fd\8e\8b\82³\82ê\82Ä\82¨\82ç\82¸\91Î\89\9e\82Í\8a®\91S\82Å\82Í\82È\82¢.
622 \92N\82©\82ª\83p\83b\83`\82ð\91\97\82ê\82Î\91Î\89\9e\8aÂ\8b«\82Í\92Ç\89Á\82³\82ê\82é\82¾\82ë\82¤\82ª, \82±\82Ì\90V\82µ\82¢\83o\81[\83W\83\87\83\93\82Ö\82Ì\88Ú\8ds\82ª\8cÃ\82¢\97F\82É\95Ê\82ê\82ð\8d\90\82°\82é\82Æ\82«\82¾\82Æ\8dl\82¦\82Ä\82¢\82é.
623 </p>
624 <h3 id="Mobile_platforms">\83\82\83o\83C\83\8b\8aÂ\8b«</h3>
625 <p>
626 \82¸\82Á\82Æ\91O\82©\82çSDL 1.2\82Ì\94ñ\8cö\8e®\82ÈiOS\82ÆAndroid\94Å\82Í\91\8dÝ\82µ\82Ä\82¢\82½.
627 \8c»\8dÝ\82Å\82ÍSDL\82Í\82±\82ê\82ç\82Ì\8aÂ\8b«\82É\90³\8e®\82É\91Î\89\9e\82µ\82Ä\82¢\82é. \82»\82µ\82Ä, 2.0 API\82Í\82±\82ê\82ç\82É\82æ\82­\93K\8d\87\82µ\82Ä\82¢\82é.
628 \82Ù\82Æ\82ñ\82Ç\82Ì\83A\83h\83o\83C\83X\82Í\82±\82Ì\95\8f\91\82Ì\91¼\82Ì\95\94\95ª\82É\8f\91\82©\82ê\82Ä\82¢\82é\82ª, \82¢\82­\82Â\82©\92\8d\88Ó\82·\82×\82«\82±\82Æ\82ª\82 \82é.
629 </p>
630 <p>
631 \8dÅ\8f\89\82É, \83\82\83o\83C\83\8b\92[\96\96\82Ì\82Ý\82Ì\83C\83x\83\93\83g\82ª\82¢\82­\82Â\82©\91\8dÝ\82·\82é.
632 \8c¾\82¢\8a·\82¦\82é\82Æ, iPhone\8cã\82Ì\90¢\8aE\82Ì\83\82\83o\83C\83\8b\92[\96\96\82ÌOS\82ª\8ds\82¤\82æ\82¤\82È\95û\96@\82É\91Î\89\9e\82µ\82Ä\82¢\82é.
633 \8e\84\82½\82¿\82Í\8dÅ\8f\89\82Í\8aù\82É\91\8dÝ\82·\82éSDL\83C\83x\83\93\83g\82É\91Î\89\9e\95t\82¯\82æ\82¤\82Æ\82µ\82½(\97á\82¦\82Î\81u\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\94w\8cã\82Ö\88Ú\82Á\82½\81v\82ð\83f\83X\83N\83g\83b\83v\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\83t\83H\81[\83J\83X\82ð\8e¸\82Á\82½\82±\82Æ\82É\82·\82é\93\99).
634 \82µ\82©\82µ, \8eÀ\8dÛ\82É\82Í\82»\82ê\82æ\82è\82à\8bÙ\8b}\82Ì\96â\91è\82Å\82 \82é: 
635 \91½\82­\82Ì\8fê\8d\87\82±\82ê\82ç\82Ì\83C\83x\83\93\83g\82É\82Í\82·\82®\82É\94½\89\9e\82µ\82È\82¯\82ê\82Î\82È\82ç\82È\82¢. \82»\82µ\82Ä\82»\82¤\82µ\82È\82¯\82ê\82ÎOS\82Í\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8fI\97¹\82³\82¹\82Ä\82µ\82Ü\82¤.
636 </p>
637 <p>
638 \82æ\82Á\82Ä, \8e\84\82½\82¿\82Í\88ê\95\94\82ÌAndroid\82ÆiOS\8cÅ\97L\82ÌSDL\83C\83x\83\93\83g\82ð\92Ç\89Á\82µ\82½.
639 \82»\82ê\82ç\82ÍSDL\83C\83x\83\93\83g\83t\83B\83\8b\83^\82ð\90Ý\92è\82µ\82ÄOS\82ª\95ñ\8d\90\82·\82é\82Æ\82·\82®\82É\95ß\82ç\82¦\82ç\82ê\82é\82æ\82¤\82É\82·\82×\82«\82Å\82 \82é.
640 \82È\82º\82È\82ç\82Î, \8e\9f\82Ì<a href="SDL_PollEvent.html">SDL_PollEvent()</a>\82Ü\82Å\91Ò\82Â\82Æ\92x\82·\82¬\82é\82©\82ç\82Å\82 \82é.
641 </p>
642 <p>
643 \97á\82¦\82Î, iOS\82ÌapplicationWillResignActive()\82É\91Î\89\9e\82µ\82½SDL_APP_WILLENTERBACKGROUND\82ª\82 \82é\82ª, \82à\82µ\82±\82Ì\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82Á\82½\8cã\82É\89æ\96Ê\82É\95`\89æ\82·\82é\82Æ, iOS\82Í\82 \82È\82½\82Ì\83v\83\8d\83Z\83X\82ð\8fI\97¹\82³\82¹\82Ä\82µ\82Ü\82¤.
644 \82æ\82Á\82Ä, \82±\82ê\82Í\82·\82®\82É\95ß\82ç\82¦\82È\82¯\82ê\82Î\82È\82ç\82È\82¢:
645 <code>
646 <pre>
647     int SDLCALL myEventFilter(void *userdata, SDL_Event * event)
648     {
649         if (event->type == SDL_APP_WILLENTERBACKGROUND) {
650             // \82±\82±\82Å\8e\91\8c¹\82ð\89ð\95ú\82·\82é. \91O\96Ê\82É\96ß\82é\82Ü\82Å\89½\82à\95`\89æ\82µ\82Ä\82Í\82È\82ç\82È\82¢!
651         }
652         // \82»\82Ì\91¼\82Ì\8f\88\97\9d
653         return 1;
654     }
655
656     // \8f\89\8aú\89»\8f\88\97\9d...
657
658     // \83C\83x\83\93\83g\82ª\94­\90\82·\82é\82Æ\82·\82®\82ÉmyEventFilter(data, event)\82ð\8cÄ\82Ô\82æ\82¤\82É\82·\82é
659     SDL_AddEventWatch(myEventFilter, data);
660 </pre>
661 </code>
662 </p>
663 <p>
664 \8e\9f\82É, \83}\83E\83X\93ü\97Í\83C\83x\83\93\83g\82Ö\82Ì\95Ï\8a·\82¾\82¯\82Å\82È\82­, \8eÀ\8dÛ\82Ì\83^\83b\83`\83C\83x\83\93\83g\82à\91\8dÝ\82·\82é.
665 \83^\83b\83`\82Ì\92Ç\90Õ\82â\83}\83\8b\83`\83^\83b\83`, \95¡\8eG\82È\83W\83F\83X\83`\83\83\81[\82à\8ds\82¦\82é.
666 \96]\82Þ\82È\82ç\82Î\82±\82ê\82ç\82ð\8eg\82¤\82±\82Æ\82ª\82Å\82«\82é.
667 \82±\82ê\82ç\82Ì\8aÖ\90\94\82ÍSDL_touch.h\82ð\8eQ\8fÆ\82µ, SDL_events.h\93à\82Ì<a href="SDL_Finger.html">SDL_Finger*</a>\82ð\8c©\82é\82±\82Æ.
668 </p>
669 <p>
670 SDL\82Í\92P\8f\83\82È\83^\83b\83`\82ð\83}\83E\83X\83C\83x\83\93\83g\82É\91Î\89\9e\95t\82¯\82Ä\82¢\82é(\82±\82Ì\8fê\8d\87\83C\83x\83\93\83g\82Ìwhich\83t\83B\81[\83\8b\83h\82ÉSDL_TOUCH_MOUSEID\82ª\90Ý\92è\82³\82ê\82é)\82±\82Æ\82É\92\8d\88Ó\82·\82é\82±\82Æ.
671 \82±\82ê\82Í, \82à\82µ\95¡\8eG\82È\83^\83b\83`\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\88µ\82í\82È\82¢\82È\82ç\82Î, \8aù\91\82Ì\83f\83X\83N\83g\83b\83v\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\82»\82Ì\82Ü\82Ü\83X\83}\81[\83g\83t\83H\83\93\82Ì\89æ\96Ê\82Å\8ew\82ð\8eg\82Á\82Ä\91\80\8dì\82Å\82«\82é\82±\82Æ\82ð\88Ó\96¡\82·\82é.
672 \82µ\82½\82ª\82Á\82Ä, \83\82\83o\83C\83\8b\90ê\97p\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ÍSDL_TOUCH_MOUSEID\83C\83x\83\93\83g\82ð\96³\8e\8b\82µ\82½\82Ù\82¤\82ª\82æ\82¢\82©\82à\82µ\82ê\82È\82¢.
673 \82µ\82©\82µ, \82»\82ê\82Å\82à\83^\83b\83`\83C\83x\83\93\83g\82É\89Á\82¦\81u\96{\95¨\82Ì\81v\83}\83E\83X\83C\83x\83\93\83g\82à\8dl\97\82·\82é\95K\97v\82ª\82 \82é\81\\81\88ê\95\94\82Ì\83\82\83o\83C\83\8b\83f\83o\83C\83X\82ÍUSB\82âBluetooth\83}\83E\83X\82É\91Î\89\9e\82µ\82Ä\82¢\82é\82©\82ç\82¾.
674 \8c\8b\8bÇ\82Ç\82¤\82·\82ê\82Î\82æ\82¢\82Ì\82¾\82ë\82¤!\81\\81\\82±\82ê\82ÍSDL2\82Ö\88Ú\8ds\82µ\82½\8cã\82É, \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\89ü\97Ç\82·\82é\82½\82ß\82É\82æ\82­\8dl\82¦\82é\82×\82«\82±\82Æ\82¾.
675 </p>
676 <p>
677 \82»\82Ì\82Ù\82©\82É\82à, \83X\83N\83\8a\81[\83\93\83L\81[\83{\81[\83h\82ð\95\\8e¦\82·\82é<a href="SDL_StartTextInput.html">SDL_StartTextInput()</a>\82Ì\97l\82È, \83\82\83o\83C\83\8b\8aÂ\8b«\82É\93K\82µ\82½\8aÖ\90\94\82ª\82 \82é.
678 \82±\82ê\82ç\82à\8a\88\97p\82·\82é\82±\82Æ.
679 </p>
680 <p>
681 \95t\82¯\89Á\82¦\82é\82Æ, Android\82ÆiOS\8cÅ\97L\82Ì\8aÖ\90\94\82à\82 \82è, \88ê\94Ê\93I\82ÈAPI\82Å\82Í\91\80\8dì\82Å\82«\82È\82¢\8aÂ\8b«\8cÅ\97L\82Ì\8b@\94\\82ð\91\80\8dì\82Å\82«\82é.
682 \82»\82ê\82ç\82Ì\8aÖ\90\94\82ÍSDL_system.h\82ð\8eQ\8fÆ\82·\82é\82±\82Æ.
683 </p>
684 <h3 id="RWops">RWops</h3>
685 <p>
686 <a href="SDL_RWread.html">SDL_RWread()</a>\82Æ<a href="SDL_RWwrite.html">SDL_RWwrite()</a>\82Í\83G\83\89\81[\82Ì\82Æ\82«-1\82Å\82Í\82È\82­0\82ð\96ß\82·\82æ\82¤\82É\82È\82Á\82½.
687 </p>
688 <p>
689 \8e©\95ª\8e©\90g\82ÅSDL_RWops\82ð\8eÀ\91\95\82·\82é\82È\82ç\82Î, \8aÖ\90\94\82Ì\83V\83O\83j\83`\83\83\82ð\95Ï\82¦\82È\82¯\82ê\82Î\82È\82ç\82È\82¢.
690 \91å\82«\82È\83t\83@\83C\83\8b\82ð\88µ\82¤\82½\82ß\82É, \8aÖ\90\94\82Ì\8c^\82Íint\82©\82çSint64\82Æsize_t\82É\82È\82Á\82½.
691 \91½\82­\82Ì\8fê\8d\87\83V\83O\83j\83`\83\83\82ð\95Ï\82¦\82ê\82Î\88È\91O\82Æ\93¯\82\82æ\82¤\82É\93®\82­\82ª, 
692 \82à\82µ\82±\82ê\82ç\82Ì\90§\8cÀ\82Ì\82½\82ß\82É\8f\88\97\9d\82ð\82 \82«\82ç\82ß\82Ä\82¢\82½\82È\82ç\82Î, \82æ\82¢\89ð\8c\88\8dô\82É\82È\82é\82¾\82ë\82¤.
693 \8cÄ\82Ñ\8fo\82µ\82Ä\82¢\82é\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Í\95Ï\8dX\82³\82ê\82½\96ß\82è\92l\82É\82 \82í\82¹\82é\95K\97v\82ª\82 \82é.
694 </p>
695 <p>
696 RWops\82É\82àsize\83\81\83\\83b\83h\82ª\91\8dÝ\82·\82é\82æ\82¤\82É\82È\82Á\82½.
697 \82»\82ê\82Í<a href="SDL_RWsize.html">SDL_RWsize()</a>\82Ì\8cÄ\82Ñ\8fo\82µ\82Å\82 \82é.
698 \82±\82ê\82Í, RWops\82É\83X\83g\83\8a\81[\83\80\82Ì\83T\83C\83Y\82ð\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82É0byte\82©\82ç\8dÅ\8cã\82Ü\82Å\83V\81[\83N\82³\82¹\82é\82±\82Æ\82È\82­\83T\83C\83Y\82ð\95ñ\8d\90\82·\82é\82à\82Ì\82Å\82 \82é.
699 \8c¾\82¢\8a·\82¦\82é\82Æ, \83V\81[\83N\82¹\82¸\82É\83X\83g\83\8a\81[\83\80\82Ì\91S\83T\83C\83Y\82ð\93¾\82ç\82ê\82é\82æ\82¤\82É\82È\82Á\82½.
700 d\82±\82ê\82ð\8ds\82¦\82È\82¢\83X\83g\83\8a\81[\83\80\82È\82ç\82Î-1\82ð\96ß\82·.
701 </p>
702 <h3 id="Add-on_libraries">\8ag\92£\83\89\83C\83u\83\89\83\8a</h3>
703 <p>
704 \8cö\8e®\82Ì\8ag\92£\83\89\83C\83u\83\89\83\8a\82Å\82 \82éSDL_image, SDL_ttf, SDL_mixer, SDL_net\82ÍSDL 2.0\82É\91Î\89\9e\82µ, <a href="index.html#SDL_image">SDL2_image</a>, <a href="index.html#SDL_ttf">SDL2_ttf</a>, <a href="index.html#SDL_mixer">SDL2_mixer</a>, <a href="index.html#SDL_net">SDL2_net</a>\82Æ\82È\82Á\82½.
705 \95K\97v\82È\82ç\82Î<a href="https://hg.libsdl.org/">mercurial\83\8a\83|\83W\83g\83\8a</a>\82©\82ç\8dÅ\90V\94Å\82ð\83_\83E\83\93\83\8d\81[\83h\82Å\82«\82é.
706 \82à\82¿\82ë\82ñ\82 \82È\82½\82Ì\83v\83\8d\83O\83\89\83\80\82ðmake\82·\82é\82Æ\82«\82Í, \83\8a\83\93\83N\82ðSDL_image\82Å\82Í\82È\82­SDL2_image\82É\95Ï\8dX\82·\82é\95K\97v\82ª\82 \82é.
707 </p>
708 <p>
709 \82±\82ê\82ç\82Ì\83\89\83C\83u\83\89\83\8a\82Í\88È\8d~\82Í1.2\82ð\83T\83|\81[\83g\82µ\82È\82¢. \82»\82µ\82Ä1.2\82Æ\82Ì\8cÝ\8a·\90«\82Í\90V\82µ\82¢\83o\81[\83W\83\87\83\93\82Ì\82Ç\82Ì\8e\9e\93_\82©\82Å\8e¸\82í\82ê\82é\82¾\82ë\82¤.
710 </p>
711 <p>
712 <a href="http://cms.ferzkopp.net/index.php/software/13-sdl-gfx">SDL_gfx</a>\82à2.0.21(2010\94N5\8c\8e)\88È\8d~\82Í2.0\82Å\83R\83\93\83p\83C\83\8b\82Å\82«\82é.
713 </p>
714 <h3 id="Summary_of_some_renamed_or_replaced_things">\96¼\8fÌ\95Ï\8dX\82Æ\92u\82«\8a·\82¦\82Ì\82Ü\82Æ\82ß</h3>
715 <p>
716 <ul>
717 <li>SDL_SetVideoMode(): \91ã\82í\82è\82É<a href="SDL_CreateWindow.html">SDL_CreateWindow()</a>\82ð\8eg\82¤\82±\82Æ. (OpenGL\82Å\82Í\82È\82­\8cÃ\93T\93I\82È2D\83\8c\83\93\83_\83\8a\83\93\83O\82ð\8eg\82¢\82½\82¢\82È\82ç\82Î, <a href="SDL_CreateRenderer.html">SDL_CreateRenderer()</a>\82Æ\8b¤\82É\8eg\82¤.)
718 <li>SDL_ListModes(): \91ã\82í\82è\82É<a href="SDL_GetDisplayMode.html">SDL_GetDisplayMode()</a>/<a href="SDL_GetNumDisplayModes.html">SDL_GetNumDisplayModes()</a>\82ð\8eg\82¤\82±\82Æ.
719 <li>SDL_UpdateRect()/SDL_Flip(): \91ã\82í\82è\82É<a href="SDL_RenderPresent.html">SDL_RenderPresent()</a>\82ð\8eg\82¤\82±\82Æ.
720 <li>SDL_Surface/2D\83\8c\83\93\83_\83\8a\83\93\83O: \83T\81[\83t\83F\83C\83X\82Í\91S\82Ä\91\8dÝ\82·\82é. \82µ\82©\82µ, SDL_Surface\82ð\8eg\82¤\82Ì\82Å\82Í\82È\82­, \89Â\94\\82È\82ç\82ÎSDL_Texture\82ð<a href="SDL_CreateRenderer.html">SDL_CreateRenderer()</a>\82Æ\8b¤\82É\8eg\82¤\82±\82Æ\82ð\90\84\8f§\82·\82é.
721 <li>
722 SDL_VideoInfo: \91ã\82í\82è\82É<a href="SDL_GetRendererInfo.html">SDL_GetRendererInfo()</a>/<a href="SDL_GetRenderDriverInfo.html">SDL_GetRenderDriverInfo()</a>\82ð\8eg\82¤\82±\82Æ.
723 <li>SDL_GetCurrentVideoDisplay(): \91ã\82í\82è\82É<a href="SDL_GetWindowDisplayIndex.html">SDL_GetWindowDisplayIndex()</a>\82ð\8eg\82¤\82±\82Æ.
724 <li>SDL_VIDEORESIZE\83C\83x\83\93\83g: \90V\82µ\82¢<a href="SDL_WindowEvent.html">SDL_WINDOWEVENT_RESIZED</a>\82Æ\93\99\89¿\82Å\82 \82é.
725 </ul>
726 </p>
727 <h3 id="Other_stuff">\82»\82Ì\91¼</h3>
728 <p>
729 SDL 2.0\82É\82Í, \90V\82µ\82­\8b»\96¡\90[\82¢\96c\91å\82È1.2\82É\82Í\82È\82©\82Á\82½\8b@\94\\82ª\82 \82é.
730 \82±\82±\82Å\82Í1.2\82Ì\83v\83\8d\83O\83\89\83\80\82ð2.0\82Å\8eÀ\8ds\82Å\82«\82é\82æ\82¤\82É\82·\82é\90à\96¾\82Ì\82Ý\82ð\8ds\82Á\82½\82ª, 
731 \96]\82Þ\82à\82Ì\82ª\82 \82é\82ª, \8c»\8dÝ\82Å\82à\82Å\82«\82é\82Ì\82©, \82µ\82È\82­\82Ä\82à\82æ\82­\82È\82Á\82½\82Ì\82©\82ð\83h\83L\83\85\83\81\83\93\83g\82ð\92²\82×\82é\82×\82«\82Å\82 \82é.
732 \97á\82¦\82Î, \91S\82Ä\82Ì\83Q\81[\83\80\82Ì\82±\82Ì\82æ\82¤\82È\83R\81[\83h\82Í, \83\81\83b\83Z\81[\83W\83{\83b\83N\83X\8aÖ\90\94\82É\92u\82«\8a·\82¦\82ç\82ê\82é:
733 <code>
734 <pre>
735    #if USING_SDL
736    fprintf(stderr, "MSGBOX: %s\n%s\n", title, text);   // \82 \82 , \82¤\82¤\82Þ
737    #endif
738 </pre>
739 </code>
740 \82±\82Ì\8fê\8d\87\82Í<a href="SDL_ShowSimpleMessageBox.html">SDL_ShowSimpleMessageBox()</a>\82ª\8eg\82¦\82é\82æ\82¤\82É\82È\82Á\82½.
741 </p>
742 <p>
743 \8dÅ\8f\89\82É\96ß\82Á\82Ä<a href="#Overview_of_new_features">\90V\82µ\82¢\8b@\94\\82Ì\8aT\97v</a>\82ð\83`\83F\83b\83N\82µ\82Ä\82Ý\82æ\82¤!
744 </p>
745 <h2>SDL Wiki\82Ö\82Ì\83\8a\83\93\83N</h2>
746 <a href="https://wiki.libsdl.org/MigrationGuide">SDL 1.2 to 2.0 Migration Guide - SDL Wiki</a>
747 <hr>
748 </body>
749 </html>