diff --git a/bazaar/GLCanvas_demo/GLCanvas_demo.h b/bazaar/GLCanvas_demo/GLCanvas_demo.h new file mode 100644 index 000000000..c69275ee5 --- /dev/null +++ b/bazaar/GLCanvas_demo/GLCanvas_demo.h @@ -0,0 +1,21 @@ +#ifndef _GLCanvas_demo_GLCanvas_demo_h +#define _GLCanvas_demo_GLCanvas_demo_h + +#include +#include + +using namespace Upp; + +#define LAYOUTFILE +#include + +class GLCanvas_demo : public WithGLCanvas_demoLayout { +public: + typedef GLCanvas_demo CLASSNAME; + GLCanvas_demo(); + +private: + Surface surf; +}; + +#endif diff --git a/bazaar/GLCanvas_demo/GLCanvas_demo.lay b/bazaar/GLCanvas_demo/GLCanvas_demo.lay new file mode 100644 index 000000000..c5c8095c5 --- /dev/null +++ b/bazaar/GLCanvas_demo/GLCanvas_demo.lay @@ -0,0 +1,7 @@ +LAYOUT(GLCanvas_demoLayout, 480, 372) + ITEM(GLCanvas, canvas, SetFrame(ThinInsetFrame()).HSizePosZ(4, 4).VSizePosZ(24, 4)) + ITEM(Label, dv___1, SetLabel(t_("File (.stl):")).LeftPosZ(8, 52).TopPosZ(4, 19)) + ITEM(EditString, filename, HSizePosZ(60, 52).TopPosZ(4, 19)) + ITEM(Button, butOpen, SetLabel(t_("Open")).RightPosZ(4, 44).TopPosZ(4, 20)) +END_LAYOUT + diff --git a/bazaar/GLCanvas_demo/GLCanvas_demo.upp b/bazaar/GLCanvas_demo/GLCanvas_demo.upp new file mode 100644 index 000000000..69b5b57c0 --- /dev/null +++ b/bazaar/GLCanvas_demo/GLCanvas_demo.upp @@ -0,0 +1,12 @@ +uses + CtrlLib, + GLCanvas; + +file + main.cpp, + GLCanvas_demo.h, + GLCanvas_demo.lay; + +mainconfig + "" = "GUI"; + diff --git a/bazaar/GLCanvas_demo/LICENSE.txt b/bazaar/GLCanvas_demo/LICENSE.txt new file mode 100644 index 000000000..af728f997 --- /dev/null +++ b/bazaar/GLCanvas_demo/LICENSE.txt @@ -0,0 +1,3 @@ +Stanford Bunny (https://www.thingiverse.com/thing:3731) by phooky is licensed under the Creative Commons - Public Domain Dedication license. +http://creativecommons.org/publicdomain/zero/1.0/ + diff --git a/bazaar/GLCanvas_demo/Stanford_Bunny_sample.stl b/bazaar/GLCanvas_demo/Stanford_Bunny_sample.stl new file mode 100644 index 000000000..bec02fcb5 Binary files /dev/null and b/bazaar/GLCanvas_demo/Stanford_Bunny_sample.stl differ diff --git a/bazaar/GLCanvas_demo/main.cpp b/bazaar/GLCanvas_demo/main.cpp new file mode 100644 index 000000000..c47b5bec9 --- /dev/null +++ b/bazaar/GLCanvas_demo/main.cpp @@ -0,0 +1,29 @@ +#include "GLCanvas_demo.h" + +GLCanvas_demo::GLCanvas_demo() +{ + CtrlLayout(*this, "GLCanvas demo. STL viewer"); + + butOpen.WhenAction = [&] { + try { + bool isText; + String header; + LoadStl(~filename, surf, isText, header); + surf.GetLimits(); + canvas.SetEnv(surf.env); + } catch (Exc e) { + Exclamation(DeQtf(e)); + } + }; + + canvas.WhenPaint = [&] { + canvas.PaintSurface(surf, Green(), true, false); + }; + + Sizeable().Zoomable(); +} + +GUI_APP_MAIN +{ + GLCanvas_demo().Run(); +}