1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/coloz-blinker-library

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
BlinkerText.h 3.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
某10 Отправлено 6 лет назад 4bf677d
#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 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/coloz-blinker-library.git
git@gitlife.ru:oschina-mirror/coloz-blinker-library.git
oschina-mirror
coloz-blinker-library
coloz-blinker-library
master