int main(void) { u8g_uint_t w,h; u8g_t u8g; u8g_Init(&u8g, &u8g_dev_stdout); u8g_FirstPage(&u8g); do { u8g_SetColorIndex(&u8g, 1); u8g_SetFont(&u8g, u8g_font_10x20); w = u8g_GetFontBBXWidth(&u8g); h = u8g_GetFontBBXHeight(&u8g); u8g_DrawStr(&u8g, 0, h, 0, "ABCgdef"); //u8g_DrawStr(&u8g, 0, 5, 0, "g"); //u8g_DrawStr(&u8g, 10, 7, 0, "g"); //u8g_DrawStr(&u8g, 20, 9, 0, "g"); //u8g_DrawFrame(&u8g, 2, 2, 9, 3); //u8g_DrawFrame(&u8g, 0, 0, 13, 7); //u8g_DrawHLine( &u8g, 0, 16, 50 ); u8g_SetColorIndex(&u8g, 0); //u8g_DrawHLine( &u8g, 0, 17, 50 ); }while( u8g_NextPage(&u8g) ); return 0; }
int main(void) { u8g_uint_t w,h; u8g_t u8g; u8g_Init(&u8g, &u8g_dev_sdl_1bit); u8g_SetCursorFont(&u8g, u8g_font_cursor); u8g_SetCursorStyle(&u8g, 34); u8g_SetCursorColor(&u8g, 1, 0); u8g_EnableCursor(&u8g); for(;;) { u8g_FirstPage(&u8g); do { u8g_SetColorIndex(&u8g, 1); u8g_SetFont(&u8g, u8g_font_10x20); //u8g_SetFont(&u8g, u8g_font_fur17); w = u8g_GetFontBBXWidth(&u8g); h = u8g_GetFontBBXHeight(&u8g); //u8g_DrawStr(&u8g, 0, 2*h, 0, "ABCgdef"); u8g_DrawStrDir(&u8g, 0, 5, 0, "g"); u8g_DrawStrDir(&u8g, 10, 7, 0, "g"); u8g_DrawStrDir(&u8g, 20, 9, 0, "g"); u8g_DrawStrDir(&u8g, 20, 9, 0, "ga"); //u8g_DrawStr(&u8g, 40, 9, 0, "g"); u8g_DrawStr(&u8g, 70+3, 25, "gabc"); u8g_DrawStr90(&u8g, 70, 25+3, "gabc"); u8g_DrawStr180(&u8g, 70-3, 25, "gabc"); u8g_DrawStr270(&u8g, 70, 25-3, "gabc"); //u8g_DrawFrame(&u8g, 2, 2, 9, 3); //u8g_DrawFrame(&u8g, 0, 0, 13, 7); //u8g_DrawHLine( &u8g, 0, 16, 50 ); u8g_SetColorIndex(&u8g, 1); u8g_DrawHLine( &u8g, 0, 3, 127 ); u8g_SetColorIndex(&u8g, 0); u8g_DrawHLine( &u8g, 0, 4, 127 ); }while( u8g_NextPage(&u8g) ); while( uiStep(&u8g) == 0 ) ; printf("%d %d\n", cursor_x, cursor_y); u8g_SetCursorPos(&u8g, cursor_x, cursor_y); } return 0; }
int main(void) { u8g_uint_t w,h; u8g_uint_t r, g, b, x, y; u8g_t u8g; u8g_Init(&u8g, &u8g_dev_sdl_8bit); u8g_FirstPage(&u8g); do { u8g_SetFont(&u8g, u8g_font_10x20); u8g_SetFont(&u8g, u8g_font_fur25); /* for ( x = 0; x < 128; x++ ) for ( y = 0; y < 64; y++ ) { u8g_SetColorIndex(&u8g, ((x&3)+y*4) & 255); u8g_DrawPixel(&u8g, x, y); } */ w = 4; h = 4; for( b = 0; b < 4; b++ ) for( g = 0; g < 8; g++ ) for( r = 0; r < 8; r++ ) { u8g_SetColorIndex(&u8g, (r<<5) | (g<<2) | b ); u8g_DrawBox(&u8g, g*w + b*w*8, r*h, w, h); u8g_DrawBox(&u8g, g*w + b*w*8, r*h+32, w, h); } w = u8g_GetFontBBXWidth(&u8g); h = u8g_GetFontBBXHeight(&u8g); u8g_SetColorIndex(&u8g, 1); u8g_DrawStr(&u8g, 20, 40, "U8glib"); u8g_SetColorIndex(&u8g, 2); u8g_DrawStr(&u8g, 20+1, 40+1, "U8glib"); u8g_SetColorIndex(&u8g, 3); u8g_DrawStr(&u8g, 20+2, 40+2, "U8glib"); }while( u8g_NextPage(&u8g) ); while( u8g_sdl_get_key() < 0 ) ; return 0; }
int xmain(void) { u8g_uint_t w,h; u8g_t u8g; u8g_Init(&u8g, &u8g_dev_sdl_1bit); u8g_FirstPage(&u8g); u8g_SetCursorFont(&u8g, u8g_font_cursor); do { u8g_SetColorIndex(&u8g, 1); u8g_SetFont(&u8g, u8g_font_9x18); //u8g_SetFont(&u8g, u8g_font_fur17); w = u8g_GetFontBBXWidth(&u8g); h = u8g_GetFontBBXHeight(&u8g); //u8g_DrawStr(&u8g, 0, 2*h, 0, "ABCgdef"); u8g_DrawStrDir(&u8g, 0, 5, 0, "g"); u8g_DrawStrDir(&u8g, 10, 7, 0, "g"); u8g_DrawStrDir(&u8g, 20, 9, 0, "g"); u8g_DrawStrDir(&u8g, 20, 9, 0, "ga"); //u8g_DrawStr(&u8g, 40, 9, 0, "g"); u8g_DrawStr(&u8g, 70+3, 25, "gabc"); u8g_DrawStr90(&u8g, 70, 25+3, "gabc"); u8g_DrawStr180(&u8g, 70-3, 25, "gabc"); u8g_DrawStr270(&u8g, 70, 25-3, "gabc"); //u8g_DrawFrame(&u8g, 2, 2, 9, 3); //u8g_DrawFrame(&u8g, 0, 0, 13, 7); //u8g_DrawHLine( &u8g, 0, 16, 50 ); u8g_SetColorIndex(&u8g, 1); u8g_DrawHLine( &u8g, 0, 3, 127 ); u8g_SetColorIndex(&u8g, 0); u8g_DrawHLine( &u8g, 0, 4, 127 ); }while( u8g_NextPage(&u8g) ); while( u8g_sdl_get_key() < 0 ) ; return 0; }
ICACHE_FLASH_ATTR static void draw_normal(DrawingState *state) { uint8_t buf[50]; u8g_SetColorIndex(&(state->u8g), 1); drawingRefreshIcons(state); uint8_t iconWidth = 40; //current measured temperature u8g_SetFont(&(state->u8g), u8g_font_helvB18); u8g_SetFontPosTop(&(state->u8g)); os_sprintf(buf, "%d", state->currentTemp / 100); uint8_t currentTempWidth = u8g_GetStrWidth(&(state->u8g), buf); uint8_t cWidth = u8g_GetStrWidth(&(state->u8g), "C"); uint8_t strHeight = u8g_GetFontAscent(&(state->u8g)); u8g_SetFont(&(state->u8g), u8g_font_helvR08); u8g_SetFontPosBaseline(&(state->u8g)); os_sprintf(buf, "%02d", abs(state->currentTemp % 100)); uint8_t webTempWidth = u8g_GetStrWidth(&(state->u8g), buf); u8g_DrawStr(&(state->u8g), iconWidth + (128 - iconWidth) / 2 - (currentTempWidth + cWidth + webTempWidth) / 2 + currentTempWidth, 16 + strHeight, buf); u8g_SetFont(&(state->u8g), u8g_font_helvB18); u8g_SetFontPosTop(&(state->u8g)); os_sprintf(buf, "%d", state->currentTemp / 100); u8g_DrawStr(&(state->u8g), iconWidth + (128 - iconWidth) / 2 - (currentTempWidth + cWidth + webTempWidth) / 2, 16, buf); u8g_DrawStr(&(state->u8g), iconWidth + (128 - iconWidth) / 2 - (currentTempWidth + cWidth + webTempWidth) / 2 + currentTempWidth + webTempWidth, 16, "C"); //web text if (state->weather.code != 255) { u8g_SetFont(&(state->u8g), u8g_font_6x10); u8g_SetFontPosBottom(&(state->u8g)); os_sprintf(buf, "%s", state->weather.text); currentTempWidth = u8g_GetStrWidth(&(state->u8g), buf); strHeight = u8g_GetFontBBXHeight(&(state->u8g)); u8g_DrawStr(&(state->u8g), iconWidth + (128 - iconWidth) / 2 - currentTempWidth / 2, 64, buf); } //web temperature u8g_SetFont(&(state->u8g), u8g_font_6x10); u8g_SetFontPosBottom(&(state->u8g)); os_sprintf(buf, "%dC", state->weather.temp); uint8_t outsideTempWidth = u8g_GetStrWidth(&(state->u8g), buf); u8g_DrawStr(&(state->u8g), iconWidth + (128 - iconWidth) / 2 - outsideTempWidth / 2, 64 - strHeight, buf); u8g_SetFont(&(state->u8g), u8g_font_6x10); u8g_SetFontPosCenter(&(state->u8g)); if (state->temperatureMode == MANUAL) { os_sprintf(buf, "Manual: %d.%02dC", state->manualTemp / 100, abs(state->manualTemp % 100)); } else if (state->temperatureMode == AUTOMATIC) { if (state->automaticTempCurrentState == NULL) { os_sprintf(buf, "Auto"); } else { os_sprintf(buf, "A:%d.%02dC, %d:%02d", state->automaticTempCurrentState->temp / 100, abs(state->automaticTempCurrentState->temp % 100), state->automaticTempCurrentState->time / 60, state->automaticTempCurrentState->time % 60); } } u8g_DrawStr(&(state->u8g), 0, 8, buf); }