I want (primarily for didactic purposes) to create a linux application which should allow the user to select a rectangle on the screen (whatever window lies within that region) and zoom it on the screen.
Where should I start? I already did something similar on windows using C# (basically I took a snapshot of the region and zoomed it with the Image control) but on linux I don't know where to start.
I was thinking about using QT for the main window, maybe openGL with Qt but I need information whether this approach may be right and some start-up tip to get started. Is using QT and openGL a good way to do this? What api/functionality should I use to draw on the screen and copy a specific region of it (and zooming it) ?
I think going with Qt is a good idea. Perhaps a good start could be the Qt screenshot example. Then creating a simple QApplication to display the zoomed part according to the mouse position should be way feasible, even for a first Qt project !
I really recommend you to use QtCreator to develop on linux it's a really great IDE.
How about using Mono to port your c# code to Linux? There's quite a few options for GUI toolkits and you may be able to reuse some code from your Windows app.