{"id":764,"date":"2026-03-11T20:40:39","date_gmt":"2026-03-11T09:40:39","guid":{"rendered":"https:\/\/securelang.net\/cms\/?p=764"},"modified":"2026-03-11T20:40:39","modified_gmt":"2026-03-11T09:40:39","slug":"first-draft-blitting-api","status":"publish","type":"post","link":"https:\/\/securelang.net\/cms\/blog\/2026\/03\/11\/first-draft-blitting-api\/","title":{"rendered":"First Draft Blitting API"},"content":{"rendered":"\n<p>Just a sneak preview of in-development code. This API is designed for 64-bit platforms, and may have to be de-optimised a bit if I do any 32-bit ports in the fucture.<\/p>\n\n\n\n<p>SDL etc. usually use a plain struct (like my guirect struct) for passing rectangles, but for kernel system calls it can be better to avoid using too many pointers as long as this method (encoding rectangles as long values) is sufficient.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screenshot-from-2026-03-11-20-32-37-1024x640.png\" alt=\"\" class=\"wp-image-765\" srcset=\"https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screenshot-from-2026-03-11-20-32-37-1024x640.png 1024w, https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screenshot-from-2026-03-11-20-32-37-300x188.png 300w, https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screenshot-from-2026-03-11-20-32-37-768x480.png 768w, https:\/\/securelang.net\/cms\/wp-content\/uploads\/2026\/03\/Screenshot-from-2026-03-11-20-32-37.png 1123w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Just a sneak preview of in-development code. This API is designed for 64-bit platforms, and may have to be de-optimised a bit if I do any 32-bit ports in the fucture. SDL etc. usually use a plain struct (like my guirect struct) for passing rectangles, but for kernel system calls it can be better to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-764","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/comments?post=764"}],"version-history":[{"count":1,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/764\/revisions"}],"predecessor-version":[{"id":766,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/764\/revisions\/766"}],"wp:attachment":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/media?parent=764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/categories?post=764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/tags?post=764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}