From 11b403afa8eb85fc54dbab899a736a09baaa7543 Mon Sep 17 00:00:00 2001 From: koldo Date: Wed, 11 Mar 2009 21:06:37 +0000 Subject: [PATCH] git-svn-id: svn://ultimatepp.org/upp/trunk@946 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- bazaar/PainterSvg demo/Examples.h | 39 ----- bazaar/PainterSvg demo/Examples.lay | 29 --- bazaar/PainterSvg demo/PainterSvg demo.upp | 16 -- bazaar/PainterSvg demo/SvgDemo.cpp | 28 --- bazaar/PainterSvg demo/init | 5 - bazaar/PainterSvg demo/main.cpp | 195 --------------------- 6 files changed, 312 deletions(-) delete mode 100644 bazaar/PainterSvg demo/Examples.h delete mode 100644 bazaar/PainterSvg demo/Examples.lay delete mode 100644 bazaar/PainterSvg demo/PainterSvg demo.upp delete mode 100644 bazaar/PainterSvg demo/SvgDemo.cpp delete mode 100644 bazaar/PainterSvg demo/init delete mode 100644 bazaar/PainterSvg demo/main.cpp diff --git a/bazaar/PainterSvg demo/Examples.h b/bazaar/PainterSvg demo/Examples.h deleted file mode 100644 index ca1ec63c2..000000000 --- a/bazaar/PainterSvg demo/Examples.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef _PainterExamples_Examples_h_ -#define _PainterExamples_Examples_h_ - -#include -#include - -using namespace Upp; - -#define LAYOUTFILE -#include - -void RegisterExample(const char *name, void (*ex)(Painter& pw)); - -struct App : TopWindow { - virtual void Paint(Draw& w); - - SplitterFrame split; - ArrayCtrl list; - FrameBottom< WithCtrlLayout > ctrl; - - typedef App CLASSNAME; - - void DoPaint0(Painter& sw); - void DoPaint(Painter& sw); - void Print(); - void Benchmark(); - void Sync(); - void ToSlider(EditDouble *e, SliderCtrl *slider); - void ToEdit(EditDouble *e, SliderCtrl *slider); - void Pair(EditDouble& e, SliderCtrl& slider); - void ToSlider(); - void Reset(); - void Serialize(Stream& s); - - App(); - ~App(); -}; - -#endif diff --git a/bazaar/PainterSvg demo/Examples.lay b/bazaar/PainterSvg demo/Examples.lay deleted file mode 100644 index 9269b11aa..000000000 --- a/bazaar/PainterSvg demo/Examples.lay +++ /dev/null @@ -1,29 +0,0 @@ -LAYOUT(CtrlLayout, 212, 384) - ITEM(Label, dv___0, SetLabel(t_("Translate X")).LeftPosZ(4, 72).TopPosZ(4, 19)) - ITEM(EditDoubleSpin, translate_x, Min(0).Max(2000).LeftPosZ(4, 64).TopPosZ(24, 19)) - ITEM(SliderCtrl, translate_x_slider, HSizePosZ(72, 4).TopPosZ(22, 24)) - ITEM(Label, dv___3, SetLabel(t_("Translate Y")).LeftPosZ(4, 72).TopPosZ(48, 19)) - ITEM(EditDoubleSpin, translate_y, Min(0).Max(2000).LeftPosZ(4, 64).TopPosZ(68, 19)) - ITEM(SliderCtrl, translate_y_slider, HSizePosZ(72, 4).TopPosZ(66, 24)) - ITEM(Label, dv___6, SetLabel(t_("Rotate")).LeftPosZ(4, 52).TopPosZ(92, 19)) - ITEM(EditDoubleSpin, rotate, Min(0).Max(6.29).LeftPosZ(4, 64).TopPosZ(112, 19)) - ITEM(SliderCtrl, rotate_slider, HSizePosZ(72, 4).TopPosZ(110, 24)) - ITEM(Label, dv___9, SetLabel(t_("Scale")).LeftPosZ(4, 52).TopPosZ(136, 19)) - ITEM(EditDoubleSpin, scale, Min(0).Max(3).LeftPosZ(4, 64).TopPosZ(156, 19)) - ITEM(SliderCtrl, scale_slider, HSizePosZ(72, 4).TopPosZ(154, 24)) - ITEM(Label, dv___12, SetLabel(t_("Scale X")).LeftPosZ(4, 52).TopPosZ(180, 19)) - ITEM(EditDoubleSpin, scale_x, Min(0).Max(2).LeftPosZ(4, 64).TopPosZ(200, 19)) - ITEM(SliderCtrl, scale_x_slider, HSizePosZ(72, 4).TopPosZ(198, 24)) - ITEM(Label, dv___15, SetLabel(t_("Opacity")).LeftPosZ(4, 52).TopPosZ(224, 19)) - ITEM(EditDoubleSpin, opacity, SetInc(0.05).Min(0).Max(1).LeftPosZ(4, 64).TopPosZ(244, 19)) - ITEM(SliderCtrl, opacity_slider, HSizePosZ(72, 4).TopPosZ(242, 24)) - ITEM(Option, painting, SetLabel(t_("Paint through Painting")).LeftPosZ(4, 128).TopPosZ(268, 20)) - ITEM(DropList, linejoin, LeftPosZ(4, 100).BottomPosZ(33, 19)) - ITEM(DropList, linecap, RightPosZ(4, 100).BottomPosZ(33, 19)) - ITEM(Button, reset, SetLabel(t_("Reset")).LeftPosZ(4, 64).BottomPosZ(4, 24)) - ITEM(Button, print, SetLabel(t_("Print")).HSizePosZ(72, 80).BottomPosZ(4, 24)) - ITEM(Button, benchmark, SetLabel(t_("Benchmark")).RightPosZ(4, 72).BottomPosZ(4, 24)) - ITEM(Switch, quality, SetLabel(t_("Antialiased\nNoAA\nSubpixel")).LeftPosZ(4, 204).TopPosZ(312, 16)) - ITEM(Option, transparent, SetLabel(t_("Transparent background")).LeftPosZ(4, 204).TopPosZ(288, 20)) -END_LAYOUT - diff --git a/bazaar/PainterSvg demo/PainterSvg demo.upp b/bazaar/PainterSvg demo/PainterSvg demo.upp deleted file mode 100644 index 96ac8413c..000000000 --- a/bazaar/PainterSvg demo/PainterSvg demo.upp +++ /dev/null @@ -1,16 +0,0 @@ -description "Svg Painter demo"; - -uses - CtrlLib, - PainterSvg; - -file - Examples.h, - SvgDemo.cpp, - main.cpp, - Examples.lay; - -mainconfig - "" = "GUI", - "" = "GUI SSE2"; - diff --git a/bazaar/PainterSvg demo/SvgDemo.cpp b/bazaar/PainterSvg demo/SvgDemo.cpp deleted file mode 100644 index c085840fd..000000000 --- a/bazaar/PainterSvg demo/SvgDemo.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include "Examples.h" - -void ParseSVG(Painter& p, const char *svg); - -void SvgDemo(Painter& sw) -{ - String file = "C:\\demo.svg"; - - try { - if (FileExists(file)) - ParseSVG(sw, LoadFileBOM(file)); - else { - sw.Scale(1./20); - sw.Text(200, 200, "Please copy the svg file in '" + file + "'", Font(Font::ARIAL, 400)); - sw.Text(200, 700, "or change String file in SvgDemo.cpp", Font(Font::ARIAL, 400)); - sw.Opacity(1); - sw.Stroke(1, Black()); - sw.Fill(Black()); - } - } - catch(XmlError e) { - LOG("SVG XML error: " + e); - } -} - -INITBLOCK { - RegisterExample("Svg demo", SvgDemo); -} diff --git a/bazaar/PainterSvg demo/init b/bazaar/PainterSvg demo/init deleted file mode 100644 index a881f5789..000000000 --- a/bazaar/PainterSvg demo/init +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef _PainterSvg_demo_icpp_init_stub -#define _PainterSvg_demo_icpp_init_stub -#include "CtrlLib/init" -#include "PainterSvg/init" -#endif diff --git a/bazaar/PainterSvg demo/main.cpp b/bazaar/PainterSvg demo/main.cpp deleted file mode 100644 index 5459cb256..000000000 --- a/bazaar/PainterSvg demo/main.cpp +++ /dev/null @@ -1,195 +0,0 @@ -#include "Examples.h" - -struct Example { - void (*example)(Painter& pw); - String name; -}; - -Array& Examples() -{ - static Array x; - return x; -}; - -void RegisterExample(const char *name, void (*ex)(Painter& pw)) -{ - Example& x = Examples().Add(); - x.name = name; - x.example = ex; -} - -void App::DoPaint0(Painter& sw) -{ - sw.Translate(~ctrl.translate_x, ~ctrl.translate_y); - sw.Rotate(~ctrl.rotate); - sw.Scale(~ctrl.scale, (double)~ctrl.scale * (double)~ctrl.scale_x); - sw.Opacity(~ctrl.opacity); - sw.LineCap(~ctrl.linecap); - sw.LineJoin(~ctrl.linejoin); - { PAINTER_TIMING("FILL"); - if(ctrl.transparent) - sw.Clear(RGBAZero()); - else - sw.Clear(White()); - } - if(list.IsCursor()) - Examples()[list.GetCursor()].example(sw); -} - -void App::DoPaint(Painter& sw) -{ - if(ctrl.painting) { - PaintingPainter h(2000, 2000); - DoPaint0(h); - sw.Paint(h); - } - else - DoPaint0(sw); -} - -void App::Print() -{ - PaintingPainter sw(1000, 1000); - DoPaint(sw); - PrinterJob pb; - if(pb.Execute()) - pb.GetDraw().DrawPainting(0, 0, 4000, 4000, sw); -} - -void App::Benchmark() -{ - int time; - int time0 = GetTickCount(); - int n = 0; - for(;;) { - time = GetTickCount(); - if(time - time0 > 1000) break; - ImageBuffer ib(800, 600); - BufferPainter sw(ib, ctrl.quality); - PAINTER_TIMING("Paint"); - DoPaint(sw); - n++; - } - PromptOK("Benchmark: " + AsString(double(time - time0) / n) + " ms"); -} - -void App::Paint(Draw& w) -{ - Size sz = GetSize(); - if(ctrl.transparent) { - for(int y = 0; y + 32 < sz.cy; y += 32) - for(int x = 0; x + 32 < sz.cx; x += 32) - w.DrawRect(x, y, 32, 32, (x ^ y) & 32 ? Color(254, 172, 120) : Color(124, 135, 253)); - } - ImageBuffer ib(sz); - BufferPainter sw(ib, ctrl.quality); - DoPaint(sw); - w.DrawImage(0, 0, ib); -} - -void App::Sync() -{ - Refresh(); -} - -void App::ToSlider(EditDouble *e, SliderCtrl *slider) -{ - double v = ~*e; - *slider <<= fround(1000.0 * (v - e->GetMin()) / (e->GetMax() - e->GetMin())); - Refresh(); -} - -void App::ToEdit(EditDouble *e, SliderCtrl *slider) -{ - int x = ~*slider; - *e <<= x * (e->GetMax() - e->GetMin()) / 1000.0 + e->GetMin(); - Refresh(); -} - -void App::Pair(EditDouble& e, SliderCtrl& slider) -{ - e <<= THISBACK2(ToSlider, &e, &slider); - slider <<= THISBACK2(ToEdit, &e, &slider); - slider.MinMax(0, 1000); -} - -void App::ToSlider() -{ - ToSlider(&ctrl.rotate, &ctrl.rotate_slider); - ToSlider(&ctrl.scale, &ctrl.scale_slider); - ToSlider(&ctrl.scale_x, &ctrl.scale_x_slider); - ToSlider(&ctrl.translate_x, &ctrl.translate_x_slider); - ToSlider(&ctrl.translate_y, &ctrl.translate_y_slider); - ToSlider(&ctrl.opacity, &ctrl.opacity_slider); -} - -void App::Reset() -{ - ctrl.rotate <<= ctrl.translate_x <<= ctrl.translate_y <<= 0; - ctrl.scale <<= ctrl.scale_x <<= ctrl.opacity <<= 1.0; - ctrl.painting = false; - ctrl.quality = MODE_ANTIALIASED; - ctrl.linejoin <<= LINEJOIN_MITER; - ctrl.linecap <<= LINECAP_BUTT; - ToSlider(); -} - -void App::Serialize(Stream& s) -{ - s - % ctrl.rotate % ctrl.rotate_slider - % ctrl.scale % ctrl.scale_slider - % ctrl.scale_x % ctrl.scale_x_slider - % ctrl.translate_x % ctrl.translate_x_slider - % ctrl.translate_y % ctrl.translate_y_slider - % ctrl.opacity % ctrl.opacity_slider - % ctrl.painting % ctrl.quality % ctrl.transparent - ; -} - -App::App() { - AddFrame(split); - split.Left(list, HorzLayoutZoom(200)); - list.WhenSel = THISBACK(Sync); - list.AddColumn(); - list.NoHeader(); - for(int i = 0; i < Examples().GetCount(); i++) - list.Add(Examples()[i].name); - list.FindSetCursor(LoadFile(ConfigFile("last"))); - Sync(); - Sizeable().Zoomable(); - ctrl.Height(ctrl.GetLayoutSize().cy); - CtrlLayout(ctrl); - list.InsertFrame(0, ctrl); - Pair(ctrl.rotate, ctrl.rotate_slider); - Pair(ctrl.scale, ctrl.scale_slider); - Pair(ctrl.scale_x, ctrl.scale_x_slider); - Pair(ctrl.translate_x, ctrl.translate_x_slider); - Pair(ctrl.translate_y, ctrl.translate_y_slider); - Pair(ctrl.opacity, ctrl.opacity_slider); - ctrl.linecap.Add(LINECAP_BUTT, "Butt caps"); - ctrl.linecap.Add(LINECAP_SQUARE, "Square caps"); - ctrl.linecap.Add(LINECAP_ROUND, "Round caps"); - ctrl.linejoin.Add(LINEJOIN_MITER, "Miter joins"); - ctrl.linejoin.Add(LINEJOIN_ROUND, "Round joins"); - ctrl.linejoin.Add(LINEJOIN_BEVEL, "Bevel joins"); - ctrl.linecap <<= ctrl.linejoin <<= ctrl.painting <<= ctrl.quality <<= ctrl.transparent <<= THISBACK(Sync); - ctrl.reset <<= THISBACK(Reset); - ctrl.benchmark <<= THISBACK(Benchmark); - ctrl.print <<= THISBACK(Print); - Reset(); - LoadFromFile(*this); - Title("Painter 2.0"); -} - -App::~App() -{ - if(list.IsCursor()) - SaveFile(ConfigFile("last"), list.GetKey()); - StoreToFile(*this); -} - -GUI_APP_MAIN -{ - App().Run(); -}