wrappers for EsDoubleParse; fix middle click close button

This commit is contained in:
nakst 2021-09-30 08:27:26 +01:00
parent 621c9375a8
commit ac11b40f19
6 changed files with 29 additions and 2 deletions

View File

@ -846,7 +846,7 @@ int WindowTabMessage(EsElement *element, EsMessage *message) {
}
EsMenuShow(menu);
} else if (message->type == ES_MSG_MOUSE_MIDDLE_UP && (element->state & UI_STATE_HOVERED)) {
} else if (message->type == ES_MSG_MOUSE_MIDDLE_UP && ((element->state & UI_STATE_HOVERED) || (tab->closeButton->state & UI_STATE_HOVERED))) {
WindowTabClose(tab);
} else if (message->type == ES_MSG_REORDER_ITEM_TEST) {
} else {

View File

@ -2224,7 +2224,9 @@ function float EsCRTasinf(float x);
function double EsCRTatan2(double y, double x);
function float EsCRTatan2f(float y, float x);
function float EsCRTatanf(float x);
function double EsCRTatod(const char *string);
function int EsCRTatoi(const char *string);
function float EsCRTatof(const char *string);
function void *EsCRTbsearch(const void *key, const void *base, size_t num, size_t size, EsCRTComparisonCallback compar);
function void *EsCRTcalloc(size_t num, size_t size);
function double EsCRTcbrt(double x);
@ -2279,6 +2281,8 @@ function int EsCRTstrncmp(const char *s1, const char *s2, size_t n);
function char *EsCRTstrncpy(char *dest, const char *src, size_t n);
function size_t EsCRTstrnlen(const char *s, size_t maxlen);
function char *EsCRTstrstr(const char *haystack, const char *needle);
function double EsCRTstrtod(const char *nptr, char **endptr);
function float EsCRTstrtof(const char *nptr, char **endptr);
function long EsCRTstrtol(const char *nptr, char **endptr, int base);
function uint64_t EsCRTstrtoul(const char *nptr, char **endptr, int base);
function int EsCRTtolower(int c);

View File

@ -329,6 +329,8 @@ extern "C" void *EsBufferWrite(EsBuffer *buffer, const void *source, size_t writ
#define atan2 EsCRTatan2
#define atan2f EsCRTatan2f
#define atanf EsCRTatanf
#define atod EsCRTatod
#define atof EsCRTatof
#define atoi EsCRTatoi
#define bsearch EsCRTbsearch
#define calloc EsCRTcalloc
@ -382,6 +384,8 @@ extern "C" void *EsBufferWrite(EsBuffer *buffer, const void *source, size_t writ
#define strncpy EsCRTstrncpy
#define strnlen EsCRTstrnlen
#define strstr EsCRTstrstr
#define strtod EsCRTstrtod
#define strtof EsCRTstrtof
#define strtol EsCRTstrtol
#define strtoul EsCRTstrtoul
#define tolower EsCRTtolower

View File

@ -2102,6 +2102,22 @@ uint64_t EsCRTstrtoul(const char *nptr, char **endptr, int base) {
return value;
}
float EsCRTstrtof(const char *nptr, char **endptr) {
return EsDoubleParse(nptr, -1, endptr);
}
double EsCRTstrtod(const char *nptr, char **endptr) {
return EsDoubleParse(nptr, -1, endptr);
}
float EsCRTatof(const char *nptr) {
return EsDoubleParse(nptr, -1, nullptr);
}
double EsCRTatod(const char *nptr) {
return EsDoubleParse(nptr, -1, nullptr);
}
size_t EsCRTstrcspn(const char *s, const char *reject) {
size_t count = 0;

View File

@ -471,3 +471,7 @@ EsCRTfmod=469
EsCRTpow=470
EsCRTcbrt=471
EsCRTcbrtf=472
EsCRTatod=473
EsCRTatof=474
EsCRTstrtod=475
EsCRTstrtof=476

View File

@ -21,7 +21,6 @@
// TODO Export.
// Additional features:
// TODO Selecting and moving multiple objects.
// TODO Resizing objects?
// TODO Find object in graph by name.
// TODO Prototyping display. (Multiple instances of each object can be placed, resized and interacted with).