2014-03-28 19:33:20 +00:00
|
|
|
/**
|
|
|
|
* @file internal.h
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "bemenu.h"
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Internal bmItem struct that is not exposed to public.
|
|
|
|
* Represents a single item in menu.
|
|
|
|
*/
|
|
|
|
struct _bmItem {
|
|
|
|
char *text;
|
2014-03-28 20:14:13 +00:00
|
|
|
};
|
2014-03-28 19:33:20 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Internal bmRenderApi struct.
|
|
|
|
* Renderers should be able to fill this one as they see fit.
|
|
|
|
*/
|
|
|
|
struct _bmRenderApi {
|
|
|
|
void (*render)(struct _bmItem **items, unsigned int nmemb);
|
|
|
|
void (*free)(void);
|
2014-03-28 20:14:13 +00:00
|
|
|
};
|
2014-03-28 19:33:20 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Internal bmMenu struct that is not exposed to public.
|
|
|
|
*/
|
|
|
|
struct _bmMenu {
|
|
|
|
bmDrawMode drawMode;
|
|
|
|
struct _bmRenderApi renderApi;
|
|
|
|
struct _bmItem **items;
|
|
|
|
unsigned int itemsCount;
|
2014-03-28 20:14:13 +00:00
|
|
|
};
|
2014-03-28 19:33:20 +00:00
|
|
|
|
|
|
|
/* vim: set ts=8 sw=4 tw=0 :*/
|