#ifndef OPENGL_H
#define OPENGL_H

#include <windows.h>

#include <gl\gl.h>
//#include <gl\glu.h>

class COkno
{
	protected:
		long szerokoscObszaruUzytkownika;
		long wysokoscObszaruUzytkownika;
		HWND uchwytOkna;
	public:		
		COkno():uchwytOkna(NULL){};
		bool Init(HINSTANCE uchwytAplikacji,POINT polozenieOkna,POINT rozmiarOkna);
		WPARAM Run();
		LRESULT WndProc(HWND hWnd, UINT message, WPARAM wParam,LPARAM lParam);
	private:
		bool ZmianaRozdzielczosci(long szerokosc,long wysokosc,long glebiaKolorow=32) const;
};

class COknoGL : public COkno
{
	private:
		HGLRC uchwytRC; //uchwyt kontekstu renderingu
		HDC uchwytDC; //uchwyt prywatnego kontekstu urzadzenia GDI
		bool UstalFormatPikseli(HDC uchwytDC) const;
		bool InitWGL(HWND uchwytOkna);
		void UsunWGL();
	protected:		
		void UstawienieSceny();		
		void RysujScene();		
	public:		
		COknoGL():COkno(),uchwytRC(NULL),uchwytDC(NULL){};		
		LRESULT WndProc(HWND hWnd, UINT message, WPARAM wParam,LPARAM lParam);
} okno;

#endif