Blame src-nuklear/nuklear_9slice.c

Ivan Mahonin b53a5c
#include "nuklear.h"
Ivan Mahonin b53a5c
#include "nuklear_internal.h"
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
/* ===============================================================
Ivan Mahonin b53a5c
 *
Ivan Mahonin b53a5c
 *                          9-SLICE
Ivan Mahonin b53a5c
 *
Ivan Mahonin b53a5c
 * ===============================================================*/
Ivan Mahonin b53a5c
NK_API struct nk_nine_slice
Ivan Mahonin b53a5c
nk_sub9slice_ptr(void *ptr, nk_ushort w, nk_ushort h, struct nk_rect rgn, nk_ushort l, nk_ushort t, nk_ushort r, nk_ushort b)
Ivan Mahonin b53a5c
{
Ivan Mahonin b53a5c
    struct nk_nine_slice s;
Ivan Mahonin b53a5c
    struct nk_image *i = &s.img;
Ivan Mahonin b53a5c
    nk_zero(&s, sizeof(s));
Ivan Mahonin b53a5c
    i->handle.ptr = ptr;
Ivan Mahonin b53a5c
    i->w = w; i->h = h;
Ivan Mahonin b53a5c
    i->region[0] = (nk_ushort)rgn.x;
Ivan Mahonin b53a5c
    i->region[1] = (nk_ushort)rgn.y;
Ivan Mahonin b53a5c
    i->region[2] = (nk_ushort)rgn.w;
Ivan Mahonin b53a5c
    i->region[3] = (nk_ushort)rgn.h;
Ivan Mahonin b53a5c
    s.l = l; s.t = t; s.r = r; s.b = b;
Ivan Mahonin b53a5c
    return s;
Ivan Mahonin b53a5c
}
Ivan Mahonin b53a5c
NK_API struct nk_nine_slice
Ivan Mahonin b53a5c
nk_sub9slice_id(int id, nk_ushort w, nk_ushort h, struct nk_rect rgn, nk_ushort l, nk_ushort t, nk_ushort r, nk_ushort b)
Ivan Mahonin b53a5c
{
Ivan Mahonin b53a5c
    struct nk_nine_slice s;
Ivan Mahonin b53a5c
    struct nk_image *i = &s.img;
Ivan Mahonin b53a5c
    nk_zero(&s, sizeof(s));
Ivan Mahonin b53a5c
    i->handle.id = id;
Ivan Mahonin b53a5c
    i->w = w; i->h = h;
Ivan Mahonin b53a5c
    i->region[0] = (nk_ushort)rgn.x;
Ivan Mahonin b53a5c
    i->region[1] = (nk_ushort)rgn.y;
Ivan Mahonin b53a5c
    i->region[2] = (nk_ushort)rgn.w;
Ivan Mahonin b53a5c
    i->region[3] = (nk_ushort)rgn.h;
Ivan Mahonin b53a5c
    s.l = l; s.t = t; s.r = r; s.b = b;
Ivan Mahonin b53a5c
    return s;
Ivan Mahonin b53a5c
}
Ivan Mahonin b53a5c
NK_API struct nk_nine_slice
Ivan Mahonin b53a5c
nk_sub9slice_handle(nk_handle handle, nk_ushort w, nk_ushort h, struct nk_rect rgn, nk_ushort l, nk_ushort t, nk_ushort r, nk_ushort b)
Ivan Mahonin b53a5c
{
Ivan Mahonin b53a5c
    struct nk_nine_slice s;
Ivan Mahonin b53a5c
    struct nk_image *i = &s.img;
Ivan Mahonin b53a5c
    nk_zero(&s, sizeof(s));
Ivan Mahonin b53a5c
    i->handle = handle;
Ivan Mahonin b53a5c
    i->w = w; i->h = h;
Ivan Mahonin b53a5c
    i->region[0] = (nk_ushort)rgn.x;
Ivan Mahonin b53a5c
    i->region[1] = (nk_ushort)rgn.y;
Ivan Mahonin b53a5c
    i->region[2] = (nk_ushort)rgn.w;
Ivan Mahonin b53a5c
    i->region[3] = (nk_ushort)rgn.h;
Ivan Mahonin b53a5c
    s.l = l; s.t = t; s.r = r; s.b = b;
Ivan Mahonin b53a5c
    return s;
Ivan Mahonin b53a5c
}
Ivan Mahonin b53a5c
NK_API struct nk_nine_slice
Ivan Mahonin b53a5c
nk_nine_slice_handle(nk_handle handle, nk_ushort l, nk_ushort t, nk_ushort r, nk_ushort b)
Ivan Mahonin b53a5c
{
Ivan Mahonin b53a5c
    struct nk_nine_slice s;
Ivan Mahonin b53a5c
    struct nk_image *i = &s.img;
Ivan Mahonin b53a5c
    nk_zero(&s, sizeof(s));
Ivan Mahonin b53a5c
    i->handle = handle;
Ivan Mahonin b53a5c
    i->w = 0; i->h = 0;
Ivan Mahonin b53a5c
    i->region[0] = 0;
Ivan Mahonin b53a5c
    i->region[1] = 0;
Ivan Mahonin b53a5c
    i->region[2] = 0;
Ivan Mahonin b53a5c
    i->region[3] = 0;
Ivan Mahonin b53a5c
    s.l = l; s.t = t; s.r = r; s.b = b;
Ivan Mahonin b53a5c
    return s;
Ivan Mahonin b53a5c
}
Ivan Mahonin b53a5c
NK_API struct nk_nine_slice
Ivan Mahonin b53a5c
nk_nine_slice_ptr(void *ptr, nk_ushort l, nk_ushort t, nk_ushort r, nk_ushort b)
Ivan Mahonin b53a5c
{
Ivan Mahonin b53a5c
    struct nk_nine_slice s;
Ivan Mahonin b53a5c
    struct nk_image *i = &s.img;
Ivan Mahonin b53a5c
    nk_zero(&s, sizeof(s));
Ivan Mahonin b53a5c
    NK_ASSERT(ptr);
Ivan Mahonin b53a5c
    i->handle.ptr = ptr;
Ivan Mahonin b53a5c
    i->w = 0; i->h = 0;
Ivan Mahonin b53a5c
    i->region[0] = 0;
Ivan Mahonin b53a5c
    i->region[1] = 0;
Ivan Mahonin b53a5c
    i->region[2] = 0;
Ivan Mahonin b53a5c
    i->region[3] = 0;
Ivan Mahonin b53a5c
    s.l = l; s.t = t; s.r = r; s.b = b;
Ivan Mahonin b53a5c
    return s;
Ivan Mahonin b53a5c
}
Ivan Mahonin b53a5c
NK_API struct nk_nine_slice
Ivan Mahonin b53a5c
nk_nine_slice_id(int id, nk_ushort l, nk_ushort t, nk_ushort r, nk_ushort b)
Ivan Mahonin b53a5c
{
Ivan Mahonin b53a5c
    struct nk_nine_slice s;
Ivan Mahonin b53a5c
    struct nk_image *i = &s.img;
Ivan Mahonin b53a5c
    nk_zero(&s, sizeof(s));
Ivan Mahonin b53a5c
    i->handle.id = id;
Ivan Mahonin b53a5c
    i->w = 0; i->h = 0;
Ivan Mahonin b53a5c
    i->region[0] = 0;
Ivan Mahonin b53a5c
    i->region[1] = 0;
Ivan Mahonin b53a5c
    i->region[2] = 0;
Ivan Mahonin b53a5c
    i->region[3] = 0;
Ivan Mahonin b53a5c
    s.l = l; s.t = t; s.r = r; s.b = b;
Ivan Mahonin b53a5c
    return s;
Ivan Mahonin b53a5c
}
Ivan Mahonin b53a5c
NK_API int
Ivan Mahonin b53a5c
nk_nine_slice_is_sub9slice(const struct nk_nine_slice* slice)
Ivan Mahonin b53a5c
{
Ivan Mahonin b53a5c
    NK_ASSERT(slice);
Ivan Mahonin b53a5c
    return !(slice->img.w == 0 && slice->img.h == 0);
Ivan Mahonin b53a5c
}
Ivan Mahonin b53a5c