72 lines
1.9 KiB
C++
72 lines
1.9 KiB
C++
#ifndef _ENGINE_DIB3D_HPP_
|
|
#define _ENGINE_DIB3D_HPP_
|
|
#ifndef _ENGINE_VIEWSYSTEM_HPP_
|
|
#include <engine/viewsys.hpp>
|
|
#endif
|
|
#ifndef _COMMON_DIBITMAP_HPP_
|
|
#include <common/dib.hpp>
|
|
#endif
|
|
#ifndef _COMMON_CALLBACK_HPP_
|
|
#include <common/callback.hpp>
|
|
#endif
|
|
#ifndef _COMMON_GUIWINDOW_HPP_
|
|
#include <common/guiwnd.hpp>
|
|
#endif
|
|
#ifndef _COMMON_PUREDEVICE_HPP_
|
|
#include <common/purehdc.hpp>
|
|
#endif
|
|
|
|
class Point3D;
|
|
class Rect3D;
|
|
|
|
class DIB3D : public DIBitmap, public ViewSystem
|
|
{
|
|
public:
|
|
DIB3D(GUIWindow &someGUIWindow);
|
|
DIB3D(GUIWindow &someGUIWindow,const PurePalette &purePalette);
|
|
virtual ~DIB3D();
|
|
void line(Point3D &firstPoint3D,Point3D &secondPoint,BYTE byteValue);
|
|
void rectangle(const Rect3D &someRect3D,int paletteIndex);
|
|
void axis(BOOL drawFlag);
|
|
protected:
|
|
WORD viewPortWidth(void)const;
|
|
WORD viewPortHeight(void)const;
|
|
private:
|
|
WORD operator==(const DIB3D &someDIB3D)const;
|
|
CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData);
|
|
|
|
Callback<DIB3D> mSizeHandler;
|
|
GUIWindow &mDisplayWindow;
|
|
};
|
|
|
|
inline
|
|
DIB3D::DIB3D(GUIWindow &someGUIWindow)
|
|
: DIBitmap(PureDevice(someGUIWindow),someGUIWindow.width(),someGUIWindow.height(),PurePalette(PurePalette::InitSys)),
|
|
mDisplayWindow(someGUIWindow)
|
|
{
|
|
mSizeHandler.setCallback(this,&DIB3D::sizeHandler);
|
|
mDisplayWindow.insertHandler(VectorHandler::SizeHandler,&mSizeHandler);
|
|
}
|
|
|
|
inline
|
|
DIB3D::DIB3D(GUIWindow &someGUIWindow,const PurePalette &purePalette)
|
|
: DIBitmap(PureDevice(someGUIWindow),someGUIWindow.width(),someGUIWindow.height(),purePalette),
|
|
mDisplayWindow(someGUIWindow)
|
|
{
|
|
mSizeHandler.setCallback(this,&DIB3D::sizeHandler);
|
|
mDisplayWindow.insertHandler(VectorHandler::SizeHandler,&mSizeHandler);
|
|
}
|
|
|
|
inline
|
|
DIB3D::~DIB3D()
|
|
{
|
|
mDisplayWindow.removeHandler(VectorHandler::SizeHandler,&mSizeHandler);
|
|
}
|
|
|
|
inline
|
|
WORD DIB3D::operator==(const DIB3D &someDIB3D)const
|
|
{ // private implementation
|
|
return FALSE;
|
|
}
|
|
#endif
|