#include <CtrlLib/CtrlLib.h> using namespace Upp; struct App : TopWindow { FileIn tiff; One<StreamRaster> raster; int pageno; virtual bool Key(dword key, int) { if(key == K_PAGEUP && pageno > 0) { pageno--; Refresh(); } if(key == K_PAGEDOWN && pageno < raster->GetPageCount() - 1) { pageno++; Refresh(); } return true; } virtual void Paint(Draw& w) { ImageEncoder t; raster->SeekPage(pageno); Rescale(t, GetSize(), *raster, raster->GetSize()); w.DrawImage(0, 0, t); } App() { Sizeable().Zoomable(); tiff.Open("e:/fax.tif"); raster = StreamRaster::OpenAny(tiff); pageno = 0; } }; GUI_APP_MAIN { App().Run(); }
Report message to a moderator