Слияние кода завершено, страница обновится автоматически
#ifndef BlinkerText_H
#define BlinkerText_H
#include "../Blinker/BlinkerConfig.h"
#include "../Blinker/BlinkerUtility.h"
class BlinkerText
{
public :
BlinkerText(char _name[])
{
textName = (char*)malloc((strlen(_name)+1)*sizeof(char));
strcpy(textName, _name);
}
template <typename T>
void print(T _text)
{
// if (isnan(_text)) return;
String textData = BLINKER_F("{\"");
textData += BLINKER_F(BLINKER_CMD_TEXT);
textData += BLINKER_F("\":\"");
textData += STRING_format(_text);
textData += BLINKER_F("\"");
if (_fresh >> 0 & 0x01)
{
textData += BLINKER_F(",\"");
textData += BLINKER_F(BLINKER_CMD_ICON);
textData += BLINKER_F("\":\"");
textData += nicon;
textData += BLINKER_F("\"");
free(nicon);
}
if (_fresh >> 1 & 0x01)
{
textData += BLINKER_F(",\"");
textData += BLINKER_F(BLINKER_CMD_COLOR);
textData += BLINKER_F("\":\"");
textData += ncolor;
textData += BLINKER_F("\"");
free(ncolor);
}
textData += BLINKER_F("}");
_fresh = 0;
Blinker.printArray(textName, textData);
}
template <typename T1, typename T2>
void print(T1 _text1, T2 _text2)
{
// if (isnan(_text1) || isnan(_text2)) return;
String textData = BLINKER_F("{\"");
textData += BLINKER_F(BLINKER_CMD_TEXT);
textData += BLINKER_F("\":\"");
textData += STRING_format(_text1);
textData += BLINKER_F("\",\"");
textData += BLINKER_F(BLINKER_CMD_TEXT1);
textData += BLINKER_F("\":\"");
textData += STRING_format(_text2);
textData += BLINKER_F("\"");
if (_fresh >> 0 & 0x01)
{
textData += BLINKER_F(",\"");
textData += BLINKER_F(BLINKER_CMD_ICON);
textData += BLINKER_F("\":\"");
textData += nicon;
textData += BLINKER_F("\"");
free(nicon);
}
if (_fresh >> 1 & 0x01)
{
textData += BLINKER_F(",\"");
textData += BLINKER_F(BLINKER_CMD_COLOR);
textData += BLINKER_F("\":\"");
textData += ncolor;
textData += BLINKER_F("\"");
free(ncolor);
}
textData += BLINKER_F("}");
_fresh = 0;
Blinker.printArray(textName, textData);
}
void icon(const String & _icon)
{
if (_fresh >> 0 & 0x01) free(nicon);
nicon = (char*)malloc((_icon.length()+1)*sizeof(char));
strcpy(nicon, _icon.c_str());
_fresh |= 0x01 << 0;
}
void color(const String & _clr)
{
if (_fresh >> 1 & 0x01) free(ncolor);
ncolor = (char*)malloc((_clr.length()+1)*sizeof(char));
strcpy(ncolor, _clr.c_str());
_fresh |= 0x01 << 1;
}
private :
char * nicon;// = "";
char * ncolor;// = "";
char * textName;
uint8_t _fresh = 0;
};
#endif
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )