void EscDraw::DrawText(EscEscape& e) { if(e.GetCount() < 3 || e.GetCount() > 6) e.ThrowError("wrong number of arguments in call to 'DrawText'"); int x = e.Int(0); int y = e.Int(1); Font font = StdFont(); Color color = SColorText; if(e[2].IsInt()) { int z = e.Int(2); e.CheckArray(3); WString text = e[3]; if(e.GetCount() > 4) font = FontEsc(e[4]); if(e.GetCount() > 5) color = ColorEsc(e[5]); w.DrawText(x, y, z, text, Nvl(font, StdFont()), color); } else { e.CheckArray(2); WString text = e[2]; if(e.GetCount() > 3) font = FontEsc(e[3]); if(e.GetCount() > 4) color = ColorEsc(e[4]); w.DrawText(x, y, text, Nvl(font, StdFont()), color); } }
void SIC_GetQtfHeight(EscEscape& e) { int zoom = e.Int(0); e.CheckArray(0); String text = e[1]; int cx = e.Int(2); RichText doc; doc = ParseQTF(text);//!!!!! e = doc.GetHeight(Zoom(zoom, 1024), cx); }
void SIC_GetTextSize(EscEscape& e) { if(e.GetCount() < 1 || e.GetCount() > 2) e.ThrowError("wrong number of arguments in call to 'GetTextSize'"); e.CheckArray(0); WString text = e[0]; Font font = StdFont(); if(e.GetCount() > 1) font = FontEsc(e[1]); e = EscSize(GetTextSize(text, font)); }
void SIC_GetSmartTextSize(EscEscape& e) { if(e.GetCount() < 1 || e.GetCount() > 2) e.ThrowError("wrong number of arguments in call to 'GetTextSize'"); e.CheckArray(0); String text = ToUtf8((WString)(e[0])); ExtractAccessKey(text, text); Font font = StdFont(); if(e.GetCount() > 1) font = FontEsc(e[1]); e = EscSize(GetSmartTextSize(text, font)); }
void EscDraw::DrawQtf(EscEscape& e) { if(e.GetCount() < 5 || e.GetCount() > 6) e.ThrowError("wrong number of arguments in call to 'DrawQtf'"); // int zoom = e.Int(0); int x = e.Int(1); int y = e.Int(2); e.CheckArray(3); WString text = e[3]; int cx = e.Int(4); String txt = '\1' + ToUtf8(text); ::DrawSmartText(w, x, y, cx, txt, StdFont(), SColorText, 0); }
void EscDraw::GetTextSize(EscEscape& e) { if(e.GetCount() < 1 || e.GetCount() > 2) e.ThrowError("wrong number of arguments in call to 'GetTextSize'"); e.CheckArray(0); WString text = e[0]; Font font = StdFont(); if(font.GetHeight() == 0) #ifdef GUI_X11 font.Height(12); #else font.Height(11); #endif if(e.GetCount() > 1) font = FontEsc(e[1]); e = EscSize(::GetTextSize(text, font)); }
void SIC_GetImageSize(EscEscape& e) { e.CheckArray(0); e = EscSize(GetUscImage((String)e[0]).GetSize()); }