ultimatepp/upptst/TopSetRect/main.cpp
cxl bff1dc48ef .upptst
git-svn-id: svn://ultimatepp.org/upp/trunk@13581 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2019-09-05 07:45:04 +00:00

54 lines
962 B
C++

#include <CtrlLib/CtrlLib.h>
using namespace Upp;
struct App : TopWindow {
App() {
SetRect(0, 0, 640, 480);
Sizeable().Zoomable().CenterScreen();
}
void Paint(Draw& w) {
Rect r = GetRect();
Size sz = GetSize();
w.DrawRect(sz, White());
w.DrawText(40, 40, String() << r << " " << sz);
}
bool Key(dword key, int count) override
{
Rect r = GetRect();
if(key == K_UP)
r.OffsetVert(-10);
else
if(key == K_DOWN)
r.OffsetVert(10);
else
if(key == K_LEFT)
r.OffsetHorz(-10);
else
if(key == K_RIGHT)
r.OffsetHorz(10);
else
if(key == K_SPACE)
r.right += 10; // See especially this. Even this one moves the window downwards on GTK.
else
if(key == K_DELETE)
r = Rect(0, 0, 640, 480);
else
if(key == K_INSERT)
r = Rect(0, 10, 640, 480);
r.SetSize(Size(640, 480));
SetRect(r);
Refresh();
return true;
}
};
GUI_APP_MAIN
{
App().Run();
}