// Common, group WinSystem
// Copyright Alexander Liss

#ifndef __GDI_H__
#define __GDI_H__

#include "win0.h"


		// DEVICE CONTENT

class DeviceContent
{
public:

	HDC dc;

BOOL get(HWND h){window=h;dc=::GetDC(window); return dc!=0;}
BOOL release(){return ::ReleaseDC(window,dc);}

BOOL bitmap(BITMAP&);
BOOL DIBsection(DIBSECTION&);
BOOL pen(EXTLOGPEN&);
BOOL brush(LOGBRUSH&);
BOOL font(LOGFONT&);
BOOL palette(DWORD& );

private:
	HWND window;
};

class Icon
{
public:
Icon()
{handle=(HICON)LoadImage(0,IDI_APPLICATION, IMAGE_ICON,0,0,LR_DEFAULTSIZE);}
// FOR SMALL ICON USE: GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON)
Icon(int x,int y)
{handle=(HICON)LoadImage(0,IDI_APPLICATION, IMAGE_ICON,x,y,0);}
~Icon(){::DestroyIcon(handle);}
HICON get_handle(){return handle;}
private:
HICON handle;
};

class Cursor
{
public:
Cursor()
{handle=(HCURSOR)LoadImage(0,IDC_ARROW, IMAGE_CURSOR,0,0,LR_DEFAULTSIZE);}
~Cursor(){::DestroyCursor(handle);}
HICON get_handle(){return handle;}
private:
HCURSOR handle;
};

#endif