omi-eikyo/src/i_gui.h

41 lines
963 B
C

// Copyright © 2017 Project Golan, all rights reserved.
// See COPYING for more information.
#ifndef i_gui_h
#define i_gui_h
#include "m_types.h"
#include "i_ui.h"
#include <Doominati.h>
#define I_GUI_button(g, ...) I_GUI_ButtonFId(g, I_lineHash, __VA_ARGS__)
// Extern Functions ----------------------------------------------------------|
void I_GUI_Begin(struct I_guictx *g);
void I_GUI_End (struct I_guictx *g);
// Types ---------------------------------------------------------------------|
typedef struct I_guictx
{
__prop begin {call: I_GUI_Begin(this)}
__prop end {call: I_GUI_End (this)}
I_objid hot, act;
DGE_Point2I cr;
// TODO: make these a bitfield when david adds Bget_W translation
bool lc, llc;
bool rc, lrc;
bool open;
} I_guictx;
// Types ---------------------------------------------------------------------|
bool I_GUI_ButtonFId(struct I_guictx *g, I_objid id, int x, int y, char const *text);
#endif