Blame src/nuklear-heli.h

Ivan Mahonin b53a5c
#ifndef HELI_NUKLEAR_HELI_H
Ivan Mahonin b53a5c
#define HELI_NUKLEAR_HELI_H
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
#include "animation.h"
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
#include <math.h>
Ivan Mahonin b53a5c
#include <stdio.h>
Ivan Mahonin b53a5c
#include <assert.h>
Ivan Mahonin b53a5c
#include <stdlib.h>
Ivan Mahonin b53a5c
#include <string.h>
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
#define NK_INCLUDE_FIXED_TYPES
Ivan Mahonin b53a5c
#define NK_INCLUDE_STANDARD_IO
Ivan Mahonin b53a5c
#define NK_INCLUDE_STANDARD_VARARGS
Ivan Mahonin b53a5c
#define NK_INCLUDE_DEFAULT_ALLOCATOR
Ivan Mahonin b53a5c
#include "nuklear.h"
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
Ivan Mahonin 3e5549
enum {
Ivan Mahonin 3e5549
	NKH_INPUT_MOUSE_MOTION     = 1 << 0,
Ivan Mahonin 3e5549
	NKH_INPUT_MOUSE_BUTTON     = 1 << 1,
Ivan Mahonin 3e5549
	NKH_INPUT_MOUSE_SCROLL     = 1 << 2,
Ivan Mahonin 3e5549
	NKH_INPUT_MOUSE            = NKH_INPUT_MOUSE_MOTION
Ivan Mahonin 3e5549
	                           | NKH_INPUT_MOUSE_BUTTON
Ivan Mahonin 3e5549
	                           | NKH_INPUT_MOUSE_SCROLL,
Ivan Mahonin 3e5549
	NKH_INPUT_KEYBOARD_KEY     = 1 << 3,
Ivan Mahonin 3e5549
	NKH_INPUT_KEYBOARD_TEXT    = 1 << 4,
Ivan Mahonin 3e5549
	NKH_INPUT_KEYBOARD_TEXT_CAPTURE = 1 << 5,
Ivan Mahonin 3e5549
	NKH_INPUT_KEYBOARD         = NKH_INPUT_KEYBOARD_KEY
Ivan Mahonin 3e5549
	                           | NKH_INPUT_KEYBOARD_TEXT
Ivan Mahonin 3e5549
	                           | NKH_INPUT_KEYBOARD_TEXT_CAPTURE,
Ivan Mahonin 3e5549
	NKH_INPUT_DAFAULT          = NKH_INPUT_MOUSE
Ivan Mahonin 3e5549
	                           | NKH_INPUT_KEYBOARD,
Ivan Mahonin 3e5549
	NKH_INPUT_RELEASE_MOUSE    = 1 << 6,
Ivan Mahonin 3e5549
	NKH_INPUT_RELEASE_KEYBOARD = 1 << 7,
Ivan Mahonin 3e5549
	NKH_INPUT_RELEASE          = NKH_INPUT_RELEASE_MOUSE
Ivan Mahonin 3e5549
	                           | NKH_INPUT_RELEASE_KEYBOARD,
Ivan Mahonin 3e5549
};
Ivan Mahonin 3e5549
Ivan Mahonin 3e5549
Ivan Mahonin b53a5c
typedef struct {
Ivan Mahonin b53a5c
  struct nk_context context;
Ivan Mahonin b53a5c
  struct nk_user_font font;
Ivan Mahonin cafd47
  int cliprect[4];
Ivan Mahonin 3e5549
  int keys[NK_KEY_MAX];
Ivan Mahonin 3e5549
  int buttons[NK_BUTTON_MAX];
Ivan Mahonin b53a5c
} nk_heli;
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
unsigned int nk_color_to_heli(struct nk_color c);
Ivan Mahonin b53a5c
struct nk_color nk_color_from_heli(unsigned int c);
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
nk_bool nk_heli_init(nk_heli *n, double fontSize);
Ivan Mahonin b53a5c
void nk_heli_deinit(nk_heli *n);
Ivan Mahonin b53a5c
struct nk_image nk_heli_image(Animation anim, int width, int height);
Ivan Mahonin cafd47
void nk_heli_cliprect(nk_heli *n, int x, int y, int w, int h);
Ivan Mahonin 3e5549
void nk_heli_input_ex(nk_heli *n, unsigned int flags);
Ivan Mahonin b53a5c
void nk_heli_input(nk_heli *n);
Ivan Mahonin b53a5c
void nk_heli_draw(nk_heli *n);
Ivan Mahonin b53a5c
void nk_heli_process(nk_heli *n);
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
Ivan Mahonin b53a5c
#endif