#include <acknex.h>
#include <d3d9.h>
#define D3DXIFF_BMP 0
#define D3DXIFF_JPG 1
#define D3DXIFF_TGA 2
#define D3DXIFF_PNG 3
#define D3DXIFF_DDS 4
#define D3DXIFF_PPM 5
#define D3DXIFF_DIB 6
#define D3DXIFF_HDR 7
#define D3DXIFF_PFM 8
#define D3DXIFF_FORCE_DWORD 0x7fffffff
#define D3DBACKBUFFER_TYPE_MONO 0
#define D3DBACKBUFFER_TYPE_LEFT 1
#define D3DBACKBUFFER_TYPE_RIGHT 2
#define D3DBACKBUFFER_TYPE_FORCE_DWORD 0x7fffffff
long get_screenshot(int left,int right, int top, int bottom, STRING* filename)
{
RECT ScreenRect;
HRESULT hResult;
LPDIRECT3DSURFACE9 pBackBuffer;
LPDIRECT3DDEVICE9 device = (LPDIRECT3DDEVICE9)draw_begin();
//RECT das abgelichtet wird =)
ScreenRect.left = left;
ScreenRect.right = right;
ScreenRect.top = top;
ScreenRect.bottom = bottom;
var border_wait_time = 0;
while(border_wait_time < 50){
draw_line(vector(left,top,0), vector(0,0,255), 100);
draw_line(vector(right,top,0), vector(0,0,255), 100);
draw_line(vector(right,bottom,0), vector(0,0,255), 100);
draw_line(vector(left,bottom,0), vector(0,0,255), 100);
border_wait_time+=10*time_step;
wait(1);
}
hResult = device->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO,&pBackBuffer);
hResult = D3DXSaveSurfaceToFile(_chr(filename),D3DXIFF_PNG,pBackBuffer,NULL,&ScreenRect);
return(1);
}