#ifndef __KHIMAIRA_RESCACHE_H
#define __KHIMAIRA_RESCACHE_H
#include<khdefs.h>
KHMEXP void KHMAPI
khui_init_rescache(void);
KHMEXP void KHMAPI
khui_exit_rescache(void);
KHMEXP void KHMAPI
khui_cache_bitmap(UINT id, HBITMAP hbm);
KHMEXP HBITMAP KHMAPI
khui_get_cached_bitmap(UINT id);
typedef struct khui_ilist_t {
int cx;
int cy;
int n;
int ng;
int nused;
HBITMAP img;
HBITMAP mask;
int *idlist;
} khui_ilist;
typedef struct khui_bitmap_t {
HBITMAP hbmp;
int cx;
int cy;
} khui_bitmap;
KHMEXP void KHMAPI
khui_bitmap_from_hbmp(khui_bitmap * kbm, HBITMAP hbm);
KHMEXP void KHMAPI
khui_delete_bitmap(khui_bitmap * kbm);
KHMEXP void KHMAPI
khui_draw_bitmap(HDC hdc, int x, int y, khui_bitmap * kbm);
KHMEXP khui_ilist * KHMAPI
khui_create_ilist(int cx, int cy, int n, int ng, int opt);
KHMEXP BOOL KHMAPI
khui_delete_ilist(khui_ilist * il);
KHMEXP int KHMAPI
khui_ilist_add_masked(khui_ilist * il, HBITMAP hbm, COLORREF cbkg);
KHMEXP int KHMAPI
khui_ilist_add_masked_id(khui_ilist *il, HBITMAP hbm,
COLORREF cbkg, int id);
KHMEXP int KHMAPI
khui_ilist_lookup_id(khui_ilist *il, int id);
KHMEXP void KHMAPI
khui_ilist_draw(khui_ilist * il, int idx, HDC dc, int x, int y, int opt);
KHMEXP void KHMAPI
khui_ilist_draw_bg(khui_ilist * il, int idx, HDC dc, int x, int y,
int opt, COLORREF bgcolor);
#define khui_ilist_draw_id(il, id, dc, x, y, opt) \
khui_ilist_draw((il),khui_ilist_lookup_id((il),(id)),(dc),(x),(y),(opt))
#define KHUI_SMICON_CX 16
#define KHUI_SMICON_CY 16
#endif