static void ICACHE_FLASH_ATTR ucg_draw_circle_section(ucg_t *ucg, ucg_int_t x, ucg_int_t y, ucg_int_t x0, ucg_int_t y0, uint8_t option) { /* upper right */ if ( option & UCG_DRAW_UPPER_RIGHT ) { ucg_DrawPixel(ucg, x0 + x, y0 - y); ucg_DrawPixel(ucg, x0 + y, y0 - x); } /* upper left */ if ( option & UCG_DRAW_UPPER_LEFT ) { ucg_DrawPixel(ucg, x0 - x, y0 - y); ucg_DrawPixel(ucg, x0 - y, y0 - x); } /* lower right */ if ( option & UCG_DRAW_LOWER_RIGHT ) { ucg_DrawPixel(ucg, x0 + x, y0 + y); ucg_DrawPixel(ucg, x0 + y, y0 + x); } /* lower left */ if ( option & UCG_DRAW_LOWER_LEFT ) { ucg_DrawPixel(ucg, x0 - x, y0 + y); ucg_DrawPixel(ucg, x0 - y, y0 + x); } }
void draw_pixel(ucg_t *ucg) { prepare_picture(ucg); pos(ucg, ox+50, 20,0); ucg_SetColor(ucg, 0, 255, 255, 255); ucg_DrawPixel(ucg, ox+50, 20); save_picture(ucg, "draw_pixel"); }
// Lua: ucg.drawPixel( self, x, y ) static int lucg_drawPixel( lua_State *L ) { lucg_userdata_t *lud; if ((lud = get_lud( L )) == NULL) return 0; ucg_int_t args[2]; lucg_get_int_args( L, 2, 2, args ); ucg_DrawPixel( LUCG, args[0], args[1] ); return 0; }
void pos(ucg_t *ucg, ucg_int_t x, ucg_int_t y, int is_right) { char s[20]; ucg_int_t w; prepare_measure(ucg); sprintf(s, "(%d,%d)", x-ox, y); w = ucg_GetStrWidth(ucg, s); ucg_DrawPixel(ucg, x, y); ucg_SetFontPosCenter(ucg); if ( is_right ) { ucg_DrawString(ucg, x+1, y, 0, s); //ucg_DrawHLine(ucg, x+1, y, w); } else { ucg_DrawString(ucg, x+1-w, y, 0, s); //ucg_DrawHLine(ucg, x+1-w, y, w); } }
void lower_pin(ucg_t *ucg, ucg_int_t x, ucg_int_t y) { ucg_int_t w = 7; ucg_int_t h = 5; ucg_SetColor(ucg, 0, 212, 212, 212); ucg_SetColor(ucg, 1, 200, 200, 200); ucg_SetColor(ucg, 2, 200, 200, 200); ucg_SetColor(ucg, 3, 188, 188, 188); ucg_DrawGradientBox(ucg, x, y, w, h); //ucg_DrawVLine(ucg, x+w, y+1, len); ucg_SetColor(ucg, 0, 220, 220, 220); ucg_SetColor(ucg, 1, 232, 232, 232); ucg_DrawGradientLine(ucg, x+w, y, h, 1); ucg_SetColor(ucg, 0, 220, 220, 220); ucg_SetColor(ucg, 1, 232, 232, 232); ucg_DrawGradientLine(ucg, x, y+h, w, 0); ucg_SetColor(ucg, 0, 240, 240, 240); ucg_DrawPixel(ucg, x+w, y+h); }
int main(void) { ucg_Init(&ucg, &ucg_sdl_dev_cb, ucg_ext_none, (ucg_com_fnptr)0); //ucg_SetFontMode(&ucg, UCG_FONT_MODE_TRANSPARENT); ucg_SetFont(&ucg, ucg_font_ncenB24_tf); /* ucg_SetColor(&ucg, 0, 255, 180, 40); ucg_DrawGlyph(&ucg, 64, 32,0, 'A'); ucg_SetColor(&ucg, 0, 255, 200, 70); ucg_DrawGlyph(&ucg, 64, 32,1, 'A'); ucg_SetColor(&ucg, 0, 255, 180, 40); ucg_DrawGlyph(&ucg, 64, 32,2, 'A'); ucg_SetColor(&ucg, 0, 255, 200, 70); ucg_DrawGlyph(&ucg, 64, 32,3, 'A'); */ ucg_SetColor(&ucg, 0, 255, 180, 40); ucg_DrawString(&ucg, 64, 32,0, "AB"); ucg_SetColor(&ucg, 0, 255, 200, 70); ucg_DrawString(&ucg, 64, 32,1, "AB"); ucg_SetColor(&ucg, 0, 255, 180, 40); ucg_DrawString(&ucg, 64, 32,2, "AB"); ucg_SetColor(&ucg, 0, 255, 200, 70); ucg_DrawString(&ucg, 64, 32,3, "AB"); ucg_SetColor(&ucg, 0, 128, 128, 255); ucg_DrawPixel(&ucg, 64, 32); //ucg_DrawHLine(&ucg, 0,64,20); while( ucg_sdl_get_key() < 0 ) ; return 0; }
int main(void) { tga_init(128,64); ucg_Init(&ucg, &ucg_dev_tga, ucg_ext_none, (ucg_com_fnptr)0); ucg_SetFontMode(&ucg, UCG_FONT_MODE_TRANSPARENT); ucg_SetColor(&ucg, 0, 0, 0, 0); ucg_DrawBox(&ucg, 0, 0, 128, 64); ucg_SetFont(&ucg, ucg_font_ncenB18_tf); ucg_SetColor(&ucg, 0, 0, 0, 255); ucg_DrawPixel(&ucg, 70,20); ucg_SetColor(&ucg, 0, 255, 0, 0); //ucg_SetFontPosBottom(&ucg); /* ucg_DrawGlyph(&ucg, 70, 20, 0, 'A'); ucg_DrawGlyph(&ucg, 70, 20, 1, 'A'); ucg_DrawGlyph(&ucg, 70, 20, 2, 'A'); ucg_DrawGlyph(&ucg, 70, 20, 3, 'A'); ucg_SetColor(&ucg, 0, 255, 255, 255); vrule(&ucg, 30, 0, 20, 1); vrule(&ucg, 30, 0, 20, 0); */ //pos(&ucg, 70, 20, 0); //hrule(&ucg, 0, 20, 70, 1); //hrule(&ucg, 0, 20, 70, 0); ucg_SetColor(&ucg, 0, 255, 0, 0); ucg_SetColor(&ucg, 1, 0, 255, 0); ucg_SetColor(&ucg, 2, 255, 0, 255); ucg_SetColor(&ucg, 3, 0, 255, 255); ucg_DrawGradientLine(&ucg, 10, 40, 100, 0); ucg_DrawGradientBox(&ucg, 10, 43, 100, 20); tga_save("test.tga"); draw_pixel(&ucg); draw_hline(&ucg); draw_vline(&ucg); set_clip_range(&ucg); draw_text_baseline(&ucg); draw_text_bottom(&ucg); draw_text_top(&ucg); draw_text_center(&ucg); draw_text_ascent_descent(&ucg); draw_text_dir1(&ucg); draw_box(&ucg); draw_frame(&ucg); draw_rbox(&ucg); draw_rframe(&ucg); draw_gradient_box(&ucg); draw_gradient_line(&ucg); draw_disc(&ucg); draw_circle(&ucg); draw_triangle(&ucg); set_scale2x2(&ucg); set_font_mode_1(&ucg); set_font_mode_2(&ucg); solid_font_variants(&ucg); string_overwrite(&ucg, 1); string_overwrite(&ucg, 5); string_overwrite(&ucg, 10); return 0; }