FUCKKKK
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
/* deshab/app.h - 应用上下文与初始化
|
||||
*
|
||||
* 整合 desktop_app.h 的 da_app_context / da_init,提供从 dsk_boot_context
|
||||
* 提取常用数据(framebuffer + block + kernel_api)的便捷封装。
|
||||
*
|
||||
* 应用入口模式:
|
||||
* void dsk_entry(const dsk_boot_context *ctx) {
|
||||
* dsb_app_context ac;
|
||||
* dsb_app_init(&ac, ctx);
|
||||
* // 使用 ac.fb / ac.block / ac.api ...
|
||||
* }
|
||||
*/
|
||||
#ifndef DESHAB_APP_H
|
||||
#define DESHAB_APP_H
|
||||
|
||||
#include "types.h"
|
||||
#include "boot_context.h"
|
||||
#include "kernel_api.h"
|
||||
#include "block.h"
|
||||
|
||||
typedef struct dsb_app_context {
|
||||
u32 *fb; /* framebuffer 基址(32bpp BGRA) */
|
||||
u64 fb_w; /* 宽度(像素) */
|
||||
u64 fb_h; /* 高度(像素) */
|
||||
u64 fb_pitch; /* 行跨度(字节) */
|
||||
dsb_block block; /* block 便捷读写 */
|
||||
const dkm_kernel_api *api; /* kernel_api 指针 */
|
||||
} dsb_app_context;
|
||||
|
||||
/* 从 dsk_boot_context 初始化 dsb_app_context。
|
||||
* block API 从 kernel_api + DSB_KAPI_OFF_BLOCK 获取(封装在 dsb_block_init)。 */
|
||||
static inline void dsb_app_init(dsb_app_context *ac, const dsk_boot_context *ctx) {
|
||||
ac->fb = (u32 *)ctx->framebuffer_address;
|
||||
ac->fb_w = ctx->framebuffer_width;
|
||||
ac->fb_h = ctx->framebuffer_height;
|
||||
ac->fb_pitch = ctx->framebuffer_pitch;
|
||||
ac->api = (const dkm_kernel_api *)ctx->dkm_kernel_api;
|
||||
dsb_block_init(&ac->block, ctx->dkm_kernel_api);
|
||||
}
|
||||
|
||||
#endif /* DESHAB_APP_H */
|
||||
Reference in New Issue
Block a user