void solid_font_variants(ucg_t *ucg) { prepare_picture(ucg); ucg_SetColor(ucg, 0, 250, 0, 0); ucg_SetColor(ucg, 1, 255, 255, 30); ucg_SetColor(ucg, 2, 220, 235, 10); ucg_SetColor(ucg, 3, 205, 0, 30); ucg_DrawGradientBox(ucg, ox+0, 0, 128, 64); ucg_SetColor(ucg, 0, 0, 0, 0); /* draw black "Ucg" */ ucg_SetColor(ucg, 1, 150, 220, 255); /* light blue background */ ucg_SetFontMode(ucg, UCG_FONT_MODE_SOLID); ucg_SetFontPosBaseline(ucg); ucg_SetFont(ucg, ucg_font_fur11_tf); ucg_DrawString(ucg, 3+ox, 20, 0, "fur11_tf"); ucg_SetFont(ucg, ucg_font_fur11_hf); ucg_DrawString(ucg, 3+ox, 50, 0, "fur11_hf"); ucg_SetFont(ucg, ucg_font_fur11_hr); ucg_DrawString(ucg, 68+ox, 50, 0, "fur11_hr"); //pos(ucg, 42+ox, 40, 0); save_picture(ucg, "solid_font_variants"); }
static int prepare_data(PyObject *obj, xorn_obtype_t *type_return, const void **data_return) { if (PyObject_TypeCheck(obj, &ArcType)) prepare_arc((Arc *)obj, type_return, data_return); else if (PyObject_TypeCheck(obj, &BoxType)) prepare_box((Box *)obj, type_return, data_return); else if (PyObject_TypeCheck(obj, &CircleType)) prepare_circle((Circle *)obj, type_return, data_return); else if (PyObject_TypeCheck(obj, &ComponentType)) prepare_component((Component *)obj, type_return, data_return); else if (PyObject_TypeCheck(obj, &LineType)) prepare_line((Line *)obj, type_return, data_return); else if (PyObject_TypeCheck(obj, &NetType)) prepare_net((Net *)obj, type_return, data_return); else if (PyObject_TypeCheck(obj, &PathType)) prepare_path((Path *)obj, type_return, data_return); else if (PyObject_TypeCheck(obj, &PictureType)) prepare_picture((Picture *)obj, type_return, data_return); else if (PyObject_TypeCheck(obj, &TextType)) prepare_text((Text *)obj, type_return, data_return); else return -1; return 0; }
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"); }
void draw_vline(ucg_t *ucg) { prepare_picture(ucg); vrule(ucg, ox+50, 20, 25, 1); ucg_SetColor(ucg, 0, 255, 255, 255); ucg_DrawVLine(ucg, ox+50, 20, 25); pos(ucg, ox+50, 20,0); save_picture(ucg, "draw_vline"); }
void draw_hline(ucg_t *ucg) { prepare_picture(ucg); hrule(ucg, ox+50, 40, 45, 0); ucg_SetColor(ucg, 0, 255, 255, 255); ucg_DrawHLine(ucg, ox+50, 40, 45); pos(ucg, ox+50, 40,0); save_picture(ucg, "draw_hline"); }
void draw_box(ucg_t *ucg) { prepare_picture(ucg); hrule(ucg, ox+50, 30, 45, 0); vrule(ucg, ox+50+45-1, 30, 20, 1); ucg_SetColor(ucg, 0, 255, 255, 255); ucg_DrawBox(ucg, ox+50, 30, 45, 20); pos(ucg, ox+50, 30,0); save_picture(ucg, "draw_box"); }
void draw_circle(ucg_t *ucg) { prepare_picture(ucg); hrule(ucg, ox+50+1, 30, 20, 0); vrule(ucg, ox+50+20-1, 30+1, 20, 1); ucg_SetColor(ucg, 0, 255, 255, 255); ucg_DrawCircle(ucg, ox+50, 30, 20, UCG_DRAW_LOWER_RIGHT); pos(ucg, ox+50, 30,0); save_picture(ucg, "draw_circle"); }
void draw_gradient_line(ucg_t *ucg) { prepare_picture(ucg); hrule(ucg, ox+50, 40, 45, 0); ucg_SetColor(ucg, 0, 0, 255, 255); ucg_SetColor(ucg, 1, 255, 255, 0); ucg_DrawGradientLine(ucg, ox+50, 40, 45, 0); pos(ucg, ox+50, 40,0); save_picture(ucg, "draw_gradient_line"); }
void draw_text_dir1(ucg_t *ucg) { prepare_picture(ucg); ucg_SetFont(ucg, ucg_font_ncenB18_tf); ucg_SetFontPosBaseline(ucg); ucg_SetColor(ucg, 0, 0, 0, 255); /* draw blue "baseline" */ //ucg_DrawHLine(ucg, 45+ox, 30, ucg_GetStrWidth(ucg, "Ucg")); ucg_SetColor(ucg, 0, 255, 255, 255); /* draw white "Ucg" */ ucg_DrawString(ucg, 45+ox, 10, 1, "Ucg"); pos(ucg, 45+ox, 10, 0); save_picture(ucg, "draw_text_dir1"); }
void draw_rframe(ucg_t *ucg) { prepare_picture(ucg); hrule(ucg, ox+50, 30, 45, 0); vrule(ucg, ox+50+45-1, 30, 20, 1); vrule(ucg, ox+50+1, 30+20-8, 8, 0); hrule(ucg, ox+50, 30+20-1-1, 8, 1); ucg_SetColor(ucg, 0, 255, 255, 255); ucg_DrawRFrame(ucg, ox+50, 30, 45, 20, 8); pos(ucg, ox+50, 30,0); save_picture(ucg, "draw_rframe"); }
void set_scale2x2(ucg_t *ucg) { prepare_picture(ucg); ucg_SetFont(ucg, ucg_font_ncenB18_tf); ucg_SetFontPosBaseline(ucg); //ucg_SetColor(ucg, 0, 0, 0, 255); /* draw blue "baseline" */ //ucg_DrawHLine(ucg, 45+ox, 30, ucg_GetStrWidth(ucg, "Ucg")); ucg_SetColor(ucg, 0, 255, 255, 255); /* draw white "Ucg" */ ucg_SetScale2x2(ucg); ucg_DrawString(ucg, 20+ox, 20, 0, "Ucg"); ucg_UndoScale(ucg); pos(ucg, 40+ox, 40, 0); save_picture(ucg, "set_scale2x2"); }
void draw_triangle(ucg_t *ucg) { prepare_picture(ucg); ucg_SetColor(ucg, 0, 255, 255, 255); ucg_DrawTriangle(ucg, 52, 9, 83,32, 47,42); ucg_DrawTriangle(ucg, 52,55, 83,32+1, 47,42+1); pos(ucg, 52, 9, 0); pos(ucg, 83,32, 1); pos(ucg, 47,42+1, 0); save_picture(ucg, "draw_triangle"); }
void draw_text_ascent_descent(ucg_t *ucg) { prepare_picture(ucg); ucg_SetFont(ucg, ucg_font_ncenB24_tf); ucg_SetFontPosBaseline(ucg); ucg_SetColor(ucg, 0, 0, 0, 255); /* draw blue "baseline" */ ucg_DrawHLine(ucg, 42+ox, 30, ucg_GetStrWidth(ucg, "Ucg")); ucg_SetColor(ucg, 0, 255, 255, 255); /* draw white "Ucg" */ ucg_DrawString(ucg, 42+ox, 30, 0, "Ucg"); pos(ucg, 42+ox, 30, 0); ucg_SetFont(ucg, ucg_font_ncenB24_tf); vrule(ucg, 42+ox+ucg_GetStrWidth(ucg, "Ucg"), 30-ucg_GetFontAscent(ucg), ucg_GetFontAscent(ucg), 1); ucg_SetFont(ucg, ucg_font_ncenB24_tf); vrule(ucg, 42+ox+ucg_GetStrWidth(ucg, "Ucg"), 30, -ucg_GetFontDescent(ucg), 1); save_picture(ucg, "draw_text_ascent_descent"); }
void set_clip_range(ucg_t *ucg) { prepare_picture(ucg); ucg_SetFontPosBaseline(ucg); ucg_SetFont(ucg, ucg_font_ncenB18_tf); ucg_SetColor(ucg, 0, 255, 255, 255); /* draw white A */ ucg_DrawGlyph(ucg, 50, 40, 0, 'A'); ucg_SetClipRange(ucg, 57, 20, 30, 15); /* restrict area */ ucg_SetColor(ucg, 0, 0, 0, 127); ucg_DrawBox(ucg, 0, 0, 128, 64); /* fill the restricted area with dark blue */ ucg_SetColor(ucg, 0, 0, 0, 255); ucg_DrawGlyph(ucg, 50, 40, 0, 'A'); /* draw light blue A */ hrule(ucg, ox+57, 20, 30, 0); vrule(ucg, ox+57+30, 20, 15, 1); pos(ucg, ox+50, 40, 0); save_picture(ucg, "set_clip_range"); }
void set_font_mode_1(ucg_t *ucg) { prepare_picture(ucg); 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_DrawGradientBox(ucg, ox+0, 0, 128, 64); ucg_SetFontMode(ucg, UCG_FONT_MODE_TRANSPARENT); ucg_SetFont(ucg, ucg_font_ncenB18_tf); ucg_SetFontPosBaseline(ucg); ucg_SetColor(ucg, 0, 0, 0, 0); /* draw black "Ucg" */ ucg_DrawString(ucg, 40+ox, 40, 0, "Ucg"); pos(ucg, 42+ox, 40, 0); save_picture(ucg, "set_font_mode_1"); }
void set_font_mode_2(ucg_t *ucg) { prepare_picture(ucg); 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_DrawGradientBox(ucg, ox+0, 0, 128, 64); ucg_SetFontMode(ucg, UCG_FONT_MODE_SOLID); ucg_SetFont(ucg, ucg_font_ncenB18_hr); ucg_SetFontPosBaseline(ucg); ucg_SetColor(ucg, 0, 0, 0, 0); /* draw black "Ucg" */ ucg_SetColor(ucg, 1, 150, 220, 255); /* light blue background */ ucg_DrawString(ucg, 40+ox, 40, 0, "Ucg"); pos(ucg, 42+ox, 40, 0); save_picture(ucg, "set_font_mode_2"); }
void string_overwrite(ucg_t *ucg, int cnt) { char s[40]; int i; prepare_picture(ucg); ucg_SetColor(ucg, 0, 250, 0, 0); ucg_SetColor(ucg, 1, 255, 255, 30); ucg_SetColor(ucg, 2, 220, 235, 10); ucg_SetColor(ucg, 3, 205, 0, 30); ucg_DrawGradientBox(ucg, ox+0, 0, 128, 64); ucg_SetColor(ucg, 0, 0, 0, 0); /* draw black "Ucg" */ ucg_SetColor(ucg, 1, 150, 220, 255); /* light blue background */ ucg_SetFontMode(ucg, UCG_FONT_MODE_SOLID); ucg_SetFontPosBaseline(ucg); for( i = 11; i < 11+cnt; i++ ) { sprintf(s, "cu12_tf %d", i); ucg_SetFont(ucg, ucg_font_cu12_tf); ucg_DrawString(ucg, 1+ox, 15, 0, s); sprintf(s, "cu12_hf %d", i); ucg_SetFont(ucg, ucg_font_cu12_hf); ucg_DrawString(ucg, 1+ox, 35, 0, s); sprintf(s, "7x14_mf %d", i); ucg_SetFont(ucg, ucg_font_7x14_mf); ucg_DrawString(ucg, 1+ox, 55, 0, s); } //pos(ucg, 42+ox, 40, 0); sprintf(s, "string_overwrite_%d", cnt); save_picture(ucg, s); }