This is example:

```
import std.stdio;
import gtk.Main;
import gtk.MainWindow;
import gtk.VBox, gtk.Label, gtk.Button;
import gdk.Gdk;
import gdk.Window;
import gdk.Pixbuf;
private import stdlib = core.stdc.stdlib : exit;

int main(string[] args)
{
        Main.init(args);
        new ApMainWindow();
        Main.run();
        return 0;
}


class ApMainWindow : MainWindow
{
        this()
        {
                super("Screen Capture");
                setTitle("Screen Capture Example");
                setDefaultSize(250, 120);
                VBox box = new VBox(false, 2);
                box.add(new Button("ScreenShot", &screenSave));
                box.add(new Button("Exit", &exitProg));
                add(box);
                showAll();
        }
        
        void screenSave(Button button)
        {
                Window win = Window.getDefaultRootWindow();
                int width = win.getWidth;
                int height = win.getHeight;
                Pixbuf screenshot = getFromWindow(win, 0, 0, width, height);
                screenshot.savev("screenshot.png", "png", null, null);
        }
        
        void exitProg(Button button)
        {
                stdlib.exit(0);
        }
}
```

Reply via email to