improve tooltips
parent
c8b21e86b5
commit
b9e29dd7ab
|
@ -3,7 +3,7 @@
|
||||||
#include "world/blocks.h"
|
#include "world/blocks.h"
|
||||||
#include "models/items.h"
|
#include "models/items.h"
|
||||||
|
|
||||||
extern void tooltip_show(const char* name, float xpos, float ypos);
|
extern void tooltip_show_cursor(const char* name);
|
||||||
|
|
||||||
void ToolAssetInspector(void) {
|
void ToolAssetInspector(void) {
|
||||||
if (nk_begin(dev_ui, "Asset Inspector", nk_rect(400, 100, 240, 800),
|
if (nk_begin(dev_ui, "Asset Inspector", nk_rect(400, 100, 240, 800),
|
||||||
|
@ -19,8 +19,7 @@ void ToolAssetInspector(void) {
|
||||||
nk_labelf(dev_ui, NK_TEXT_LEFT, "spawnable entity: %s", entity_spawn_provided(i) ? "true" : "false");
|
nk_labelf(dev_ui, NK_TEXT_LEFT, "spawnable entity: %s", entity_spawn_provided(i) ? "true" : "false");
|
||||||
|
|
||||||
if (nk_button_label(dev_ui, "show tooltip")) {
|
if (nk_button_label(dev_ui, "show tooltip")) {
|
||||||
Vector2 mpos = GetMousePosition();
|
tooltip_show_cursor(asset_names[i]);
|
||||||
tooltip_show(asset_names[i] , mpos.x + 5, mpos.y + 5);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// draw block
|
// draw block
|
||||||
|
|
|
@ -85,12 +85,16 @@ tooltip *tooltip__find_desc(const char *name) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tooltip_clear(void);
|
||||||
|
|
||||||
void tooltip_show(const char* name, float xpos, float ypos) {
|
void tooltip_show(const char* name, float xpos, float ypos) {
|
||||||
if (!tooltips) return;
|
if (!tooltips) return;
|
||||||
|
|
||||||
tooltip *desc = tooltip__find_desc(name);
|
tooltip *desc = tooltip__find_desc(name);
|
||||||
if (!name) return;
|
if (!name) return;
|
||||||
|
|
||||||
|
tooltip_clear();
|
||||||
|
|
||||||
main_tooltip = (tooltip_node) {
|
main_tooltip = (tooltip_node) {
|
||||||
.xpos = xpos,
|
.xpos = xpos,
|
||||||
.ypos = ypos,
|
.ypos = ypos,
|
||||||
|
@ -99,6 +103,11 @@ void tooltip_show(const char* name, float xpos, float ypos) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tooltip_show_cursor(const char* name) {
|
||||||
|
Vector2 mpos = GetMousePosition();
|
||||||
|
tooltip_show(name, mpos.x + 15, mpos.y + 15);
|
||||||
|
}
|
||||||
|
|
||||||
void tooltip__clear_node(tooltip_node *node) {
|
void tooltip__clear_node(tooltip_node *node) {
|
||||||
if (node->next) {
|
if (node->next) {
|
||||||
tooltip__clear_node(node->next);
|
tooltip__clear_node(node->next);
|
||||||
|
@ -132,8 +141,8 @@ void tooltip__draw_node(tooltip_node *node) {
|
||||||
if (node->next) tooltip__clear_node(node->next);
|
if (node->next) tooltip__clear_node(node->next);
|
||||||
if (!node->next) node->next = zpl_malloc(sizeof(tooltip_node));
|
if (!node->next) node->next = zpl_malloc(sizeof(tooltip_node));
|
||||||
*node->next = (tooltip_node) {
|
*node->next = (tooltip_node) {
|
||||||
.xpos = mpos.x+5,
|
.xpos = mpos.x+15,
|
||||||
.ypos = mpos.y+5,
|
.ypos = mpos.y+15,
|
||||||
.desc = tooltip__find_desc(desc->links[i]),
|
.desc = tooltip__find_desc(desc->links[i]),
|
||||||
.next = 0
|
.next = 0
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue