From 6433c940ce3406ae1946589894646cf019d82f0e Mon Sep 17 00:00:00 2001 From: cxl Date: Fri, 25 Apr 2014 13:30:17 +0000 Subject: [PATCH] .upptst git-svn-id: svn://ultimatepp.org/upp/trunk@7315 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- upptst/Dither/Dither.upp | 10 ++++++++++ upptst/Dither/init | 5 +++++ upptst/Dither/main.cpp | 33 +++++++++++++++++++++++++++++++++ upptst/Dither/test.jpg | Bin 0 -> 10645 bytes 4 files changed, 48 insertions(+) create mode 100644 upptst/Dither/Dither.upp create mode 100644 upptst/Dither/init create mode 100644 upptst/Dither/main.cpp create mode 100644 upptst/Dither/test.jpg diff --git a/upptst/Dither/Dither.upp b/upptst/Dither/Dither.upp new file mode 100644 index 000000000..46b07a61f --- /dev/null +++ b/upptst/Dither/Dither.upp @@ -0,0 +1,10 @@ +uses + CtrlLib, + plugin/jpg; + +file + main.cpp; + +mainconfig + "" = "GUI SSE2"; + diff --git a/upptst/Dither/init b/upptst/Dither/init new file mode 100644 index 000000000..a7648e050 --- /dev/null +++ b/upptst/Dither/init @@ -0,0 +1,5 @@ +#ifndef _Dither_icpp_init_stub +#define _Dither_icpp_init_stub +#include "CtrlLib/init" +#include "plugin/jpg/init" +#endif diff --git a/upptst/Dither/main.cpp b/upptst/Dither/main.cpp new file mode 100644 index 000000000..33bb12d9a --- /dev/null +++ b/upptst/Dither/main.cpp @@ -0,0 +1,33 @@ +#include + +using namespace Upp; + +struct MyApp : TopWindow { + Image image; + Image image2; + + virtual void Paint(Draw& w) { + w.DrawRect(GetSize(), White()); + w.DrawImage(0, 0, image); + w.DrawImage(0, 500, image2); + DrawFrame(w, 0, 500, 512, 32, Black()); + } + + MyApp() { + ImageBuffer ib(512, 32); + RGBA *t = ~ib; + for(int y = 0; y < 32; y++) + for(int x = 0; x < 512; x++) + *t++ = GrayColor(x / 2); + image2 = ib; + image2 = Dither(image2); + } + +}; + +GUI_APP_MAIN +{ + MyApp app; + app.image = Dither(StreamRaster::LoadFileAny(GetDataFile("test.jpg"))); + app.Run(); +} diff --git a/upptst/Dither/test.jpg b/upptst/Dither/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..009d2e36f837d49f4ec2cc9e0a7d27b84f9c94e3 GIT binary patch literal 10645 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 literal 0 HcmV?d00001