diff --git a/uppdev/Mirrors/Mirrors.upp b/uppdev/Mirrors/Mirrors.upp new file mode 100644 index 000000000..2f95bc283 --- /dev/null +++ b/uppdev/Mirrors/Mirrors.upp @@ -0,0 +1,11 @@ +uses + CtrlLib, + Report, + Painter; + +file + main.cpp; + +mainconfig + "" = "GUI"; + diff --git a/uppdev/Mirrors/init b/uppdev/Mirrors/init new file mode 100644 index 000000000..e018374b0 --- /dev/null +++ b/uppdev/Mirrors/init @@ -0,0 +1,6 @@ +#ifndef _Mirrors_icpp_init_stub +#define _Mirrors_icpp_init_stub +#include "CtrlLib/init" +#include "Report/init" +#include "Painter/init" +#endif diff --git a/uppdev/Mirrors/main.cpp b/uppdev/Mirrors/main.cpp new file mode 100644 index 000000000..ef6c21684 --- /dev/null +++ b/uppdev/Mirrors/main.cpp @@ -0,0 +1,31 @@ +#include +#include +#include + +using namespace Upp; + +GUI_APP_MAIN +{ + Font fnt = Arial(200); + Size isz = GetTextSize("M", fnt); + String letters = "sSzZEeDNB12345679kKrRLCc"; + Report r; + Size page = r.GetPageSize(); + r.DrawText(0, 0, letters, fnt); + for(int y = isz.cy * 2; y + isz.cy < page.cy; y += isz.cy * 2) + for(int x = 0; x < page.cx; x += isz.cx * 2) { + int ch = letters[rand() % letters.GetCount()]; + PaintingPainter gw(isz.cx, isz.cy); + gw.Begin(); + if((rand() & 3) == 0) { + gw.Translate(isz.cx, 0); + gw.Scale(-1, 1); + } + gw.Character((isz.cx - fnt.Info()[ch]) / 2, 0, ch, fnt).Fill(Black()); +// gw.Rectangle(0, 0, isz.cx, isz.cy).Stroke(5, LtGray()); + gw.End(); + r.DrawPainting(x, y, isz.cx, isz.cy, gw); + } + Perform(r); +} + diff --git a/uppdev/SDrawTest/main.cpp b/uppdev/SDrawTest/main.cpp index 6b5e88fe0..84a50feb8 100644 --- a/uppdev/SDrawTest/main.cpp +++ b/uppdev/SDrawTest/main.cpp @@ -553,6 +553,19 @@ GUI_APP_MAIN { SetDefaultCharset(CHARSET_WIN1250); + PaintingPainter p(500, 800); + p.Clear(White()); + p.Opacity(0.5); + PaintLion(&p, NULL); + + PrinterJob job; + if(job.Execute()){ + Draw &draw = job; + draw.StartPage(); + draw.DrawPainting(0, 0, 4000, 6000, p); + draw.EndPage(); + } + // BenchmarkImageFill(); #ifndef _DEBUG