示例#1
0
文件: letter.cpp 项目: ideal/letter
void Letter::showLetter()
{
    letterEdit = new QTextEdit(this);
    letterEdit->setReadOnly(true);
    letterEdit->setAlignment(Qt::AlignHCenter);
    letterEdit->setFontPointSize(12);
    QPalette bgPalette;
    QPixmap  bgPixmap(":/data/letter.png");
    bgPalette.setBrush(QPalette::Base, QBrush(bgPixmap));
    letterEdit->setPalette(bgPalette);
    letterTimer = new QTimer(this);
    connect(letterTimer, SIGNAL(timeout()), this, SLOT(appendLetter()));
    this->layout()->addWidget(letterEdit);
    letterTimer->start(200);

    keySequence.clear();
    connect(this, SIGNAL(keyMatched(QByteArray)), this, SLOT(fireworks()));
}
示例#2
0
文件: font.c 项目: Azema/ledmatrix
/**
 * Load a font from a font file
 *
 * @param filename Font filename
 *
 * @return Font struct
 */
FONT* loadFont(char* filename) {
    FONT* font = (FONT*)malloc(sizeof(FONT));
    LETTER* currentLetter=0;
    wchar_t wideBuffer[10];
    mbstate_t conversionState;
    font->length=0;
    font->fontHeight=1;
    char* buffer = (char*)malloc(200);
    const char* convStr;
    size_t len;
	unsigned int i;
    FILE* f = fopen(filename, "r");
	if (!f) {
		fprintf(stderr, "  * Could not open font %s\n", filename);
		return 0;
	}
	fprintf(stdout, "  * Opening font %s", filename);
	fflush(stdout);
        while (!feof(f)) {
                getline(&buffer, &len, f);
                trim(buffer);
                if (strlen(buffer)>0) {
                        switch (buffer[0]) {
                                case '[':
                                    convStr = buffer;
                                    memset(&conversionState, 0, sizeof(mbstate_t));
                                    mbsrtowcs(wideBuffer, &convStr, strlen(buffer), &conversionState);
                                    currentLetter = appendLetter(font);
                                    currentLetter->letter = wideBuffer[1];
                                    break;
                                case 'b':
                                    appendLetterData(currentLetter, fromBinary(&buffer[1]));
                                    break;
                                default: break;
                        }
                }
        }
        printf("Done\n");
        fclose(f);
        free(buffer);
	fprintf(stdout, " => %d characteres loaded\n", font->length);
	return font;
}