|
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 |
|