1 #ifndef _IMGWRAP_H_ 2 #define _IMGWRAP_H_ 3 4 #include <X11/Xlib.h> 5 #include <Imlib2.h> 6 7 #define _image Imlib_Image 8 #define _font Imlib_Font 9 10 #define SET_BLEND(x) \ 11 imlib_context_set_blend(x) 12 13 #define LOAD_IMAGE(path) \ 14 imlib_load_image(path) 15 16 #define USE_IMAGE(x) \ 17 imlib_context_set_image(x) 18 19 #define IMAGE_WIDTH() \ 20 imlib_image_get_width() 21 22 #define IMAGE_HEIGHT() \ 23 imlib_image_get_height() 24 25 #define IMAGE_TRANSPOSE() \ 26 imlib_image_flip_diagonal() 27 28 #define IMAGE_ENABLE_ALPHA(x) \ 29 imlib_image_set_has_alpha(x) 30 31 #define FREE_IMAGE(x) \ 32 do{ imlib_context_set_image(x); \ 33 imlib_free_image(); }while(0) 34 35 #define USE_DRAWABLE(x) \ 36 imlib_context_set_drawable(x) 37 38 #define IMAGE_FROM_DRAWABLE(x, y, w, h) \ 39 imlib_create_image_from_drawable(0, x, y, w, h, 1) 40 41 #define CLONE_IMAGE() \ 42 imlib_clone_image() 43 44 #define CREATE_IMAGE(w, h) \ 45 imlib_create_image(w, h) 46 47 #define BLEND_IMAGE(img, sx, sy, sw, sh, dx, dy, dw, dh) \ 48 imlib_blend_image_onto_image(img, 0, sx, sy, sw, sh, dx, dy, dw, dh) 49 50 #define RENDER_TO_DRAWABLE(x, y) \ 51 imlib_render_image_on_drawable(x, y) 52 53 #define INIT_IMLIB(disp, vis, cm, draw, cache) \ 54 do{ imlib_context_set_display(disp); \ 55 imlib_context_set_visual(vis); \ 56 imlib_context_set_colormap(cm); \ 57 imlib_context_set_drawable(draw); \ 58 imlib_set_cache_size(cache); }while(0) 59 60 #define ADD_FONT_PATH(x) \ 61 imlib_add_path_to_font_path(x) 62 63 #define LOAD_FONT(x) \ 64 imlib_load_font(x) 65 66 #define USE_FONT(x) \ 67 imlib_context_set_font(x) 68 69 #define FREE_FONT(x) \ 70 do{ imlib_context_set_font(x); \ 71 imlib_free_font(); }while(0) 72 73 #endif /* _IMGWRAP_H_ */ 74