OSDN Git Service

SDL_EventState 関連項目(関数)にSDL_GetEventStateを追加 https://wiki.libsdl.org/SDL_EventState...
[sdl2referencejp/sdl2referencejp.git] / SDL_AllocRW.html
index 2688262..c6c91ff 100644 (file)
 <h2>\96ß\82è\92l</h2>\r
 \90¬\8c÷\82Ì\82Æ\82«\8am\95Û\82µ\82½\83\81\83\82\83\8a\82Ö\82Ì\83|\83C\83\93\83^, \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
+#include "stdlib.h"\r
+#include "SDL.h"\r
+\r
+/* \82±\82ê\82ç\82Ì\8aÖ\90\94\82ÍSDL_RWops\93à\82Ì\83|\83C\83\93\83^\88È\8aO\82Å\8eg\82Á\82Ä\82Í\82È\82ç\82È\82¢ */\r
+static Sint64 mysizefunc(SDL_RWops * context)\r
+{\r
+    return -1;\r
+}\r
+\r
+static Sint64 myseekfunc(SDL_RWops *context, Sint64 offset, int whence)\r
+{\r
+    return SDL_SetError("\82±\82Ì\8eí\97Þ\82ÌSDL_RWops\82Í\83V\81[\83N\82Å\82«\82È\82¢");\r
+}\r
+\r
+static size_t myreadfunc(SDL_RWops *context, void *ptr, size_t size, size_t maxnum)\r
+{\r
+    SDL_memset(ptr,0,size*maxnum);\r
+    return maxnum;\r
+}\r
+\r
+static size_t mywritefunc(SDL_RWops *context, const void *ptr, size_t size, size_t num)\r
+{\r
+    return num;\r
+}\r
+\r
+static int myclosefunc(SDL_RWops *context)\r
+{\r
+    if(context->type != 0xdeadbeef)\r
+    {\r
+        return SDL_SetError("myclosefunc()\82Å\8f\88\97\9d\82Å\82«\82È\82¢\95s\90³\82ÈSDL_RWops");\r
+    }\r
+\r
+    free(context->hidden.unknown.data1);\r
+    SDL_FreeRW(context);\r
+    return 0;\r
+}\r
+\r
+SDL_RWops *MyCustomRWop()\r
+{\r
+    SDL_RWops *c=SDL_AllocRW();\r
+    if(c==NULL) return NULL;\r
+\r
+    c->size =mysizefunc;\r
+    c->seek =myseekfunc;\r
+    c->read =myreadfunc;\r
+    c->write=mywritefunc;\r
+    c->close=myclosefunc;\r
+    c->type =0xdeadbeef;\r
+    c->hidden.unknown.data1=malloc(256);\r
+    return c;\r
+}\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8fÚ\8d×</h2>\r
 <p>\r
 \8e©\95ª\82Å<a href="SDL_RWops.html">SDL_RWops</a>\82Ì\8eÀ\91\95\82ð\92ñ\8b\9f\82·\82é\82Ì\82Å\82È\82¯\82ê\82Î, \82±\82Ì\8aÖ\90\94\82ð\8eg\82¤\95K\97v\82Í\82È\82¢.\r