{"id":2092,"date":"2021-09-29T16:22:18","date_gmt":"2021-09-29T07:22:18","guid":{"rendered":"https:\/\/sirius10.net\/blog\/wordpress\/?p=2092"},"modified":"2021-09-29T16:25:42","modified_gmt":"2021-09-29T07:25:42","slug":"post-2092","status":"publish","type":"post","link":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/2021\/09\/29\/2092\/","title":{"rendered":"SDL2 \u3067\u77e9\u5f62\u3092\u66f8\u3044\u3066\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3055\u305b\u308b"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u77e9\u5f62\u3092\u63cf\u304f<\/h2>\n\n\n\n<p>\u3000\u77e9\u5f62\u3092\u63cf\u304f\u306b\u306f\u3001SDL_RenderDrawRect() \u95a2\u6570\u3001\u307e\u305f\u306f SDL_RenderFillRect() \u95a2\u6570\u3092\u4f7f\u3044\u307e\u3059\u3002SDL_RenderDrawRect() \u95a2\u6570\u306f\u77e9\u5f62\u306e\u5883\u754c\u7dda\u3092\u3001SDL_RenderFillRect() \u95a2\u6570\u306f\u5185\u90e8\u3092\u5857\u308a\u3064\u3076\u3057\u305f\u77e9\u5f62\u3092\u63cf\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3000\u3069\u3061\u3089\u3082\u5f15\u6570\u306b\u3001\u30ec\u30f3\u30c0\u30e9\u3068\u77e9\u5f62\u3092\u8868\u3059\u69cb\u60f3\u4f53\u3078\u306e\u30dd\u30a4\u30f3\u30bf\u3092\u6e21\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SDL_Rect \u69cb\u9020\u4f53<\/h3>\n\n\n\n<p>\u3000\u77e9\u5f62\u3092\u8868\u3059\u69cb\u9020\u4f53\u306f\u3001SDL_Rect \u3067\u3059\u3002\u30e1\u30f3\u30d0\u306b\u77e9\u5f62\u306e\u5de6\u4e0a\u306e\u5ea7\u6a19\u3092\u6301\u3064 x, y \u305d\u3057\u3066\u3001\u77e9\u5f62\u306e\u5e45\u306e w\u3001\u77e9\u5f62\u306e\u9ad8\u3055\u306e h \u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u77e9\u5f62\u3092\u63cf\u304f<\/h3>\n\n\n\n<p>\u3000\u4f8b\u3048\u3070\u3001\u77e9\u5f62\u306e\u5de6\u4e0a\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u5ea7\u6a19\u304c (0, 0) \u3067\u5e45\u304c 40 \u9ad8\u3055\u304c 30 \u306e\u77e9\u5f62\u3092\u767d\u3044\u7dda\u3067\u63cf\u304f\u306b\u306f\u3001\u6b21\u306e\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted file\">    SDL_Rect rect;\n    \u30fb\n    \u30fb\n    SDL_SetRenderDrawColor(renderer, 0xff, 0xff, 0xff, SDL_ALPHA_OPAQUE);\n    rect.x = 0;\n    rect.y = 0;\n    rect.w = 40;\n    rect.h = 30;\n    SDL_RenderDrawRect(renderer, &amp;rect);<\/pre>\n\n\n\n<p>\u3000\u307e\u305f\u3001\u77e9\u5f62\u306e\u5de6\u4e0a\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u5ea7\u6a19\u304c (0, 210) \u3067\u5e45\u304c 40 \u9ad8\u3055\u304c 30 \u306e\u6c34\u8272\u3067\u5857\u308a\u3064\u3076\u3057\u305f\u77e9\u5f62\u3092\u63cf\u304f\u306b\u306f\u3001\u6b21\u306e\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted file\">    SDL_Rect rect;\n    \u30fb\n    \u30fb\n    SDL_SetRenderDrawColor(renderer, 0, 0xff, 0xff, SDL_ALPHA_OPAQUE);\n    rect.x = 0;\n    rect.y = 210;\n    rect.w = 40;\n    rect.h = 30;\n    SDL_RenderFillRect(renderer, &amp;rect);<\/pre>\n\n\n\n<p>\u3000\u3053\u306e 2 \u3064\u3092\u63cf\u304f\u3068\u4e0b\u56f3\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"240\" src=\"https:\/\/sirius10.net\/blog\/wordpress\/wp-content\/uploads\/2021\/09\/sdlrect.png\" alt=\"\" class=\"wp-image-2093\" srcset=\"https:\/\/sirius10.net\/blog\/wordpress\/wp-content\/uploads\/2021\/09\/sdlrect.png 320w, https:\/\/sirius10.net\/blog\/wordpress\/wp-content\/uploads\/2021\/09\/sdlrect-300x225.png 300w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><figcaption>\u77e9\u5f62\u306e\u63cf\u753b<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3055\u305b\u308b<\/h2>\n\n\n\n<p>\u3000\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3055\u305b\u308b\u306b\u306f\u3001\u5b9a\u671f\u7684\u306b\u63cf\u753b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u3088\u3046\u306a\u7528\u9014\u306b\u3001SDL2 \u306f\u30bf\u30a4\u30de\u30fc\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30bf\u30a4\u30de\u30fc\u3092\u4f7f\u3046<\/h3>\n\n\n\n<p>\u3000\u30bf\u30a4\u30de\u30fc\u306f\u3001SDL_AddTimer() \u95a2\u6570\u3067\u8ffd\u52a0\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3000\u3053\u306e\u95a2\u6570\u306f\u3001\u6307\u5b9a\u306e\u30df\u30ea\u79d2\u304c\u7d4c\u904e\u3057\u305f\u5f8c\u306b<span style=\"background-color: #ffff00\" class=\"background-color\">\u5225\u30b9\u30ec\u30c3\u30c9<\/span>\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3092\u547c\u3076\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u3053\u3053\u3067\u554f\u984c\u306b\u306a\u308b\u306e\u306f\u3001\u300c<span style=\"background-color: #ffff00\" class=\"background-color\">\u5225\u30b9\u30ec\u30c3\u30c9<\/span>\u300d\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u3000\u4f55\u304c\u554f\u984c\u304b\u3068\u8a00\u3046\u3068\u3001\u30ec\u30f3\u30c0\u30e9\u304c\u554f\u984c\u306b\u306a\u308a\u307e\u3059\u3002SDL_CreateRenderer() \u3092\u5b9f\u884c\u3057\u305f\u30b9\u30ec\u30c3\u30c9\u3068<span style=\"background-color: #ffff00\" class=\"background-color\">\u540c\u4e00\u306e\u30b9\u30ec\u30c3\u30c9<\/span>\u3067\u306a\u3051\u308c\u3070\u3001\u305d\u306e\u30ec\u30f3\u30c0\u30e9\u306b\u5bfe\u3057\u3066\u63cf\u753b\u3092\u884c\u3048\u307e\u305b\u3093\u3002\u3064\u307e\u308a\u3001\u30bf\u30a4\u30de\u30fc\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3067\u76f4\u63a5\u63cf\u753b\u3092\u884c\u3046\u305f\u3081\u306b\u306f\u3001\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u4ee5\u5916\u304b\u3089\u306e\u63cf\u753b\u3092\u8ae6\u3081\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u7c21\u5358\u306a\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u306f\u3001\u3053\u308c\u3067\u3082\u3044\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<p>\u3000\u30b9\u30ec\u30c3\u30c9\u306e\u554f\u984c\u3092\u56de\u907f\u3059\u308b\u306b\u306f\u3001\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u306e\u4e2d\u3067\u3001\u30e6\u30fc\u30b6\u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u3001\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u304b\u3089\u3001\u63cf\u753b\u95a2\u6570\u3092\u547c\u3073\u51fa\u3059\u65b9\u6cd5\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u624b\u9806\u3092\u8aac\u660e\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30bf\u30a4\u30de\u30fc\u306e\u8a2d\u5b9a<\/h3>\n\n\n\n<p>\u3000SDL_AddTimer() \u95a2\u6570\u306e\u5f15\u6570\u306f\u3001\u30df\u30ea\u79d2\u3067\u6307\u5b9a\u3057\u305f\u30bf\u30a4\u30de\u30fc\u6642\u9593\u3001\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3001\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u306b\u6e21\u3059\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30dd\u30a4\u30f3\u30bf\u3067\u3059\u3002\u623b\u308a\u5024\u306f\u30bf\u30a4\u30de\u30fc ID \u3092\u8fd4\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3000200 \u30df\u30ea\u79d2\u9593\u9694\u3067\u3001draw_timer() \u3068\u3044\u3046\u95a2\u6570\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002draw_timer() \u306b\u306f\u3001\u30ec\u30f3\u30c0\u30e9\u3092\u6e21\u3059\u3088\u3046\u306b\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted file\">    SDL_Renderer *renderer;\n    SDL_TimerID my_timer_id;\n    \u30fb\n    \u30fb\n    my_timer_id = SDL_AddTimer(200, draw_timer, (void *)renderer);<\/pre>\n\n\n\n<p>\u3000\u30bf\u30a4\u30de\u30fc ID \u306f\u30bf\u30a4\u30de\u30fc\u3092\u524a\u9664\u3059\u308b\u969b\u306b\u3001SDL_RemoveTimer() \u95a2\u6570\u306b\u6e21\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570<\/h3>\n\n\n\n<p>\u3000\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u306f\u30e6\u30fc\u30b6\u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u308b\u306e\u3067\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u307b\u3068\u3093\u3069\u306e\u5834\u5408\u3001userevent.data1 \u306b\u8a2d\u5b9a\u3059\u308b\u95a2\u6570\u306e\u5909\u66f4\u4ee5\u5916\u306e\u4fee\u6b63\u306f\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u306e\u4f8b\u3067\u306f\u3001\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u5185\u3067\u3001draw() \u95a2\u6570\u3092\u547c\u3073\u51fa\u3059\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted file\">Uint32 draw_timer(Uint32 interval, void *param)\n{\n    SDL_Event event;\n    SDL_UserEvent userevent;\n\n    \/* \u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u3067SDL_USEREVENT\u30a4\u30d9\u30f3\u30c8\u3092\u30ad\u30e5\u30fc\u306b\u5165\u308c\u308b\u3002\n    \u3053\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u306f\u4e00\u5b9a\u306e\u5468\u671f\u3067\u518d\u3073\u547c\u3070\u308c\u308b *\/\n\n    userevent.type = SDL_USEREVENT;\n    userevent.code = 0;\n    userevent.data1 = &amp;draw;\n    userevent.data2 = param;\n\n    event.type = SDL_USEREVENT;\n    event.user = userevent;\n\n    SDL_PushEvent(&amp;event);\n    return(interval);\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u5185\u3067\u51e6\u7406\u3059\u308b<\/h3>\n\n\n\n<p>\u3000\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u5185\u3067\u3001\u30e6\u30fc\u30b6\u30a4\u30d9\u30f3\u30c8\u3092\u51e6\u7406\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted file\">    switch(event.type)\n    {\n        \u30fb\n        \u30fb\n        case SDL_USEREVENT: {\n            void (*p) (void*) = event.user.data1;\n            p(event.user.data2);\n            break;\n        }\n        \u30fb\n        \u30fb\n    }<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u63cf\u753b\u3059\u308b<\/h2>\n\n\n\n<p>\u3000draw() \u95a2\u6570\u5185\u3067\u3001\u547c\u3073\u51fa\u3055\u308c\u308b\u6bce\u306b\u9055\u3046\u4f4d\u7f6e\u306b\u77e9\u5f62\u3092\u63cf\u753b\u3059\u308c\u3070\u52d5\u3044\u3066\u3044\u308b\u3088\u3046\u306b\u898b\u3048\u307e\u3059\u3002\u5168\u3066\u307e\u3068\u3081\u308b\u3068\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30bd\u30fc\u30b9\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted file\">#include &lt;stdio.h&gt;\n#include &lt;SDL.h&gt;\n\nvoid *draw(void *param) {\n    SDL_Renderer *renderer;\n    SDL_Rect rect;\n    static int d = 0;\n\n    renderer = (SDL_Renderer *)param;\n\n    \/* \u63cf\u753b *\/\n    SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);\n    SDL_RenderClear(renderer);\n\n    SDL_SetRenderDrawColor(renderer, 0xff, 0xff, 0xff, SDL_ALPHA_OPAQUE);\n\n    \/* \u77e9\u5f62\u63cf\u753b *\/\n    rect.x = 0 + d;\n    rect.y = 0 + d*3\/4;\n    rect.w = 40;\n    rect.h = 30;\n    SDL_RenderDrawRect(renderer, &amp;rect);\n    SDL_SetRenderDrawColor(renderer, 0, 0xff, 0xff, SDL_ALPHA_OPAQUE);\n    rect.y = 210 - d*3\/4;\n    SDL_RenderFillRect(renderer, &amp;rect);\n\n    d = (d + 10) %290;\n\n    \/* \u30d0\u30c3\u30d5\u30a1\u3092\u30a6\u30a3\u30c9\u30a6\u306b\u53cd\u6620 *\/\n    SDL_RenderPresent(renderer);\n}\n\nUint32 draw_timer(Uint32 interval, void *param)\n{\n    SDL_Event event;\n    SDL_UserEvent userevent;\n\n    \/* \u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u3067SDL_USEREVENT\u30a4\u30d9\u30f3\u30c8\u3092\u30ad\u30e5\u30fc\u306b\u5165\u308c\u308b\u3002\n    \u3053\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u306f\u4e00\u5b9a\u306e\u5468\u671f\u3067\u518d\u3073\u547c\u3070\u308c\u308b *\/\n\n    userevent.type = SDL_USEREVENT;\n    userevent.code = 0;\n    userevent.data1 = &amp;draw;\n    userevent.data2 = param;\n\n    event.type = SDL_USEREVENT;\n    event.user = userevent;\n\n    SDL_PushEvent(&amp;event);\n    return(interval);\n}\n\nint main(int argc, char* argv[]){\n    SDL_Event event;\n    SDL_Window *window;\n    SDL_Renderer *renderer;\n    SDL_TimerID my_timer_id;\n    \n    int quit_flg = 1;\n\n    \/* \u521d\u671f\u5316 *\/\n    if (SDL_Init(SDL_INIT_VIDEO) &lt; 0) {\n        fprintf(stderr, \"SDL_Init(): %s\\n\", SDL_GetError());\n        exit(1);\n    }\n\n    \/* \u30a6\u30a3\u30f3\u30c9\u30a6\u4f5c\u6210 *\/\n    window = SDL_CreateWindow(\"SDL Test\", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 320, 240, SDL_WINDOW_OPENGL);\n    if( window == NULL ) {\n        printf(\"Can not create window\\n\");\n        exit(1);\n    }\n    renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);\n    if( renderer == NULL ) {\n        printf(\"Can not create renderer\\n\");\n        exit(1);\n    }\n    \/* \u5f37\u5236\u7d42\u4e86\u6642\u306b SDL_Quit() \u3092\u547c\u3076 *\/\n    atexit(SDL_Quit);\n\n    \/* \u30bf\u30a4\u30de\u30fc\u8a2d\u5b9a *\/\n    my_timer_id = SDL_AddTimer(200, draw_timer, (void *)renderer);\n\n    \/* \u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7 *\/\n    while(quit_flg) {\n        while( SDL_PollEvent(&amp;event) ) {\n            switch (event.type) {\n            \/* \u30bf\u30a4\u30de\u30fc\u51e6\u7406 *\/\n            case SDL_USEREVENT: {\n                void (*p) (void*) = event.user.data1;\n                p(event.user.data2);\n                break;\n            }\n\n            \/* \u7d42\u4e86 *\/\n            case SDL_KEYDOWN:\n            case SDL_QUIT:\n                quit_flg = 0;\n                break;\n            }\n        }\n        \/* \u30a4\u30d9\u30f3\u30c8\u304c\u306a\u3044\u5834\u5408\u3001\u5c11\u3057\u5f85\u3064 *\/\n        SDL_Delay(50);\n    }\n    if( my_timer_id ) SDL_RemoveTimer(my_timer_id);\n    if (renderer) SDL_DestroyRenderer(renderer);\n    if (window) SDL_DestroyWindow(window);\n\n    SDL_Quit();\n\n    return 0;\n}<\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"240\" src=\"https:\/\/sirius10.net\/blog\/wordpress\/wp-content\/uploads\/2021\/09\/test.gif\" alt=\"\" class=\"wp-image-2094\"\/><figcaption>\u77e9\u5f62\u306e\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3<\/figcaption><\/figure><\/div>\n\n\n\n<p>\u3000\u4e0a\u306e\u3088\u3046\u306a\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u77e9\u5f62\u3092\u63cf\u304f \u3000\u77e9\u5f62\u3092\u63cf\u304f\u306b\u306f\u3001SDL_RenderDrawRect() \u95a2\u6570\u3001\u307e\u305f\u306f SDL_RenderFillRect() \u95a2\u6570\u3092\u4f7f\u3044\u307e\u3059\u3002SDL_RenderDrawRect() \u95a2\u6570\u306f\u77e9\u5f62\u306e\u5883\u754c\u7dda\u3092\u3001SDL_Re [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[],"class_list":["post-2092","post","type-post","status-publish","format-standard","hentry","category-sdl2"],"_links":{"self":[{"href":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/2092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=2092"}],"version-history":[{"count":5,"href":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/2092\/revisions"}],"predecessor-version":[{"id":2104,"href":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/2092\/revisions\/2104"}],"wp:attachment":[{"href":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=2092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=2092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sirius10.net\/blog\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=2092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}