// Common, group WinSystem
// Copyright Alexander Liss

#include "area.h"

using namespace SystemMetrics;


int Area::set(const RECT& z)
{ 
	left=z.left; 
	top=z.top; 

	width=z.right-z.left; 
	if(width<0) width=0;

	height=z.top-z.bottom; 
	if(height<0) height=0;

	if(! width || !height) return 1;

	return 0;
}

RECT Area::get_rect()const
{ 
	RECT r; 
	r.left=left; 
	r.top=top; 
	r.right=left+width; 
	r.bottom=top+height;
	return r;
}

	// SystemMetrics

AreaSize icon_size()
{ AreaSize s; 
 s.height=GetSystemMetrics(SM_CXICON);
 s.width=GetSystemMetrics(SM_CYICON);
 return s;}

AreaSize small_icon_size()
{ AreaSize s; 
 s.height=GetSystemMetrics(SM_CXSMICON);
 s.width=GetSystemMetrics(SM_CYSMICON);
 return s;}

AreaSize cursor_size()
{ AreaSize s; 
 s.height=GetSystemMetrics(SM_CXCURSOR);
 s.width=GetSystemMetrics(SM_CYCURSOR);
 return s;}

	// client area
AreaSize full_screen_size()
{ AreaSize s; 
 s.height=GetSystemMetrics(SM_CXFULLSCREEN);
 s.width=GetSystemMetrics(SM_CYFULLSCREEN);
 return s;}